Planet Lotus

This is where planet Lotus would appear if ie could be made to play nicely


Long live the King, long live Firefox



p.s. it probably can work fine but Ihave lost the will to find out just at the moment

GPSED.COM Blackberry GPS Datalogger and Memory Map overlay ( 8/10 considering it is beta )

Sean Cull  29 November 2008 17:43:12

Some time back I read about GPSED.com on Graham Chastneys blog.

I do quite a bit of hill walking and mountain biking and although I think navigation by GPS is a deeply flawed idea in the mountains ( a philosophical point about the skill set you should have rather than any technical issues) I do like the idea of using a GPS as a datalogger to record how your journey went and to share it with others.

I installed the GPSED.com sofware on my Blackberry 8310 and went for a mountain bike ride. I then uploaded the route to GPSED.COM ( see here ) and then downloaded it into Memory Map - a popular digital mapping system in the UK. The screen shot below shows the output - well impressive for free software.

Image:GPSED.COM Blackberry GPS Datalogger and Memory Map overlay ( 8/10 considering it is beta )

The software is buggy, for example when you switch units the numbers change but the units label stays the same. I am also uncomfortable that you cannot delete your tracks from the web site once you have made them public.

Memory Map itself is very impressive. I use it a lot for planning routes in the hills. Being an optimist it is particularly handy for comparing the ascent profiles of known walks with planned walks

duddonwoods.jpg

 Blackberry  My software 


If your Snagit Editor is really slow and hogs CPU then read on

Sean Cull  29 November 2008 16:49:15

Note :  I am not entirely sure I understand why this works but it does seem to. I have asked Techsmith for clarification and will update this accordingly

I am a big fan of Techsmiths Snaggit for creating annotated screenshots. Recently I have found that the editor program it has been taking 50% of the CPU and causing the computer to hang. I tried to reinstall it but that made no difference. Then I came across this artice on the Techsmith support site  :

After making a capture, Editor loads slowly or the CPU usage jumps to a high amount which locks up the machine.

In version 9 this can happen if there is a zip file in the same folder with all your images that SnagIt Editor is keeping track of.  This is a known issue that will be fixed in a future release.  As a temporary workaround please remove all zip files from the folders that your images are contained in.

Continue Reading "If your Snagit Editor is really slow and hogs CPU then read on" »

 My software 


Jabra SP700 Bluetooth Hands Free and FM transmitter ( 7/10 but could so easily have been 10 / 10 )

Sean Cull  29 November 2008 07:56:06

Image:Jabra SP700 Bluetooth Hands Free and FM transmitter ( 7/10  but could so easily have been 10 / 10 ) The Jabra SP700 is a visor mounted bluetooth car kit which also acts as an FM transmitter for a bluetooth A2DP MP3 player e.g. your Blackberry 8310 or similar.

This means that you can listen to your phone calls or your MP3's on the car radio speakers

The implementation is brilliant in most ways but there are some features which seem to lack thought

.




Pros


Very Effective

Very clear conversations even through the car speakers at speed

Excellent voice dialling on my BB 8310

Eliminates the need for an MP3 transmitter

Cost GBP 40

Cons


My BB 8310 will restart the current podcast after I receive a call ( probably a blackberry profile issue )

You need to explicitly activate the FM transmitter with a button when a call comes in if the FM transmitter is not in use. Once you do trigger it it announces the frequency which takes 3 seconds and in that time you cannot hear your call ( you can turn this off but I think you then loose the other quite useful voice prompts )

Unlike some other less feature rich models it does not convert the incoming call number into a name - it just reads out the number

Silly Design Mistakes


The in-car charging cable has a really fiddly plug ( like a small usb but not ) which fits into a recess behind a rubber plug - a frustration when you think that most people will want to charge the device whilst it is still attached to the visor

The device will pair with multiple bluetooth devices but only one at a time. this is not too bad ( although see this one from the competition ) but the frustrating part is that it will only pair automatically with the last device - so if your wife uses it with her phone then you need to go into your phone menu to re connect your device - it would be great if it cascaded through the devices until it found one.

The blue LED which is almost directly in your line of sight needs a piece of tape over it to stop it dazzling you at night - I believe that this can be turned off but you need to download the manual - tape is easier !

 My hardware 


SNTT: Stopping users from opening the wrong replica

Sean Cull  22 October 2008 22:00:00

One of the great strengths of notes is that users can access the same information on different servers or on local replicas. It can also be a real problem.

