Usability - Productivity - Business - The web - Singapore & Twins

By Date: February 2010

Quote collection

A collection of quotes I like:
  • Thomas T. Nagle:
    Sustainable cost advantages are realized not by constant belt tightening,
    but by the efficient use of resources
  • Edsger Dijkstra
    It is never enough to satisfy your own intellect (since it will be laid in your grave with you), but one must teach others, to use their mind.
    The more one focuses on these two tasks, the faster one realized that they are the two sides of one coin:
    Who teaches himself, discovers what can be taught
  • Antoine de Saint-Exupéry
    • If you want to build a ship, don't drum up the men to gather wood, divide the work and give orders.
      Instead, teach them to yearn for the vast and endless sea.
    • As for the future, your task is not to foresee it, but to enable it
    • You know you've achieved perfection in design,
      not when you have nothing more to add,
      but when you have nothing more to take away
    • It is only with the heart that one can see rightly.
      What is essential is invisible to the eye.
  • Anonymous
    For every complex problem, there is a solution that is simple, neat, and wrong
  • Nathaniel Borenstein
    The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents
  • Alan Cooper
    Most people know more about how the Vatican works than what programmers do.
  • Albus Dumbledore
    You have to choose between what is right and what is easy, ... because what is easy is often not right.
  • Derek Bok (a former President of Harvard)
    If you think education is expensive - try ignorance
  • Linus Thorwald during the Lotus Devcon 1999
    If you love somebody - set them free
  • CenterGate Research Group, LLC
    Technology so advanced, even we don't understand it!
  • Leonardo da Vinci
    Poor is the pupil who does not surpass their Master.
  • Soren Kierkegaard
    The unhappy person is never present to themself because they always live in the past or the future.
  • The Koran
    They deserve paradise who make their companions laugh.
  • Lao Tzu
    • As for the best leaders, the people do not notice their existence.
      The next best, the people honor and praise.
      The next, the people fear, and the next the people hate.
      When the best leader's work is done, the people say, 'We did it ourselves'
    • A journey of a thousand miles must begin with a single step
  • Shi Quin
    When you gaze at the cloudless sky, you either see the emptiness of the sky (xu1kong1) or the emptiness of your heart
  • Hugh MacLeod
    Choosing an easy live rarely ends up with much of either.

Posted by on 27 February 2010 | Comments (1) | categories: After hours

Address Dialog on stereoids

