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

New project – Ubuntu at home

Posted on November 4, 2009 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
Last night Istarted a new project at home. The other day I wiped my son’s computer, running Ubuntu 9.04 and installed the new version, 9.10 Karmic Koala. I got everything working, so I thought I would try something new. Since Erik mostly go to Youtube, Wikipedia and some educational sites, he does normally not need Windows. But he have some Windows-based games (mainly MS Flight Simulator)he like to play, so I thought it would be nice if he could play them on his computer instead ofusing mine. So I installed VMware Workstation on the computer, and it worked really good. I quickly copied a Windows 98(!)virtual machineover to his system and it loaded up without any problems. I am now in the process of building a Windows XP VM for him.
So obviously the next thought was: "Why don’t I do this on my main computer?".It is about time to reinstall the system anyway, it has been a year and the system is starting to run slower. Many of the things I do on a daily basis I can do in Ubuntu. And if I create a couple of virtual Windows XP machines, I can even separate different invironments from each other.
The plan is to get a new drive and install Ubuntu on it, then add VMware. I plan to have one clean Windows XP VM, which I can use as a base system. Then I will build one where I install Photoshop, Sony Vegas and DVD Architect, DVDshrink, Nero (yes, I know there are tools in Ubuntu to burn CD/DVD, but I have the impression Nero have more functionality, and it integrates with DVD Architect and DVDshrink) and a few more related tools. Another VM will contain development tools (Eclipse, Notes 8.5.1 with Domino Designer and Administrator, perhaps Visual Studio Express). If I want to test some new programs,I just load up a new VM, test it and delete afterwards if I am not happy.
So tonight I will finish testing the setup on my son’ts computer, and then I will start preparing my main computer. I will have to cleanup or get a drive where I can install Ubuntu, with enough space for a number of VM images.
Will see how much I will break. :-)
 

 

My first email address

Posted on October 28, 2009 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
Carl Tyler wrote about him realizing it was 21 years ago he got his first email address:
The day after my 40th birthday, I realized it had been exactly 21 years since I got my first email account. It was if I remember rightly Tylerc2@NossVM6. This was my IBM PROFS address and I was given it the day I started there. 
That made me think back at my first email address.I got it when I started working at Microsoft, in late August 1988, so just over 21 years ago for me as well.
I was fresh out of thegymnasium (the Swedish equialent of theCollege Preperatory High School in the United States), and the Systems Programming education I had just started was cancelled and postponed for a semester due to lack of students. So I applied for a job at Microsoft, despite never using any MS products. I was using CP/M-86,WordStar and and Turbo Pascal 3.x in school.
During my first week they gave me the address karlhenr@microsoft.com. Notice the missing y in my name, they could not handle my long/full first name. The limit back then was 8 characters.
We had to login to a Xenix-based system to read our email… I also had a FidoNet address, but I did not get that one until a year later.
 

 

Domino Designer – Free or "Free"?

Posted on October 26, 2009 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
With the newlicensing of Domino Designer in Notes/Domino 8.5.1, there have been a lot of questions.
Ed Brill answered most of them the other day. As we are using the Domino Express license where I work, I put together a short executive summary for my managers, and I wanted to share it here.
  • Domino Designer 8.5.1 can be used for free (no license needed) to develop local applications.
  • In order to deploy applications to a Domino Enterprise Server (regular license or Express, does not matter), an Enterprise Client Access License (CAL) is needed. The Messaging only CAL can not be used, nor can the Collaboration Express license.
  • Any developer in a Domino Collaboration Express environment need (in addition to the Express license) an Enterprise CAL in order to use Domino Designer. The cost is $159. The Express license is $142. Both prices areaccording to Ed Brill.
  • A license for Domino Designer used to be $864, so it is still a substantial cost reduction,$705 to be precise.
  • For a customer using the cheaper per-seat and no serverchargeDomino Express license, the cost savings will still be large, even if Designer technically not is free in that environment.
  • Previous versions of Domino Designer are not free. Only 8.5.1 and later.