I have frequently had calls from people along the lines of
"I added some information and I can see it but my colleague can't".


One of our clients recently wanted to deploy replicas of their business critical applications to a different server to improve robustness. Without taking any special steps this actually reduces robustness and user satisfaction because over a period of time users end up using different replicas from each other and sometimes are using a slow server ( a branch office in South Africa on broadband was often a culprit ) without realising this.

The dynamics of how Notes chooses which server to open next often puzzles me but I was once told that it was to do with the alphabetical order of the servers because of the order of the databases in catalog.nsf - and once the top icon is for a distant server users will always use that server.

Anyhow, the code that follows may help. In this particular case the business applications are only used on one site so access to any off-site server should only be required if the on-site server cannot be accessed, his makes it easy - in other projects I have used a rule whereby the application should be accessed on the same server as the persons mail file

There are 3 design elements :

1) an action that creates a profile document listing the name of the preferred server - this is manually triggered when the system is set up

2) some script in the database initialize script which compares the preferred server lists above with the actual server

3) a subform which pops up to alert the user if looks as though they are using the wrong server.


Essentially the code does the following :

checks to see if the person has access to the database
gets the preferred server name from the profile document and compares this with the actual server name.

if the actual server != the preferred server then the system checks to see if the preferred server can be opened.
if the preferred server can be opened then the user is advised as shown in the screen shots below otherwise the user is allowed to open the requested server

I wasn't able to write code to actually switch to the new database so instead it closes the database and brings the correct icon to the top on the workspace. i have not tried this in a "workspaceless" environment.


Image:SNTT: Stopping users from opening the wrong replica

Image:SNTT: Stopping users from opening the wrong replica


You may think that the steps required to access the "wrong" server are a bit OTT but remember that this pop up only gets triggered when the "preferred" server is available.

Continue Reading "SNTT: Stopping users from opening the wrong replica" »

 Admin Tips  Dev Tips  Show-n-Tell Thursday  Download 


Blog partially reskinned - I hate IE

Sean Cull  15 October 2008 23:49:33

I will post more about this but I am part way through reskinning this blog as part of a project to re-develop our company web site.

It works great in Firefox but IE is not so good - reminds me of this graph

Firebug is just brilliant

Click on the comments button to see the old style

Image:Blog partially reskinned - I hate IE

Link

 Dev Tips  Domino Blog Template  CSS 


Improving the meta title data on Domino Blog entries ( a passed on tip )

Sean Cull  7 October 2008 20:25:08

When you look at the Google results for Sean Burgess you will see that the title of the Blog article is clearly shown in Google whereas if you look at my current Google results you can see that the default template behaviour is just to use the site title - I think that Seans method is more informative.

Image:Improving the meta title data on Domino Blog entries ( a passed on tip )

At ILUG 2007 Sean explained that you can change this by using the DXSubject  tag in addition to the DXTitle tag. Note that you can only do this where the page displayed relates to a single article otherwise there is no DXSubject value - took me a while to realise that ;)
Continue Reading "Improving the meta title data on Domino Blog entries ( a passed on tip )" »

 Admin Tips  Domino Blog Template 


SNTT - Visual Directory - thumbnails in the domino directory

Sean Cull  2 October 2008 23:06:02


Image:SNTT - Visual Directory - thumbnails in the domino directory

Last year one of our clients asked us to help create a directory of staff with thumbnail images, profiles and contact details. After bouncing it about we agreed that using the Domino directory would make sense as much of the information was already there.

I am always wary of messing with the directory but in this case it was a relatively small directory ( < 200 people ) and we set out to add design elements rather than modify existing design elements. The scheme that we came up with is shown in the images above - essentially the system converts thumbnail images ( 80px x 80px ) into image resources and then displays these image resources in the view.

I doubt that this approach will  scale to very large organisations but I have used it on a version of Jake Howletts test directory with 2,000 names and it works fine.

Before launching into the technical description I would like to thank the following people whose code is included in some way :
  • Our client who paid for some of this work and kindly agreed for it to be open sourced - it was a win - win because we obviously didn't charge them for the open source code that we used.
  • Ewan Arthur, a colleague from FoCul,  who worked with me on the code
  • Julian Robichaux -  http://www.openntf.org/Projects/codebin/codebin.nsf/0/DF779ACFF30EB48886257118004D35B5
  • Lou Capizzoli on Openntf.org  http://www.openntf.org/Projects/codebin/codebin.nsf/0/DF779ACFF30EB48886257118004D35B5
  • Charles Robinson  http://www.cubert.net  ( the my documents folder code )
  • Rocky Oliver / Andre Guiard  http://www.lotusgeek.com/SapphireOak/LotusGeekBlog.nsf/D6Plinks/ROLR-6MBMQJ        

