Debootsrap ubuntu and locale problems

I’m trying to install a ubuntu gutsy xen guest. I’ve had some problem to get the locale to work.

Thereby installing it on lvm volume group with xfs as file system. Using debootstrap to get gutsy on it.
Since xfs is not installed with debootstrap you have to install the xfsprogs package to get it to work.

After installation i mounted it and chrooted the system to continue the configuration.

Executed “apt-get upgraded” to get the newest version of every thing.

Doing that I got this error message:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

So, I googled about it and found some statements telling you to execute the following command:
$ sudo dpkg-reconfigure locale

When you have installed Ubuntu by using debootstrap it will not work, since it to will fail with the same message. So to run the command you need to have at least one locale language generated.

The solution is to first generate one language by executing the following:

$ sudo locale-gen en_US.UTF-8

This will generate the necessary files for the first command.

It is also possible to generate all locale languages by just executing it without the en_US.UTF-8 parameter. That will take some time since all language combinations are generated.

No I’ll continue and pray I will start and that I do not get any tls warning message.

Foreseing the future of social software and the rais of Gadget 2.0 and Social Life 2.0

First of, I like the idea of social software but have my problems with it.

For private things I like to keep my privacy, I believe that’s why the call it private.

Some part of my life I would just want to keep with close friends and family. Other things I’m glad to share. See my blog.

Yesterday at LotuSphere I chatted with some old friends and we were trying to see where all this social software is taking us.

We were fooling around what would happen if everything would be social software and web 2.0. How would life be? The scary part of it, was to realize that we have all the components it take’s. The only have to get connected.

First of lets invent the new Gadget 2.0. A Phone with Camera GPS (Or some kind of positioning system) and shades with a display. Sounds very far away dose it? All they way to your next Cell phone dealer.

So what can you do with it!

Let’s say you want to take a picture of, let’s say the hotel dolphin here at LotuSphere. Your gadget will then tell you. That other people standing here also photographed the Swan hotel. The gadget will ask if you want to share the photo. To make some money on this service you will be ask if you like to by a photo from Christo as he wrapped the hotel in toilet paper in the year 2010.

Taking it further driving the road to your customer and driving left in a corner the gadget tells you that people how drove left here also did make a right turn in the next crossing. You will naturally have the option to rate the quality of the curve you just took.

When finding a partner for life or the night, some new possibilities will help you through the dating jungle. Your Gadget 2.0 will kindly inform you that others who met with this lady also met these other ladies. Naturally connected with a rating system.

I can see it coming! Museums are already using the same techniques to give the visitor a more interactive personal guide.

Logout button

When using session based authentication on the web, it is possible to create a logout button in a simple way.

Just append ?logout to the URL path. By using redirectto it is possible to forward the user to a logout page. Only catch, since you then are logged-out, the page you want to show must be available for the user anonymous.

Just create a button with the the following syntax in the onClick event: + "?logout&redirectto=//" + logoutURI ,"_self")

“_self” opens the url in the current window.

If you want to redirect to the same application (logout and get the login dialog directly) don’t forget to end logoutURI with a slash “/”.

This would logout and direct you to the login page again:"//

One line @ReplaceSubString for lotusscript

[Update: Read the comments for a better solution with short strings (unverified)!]

Had this problem removing single characters in a string. I don’t like the idea to use strRight() and strLeft() since they can only handle a single entry of the search string.

There are a lot of different solution for this. I have also made my own lotusscript function for @replaceSubString, as every one else. All to complex since Release 6.

Some split and join will do the trick. This is my one liner:
resultStr = join( split( sourceStr, fromStr ), toStr )

The replace is case sensitive.

Example replacing word:
ReplaceSubString Example1

Button code:

Dim ui As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = ui.CurrentDocument
Set doc = uidoc.Document
doc.result = Join(Split(doc.text(0),doc.Replace(0)),doc.replacewith(0))

Example removing character:
ReplaceSubString Example2

Or make a function out of it to make it more readable:

Function replaceSubString(sourceStr As String, fromStr As String, toString As String) As String

replaceSubString = Join(Split(sourceStr,fromStr),toString)

End Function

Custom twistie size

A lot to do lately. No time to blog.

But this short tip I’ll manage to squeeze in.

From designer help 7.0.1:

The triangular icons that indicate a row or a section may be expanded or collapsed are called “twisties.” Twisties are green in Notes and blue on the Web. You can customize these icons by importing your own images. You import two images into one graphics file. The first image replaces the “expand” twistie and the second replace the “collapse” twistie. A pair of images for customized twisties should result in a .gif file that is 33 x 16 pixels — that is, two 16 x 16 images, with a 1-pixel divider.

Creating an images with that size will not produce the twisitie look you expect.
Expecting something like this Twistie 33×16 You will get this: Bad Twisitie!

The size does not match. The correct size should be 25 x 12 two 12 x 12 with a 1-pixel divider.

Why I like Domino

My colleague Patrick sent me a very interesting blog entry about Sharepoint and what it takes to master it.

Interesting reading for every one who wants to know a little more about the product and what it is like to work with it.

Read it?… Ok!
Now you now why I’m happy to be a Domino developer. I suppose we can expect another rip and replace version from Microsoft.
I can’t figure out, why developer keep up with a product management like that? You constantly have to relearn. The experience and knowledge you get is partly made useless with every new version forcing you to learn the basics again. It’s a waist of resources!
I do like challenges. But I do not like to have to throw away my knowledge every time a new release gets out.
No, better stick with things that tends to evolve instead of revolving.