In my personal opinion, I think IBM should make all versions of Designer free. No extra license needed to deploy applications on any servers. Each developer will still need either an Enterprise CAL or a Domino Collaboration Express license anyway.

I hope this is a beginning of getting Domino Designer out there, and making developers aware of the tool. I can see a need for plenty of good books/wikis/reference material for new developers, though. I still believe in books. You can read them in the bathroom, in bed, on a flight (even during take-off and landing). Revisit the R6 Developer Redbook and publish a new version of it, updated for Designer 8.5.1…

 

Sweden can make more than meatballs…

Posted on October 24, 2009 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
R. Lee Ermey from Lock ‘n’ Load on History Channel guides us through the Swedish AT-4 Rocket Launcher.
 

A new version, AT-4 CS (Confined Spaces) as shown onFutureWeapons:

 

For that special girl in your life…

Posted on October 23, 2009 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
Hello Kitty M16
More >>>

 

Texas Law H.B. 2003

Posted on October 23, 2009 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment

A new Texas law that took effect September 1, 2009. H.B. 2003 says a person commits a third degree felony if the person posts one or more messages on a social networking site with the intent to harm, defraud, intimidate or threaten another person.
The same thing goes for instant messaging, it is now illegal to pretend to be someone else in an IM, trying to defraud or intimidate someone.

Full text here: http://www.legis.state.tx.us/billlookup/text.aspx?LegSess=81R&Bill=HB2003 
 
 

 

Strange problem with views

Posted on October 13, 2009 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment

I been having a strange problem with a particular view in one of my Notes applications.
The view displays main documents andchild (response)documents.
The problem is thatthe child documents are not sorting correctly, as you can see in the following screenshot:
image 

 
The child documents are created using several different forms, and I have a hidden column in the view intended to sort the documents in a particular order based on the form.

The first column isjust displaying the claim number (09PSITXnnnnnnn, etc). It is sorted but not categorized. It is set to show a twistie when expandable. The column is very narrow, so it will only show the custom twistie I am using.
image image 

The second column is the one I use for sorting. The column formula is as follows:
@If(Form="Coverage Verification";1; Form="QuickStrikeSheet";2; Form="Expense Sheet";3; Form="Attachments";4; Form="Time Sheet";5; Form="Legal Summary";6; Form="Diary";7; Form="Log";8; Form="Negotiation Summary";9; Form="LargeLossNoticeReport";10;@Left(Form;4)="frm_";11;@Left(Form;10)="MailMerged";12;99 );
The column is hidden and sorted ascending.

The next column is where I display the actual titles/descriptions of the response documents. The column is not sorted in any way, and the column formula is as follows:
@If(Form="LargeLossNoticeReport";"Investigative Summary"; Form="Coverage Verification";"Coverage info"; Form="Time Sheet";"Time sheet/Activity Notes"; Form="Legal Summary";"Legal Summary – " + LegalStatus; Form="Attachments";"Attachments"; Form="QuickStrikeSheet" ;"ClaimCare summary"; Form="Expense Sheet" ;"Financial transactions"; Form="Negotiation Summary";"Negotiation Specialist summary"; Form="Log";"Log";Form="Diary";"Diary";@Left(Form;4)="frm_"; FormTitle; Form="MailMergedEmail";"’" + Subject + "’ sent to " + sendto+" on " + @Text(@Date(@Created)) + " at " + @Text(@Time(@Created)); Form="MailMergedFaxed"; "’" + Subject + "’ faxed to " + sendto+" on " + @Text(@Date(@Created)) + " at " + @Text(@Time(@Created)); Form="MailMergedDoc";"’"+Subject + "’ mailed on " + @Text(@Date(@Created));"*** error ***")

Following this column I have a handful more, but they are all for the main document, showing additional info, creating the colored background based on status, etc.
Below is the design, with the non-sortable view selected.