Over the long live of Lotus Notes the address dialog has been a trusted, never changing compagnion:
The Notes address dialog
Over the years it got some facelift like the ability to drag and drop or the ability to sort by Notes hierarchy, language or corporate hierarchy (anybody seen that?) or to look at details in yet another window. It works OK as long as the number of names is small and diverse. However once you enter cultures that are notoriously short of last names and sport large companies it gets tedious to pick the right Mr. Wang or Mr. Lee. In short: the address dialog is overdue for an overhaul. Since simplicity isn't simple careful considerations are needed. How much more complex the dialog could get to stay reasonable and how simple it needs to be. The requirements I came up with can be quite conflicting.
  • I want to be able to filter the search scope based on a series of criteria:
    • by organizational properties (like department name or org type e.g. "sales"
    • by geography
    • by job role
    • by tags
    • by favorites
    • by source: internal/external, groups, individuals, from Facebook
    • by communication history: frequency or date
    • by search in communication
    • by search in profiles
  • access to list by first name, last name or nick name
  • suggestion of addresses from social analytics
  • display of additional information (address card + tags + list memberships) to positively identify the receipient
  • Indication if encryption is available or not
  • Indication if alternate access (e.g. shared communities) is available
I'm sure there are more criteria available. Packing all of them into one dialog might be a challenge. I played around and created a mockup

Read more

Posted by on 27 February 2010 | Comments (c) | categories: Show-N-Tell Thursday

JavaScript Closures

XPages allow you to use JavaScript closures in both client and server side code. There are plenty explanations available, which seem to make them rather more mysterious. After looking at a lot of them I conclude: " JavaScript closures are like riding a bicycle: nearly impossible to explain, but obvious and natural once you get it". So here is my try, from a LotusScript perspective.
First step in the puzzle is the fact, that there is no difference in JavaScript between a function and a class. To get an instance of a class/function you simply call the function with new:
var myInstance = new MyFunction();
The second piece is the fact that calling a function is the equivalent of calling the default method of a class instance. Default methods are absent from Java, dotNet or LotusScript, but were available in VB (typically .text). So myInstance() actually is myInstance.defaultMethod(). The third piece is to understand the functions that return a function/object as sort of factory pattern with an abbreviated syntax. In LotusScript you would write something like:

Option Public Option Declare %REM Class BaloonFactory Description: Creates all sort of Ballons %END REM Public Class BaloonFactory Private currentGas As String Private currentColor As String Public Sub New me .color = "Red" me .gas = "Helium" End Sub Public Property Set Color As String me .currentColor = Color End Property Public Property Set Gas As String If Gas < > "Helium" And Gas < > "Hydrogen" Then me .currentGas = "Helium" 'Let us play save Else me .currentGas = Gas End If End Property Public Function makeBaloon As Baloon Set makeBaloon = New Baloon ( me .currentColor , me .currentGas ) End Function End Class %REM Class Baloon Description: We like them in a lot of colors %END REM Public Class Baloon Private currentGas As String Private currentColor As String Public Sub New (Color As String , Gas As String ) me .currentColor = Color me .currentGas = Gas End Sub Public Sub POP MsgBox "You popped a " + me .currentColor + " baloon filled With " + me .currentGas End Sub End Class %REM Sub Demo Description: Comments for Sub %END REM Public Sub Demo Dim factory As New BaloonFactory Dim b As Baloon Dim r As Baloon Dim g As Baloon Set r = factory .makeBaloon ( ) factory .Color = "Blue" Set b = factory .makeBaloon ( ) factory .Color = "Green" Set g = factory .makeBaloon ( ) Call r .POP ( ) Call b .POP ( ) Call g .POP ( ) End Sub
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

Read more

Posted by on 20 February 2010 | Comments (1) | categories: Show-N-Tell Thursday

Client Application Platforms

There are wonderful and awesome strategies how to organize your data centers and back-end data processing. Often these back-ends are supposed to be accessed by " Thin Clients", replacing " Sick Thick Clients" or " Fat Clients" which are considered " legacy (read: tried, tested and boring)". Looking at the memory foot print of modern browsers I can't see the "thin" part. My guess the "thin" actually should mean: " Comes with the Oerating System and doedn't need to be taken care of." Never mind the security patches and frequent updates. The opponents of "Thin Clients" coined the term " Rich Client" which indicates connectedness and rich interaction models. The IMHO real difference is single purpose, disconnected clients (like your old school spreadsheet, minus Quickr/Sharepoint) vs. connected application platforms. And looking at the platforms the dust hasn't settled (yet). Regardless of what platform one picks, the challenge today is device diversity. You might have standardized on X, but you can make a save bet, that a C level executive will hand you a device Y and demands to make it work for your enterprise applications (typically Y ∈ [iPhone, Palm Pre, Blackberry, Android, {Stuff-you-never-heard-of}]). Anyhow you face the real-estate challenge:
1920x1200 is 30x bigger than 320x240
Your 24" monitor (60.96cm for readers who live in the EU) with its 1920x1200 resolution shows 30x more pixels than the small smart phone with its 320x240 screen. Your strategy should allow for as much reuse as possible. Here are the current options as seen through my personal bias:
  • HTML: To be correct you would need to state: HTML, CSS, JavaScript and DOM. With the raise of Ajax (Sometimes available technologies "just" need a name to become popular) this seems to be the predominant direction most enterprise developers are taking. Supported by frameworks like Dojo, Prototype, JQuery and others creating rich interaction became way simpler. IBM settled on the Dojo toolkit for all their products, so learning Dojo is a worthwhile investment. Luckily by now here is rich documentation both online and offline available.
    The base line for this approach is support for IE6 which severely limits the platform. If you don't use any of the toolkits you are also hampered by little incompatibilities between the browsers (Quirx mode anyone). Further challenges are (not complete): the lack of local storage other than cookies, no native media capabilities and no uniform extension model. Clearly a legacy platform. This highlights a big dilemma for "thin clients": The browser available on the workstation does matter and the idea of "everything on the server" stays a pipe dream. While all you need to develop in HTML is gEdit (notepad if you are on Windows), you want to use a powerful IDE and a strong debugger
  • HTML5: This includes CSS3 and a host of new capabilities like <canvas> or <video>. The most prominent representative of HTML5 execution environment is WebKit, the engine powering Konqueror, Safari, Chrome and others. Webkit is also used in iPhone, iPod/Pad, Android and Nokia's Symbian S60 platforms. So WebKit is well positioned for both mobile and PC space. Firefox and Opera also support HTML5. HTML5 provides local storage which let Google to abandon their own toolkit for that (Google Gears). Notably absent from full support for HTML5 is Microsoft's Internet Explorer 8.
    HTML5 is still a very young standard, so some implementation hiccups can be expected (just check for video support) across browsers. Using the same toolkits as mentioned above, you have a save strategy going forward. What HTML5 currently doesn't resolve is cross domain aggregation, this stays a server side task. IBM has committed to HTML5 (not only) as part of Project Vulcan. IBM also spend quite some effort to design a style guide (called IBM OneUI) to ease design decisions for developers. What HTML and HTML5 don't define is the communication between individual modules. Here independent specifications like iWidgets (Part of OpenSocial) need to fill that gap

Read more

Posted by on 16 February 2010 | Comments (6) | categories: Software

Netgear support hell reloaded - Part 3 - Salvation

Netgear's local support was incredible helpful (Thx Andrew Tan). It turned out the motherboard is fried and one of the disk behaves "interesting". The WD green drives look good on paper, but not so much online. Anyway Andrew was so kind to loan me a spare Netgear unit, so I could resync the faulty drive

Read more

Posted by on 16 February 2010 | Comments (1) | categories: Technology

Boys and their toys VI

It is a public holiday here in Singapore, so I can catch up with blog reading while the gentlemen are busy to collect hong bao (red packets). The Mobile World Congress in Barcelona is on with a lot of new toys:
Samsung I8520 Halo (Picture from Heise)
The Samsung I8520 Halo running on Android with an integrated projector

Sony Ericsson X10pro
Sony Ericsson X10/X10pro

More coverage at Heise (German), Engadget and elsewhere

Posted by on 15 February 2010 | Comments (0) | categories: After hours

GTD in Singapore (or close by if you like)

I love GTD. I'm a happy user of eProductivity (currently not so happy with myself, but that's a different story for a different day). Over time I got introduced to David and his team. In a recent conversation with Michael Dolan, the Director Coaching Services in DavidCo, he mentioned that DavidCo is planning to dispatch a coach to visit Singapore in the near future to serve an existing client. This presents the unique opportunity to engage DavidCo in a Corporate Seminar, get top quality Consulting and personal Workflow Coaching. Indicate your interest by contacting DavidCo.
As preparation I strongly recommend to read the book and try eProductivity.