I know a customers developing there own products to overcome these obstacle. After a Biztalk upgrade all their plug-ins were useless, since the api was rewritten. So the decision was made to develop something more independent. Nice to see that Microsoft value them so much, that they get an award for it. But it also shows that some customer are aware of the risks with Microsoft development , you should always consider the fact that you may loose your development investments, when upgrading.
Is that something that is considered in TCO and ROI calculation? Apparently not, the install base would be considerably smaller then.

Microsoft seams to make everything they touch to a complex non transparent issue at the moment. Take the OOXML draft with 6000+ pages. Why so complex?
Microsoft had a very good start with DOS. It’s was simple and easy to use. Basic was also easy to use, not very useful, but simple.
I believe Microsoft lost the word simple after Word 2.0.

In the blog entry there is a list on technologies you have to master to customize Sharepoint. I wounder how that list would look for Domino and Quicker.

First from the Real World software development blog listing:

1. SharePoint
2. SQL Server
3. Internet Information Server
4. Active Directory
5. File Stores
6. Indexing
7. Software Development
8. Search Engines (To help customize the brutal search built into it)
9. Database Design and Development
10. XML
11. .NET 2.0
12. ISA Server
13. Master Pages

And for Domino with Quickr:

  1. Domino server
  2. LotusScript
  3. Formula
  4. Java
  5. JavaScript
  6. XML

(Comparing Domino and Quickr and Sharepoint with each other is not fair, but comparing Microsoft products against Lotus products have never been fair, either way)

What struck me most is not the fact that there is a big difference in the number of lines, but he fact there is only one product/system to learn. No SQL server, no IIS… only Domino!

Now I know why I like Domino, it is simple to manage and easy to use. Developing application can be quick and simple or hard and complex. You as a developer have the choice.

At the moment I feel lucky not having to learn another system, being able to concentrate on things I find interesting. Namely perfecting my Java, JavaScript and the new (not rewritten) functionalities in Domino 8.

Maybe that’s why so many Domino developer have time to blog 🙂

Some issues when installing the Quickr QIssues from SNAPPS

Tried to install QIssues from SNAPPS this week at a business partner event (Moment Quickr Partner Teknik utbildning) in Kista, Sweden.

Focus off the event was to learn how to install and customize Quickr.

The course were held by Rob Enright a great teacher even though his music taste needs getting used to 😉 . A lot of hands on, which I like a lot. Good step by step instructions even though the material had some small obstacles to overcome, as typos and some order issues.
Nothing really big and nothing that reduced the overall experience. On the contrary, in this case, the faults enriched my overall experience. Finding and correcting simple faults is a great way to learn.

During the class, which was the first time i installed Quickr and the first time I tried to install the free Quickr templates from SNAPPS, I did have some problems installing it. The documentation did not contain all the necessary steps to get it to work on my Quickr installation.
Here’s what I did!

Now I only have to learn how to create my on templates.

Another thing I learn is that the user experience for quicker on Domino and WebSphere shows some big differences. I believe it would have been a great idea to put the developer in the same room from the beginning, and use the same team for defining usability and functionality.

It is a little bit sad that when trying to explain Quickr for a customer, there is going to be a lot of “but” and “will be better soon”.
Something that is confusing for the customer is hard to explain and harder to sell. Great product great vision, but not 100% ready in that respect.

Hope the usability and functionality will near each other sooner then planned.

Installing SNAPPS template

Last week I installed quickr for the first time and the free quickr templates from SNAPPS .
I started of with with QIssues. Following the instruction everything went well until “load qptool register…” it gave me an error in the connection with LDAP. Something with a wrong credential. Google said it is probably caused by a wrong password or user name.

After playing around a bit, I found away of installing the templates. I’m pretty sure it is not the best way but it worked for me. Some step may not be necessary.

This is what I did:

  1. Registered at SNAPPS to download the templates and documentation.
  2. Install and as described in the documentation
  3. Then follow the description in step 1 and 2 in the “Instructions for Installing a Single Template for Standalone Use” section.
  4. Before you do step 3. Create a group in the domino directory called “QuickPlaceAdministratorsSUGroups” can be found in the ACL in main.nsf in the qissues folder, put your Quickr administrator and Domino administrator in it. Without it you have no access to the application since default is set to “No Access”.
  5. Now sign the three files in the qissues folder. Use an ID that can run agents on the server.
  6. I had the option “Allow managers to create new users in each place” active. Can be found in User Directory => Change Directory => LDAP Server. I’m not sure if this solved the problem or the signing of the databases.
  7. Now go to the 3:d step in “Instructions for Installing a Single Template for Standalone Use”.
  8. Since the manager of the template, now has been registered in Quickr but not in LDAP (Domino directory), it was not possible to log in with the suggested user name in step 4. Therefor I added a new person in to the directory, with mail system set to “none”. To get the right user name I copied it from the main.nsf ACL in the qissues folder and pasted it in to the User Name field. Then gave it the first name qissues and last name SNAPPS. In short name I entered qissues and set the password to the same. Then I was able to move on to step 4.

After that had no more problems. All the tests I did went well.

I tried to install it, with the template q*-user registered in the domino directory beforehand. But then I got an error telling me that the user already existed when loading qptool register.

Hope it can save you some time when trying the templates!

Blogging season has started

Here in Sweden the elk hunting season is starting and I’m beginning my life as a “public” person. I hope it is a coincidence and not a foretelling. Before I start posting things here, I have to learn how to use the blog interface I have before me. Then I’ll start hacking away.