image
It seems like the response documents are being displayed in some other sort order. It does not seem to be consistent with the order they are created, though.
Anyone can figure this out? I am using Domino Designer 7.0.2.
Please mail me at khm@deep-south.com if you can’t comment here.
I would have asked the question on twitter or used SameTime and the BleedYellow community server, but my network admin is blocking pretty much everything. Especially twitter, as he think the only use for twitter is to see what Ashton Kutcher is doing…

Update: If I move the hidden sortedcolumn to the left, before the categorized column, the sorting is correct but then the users can’t jump quickly to a particular claim number by doing a view search (just start typing in a claim number). 

Lotus Notes 8.5.1 – Now with free Designer!

Posted on October 6, 2009 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
Today’s announcement about the release of Notes and Domino 8.5.1were expected, but what I did not expect was that Domino Designer now will be free! I think this will help in marketing Notes and Domino. Developers who are interested in testing Notes development can now get it for free. As Ed Brill said: it is bringing Notes back to it’s roots.
If now IBMwould setup up a Domino server for the developers to try their applications on, IBM would have a winner. I know OpenNTF have been talking about something like that, but I would imagine there being a need/use for a IBM hosted offering like that as well.
The licensing of the client is also changing. The old Collaboration license is changing name to CAL Enterprise. The old Messaging license will be called CAL Messaging. Those two licenses will be used for all different ways to access Domino data, no matter if it is using the Notes client, iNotes or other clients.
Personally I am very interested in playing around with 8.5.1 myself, despite myworkplace just being in the process of upgrading fromR5 to ND7…
I also think it was really cool that IBM is pushing OpenNTF in the announment.

 

ProgressBar class for Lotusscript

Posted on September 4, 2009 by Karl-Henry Martinsson Posted in Lotusscript, Programming 1 Comment

Brian Moore wrote about the problem with users thinking Notes applications are slow, due to no visible feedback:
“People seem to be totally happy at letting something take bleeding ages just so long as there is a little moving object to distract them from the clock.”

This is very true, and I addressed this in one of my applications a while back by implementing a progress bar.
Suddenly, when the users got feedback on what was happening, all complaints about it being slow stopped, despite it taking the same amount of time…

I built a progress bar class. Here it is, as well as a small code sample showing how to call it. Note that this is a Win32 only solution.

 

Option Public
Option Declare

' ***** Declarations for (undocumented) progress bar in Notes *****
Private Const NPB_TWOLINE% = 1
Private Const NPB_STATUSBAR% = 32
Declare Private Function NEMProgressBegin Lib "nnotesws.dll" ( Byval wFlags As Integer ) As Long
Declare Private Sub NEMProgressDeltaPos Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwIncrement As Long )
Declare Private Sub NEMProgressEnd Lib "nnotesws.dll" ( Byval hwnd As Long )
Declare Private Sub NEMProgressSetBarPos Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwPos As Long)
Declare Private Sub NEMProgressSetBarRange Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwMax As Long )
Declare Private Sub NEMProgressSetText Lib "nnotesws.dll" ( Byval hwnd As Long, Byval pcszLine1 As String, Byval pcszLine2 As String )