The Scheme


A new form was used to display the persons profile. This form has an action button allowing a jpg file to be uploaded and stored in a rich text field called UserPhoto.

A background agent ( which needs unrestricted privileges ) takes the newly attached jpg files, downloads this to the hard drive on the server and then creates an image resource using DXL using code from Lou and Julian. The name of the image resource is the document unique id of the person record. The jpg file is deleted from the hard drive once the image resource has been created

A new view displays the person records and the image resources associated with each person record. The view has a form formula which forces the new profile form to be used when a document is opened from this view. The form has a form field to make sure that the default form for that record is always the original Domino Directory person form,

In the examples attached below I have left the default domino directory views in place but it is a simple matter to change the default opening view ( edit the Mainframeset ) to be the new one with the images

Note that the forms and code shown here are simplified from the production system but the key concepts still work.

The Design Elements


The only change to the existing elements of the Domino directory is the default view for the mainframeset frameset, everything else uses new design elements. These are :

Forms
:

.FoCul\PersonProfile

Views
:

Focul\01. Profiles\By Name)

Script Library
:

.FoCul_Image_Resource_Handling_6_01

Scheduled Agent
:

.FoCul\Update Image Resources ( note that this needs to be set up for your named server )
note that the agent contains a selection rule so that it only runs on records needing to be processed

Other agents
:

.FoCul\Set images for all people - populates all records with test images stored in c:\temp\images  ( may not be MAC friendly )

(.FoCul Remove Profile)

The Downloads


There are four downloads :


Very Small : The script library at the heart of the system

.FoCul_Image_Resource_Handling_6_01.lss

Small : A database with just the required additional design elements ( 0.5 Mb )

designelementsonly.zip

Medium : A full Domino Directory (8.0.2 ) with the original and the new design elements and 10 records ( 3 Mb )

somerecords.zip

Large : The 2000 record Domino Directory with test images ( 40 Mb  )

fakenameswimages.zip

Areas for Improvement


The system probably won't work on MAC or Linux ( clients and servers ) without some simple changes to the file paths construction

Some code is needed to remove the resource images when a thumbnail or person record is removed

Unashamed Plug


Ewan and I would be very happy to help anyone who wants commercial support to implement this type of system ( or any other system ) via FoCul Ltd. We are based in the UK and have a particularly strong record in developing applications for the Manufacturing sector.

 Admin Tips  Dev Tips  Download  Show-n-Tell Thursday 


Google Webmaster tool - Where in the world is your site ?

Sean Cull  9 September 2008 09:14:37

I am just in the process of moving some PHP sites from a UK server to a US server.

One of the issues in the past has been that Google thinks a xxxxx.org site served from the US is focused on US users and it will not appear as highly in google.co.uk or doogle.com with "results from the UK"

This video from Google shows how to use the "Set Geographic Target" tool to manage this.

http://googlewebmastercentral.blogspot.com/2008/04/where-in-world-is-your-site.html




Fix for Noteshound breaking Notes 8.02 when installed

Sean Cull  4 September 2008 10:14:50

I installed Noteshound 7.1.0 on my machine yesterday with Notes 8.0.2. when I went to restart Notes it wouldn't work. Worse still a standard  un-install and re-install didn't work either so I had to go and delete the folders manually - all in all I lost a couple of hours of work time.

I put in a support request to Noteshound and Ken Haggmann came back very quickly this morning. After some troubleshooting he deduced that the "Install right-click option" was causing the problem. This adds the following line to the notes.ini file

AddInMenus=nhAddin.dll

Once this line is removed Notes can be restarted although the Noteshound right click option will not be available.

The right-click option is installed by default

Image:Fix for Noteshound breaking Notes 8.02 when installed

It does make you think that with so much change going on with the Notes clients at the moment that it must be a challenging time for ISVs who are integrating deeply into the Notes client as opposed to using standard Notes functionality

 Dev Tips 


Berry Locator - how to find a lost Blackberry ( 9/10 )

Sean Cull  4 September 2008 09:35:40