Posted by on 11 February 2010 | Comments (1) | categories: GTD

Latest Banking Scam?

The phone rings.

He: Hello this is [name changed to protect the innocent] from [insert a big bank]. Can I speak to Mr. Stephan?

Me: Hello there, Stephan speaking

He: This is regarding [pretty usual transaction]

Me: OK

He: Let me ask you some questions to establish your identity

Me: OK

He: What is your account # and [secret question about pets, sports, cities, keywords - you know]

Me: Ah - why would I tell you that?

He: To establish your identity

Me: You called my mobile, so? How should I know you are from the bank

He: Sir I work for [insert a big bank]

Me: Yeah, how should I know that you are who you claim, you not even show a number

He: But I have to establish your identity

Me: And I need to know who you are. I've been burned once with stolen bank data

He: Can I know your account number now

Me: How can I trust you? Don't get me wrong, it is not personal, just security concerns

He: But I work for [insert a big bank]

Me: How would I know. You call out of the blue, with no number in the display, you could be anybody

He: We are not getting anywhere

Me: Right. Why don't I call you back?

He: Uhm - I don't have a callback number

Me: There you go (of course THAT part of the bank call centre is different from the part that takes in calls)

He (sounding desperate since I'm spoiling the average customer handling time): OK Sir, it is about [type of transaction] filed [date] and [value]. You used Internet banking last at [DateAndTime]

Me (feeling very sorry for the guy, assessing the risk: could he have obtained this information in a scam?): OK, I still don't trust you, but here we go. (passing ID information)

(This is actually a very risky behaviour. The very essence of scamming is to obtain a piece of information and use it against the victim to pretend you are a trusted party. E.g. Using a stolen logo is just the simples form of it. Kevin Mitnick was particularly good at Social Engineering, read for yourself. )

He: There is a signature missing

Me: Perfect, I wanted to cancel that transaction anyway.

He: So I cancel for you, have a great day.

Me: Bye! (taking mental note to change the ID information)

What is [insert a big bank] thinking? Disclosing a financial transaction to a stranger (ok the stranger in possession of the customer's hand phone) and expecting customers to blindly trust a caller. Such behaviour invites systematic scamming.

Posted by on 03 February 2010 | Comments (0) | categories: Business

The power adaptors in my "RoadWarrior Toolbox"

I kissed a lot of frogs before I found the optimal travel power adaptor. Finally the Mitch & Mark travel adaptor available from the Krisshop made it. These are my criteria:
  • Must support all countries (a no brainer)
  • Must have an indicator light (places I go often have dead sockets)
  • Must have a USB outlet for charging devices or powering one or the other gadget.
  • Must not have any fragile pieces sticking out, so it can survive my chronical equipment mistreatment
The Mitch & Mark fulfils all these criteria, all plugs retract for transport mode (I also carry a slim minimalistic adaptor since often I need more than one or the sockets are very cramped.).
Power adaptor
Since all of these stuff is made in China, you can track down the original manufacturer.

Posted by on 03 February 2010 | Comments (0) | categories: Travel

New addition to my "RoadWarrior Toolbox" - GR1102

I'm using a 3G modem for a while now. Works well as long as I'm in Singapore, once leaving it becomes an extortionist tool (30$ per MB is 10x more expensive than SMS and that's a rip off already). So typically I borrow the local modem from my colleagues in the country I visit, leaving me with guilt of depriving them from salvation in boring meetings. Not any more. I just added a Sapido GR1102 mobile hotspot to my toolbox. It's a bit bulky compared to dedicated devices like the Huawei E5 and even doesn't have 3G connectivity. However it has 2 USB ports where you can plug-in your off-the-mill 3G modem and either storage or a web cam. For a frequent country hopper like me that's the ideal solution. No fiddeling with data sim cards and provider settings, just grab a colleague's stick and share the SSID of the device with her. When in range of a network it also works as a router or access point. In the router function it can connect to a WIFI network and serve as hotspot. A nice feature when connecting a zoo of devices to the hotel network. The device is powered either by AC, a DC adapter or a standard USB cable. I haven't tested the WebCam yet.
Sapido GR1102
The Huawei E5 in comparison:
Huawei E5

Posted by on 03 February 2010 | Comments (1) | categories: Technology

When reality catches up with fiction

Walking military vehicles were a novelty in the earlier Starwars® and I always wondered what are they good for other than stumble over rebel wires.

Now Boston Dynamics is actually building them (and they are much smarter than me, so they know what they are good for):

Boston Dynamics has a wide range of really kewl robots and it probably is fun to work there, even if some of the robots are outright creepy and really small.

Posted by on 02 February 2010 | Comments (1) | categories: After hours

Netgear support hell reloaded - Part 2

The faulty -or not- drive is a WD10EA DS and WD10EA CS is on the supported list. However Erik tells me today:
a) It must be the drive (I bet it is not)
b) Unfortunately if a drive is not on our hardware compatibility list we cannot support it. Drive manufacturers have been no to make updates to their drives that make then incompatible with our devices. What the exact issue with these drives are we cannot say.

Basically: Customer go away!

Posted by on 02 February 2010 | Comments (2) | categories: Technology

Lotusphere 2010 Session evaluations AD107, AD111

The session evaluations are in. This is what you told us about about the sessions I was involved:
  • AD107 (Enhance Your Existing Applications with XPages) with Steve Castledine
    • Good - Usable when I get home
    • Excellent - Just what we need in order to keep up the pressure regarding open source and the rest of the wolf pack of the competition.
    • Excellent - I'm finally sold on XPage.
    • Excellent - WONDERFUL
    • Excellent - Excellent content
    • Excellent - I would really like to try uses Xpages in some of our current Web applications
    • Excellent - Great step by step session on XPages enhancement.
    • Excellent - These guys are always enjoyable and knowledgeable
    • Good - However, no reason to rush through the slides - when we finished 10-15 minutes before time!!!
    • Excellent - Great presentation. Good information on how to get started with xpages
    • Good - It is somewhat hard to keep up the pace trying to digest, learn and follow the presentation. Its going too fast.
    • Excellent - Well done. Speakers created a great rapport with the audiance.
    • Excellent - But why so hurry? They quit more than 10 minutes before 11.00
    • Excellent - great job guys. good sense of humor balanced with straight talk.
    • Excellent - Both superb
    • Excellent - Very enjoyable and clear presenters
    • Excellent - Both presenters did a great job. Seemed to know the material very well.
    • Worked great together, provided excellent examples and material.
    • Excellent speakers, a whole lot of information to digest in an hour but really excited to get into xpages at work
    • The comparrisson was excellent - it gives a very good view of what one can and can't do with xPages.
    • The room was absolutely freezing -- I left early and yes, I had a light jacket on.
    • Thanks!
  • AD111 (Harnessing the Power of Server-Side JavaScript and Other Advanced XPage Techniques) with Tim Tripcony
    • Excellent - Excellent stuff for new XPages developers and even for exeprienced ones.
    • Excellent - Very interesting and I can't wait until I could dowload the code examples Excellent - lots of good stuff...would be nice to have some more of what Tim had to say in the actual slide deck, like a bit more detail on the caching stuff
    • Good - IT WAS GOOD
    • Excellent - The best session this year!
    • Excellent - Great stuff! I had no idea Xpages were so powerful.
    • Excellent - They are both very talented with a great sense of humor
    • Excellent - relaxed and ready, everything you could ask for in speakers. bring these guys back for more!
    • Excellent - Good material, well-presented. A good team.
    • Excellent - Very clear enjoyable speakers, I get more from these sessions than if they are dry.
    • Thanks, guys, looking forward to the sample code.
    • parts of SSJS may still elude me...but this session has moved me to the next phase of grieving for my beloved lotuscript...I now accept that there are bigger and better things, perhaps this will finally bring me to closure
    • Best session of this Lotusphere
Thanks for the great feedback!

Posted by on 02 February 2010 | Comments (2) | categories: Lotusphere

Engaging the OpenSource Community - Government Style

The Federal Government of India is undertaking a mammoth task of assigning a unique identification number to more than a billion Indians. There is an organization named UIDAI set up for this really interesting project. Since it is government you have committees and tenders. The database will use biometrics to establish identities, which someone could either brand as an Orwellian nightmare or a step to establishing enforceable citizens rights (you need to be someone to own something, especially title deeds) for everybody.
A quick peek on the site shows that it is running Apache/2.2.3. UIDAI seems to like the idea of OpenSource and invites contributors to participate in the project. I think this is a great idea to promote Indian technology and Indian engineering proficiency. Securing a database with a billion biometric profiles that needs to be accessed by thousands (if not millions) of legitimate users is a dream challenge for any IT architect and security professional (what type of dream is in the eye of the beholder). It is also very laudable, that all the documents are in the open for the world to see. I like this transparency. But where is light there is shadow. Reading the code contribution statement I find (emphasis mine):
  1. If the Client Software or a module developed by any Developer is accepted by the Authority for implementation in the field for enrolment, the contribution of the Registered Developer will be recognized. However, the source code, documentation and IPR will belong to the Authority. Accordingly, the Registered Developer will be required to enter into appropriate agreements transferring all rights and intellectual property to the Authority for their product and contribution.
  2. This effort for creation of the enrollment software is completely voluntary and the Authority is under no obligation to provide any financial incentive or consideration to the concerned Registered Developer for the product.
Let me translate that into plain English: We take your code, we take your rights, we won't compensate you, so you are in for the fame [only] (and in #8: we are not liable for the rights we hold). While later on it is stated, that the authority might open source the code at their discretion, the #6 requirement is in direct conflict with any known OpenSource licence like the GPL, LGPL, MPL, APL or any of the other OpenSource licences.
I'm curious how that will work out.

Posted by on 01 February 2010 | Comments (0) | categories: Software