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

Monthly Archives: April 2010

Ubuntu 10.04 being released today

Posted on April 29, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
Thelatest version of Ubuntu,code name Lucid Lynx and with the version number 10.04, is being released today. Due to a problem inGrub, the boot manager, the release have been delayed somewhat, but hopefully it will be out today.
Among thenews in this version, which is a LTS (Long Term Support) version, is a further polished user interface, with many similarities to MacOS. The maximize/minimize buttonsare now defaulting to the left side of the title bar, but of course the user can move that around and reconfigure the interface.
Built-in support in the operating system for social network sites/services is something that very few, if any, operating systems have. The cloud storage service Ubuntu One have been updated with additional functions, you can now access contacts and files stored in the cloud from mobile phones/devices. No Windows client, though, so you can’t access your files at home from your Windows computer at work. Ubuntu One will also allow you to share files with family and friends in an easy way. Every Ubuntu user get 2 GB free storage, and for $10/month you get 50 GB storage.
The software repository/manager have been updated, and an online music store for DRM-free music have been added.
Some programs have been removed(GIMP being one of them) and others have been added (for example the video editing program PiTiVi).
Another thing that Canonical, thecompany behindof Ubuntu, have been pushing is faster start-up time. I don’t restart my computer that often, so 10 seconds of 25 seconds is no big deal to me. But for laptops it is nice. Talking about laptops, there will also be a special "Remix" version for netbooks.
As always, you can download and burn an ISO image and test it on a computer without having to install anything. This will test your hardware and give you an idea about the looks and functionality of the operating system.
 
As my FaceBook and twitter followers might have noticed last night, I cleanedand backed up my existing system (using Clonezilla, highly recommended tool) in anticipation of installing 10.04 in the next day or so. I plan to first try an install on top of the existing version 9.10, then make a backup of that, wipe the partition and install 10.04 from scratch to see if any of the hardware I hjad to get separate drivers for is now supported out of the box.
 

My Favorite Tools

Posted on April 29, 2010 by Karl-Henry Martinsson Posted in Notes/Domino, Programming, Utilities 2 Comments

Kathy Brown today asked “What’s Your Favorite Tool“, so I thought I wanted to share the tools I use.

My favorite tool is probably NoteMan from MartinScott. If I have to pick one tool from the suite, it would be either NoteMan.Editor or NoteMan.DocDelta. It is very hard to decide between the two of them. Editor is great for editing documents, see the contents of different fields and even change data types. I use it to get the UniversalID of documents and much more. DocDelta help me solve replication conflicts quickly and easy. I can higly recommend the NoteMan suite of tools to any Notes/Docmino developer, and for the price ($395 for the whole suite), you get a lot of functionality.

I also use several tools from TeamStudio and Ytria. Yes, I am lucky enough to have a boss who believe in getting me the tools I need.

From TeamStudio I use Undo (previously called Snapper) to make snapshots of the design while developing for easy roll-back, Profiler to find performance issues in my code and Configurator for search-and-replace through-out a database (design and/or documents). Those tools run around $500 each, if I recall correctly. I also use their free class browser, a tool I highly recommend to everyone doing object oriented Lotusscript development.

From Ytria I use a number of tools.The two I use the most are scanEZ and actionBarEZ. The latter is great when I want to apply a specific design of action bars to many forms and/or views. I design the action bar in one view, with colors, fonts, backgrounds, etc. When I am satisfied I can update all views and forms the the database with the new design. I don’t use scanEZ as much, but still on a regular basis. It also have functions to identify replication conflicts, like NoteMan.DocDelta, but the two tools complement each other. Using scanEZ, I can locate and delete documents of a particular type, including profile documents, and much more. I also sometimes use designPropEZ to check the design of a database and make sure it does not inherit element from the wrong templates/databases.

Here is a screenshot of my currect toolbar with all my development tools:

 

In addition I use Photoshop CS2 for graphics editing, TechSmith Jing to create screencam demos for managers/users, and Notepad++ for some HTML/Javascript/jQuery editing.

Object Oriented Lotusscript for beginners – Part 1

Posted on April 12, 2010 by Karl-Henry Martinsson Posted in Old Blog Post Leave a comment
I have been writing object oriented Lotusscript for a little over a year now. When I started, I probably did a lot of mistakes, and I did not fully understand everything about object oriented development. I can’t say I am an expert yet, but I wanted to share some information that hopefully will help anyone else looking into switching to object oriented Lotusscript (OOLS).
WhyOOLS?
I see several benefits, at least to me. The code is usually shorter and I get a better overview. It is modular and can easily be moved to other applications. It is easy to maintain and add functionality. And the calling code can be very compact and easy to understand as well.
Is OOLS hard?
Not really. You have to grok it, but as soon as you do that, it all falls into place. My background was in pure procedural programming, and it did not take me very long to get the concept.
How do I write OOLS?
You write class definitions and code in the Declarations section of your code. I usually put the code in script libraries,usually several related classes in one script library. I name thescript library after the main class, so in my claim system I havescript library called Class.ClaimData, Class.FinancialTransactions and Class.ClaimLink.
The code is just regular Lotusscript. You define a class, with one or more functions/subs. You can also define variables in the class to store data. Functions, subs and variables can beprivate (only accessable inside the class) or public (accessable from the calling code). You should always have a Public Sub New() defined in the class.
Can I seesome example of a class?
Sure. I have posted a couple of classes in the past, both here on my blog and on OpenNTF.org.
In part 2 I will explain a simple class and how it can be used.

 

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.
 
 

 

HCL Ambassador 2020

HCL Ambassador 2020

IBM Champion 2014-2020

Stack Exchange

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

Notes/Domino Links

  • Planet Lotus Planet Lotus
  • IBM dW Forums IBM dW Forums
  • StackOverflow StackOverflow

Recent Posts

  • Notes and Domino v12 is here!
  • NTF Needs Your Help
  • Helpful Tools – Ytria EZ Suite (part 2)
  • Busy, busy – But wait: There is help!
  • Semantic UI – An alternative to Bootstrap?

Recent Comments

  • 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!
  • Lynn He on About This Blog

My Pages

  • How to write better code in Notes

Archives

  • 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 (9)
  • 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 (175)
    • #Domino2025 (14)
    • #DominoForever (8)
    • #IBMChampion (46)
    • Administration (7)
    • Cloud (7)
    • CollabSphere (8)
    • Community (47)
    • Connect (33)
    • ConnectED (12)
    • Connections (3)
    • HCL (12)
    • HCL Master (1)
    • IBM Think (1)
    • Lotusphere (46)
    • MWLUG (25)
    • Notes/Domino (97)
      • Domino 11 (7)
    • Sametime (8)
    • Verse (14)
    • Volt (2)
    • Watson (6)
  • Life (8)
  • Microsoft (7)
    • .NET (2)
    • C# (1)
    • Visual Studio (1)
  • Movies (3)
  • Old Blog Post (259)
  • Personal (23)
  • Programming (83)
    • App Modernization (11)
    • Formula (4)
    • Lotusscript (46)
    • 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 (6)
    • Texas (2)
    • United States (1)
  • Uncategorized (15)
  • Web Development (50)
    • Frameworks (23)
      • Bootstrap (14)
    • HTML/CSS (12)
    • Javascript (32)
      • jQuery (23)

Administration

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

Tracking

Creeper
MediaCreeper
  • Family Pictures
© TexasSwede 2008-2014