Image:Berry Locator - how to find a lost Blackberry ( 9/10 )

This is a piece of software that has saved me several times and is well worth the £ 4 cost

It sits on your blackberry and when you send it an email ( text messages don't work ) with a special pass phrase in it the blackberry will email you back with its location from the internal GPS unit. It also brings the blackberry out of mute mode and activates an alarm on full volume

Two minor issues for me, I found the install via the desktop would not work but a support ticket quickly got me a direct download jad link. The second is that I can t seem to use another blackberry to display the location map - you need to use a desktop.

On one occasion I had left my phone on a customers desk and then gone to see several other customers in the same building. I lost the phone and triggered the Berry Locator software. It quickly told me which office it was in so I wen to that office only to be met half way there by my customer who was walking around trying to find me with a very load blackberry that he couldn't silence.

Thanks to Steve who put me on to it via his blog

 My software  Blackberry 


Darik’s Boot And Nuke Disk Shredder ( 7 /10 )

Sean Cull  29 August 2008 19:36:17

I use this software to wipe hard drives of all data.

This is a slightly controversial area but as best I can tell Darik's Boot And Nuke Disk Shredder seems to be well regarded.

Darik's Boot and Nuke ("DBAN") is a self-contained boot disk that securely wipes the hard disks of most computers. DBAN will automatically and completely delete the contents of any hard disk that it can detect, which makes it an appropriate utility for bulk or emergency data destruction.

DBAN is a means of ensuring due diligence in computer recycling, a way of preventing identity theft if you want to sell a computer, and a good way to totally clean a Microsoft Windows installation of viruses and spyware. DBAN prevents or thoroughly hinders all known techniques of hard disk forensic analysis.

The development and support of the DBAN software project is funded in part by GEEP International. GEEP is the largest, the most efficient, and the most environmentally conscientious consumer electronics recycling company in North America.



Its easy to use, download the iso image, burn it to CD, reboot and wipe the partitions of your choice - mind you it takes an awful long time per disk ( > 12 hrs for a 60Gb laptop drive )

http://www.dban.org

Update

dropped from 10/10 to 7/10 for time taken to shred a disk

 My software 



USB Windows Boot Disk

Sean Cull  29 August 2008 19:24:35

I find it useful to have a USB boot disk when I am messing about with hardware, particularly since many systems no longer have a floppy drive. It was also the only useful thing I could do with the freebie Lotus QuickR 256Mb USB pen given away by Mary Beth Raven at ILUG 2008

There are a few articles on the web about creating these, one of the best is this O'Reilly Digital Media Blog

I personally found that for a windows boot disk the easiest method ( suggested in a response on the blog above ) was to use the Dell utility and rename the autoexec,bat file to stop it running the Dell diagnostic software

The utility is available at

ftp://ftp.dell.com/diags/CW1310A0.EXE

The much praised HP Drive Key Boot Utility can be found at

http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=US&swItem=MTX-UNITY-I23839

I struggled with this a bit because it defaults to a linux boot disc whereas I wanted a windows boot disc ( to run Ghost 2003 )



 My hardware  My software 


Running Notes 8 when you are short of resources

Sean Cull  13 August 2008 08:25:00

Although the Eclipse notes client is a richer place to work there are times when it would be better to run the simpler basic client . A good example would be if I have several virtual machines running at once on my laptop.

Even though you have installed the Standard ( eclipse ) client you can still start the basic client by using nlnotes.exe ( NL is supposedly No Logo ). Your desktop icons etc will be the same in both versions.

I do this with a shortcut on my start menu. nlnotes.exe is located in the same folder as Notes.exe, in my case "C:\Program Files\IBM\Lotus\Notes\nlnotes.exe"

 Admin Tips  Dev Tips 


Restarting Notes cleanly

Sean Cull  13 August 2008 08:17:35

Although Notes is much much better about restarting after a crash there are still times when it hangs. A good example for me is when you open the developer help with the script debugger on.

People used to use products like KillNotes.exe to restart Notes but since version 6 (?) you can use the NSD option with the -kill parameter. I have this set up as a short cut in my menu bar using the following syntax

"C:\Program Files\IBM\Lotus\Notes\nsd.exe" -kill

Click on the shortcut and Notes is taken down and you can restart notes - with the Notes 8 eclipse client you will probably need to close the large java error pop up

Image:Restarting Notes cleanly

 Admin Tips  Dev Tips 


Finding which documents have been deleted from a database with a script solution

Sean Cull  29 May 2008 08:16:35


Update


Notes 8.5 now has an extra column in the user activity pop up which shows deletions

I seem to have lost the comments somehow but several people recommended Ytrias (free ) tool over Notes Peek. I have tried it now and it is very good




I recently had a call from a customer to say that their application had stopped working. It turned out that a number of configuration documents had been inadvertently deleted when the user tried to archive off old documents - but which ones ?

One frustrating feature of Notes is that unless you code something special it is very difficult to find out who has deleted documents and when ( I now generally use a soft delete mechanism so that most users  cannot hard delete documents )

1) The first quick check is to look in the application properties - user activity and see if anyone has "written" a large number of documents.