Class ProgressBar
    Private hidden As Integer
    Private hwnd As Long
    Private value As Long
    Private title As String
    Private textline1 As String
    Private textline2 As String
    Private maxvalue As Long

    Public Sub New(range As Long, initialtitle As String)
        Dim session As New NotesSession
        maxvalue = Clng(range)
        title = initialtitle 
        textline1 = ""
        textline2 = ""
        If session.IsOnServer Then    ' Check if code is running on server (scheduled agent)
            hidden=True
        Else
            hidden=False
        End If
        If hidden = True Then
            Exit Sub
        End If        
        hwnd = NEMProgressBegin(NPB_TWOLINE)
        Call SetRange(maxvalue)
        NemProgressSetText hwnd, title, textline1 & Chr$(13) & textline2
    End Sub
    
    Sub Increase()
        If hidden = True Then
            Exit Sub
        End If
        If hwnd <> 0 Then
            If value < maxvalue Then
                value = value + 1
                NEMProgressSetBarPos hwnd, value
            End If
        End If
    End Sub
    
    Sub Decrease()
        If hidden = True Then
            Exit Sub
        End If
        If hwnd <> 0 Then
            If value > 0 Then
                value = value - 1
                NEMProgressSetBarPos hwnd, value
            End If
        End If
    End Sub
    
    Sub Close
        If hidden = True Then
            Exit Sub
        End If
        If hwnd <> 0 Then
            NEMProgressEnd hwnd    
            hwnd = 0
            title = ""
            value = 0
        End If
    End Sub
    
    Sub SetRange(value As Long)
        If hidden = True Then
            Exit Sub
        End If
        If hwnd <> 0 Then
            maxvalue = value
            NEMProgressSetBarRange hwnd, maxvalue
        End If
    End Sub
    
    Sub SetValue(value As Long)
        If hidden = True Then
            Exit Sub
        End If
        If hwnd <> 0 Then
            NEMProgressSetBarPos hwnd, value
        End If
    End Sub
    
    Sub SetText(message As String)
        If textline2="" Then
            Call PrintText()        
        End If
        If hidden = True Then
            Exit Sub
        End If
        If hwnd <> 0 Then
            textline1 = message
            NEMProgressSetText hwnd, title, textline1 & Chr$(13) & textline2
        End If
    End Sub
    
    Sub SetText2(message As String)
        Call PrintText()
        If hidden = True Then
            Exit Sub
        End If
        If hwnd <> 0 Then
            textline2 = message
            NEMProgressSetText hwnd, title, textline1 & Chr$(13) & textline2
        End If
    End Sub
    
    Function GetText() As String
        GetText = textline1
    End Function
    
    Function GetText2() As String
        GetText2 = textline2
    End Function
    
    Sub PrintText()
        Dim text As String
        If hidden = True Then
            text = textline1
            If textline2 <> "" Then
                text = text & "  -  " & textline2
            End If
            Print text
        End If
    End Sub
    
    Function Show() As String
        hidden = False
        hwnd = NEMProgressBegin(NPB_TWOLINE)
        Call SetRange(maxvalue)
        NemProgressSetText hwnd, title, textline1 & Chr$(13) & textline2
    End Function
    
    Function Hide() As String
        hidden = True
        If hwnd <> 0 Then
            NEMProgressEnd hwnd    
            hwnd = 0
        End If
    End Function
    
End Class

Below is a snippet of sample code, showing how it can be implemented. Enjoy!

units = GetNumberOfUnits()
Set pbar = New ProgressBar(CLng(units+1),"Loading data From backend server…")
Call pbar.Show()
For i = 1 To units 
    Call pbar.Increase() 
    Call pbar.SetText("Loading coverage For unit " & i & "…") 
    Set vehicle = New CoverageData(i) ' Get vehicle coverage 
    Call pbar.SetText2(vehicle.year & " " & FullTrim(vehicle.name) & " – Coverage " & vehicle.cvgcode)
Next
Call pbar.Increase()
Call pbar.SetText("Finishing processing.")
Call pbar.SetText2("Please wait…")
' Do some more stuff here
Call pbar.Close()

 

Notes client performance

Posted on August 28, 2009 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment

Watch the two screencam videos linked below. They are each about 10-15 seconds long.

Exactly the same code, running on the same computer, against the same server.

I am able to reproduce the results are reproduced every time I test.

Notes 5.0.12 

Notes 7.0.2

I don’t have Notes 8.x on this system, as our plans currently are to eventually move all our users to Notes 7…
And I don’t see Notes 8.x being deployed in a near future here.

Update: I just used TeamStudio Profiler to time the process. In Notes 5 it took 3.8 seconds, in Notes 7 it took 0.8 seconds. The main difference was in calling a db.GetView(). I then wrote some code that just call that function 8 times, each time to a different view. It took 2.4 seconds in Notes 5 and 0.17 seconds in Notes 7, again according to Profiler.

 

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
  • …
  • 43
  • 44
  • 45
  • 46
  • 47
  • …
  • 54
  • Next

Administration

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

Tracking

Creeper
MediaCreeper
  • Family Pictures
© TexasSwede 2008-2014