Image:Finding which documents have been deleted from a database with a script solution


2) I then use a script to compare the documents in the "live" copy with the documents in a local replica or backup. This takes each document in the backup and tries to find the corresponding document in the live copy. If no matching document is found ( or just a deletion stub ) it puts that document in a folder so that I can copy it back to the live system ( note that the doc unid will change )

3) If I need to do further analysis to see when the document was deleted ( and indirectly by who using the logs ) I can now use the doc unid and NotesPeek to examine the deletion stub - I find that the search facility doesn't always work so I tend to dump it to a text pad and search there

Image:Finding which documents have been deleted from a database with a script solution



This is the LotusScript code for step 2
( also attached as an LSS )

'check for deletions on the server:

Option Public
Option Declare ' because Rocky says you must


Sub Initialize

'check for deletions on the server:
' Sean Cull, www.seancull.co.uk


' This agent compares two replicas and highlights documents that are in one
' replica but not the other. These documents are added to folders $4091_Deleted_Documents
', $missingdocuments or $zerolengthdocs for later examination

' the code is particularly usefull for finding what has been deleted from a replica

Dim ws As New notesuiworkspace
Dim session As New NotesSession
Dim thisdb As notesdatabase
Dim otherdb As notesdatabase
Dim coll As notesdocumentcollection
Dim thisdoc As notesdocument
Dim otherdoc As NotesDocument
Dim number_docs As Long
Dim var As Variant
Dim unidvar As String
Dim Error_4091_flag As Boolean

On Error Goto printerror        
On Error 4091 Goto error_4091
' error 4091 occurs when you use getdocumentbyunid on a deletion stub
' the error message is invalid universalid
' there are some support documents which also suggest that you sometimes do manage
' to get a handle on a stub so you also need to check if doc.size = 0

Set thisdb = session.CurrentDatabase
Set coll = thisdb.AllDocuments

number_docs = coll.count

Print "There are " & Cstr(number_docs) & " Documents to process"

'variant = notesUIWorkspace.Prompt( type%, title$, prompt$ [, default ] [, values ] )
'PROMPT_CHOOSEDATABASE (13)
'variant(0) = server
'variant(1) = path
'variant(2) = title

var = WS.Prompt( 13, "Choose the second database", "")

Set otherdb = Session.GetDatabase( var(0), var(1), False )
If Not otherdb.IsOpen Then
        Msgbox "Could not open the second database"
        Exit Sub
End If


Set thisdoc = coll.GetFirstDocument
Do Until thisdoc Is Nothing
        number_docs  =         number_docs  - 1
        Print         number_docs ' this slows things down but I find it useful
        unidvar = thisdoc.UniversalID
        error_4091_flag = False
        Set otherdoc = otherdb.GetDocumentByUNID(unidvar)
        If error_4091_flag Then ' a deletion stub
                Call thisdoc.putinfolder("$4091_Deleted_Documents",True)                                                
        Else
                If otherdoc Is Nothing Then
                ' a missing document as opposed to a deleted one
                        Call thisdoc.putinfolder("$Missing_Documents",True)                        
                Else
                        ' there is a document but we need to check if it is a zero length stub
                        If otherdoc.size = 0 Then Call thisdoc.putinfolder("$Zerolengthdocs",True)                        
                End If                        
        End If
        Set thisdoc = coll.GetNextDocument(thisdoc)
Loop

Exit Sub

Error_4091 :
error_4091_flag = True        
Resume Next

PrintError:

If (Err() <> 0) Then
        Messagebox( "Error" & Str(Err) & ": " & Error$)
End If

Exit Sub

End Sub

 Admin Tips  Show-n-Tell Thursday