Domino Upgrade

Search

About Me

I am the "Lotus Technology & Productivity Advisor" for IBM Asia Pacific. I'm based in Singapore.
Reach out to me via:
Follow notessensei on Twitter
Yahoo IM
Skype
Sametime
IBM

Ads by Google

Twitter

Languages

Other languages on request.

Visitors

13/07/2010

Is Internet Explorer holding you back?

Category
There is a paradoxon going on in corporate IT (probably more than one): On one hand developers whisper "Our standard is IE[6]" on the other hand managers buy iPhones, iPads, Android phones (which are all WebKit based) and demand that all applications should move to browser based access, being Intranet or the cloud. Development for browsers is painful compared to client environments (you need to know at least 4 totally unrelated - in terms of syntax - technologies: HTML, CSS, JavaScript, HTTP). HTML5 will address some of the pain (while you still have to learn the 4 technologies). Looking at the browser's HTML5 capabilites you only can conclude, that your mobile device will outshine your desktop browser by a large margin:

Summary of HTML5 support per browser

Calculation of support of currently displayed feature lists

Internet Explorer Firefox Safari Chrome Opera
Two versions back 6.0: 3% 3.0: 42% 3.2: 57% 3.0: 76% 10.1: 51%
Previous version 7.0: 10% 3.5: 70% 4.0: 78% 4.0: 81% 10.5: 71%
Current 8.0: 25% 3.6: 76% 5.0: 86% 5.0: 85% 10.6: 77%
Near Future (2010) 8.0: 25% 4.0: 90% 5.0: 86% 6.0: 89% 10.6: 77%
Future (2011 or later) 9.0: 58% 4.0: 90% 5.*: 88% 7.0: 90% 10.7: 78%
(Table found here). IBM made the decision to move to Firefox. Is it time for you to move too? A few places to check out on the new capabilities:

28/06/2010

DIA an OpenSource alternative to Visio

Category
IT people like to draw diagrams. The usual weapon of choice is Microsoft Visio. When on Mac or Linux, that's not an option. A cross platform (and OpenSource alternative is DIA. It runs on Windows, Linux and (thanks to the Darwin Ports Project) on Mac OS/X. It is by far not as powerful as Visio and doesn't produce shiny business graphics like SmartDraw (which I use for a lot of the blog illustrations here), but it clearly qualifies as "good enough to get the task done". One sour point in the past was the lack of nice looking objects for network diagrams. Now Hagen notifies us of the Gnome DIA Icons project.

They look good to me.

27/05/2010

Backup vs. Archival and Thoughts on Archival

Category  
Archival often gets confused with backup. The activities are (technically) very similar and invite such a confusion. Both are the action of moving bits from "the place where everybody looks" (the mailbox, the current database, the file share, the intranet etc.) to some other place (a backup tape, a cheaper storage, a CD-ROM /dev/null etc).

Backup is for the sole purpose to keep data available in case the main storage area is no longer available (due to accidental deletion, soft- or hardware problems).
Archival is the removal of data from the "main area" to an "archive area" for later retrieval for historic or compliance reasons. A secondary motive for archival is to remove obsolete or less relevant data from the active work area to improve performance, shorten search time or save on storage in the system hosting the active work area. To confuse matters further: quite often technologies designed for backup are successfully used for archival (e.g. copy data to a removable storage like a tape or optical disk).

In other terms: you don't expect to ever restore a backup unless something went wrong, while accessing an archive can be part of a regular business process. There are a few perceptions about archival that need to be put into perspective:

Archival does not save any storage space!
At least not when you look at all storage across the Enterprise. However it can help saving storage on your active work area (which is most likely the most expensive one) and so help saving storage cost. IMHO the biggest advantage of archival is the reduction of data a user would look for, since the current work area only would contain relevant data. This is also the greatest peril of archival: when data gets archived too early and the archival location turns into yet-another-work-area-to-check. (OK your archive might use a better compression that your life system - but are you sure that is isn't just a backup?)

Archival needs information life cycle management
Every information has a certain life cycle. Like food items information has a "best use before" data (that varies depending on the purpose). It follows roughly the following pattern:
  • New: freshly created, might not be relevant yet (e.g. upcoming policy change)
  • Current: data supports one or more business processes and is actively used
  • Reference: data is no longer actively use, but is regularly required for reports or comparison
  • Compliance: data is obsolete but needs to be kept for compliance (e.g. business records in Singapore : 7 years)
  • Historic: the data doesn't need to be kept, it doesn't serve any active business process, but might be of historic interest. This state of information is a field of tension between (corporate) lawyers and historians: historians like to keep everything, while lawyers see a potential discovery risk (cost and content) in every piece of data kept. When analyzing the archival policies of any organization one can find out who won this conflict.
  • Obsolete: In 2050 really nobody cares how many rolls of toilet paper you bought at what price (while the price volume of toilet paper might still be of historic interest as curiosity how mankind could be so wasteful with resources before they had the self cleaning buttock nano coating)
Data might skip some of the phases. As one might notice I'm speaking about "data" in general. The life cycle applies not only to documents but to all sort of information. Now to have a successful archival strategy the status of information in that life cycle should be explicit known for each piece. Unfortunately this is still the exception rather the rule. Short of an explicit expiry data we make implicit assumptions like "Unless stated otherwise a document in this place expires xx days after last update" or "Unless stated otherwise a document in this place expires xx days after last use". Since usage is much harder to track (if one looks at an information to then figure out that wasn't what she was looking for, an automated system would count that as usage - bad. Or I use the search engine and the search result shows already the information, so I never open the location - document expires being unused - bad) the most prevalent measure is "last update". Some clever verification  cycle asking the owner to extend the validity is needed. But better have a clever one. If that turns into a one-bye-one update exercise nobody will bother. A very good rule engine can help there. Most of the technical troubles (short of broken equipment) you might experience with archival are rooted in strategic (mis-)decisions.

What's your Retention/Archival policy?

16/05/2010

Presenting New Software to Business Users

Category
We get exited about new software releases. Full of enthusiasm we swarm out to tell the world of business users about all the shiny new features. We are met with a shrug. What went wrong? We used the wrong approach! We drowned our audience in the river of features. When presenting new software to business users, be it a new product or an upgrade to an existing software, listing features (how kewl is that...) won't excite anybody outside tech. We need to tell a compelling story how the new software improves the utility of users' computer use. In other word we need to clarify what's in for them.
So you structure your presentation around business scenarios and how the set of abilities in your software benefit this scenario. Software designers (at least the enlightened ones) use Personas for their scenarios. You standing in front of an audience you (should) know, of course pick examples that are relevant to the people that look you in the eye in that very presentation. However a good business scenario is not good enough. They way you communicate it is essential. Anybody loves a good story.
The best advice for structuring your presentation I found so far is provided by LeeAundra Keany a.k.a. The Contrary Public Speaker. She strongly suggest to use a classic speech approach as used by Aristotle, Plato, Quintillian or Cicero. Her presentation model consist of six simple elements (summary and explanation partly from the book, partly by me):
  1. The Message
    You need to answer the question: "What do I want the audience to do and why should they do it". For software demonstrations the "What" seems simple: "buy my product" or "demand the upgrade", but after a little soul searching you might end up with "See a different work style", "change their attitude towards ..". The why is trickier. Here you need to know your audience well - it's the What's in for me? question. A good message is clear, focused and compelling
  2. Audience Analysis
    LeeAundra sums it up: "The quality of the speech itself is powerless against the preconceived notions of the listeners UNLESS the speech and the speaker understand and deal with them". So be clear who is your audience. The CEO pitch differs from the CIO pitch and differs from the message for the personal assistants. You need to be clear about three questions: "What do they think of your message? What do they think of you? What is their state of mind?"
  3. The Speech
    Good speeches are short to the point. Good demos too. Your biggest mistake is to walk through endless variations of the same. Prepare the variations if our audience demands more, but keep your plan to the essentials. Write down your speech. Use simple words (keep in mind: simple doesn't mean simplistic!). Good speeches are highly structured and so should be your demo. Never just jump in, explain what will happen beforehand. I call that the "dentist model". (S)he will first tell you "I will hurt a little" before yanking out your teeth. The structure consists of 5 main components:
    1. Introduction: You provide an attention getter (no joke please unless you are really funny), explain why this is important - plan that message well, you will tie back to it - and the preview what you will show and tell in the body. For a detailed discussion of attention getter options see the book.
    2. The Body: The main part of your speech. Every item (don't have too many of them) has a point - a business case so to speak. You state your argument and then provide supporting evidence. In a software demo that's the part where you click around. You sum up the learning points and provide the transition to your next point. Build your points around utility rather than feature by feature. I experienced repeating features deliberately in different combinations for different use cases works very well.
    3. Preliminary Conclusion: You sum up the arguments you build during the main body. Don't stop like "That's what I wanted to show". You can and should tie back to your introduction. Something like "I promised to show you .... and I have delivered by ....". You also can state what else is possible that you didn't cover. Lead up to the Q&A session
    4. Question and Answer session: Of course you know your software, so any questions about functionality should come easy. However you need to be prepared for question around statistical evidence, reference customers implementation needs etc. Quite popular are questions how your product compares in function or market share to your competitors. I typically turn questions "what's about feature X" into "How do you solve the use case where product Y is using feature X with my product"
    5. Final Conclusion: Don't end your presentation with the last question from the Q&A session. Tie back to your message from the introduction. Rule the floor.
    This is a *very* compressed summary. Go read the book.
  4. Delivery
    You need to practise. Practise. Practise. In IT we are tentatively guilty to use to much insider lingo, so watch out for that (and watch your use of TLA). Also slow down. Speaking faster you risk loosing your audience. Pause to let key points sink in. Silence is not dangerous. Watch your non-verbal delivery: posture, gestures and eye contact. My own posture greatly improved after practicing Tai Chi and Martial arts. Stand straight, feel both feet on the ground, be in the moment. Look at your audience. Eye contact is king. This is another reason why you want to explain things before you click through them. While you click everybody's eyes are elsewhere. And - your are not a caged animal: Don't pace.
  5. Visual Aids
    LeeAundra states: "The Madness Has to Stop!" I second her. Go look at Presentation ZEN (or buy the book) Nuff said.
  6. Question and Answers
    This most likely is the most important part of your speech. You switch from story telling to conversation, from showing to interacting. In the Q&A session you will reveal how well you understand your topic (and the audience), where your passion lies. A good answer to a question accomplishes three things: it answers the question, it strengthens your argument and it reaffirms your message.
LeeAundra has a Podcast and sells her book online. Go it's one of the best career investments you can make. I love the final sentence in her book:

"Now go out there and impress everybody!"

04/05/2010

Sync to success

Category
I love the cloud. It provides access to all my data from any device, any time from anywhere (and for anybody when the next security hole is discovered). No headaches about backup, storage and undelete. I'm on cloud 9.
Not so fast. When I need the service most it is down, the network is slow or latency is unbearable large. The cloud turns toxic. But I want my cake and eat it too. And yes it is possible. The secret is called sync (others call it cache mode). I only mostly want to interact with local apps and local data. These local apps send and receive data from the cloud as and when they have connectivity. They do that in the background, they don't bother me. The apps update themselves from the cloud if I permit it (individually or blanket permission). The apps are smart enough to figure out what data can be kept local based on context and device. To achieve that synchronization is king. There is still dust over the sync protocol battle. We have SyncML, CouchSync, NRPC, HTML5 sync, .net Sync, Expeditor sync and many others. Partial sync (what I would call "contentual sync) hasn't been solved satisfactory. What is your sync strategy?

02/05/2010

Structuring IT lessons

Category
Teaching complex topics is as much an art as it is a craft. To become an artist you have to be an artisan first. One of the tools of the trade are clear structures in your teaching materials. While working with Digicomp I was introduced to TeachART that anwers the question for adult education. Based on that knowledge and my 2 decades of training experience I found the following structure to work well for study assignements.
  1. Learning Goal
    Introduce the exercise and what you will learn. E.g. "In chapter 7 of 'Cullinary survival for geeks' we will learn how to prepare Spaghetti al olio."
  2. Learning Rationale and Time
    Explain why one wants to learn this specific skill E.g. "The dish is rapidly prepared providing advanced carbs for mental activity without distracting too much from other work. The light oil coating makes them tastier and plesant to eat."
    How much time should this exercise take. "Allow 25-30 minutes for this exercise. While the noodles cook (about 20-25min) you can chat with your classmates"
  3. Prerequisites
    What do you need to know to succesfully follow and complete this exercise. E.g. "Before attempting this exercise you should have successfully completed chapter 3 'Boiling Noodles'". Sometimes you can condense the prerequisites into a short statement: "All exercises are designed to be completed in sequence, the results are the prerequisites of following exercises". Of course you need to formulate the prerequisites for the whole class clearly: "You are a geek who is fed up with ready processed food and like to try something new. You can handle a kitchen knife without major injuries to yourself and others. You are willing to eat your own cooking - if we are successful."
  4. Success control
    Tell how the succesful outcome will look like, so students can gauge for themselfs how successful they were. This is very important. Try to give as much indicators as possible for a self assessment. For software screenshots are a good approach. Don't describe what to do (that's the next step) but the outcome and how to verify its success: "Your noodles will have a bite that is soft at the outside with a little firm core. You can see a gloss on the noodles from the olive oil but no puddle of oil below the noodles. See this picture..."
  5. Detailed Steps
    The "meat" of the chapter with steps to follow. Design them matching the audience. If you describe the steps in too much detail they become boring, if you are too brief students get lost. If an exercise includes steps done before, refer back to them. "Prepare noodles like in chapter 4. Use frying pan #3 to heat 80ml of oil. Use heat #2 on your oven ...."
  6. Food for thoughts / Things to explore
    What else could be done. What are variations of the task. This is an important buffer for your fast students. If they finish ahead of time they can deepen their understanding with additional exercises. "You can cut one clove of garlic before heating the oil and mix that into the oil when it is hot."
  7. Related information
    Where can the students find more information. Like variations of that exercise, background information or alternative approaches. "In our cookbook page 321ff you will find more spaghetti variations: spaghetti al pesto, spaghetti carbonara or spaghetti al pomodoro. A discussion on carbohydrates as brain food is on the course website together with tips how to pick the right oil for your taste"
  8. What's next
    Again you could shortcut that by the implicit sequence of exercises or you suggest a learning path. "The Spaghetti have boosted your brain functions, so you have completed your work assignement ahead of time, so you will learn how to reward yourself with a nice dessert in chapter 8: 'Pull me up - Tira mi su'"
So it is: what, why, how. Creating good materials is hard, time consuming work and as usual YMMV.

01/05/2010

Open Standards

Category
Open Source is something different from Open Standards. We like to confuse the two. An Open Standard can be implemented in 100% proprietary software while Open Source software can implement proprietary standards (is that an Oxymoron? - prevaling practice might be a better word here). One example is Gnome Evolution implementing the proprietary Exchange wire protocols.
Hugo Roy, in an open letter to Steve Jobs sums up Open Standards for the busy reader:
An Open Standard refers to a format or protocol that is
  1. subject to full public assessment and use without constraints in a manner equally available to all parties;
  2. without any components or extensions that have dependencies on formats or protocols that do not meet the definition of an Open Standard themselves;
  3. free from legal or technical clauses that limit its utilisation by any party or in any business model;
  4. managed and further developed independently of any single vendor in a process open to the equal participation of competitors and third parties;
  5. available in multiple complete implementations by competing vendors, or as a complete implementation equally available to all parties.
Steve disagrees citing "An open standard is different from being royalty free or open source". While the later part is almost without discussion (some claim a standard can't be truely open if not at least one Open Source Implementation exists, thus the standard being like a class and the source being the object instance of the class), the former is hotly debated. In one camp the term "without constraints" is interpreted as "patent and royalty free" while the other camp ( including IETF, ISO, IEC, and ITU-T) wants to allow for "reasonable and non-discriminatory" patent licence fees (RAND). The FSF would see RAND rather as a short form of RAN(D)som. We live in interesting times.

29/04/2010

Carrots and Sticks

Category
My friend Michael Sampson reports back from the Salesforce "Dreamforce" conference. In tune with his latest book he enlightens us about user adoption. John McGuigan of Fiberlinks Communication presented The Cardinal Rules of User Adoption:

I absolutely agree that utility trumps any carrot or stick. If a tool helps you to "be more efficient in what you do every day" (Incidentially the Lotus motto) you won't need external motivators but rather traffic management to handle the user rush. A good example are mobile devices. Hardly any organization needs to advertise the use of a smartphone internally. Users want them, want them badly since their perceived advantages are obvious.

30/03/2010

No more SIS in MS Exchange 2010

Category
Ferris analyst Bob Spurzem covers news around MS-Exchange. In this entry he hightlights that MS Exchange 2010 has removed the Single-Instance-Storage (SIS):
One of the lesser-known changes to Exchange 2010 is the removal of single instance storage (SIS). The reason for this is related to an architectural change, disk I/O performance, and the availability of cheap disk.
There tends to be a trade-off between better disk I/O performance and reduced storage capacity. Architecturally, Exchange 2010 introduces a new per-mailbox table structure that replaces the original per-database table structure. The original per-database table structure was optimized for SIS, but disk I/O suffered. The new per-mailbox table structure improves disk I/O, but without SIS.
In place of SIS, Exchange 2010 uses compression. Only large, redundant attachments files truly benefit from SIS; otherwise, compression delivers roughly the same volume of data as SIS."

Well MS sales people always had claimed (never backed by figures from real deployments) that SIS was a space saving advantage over Domino's one-man-one-votedatabase approach. Guess they learned the scalability lesson the hard way. Now if you want SIS for attachments and design compression and data compression - Domino is your answer.

16/02/2010

Client Application Platforms

Category
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 "SickThick 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

08/02/2010

% complete is a useless measure

Category
At least when it comes to software development. Rather use "tasks/units of work left to do". Geek and poke sum it up nicely:
Progressbar
Do you want to know more®? Read a book and sign the manifesto

02/02/2010

Engaging the OpenSource Community - Government Style

Category
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.

12/01/2010

Does that apply to Software too?

Category
Should be framed and hand over every product managers desk like a Damocles sword:
Do something
Applies to developers too.

09/12/2009

The books you read the stuff you know

Category  
I see customers a lot. Business people, IT people, sales people and sane people. Since I'm not an IT graduate small talk often turns to the source of my knowledge. "Study hard, play hard" is the opener I usually use. While the internet has taken over as dominant source, I still fancy books and have collected some over the past few years. When I moved to Singapore 10 years ago, I left most of them behind, so I had to rebuild my library. In the section "Computer and Internet" I have currently 64 items which you are welcome to review.
I'll add other books about business and leisure some time in the future. So stay tuned.

08/12/2009

Cost of messaging storage not an issue?

Category
David Ferris has a blog entry titled "Cost of Exchange Storage Not An Issue". What he says is not Exchange specific (it is only the first time that Exchange would be capable of supporting large mailboxes) and can be applied to any messaging system. David states:"Users will have large mailboxes. 5GB to 20GB will be common". With storage cost (again David's figures) of $2-$30 per 30 GB that translates in per user/per year cost in the single digits. I'm not so sure about these figures. They might be true for home storage, but for large scale enterprise storage systems David might be off by more than one dimension. Storage cost isn't a linear figure, but has increasing marginal cost once you reach size limits.
What's your take. Are large enterprise mailboxes coming?

21/11/2009

How to generate an installable list of Firefox plug-ins/addons?

Category
Question to the lazy web: How to generate an installable list of Firefox plug-ins and addons from the plug-ins and addons you actually have installed? I have a set of plug-ins and addons in my Firefox which a lot of friends/colleagues would like to use too. Ideally I would be able to press a button and generate a HTML page with links to the original install locations. After all the plug-ins and addons "know" where to look for updates for themselves. A GreaseMonkey script would be acceptable too. Anybody got an idea how to do that?

05/11/2009

ITSC Synthesis Journal 2009

Category
Singapore's Information Technology Standards Committee is publishing a yearly Journal with articles related to IT standards and IT trends. In the 2009 edition (Link might only be active after a while, check the In the 2008 edition until then) I contributed an article titled "Implementing web2.0 in the Enterprise". There's a real printed version of it too.

24/10/2009

Online storage / backup

Category
Question for the lazy web. There are a number of services around that allow you to keep a local folder in sync with a web storage and (optional) a folder on other machine(s) There is DropBox, the Ubuntu service Ubuntu One (UbuntuOne uses CouchDB as its backend, way to go Damien), SugarSync, PowerFolder, Little Networks, DocuSync, ZumoDrive and many others. Some offer a free limited account, some a trial account.
Which one works for you (and why).

06/10/2009

Microsoft's licences to complicated - let IBM help you.

Category
There is an interesting story on slashdot pointing to the complex Microsoft licensing model and Steve Ballmer's statement not to change that anytime soon. One nice snippet from Steve:"Customers always find an approach which pays us less money". IBM is helping customers exactly do do that. Our Project Liberate helps to minimise Microsoft software cost without breaking compliance. Now we only need to simplify our own licences, but that might come soon.

04/10/2009

In defense of the Inbox

Category
Web 2.0 promoters(including myself), new emerging technology and a lot of offerings suggest the imminent demise of the inbox in favour of Wikis, Blogs, Activities, Tweets and all the other shiny new technologies. However once you descend from "the Olymp of IT- savvy ness" (or ascent out of Hades, depending on your point of view) you will find many uses clinging to their inboxes rallying around the battle cry "Out of my dead cold hands". Working on the technology forefront of collaboration one might easily dismiss this as fear of change. However on a closer look, you will realise that this users are right (I hear the howling of the web2.0 crowd, but bear with me and read on). As you might know, I am a big fan of GTD (and its Lotus Notes incarnation). When you look at its model of operation you will see a big box labelled "IN" at the very top and beginning of dealing with all the stuff entering your life. Any action you take, any decision you make starts with (explicit or implicit) "It came to my attention". The inbox supposed to provide the single point of entry for electronic attention. If I look at the current web2.0 offerings and presentation I see the digital equivalent of AHAD. Tweets compete with feeds with emails with chats for my attention. Neither of them magically increases the 86400 seconds that make my day. (And there is nothing easier than immerge yourself in a stream of twits and feeds to procrastinate that boring task). As a non-IT professional I'm working on problems like: how to run this project, how to close this deal, how to construct this engine, how to heal this patient. This are important questions and I don't want to be distracted by "how do I communicate with [insert name here] about [insert topic here]". So I go to my inbox and hit a button: New. So what makes a good inbox:
The eight properties of the universal Inbox
  • It is personal: It is my Inbox. I am in charge what ends up there, how long it stays and how it is visible (eMail inboxes fail miserably here)
  • It is complete: any time of digital artifacts is visible here: eMails, chats, files, wiki pages, blog entries, workflow items, custom application notifications. It doesn't mean that all these need to be stored inside the inbox, they could be just rendered there (automatic or on a click)
  • It is structured: It is not just a list of all items by date, but offers virtualization based on all available meta-data. All items can be shown in context (automatic and manual): what other item are related to the current entry (Google waves rides on that idea)
  • It universally available: It follows me. I can access my inbox Online, Offline, Mobile
  • It is actionable: Acting on new items directly from my inbox like: Turn any type of incoming item into any type of outgoing item (reply with blog is my personal favourite)
  • It is technology agnostic: Items can end up in my inbox using push technologies like eMail, web services or message queue or pull technologies like RSS and ATOM or custom transports provided by my applications
  • It is unlimited: Whatever enters my inbox stays there until I say otherwise (where "say otherwise" would include compliance and retention rules). The idea of an archive is a technical implementation detail I don't want to bother with (if that happens behind the scene, so be it).
  • It is synchronised: Items showing up in my inbox are synchronised with where they came from. So a presentation updated will reflect in the file in my inbox - unless I don't want that. (Technically that is what you do with Quickr, if it would sync into offline for me)
Looking at that list you will realise eMail ≠ Inbox. It is much more of that. There are a number of attempts to create the universal inbox: Websphere Portal (not perceived as personal), Lotus Connections Homepage (everything but eMail) or Lotus Notes sidebars & composite applications (promising but not complete). None of them is complete yet (some of them show the potential to eventually get there). We need to broaden our understanding of inbox. It shoud not be "the place where new eMail messages arrive", but rather "the place where I'm ready to pay attention to new [things|stuff|information|...] and can find what I'm looking for." I had an interesting insight recently in a chat with a (very competent) secretary. She stated "I keep everything in my inbox". Mentally rolling my eyes I set on to explain about information management with my general opening question "Hmm, interesting. Show me". To my surprise her eMail inbox was empty, she had nicely labelled action folders, information she wanted to keep was in her journal, she kept track of co-workers and friends with the Twitter plug-in, the Sametime UC2 plug-in gave her access to voicmail etc. For her anything in Lotus Notes was "The Inbox". Which just confirms my point of view: We need a single point of entry for digital items.

02/10/2009

Accessing EXT2 data from Mac OS/X - works on Snow Leopard (partially)

Category
SWMBO and "The Gentlemen" use Macs at home. I got a bunch of disks formatted with EXT3 and EXT4 wich they also want to access, so I went out to research the topic. The EXT file systems have the unique feature to be backwards compatible. So a driver written to access EXT2 will still be able to access an EXT4 disk (obviously without having access to newer features). There is a commercial product available, but that wasn't what I was after. After wading through a lot of discussion board posts I did the following:
  1. Download and install MacFuse
  2. Download and install MacFusion. MacFusion is the GUI to configure MacFuse. Unfortunately it turned out, that they don't support EXT yet, but you can help and vote for this enhancement
  3. Download and install MacPorts (odd: I needed a reboot or it seemed so to get it to work)
  4. Open a terminal window and type: sudo port install ext2fuse You have to provide your password. That command send off my Mac for quite a while running a GnuMake/TCL script to download and configure all dependencies: expat, gperf, libiconv, ncursesw, ncurses, gettext, ossp-uuid, pkgconfig, e2fsprogs, macfuse. (failed since the macefuse installer didn't recognize SnowLeopard. I tried to hack the PortFile with little success)
  5. Download and install Fuse-ext2 from Sourceforge gives you - when auto mounting - read-only access (and a nice setting in the preferences)
  6. Reboot the machine and your EXT2/3/4 drives show up in Finder. I don't know if that works for internal partitions, but it worked for the one connected via USB very well

Lessons learned

  • On Snow Leopard EXT2FS didn't work
  • Downloading the sourcecode for Ext2Fuse from SourceForge and trying to compile on 10.6 (sudo ./config, sudo make, sudo make install) didn't work either
  • Installing MacFuse before MacPorts didn't help to avoid the dependency check
  • There are two project porting Linux software to the Mac: DarwinPorts and MacPorts. Downloading DarwinPorts gave me a File MacPorts1.7.0.pkg, while MacPorts delivers a file MacPorts-1.8.1.pkg. The two projects seem to draw from the same source
  • There seems to be way to go before everything works back on 10.6
  • Once you leave the realm of i[Insert-your-average-Mac-application-here] it gets as powerful and as complicated as any other OS
As usual YMMV.

25/05/2009

Java ClassLoader fun with getResource()

Category
DXLMagic will have a Java UI. To be flexible I store my UI definitions inside the JAR file and load them at runtime. I learned a few lessons in the process:
  • When you use Class.getResource() inside a static method of a class you won't get access to any of the resources in the JAR. You need to have a normal instance of a class.
  • Instantiating an object inside a static method doesn't help either.
  • Class.getResources("*") doesn't return anything even if you have valid resources in the JAR. So wildcards either don't work or work very different.
  • It really pays off to change the editor preferences in Eclipse to nag more about coding style and potential code problems
  • Crap4J and PMT are your friends, as are Coverclipse
  • Debugging in fun in Eclipse unless you only have one smallish monitor
As usual: YMMV.

20/05/2009

Help needed: copy Eclipse IResource from/to files using ANT

Category
In Eclipse 3.0 one big change was the transition from a physical file system to a virtual file system. Instead of Java File Eclipse is using IResource to access file systems. Of course using files still works. As far as I know the Eclipse ANT task is working on files not on IResources. I'm looking for a way to use Ant to copy from IResource to File and back. Could be a custom ANT task. If someone wants to write it (and contribute it back to the ANT contrib project) I'm willing to make a donation <g>. Ideally it would use the same syntax as the ANT copy task.
Update: It is done, not in a generic way but suitable for Domino Designer. One can download the Import/Export Plug-in for Domino Designer from OpenNTF. The plug-in has an ANT interface.

14/05/2009

How CRAPpy is your Java code?

Category
I do a lot of code review lately. LotusScript, JavaScript, Java etc. When I encounter code that is difficult to understand I'm usually met with the defence "But it is working". Funnily it is self-defeating. I never do code review (short of the we-have-fixed-it-now-have-a-look types) of code that works well. Asking us to do code happens because there are problems (I really would love to do a the-proud-code-parents-want-to-show-off-their-really-pretty-baby review once in a while). The typical problems are:
  • Poorly documented code
  • Lack of decomposition
  • Slow code (e.g. getNthDocument)
  • Lack of separation between user time and backend time
  • Lack of caching/object reuse (e.g. Connection pools, Profile Fields)
For LotusScript there is Teamstudio profiler. For Java you can use Crap4J. Crap4J is not a profiler but analyses your code complexity and coverage. Complex code translates into application risk. You get a nice benchmark and a detailed report on the individual methods, so you know how to fix it. Crap4j runs as an Eclipse plug-in. Go get it.

05/05/2009

SmartDraw

Category
I've been asked by various people what I use to create the diagrams and illustrations in my blog here. I am using SmartDraw. It makes it easy for people like me (who know what they want to show but lack graphical talent) to create stunning resonably good looking business graphics. Have a look at some samples, their tutorials or follow their blog. My only grieviance is, that they don't have a Mac or native Linux version (and it doesn't work with Wine either). The other graphical tools I use regularily are Shutter for screenshots and Buzan's iMindMap for mindmaps. While SmartDraw does mindmaps too, iMindMap draws that wonderful organic connectors - and runs on Mac/Linux too. Occasionaly I also use Dia, Inkscape or Gimp.

21/04/2009

How to explain "What is Server Virtualization"

Category
When explaining server virtualization to non technical people the easiest way to confuse them is to introduce the trade lingo: host, guest, hypervisor and so on. Discussing virtualization for a while I came up with a good analogy: "Server virtualization is like car sharing". If you commute to work in a car: have a look out of the window. How many cars, perfectly capable of carrying 4 or more people, just transport one person?
No virtualization leaves server resources unused
(Think server = car) The same is true for many servers. They run under-utilized. The number of seats would be the equivalent of the I/O capabilities and the cruise speed (or horse powers) You can go through a number of phases in easing your traffic congestion (in IT: work overload for administration and IT budget):
  • Pool the cars: The equivalent of moving physical x86 server onto a virtual infrastructure, still on x86 architecture. XEN and VMWare lead the charge here. Of course if you have 20 people the car won't help. And you know what hassle it is to distribute a crowd into the available cars.
    x86 based virtualization uses resources better, but the container size stays the same
  • Take a bus: Move workloads (if suitable) to high end hardware like IBM AIX, SUN Oracle Solaris or HP/UX
    Unix Virtualization allows for more loads per server
  • Take a train: Replace all the boxes with an IBM zSeries. The z10 would be the equivalent of a MagLev train (short of the cost of course)
    zSeries Virtualization - IBM reduced several 10thousand servers to a few mainframes
  • Fly: In the clouds. Cloud computing is the logical end-point (keep in mind: flying is not the one-fits-all solution for your travel needs. Just try to fly to the grocery store down the road.) However Server Virtualization and Cloud computing differ in a few aspects: The cloud user is no longer aware of physical machines, they are completely managed by the cloud provider. A cloud provider would typically not offer a OS container (like the virtual server), but a specific execution service: storage (file and database), computation (application server) and presentation (web server with various protocols) or even higher level services like: data sync, ERP, CRM). Nevertheless virtualization is a step in making the cloud work for you.
    The Cloud as ultimate virtualization - if the bandwidth would allow it.
Advanced topics here: car pool management, bus maintenance, train scheduling (ask your z/OS or VMWare experts for that).
As usual: YMMV.

Update: There is a nice article on developeworks explaining more about virtualization in the context of Domino on Linux on zOS

19/04/2009

Code Quality and Decomposition

Category  
I spend the past few weeks reviewing code in Lotus Notes applications. While the robustness of the platform amazed me, the code I saw didn't (short of that one form with 1932 fields and 212 @DBLookups).There seems to be a common lack of coding quality among corporate LotusScript developers. I hear "C'mon what is your problem? The code is working." I reminds me of the guy who jumped from the 88 story building stating "So far everything is fine" when falling past the 10th floor. Unfortunately very often the person who writes the code (being a contractor) doesn't have to maintain it, so bad engineering kicks in. When you write code you should make one base assumption: "The guy who will have to maintain your code is an armed maniac and has your address".Sadly the statement "It is working" neglects the most basic principle of software engineering: we don't write code for machine, we write code for humans to understand. Machines don't "understand" code, they just execute it. Enough of the rant, what needs to be done, what makes good code? In a nutshell: decomposition. Decomposition is a fancy word for breaking down tasks into smaller units until a unit solves exactly one problem. The recommended approach for this is top-down development. The Stanford Computer Engineering class uses your morning routine as example. The big task is "Morning routine" Morning routine can be broken down into: Get out of bed, morning hygiene, breakfast, get to work. These tasks can be further broken down, lets take breakfast as example (Stanford uses the morning hygiene, so you have 2 now): Prepare Breakfast, Eat Breakfast, Read Newspaper. Prepare Breakfast can be broken down to: Kiss wife, make coffee, make eggs, get juice, make toast. Make coffee can be broken down to: get water, get coffee powder, fill machine, boil coffee. Get coffee powder can be broken down into: get box with beans, fill grinder, grind, get grinded powder.And so on. Whatever programming language you use (even in COBOL) you could just write down in natural language what you do and then implement the sub routine:
Sub Breakfast PrepareBreakfast EatBreakfast ReadNewsPaper End Sub Sub PrepareBreakfast Do until sheIsSmiling sheIsSmiling = KissWife End Do MakeCoffee 2 MakeEggs 4 MakeToast 2 End Sub
This LotusScript was converted to HTML using the ls2html routine,provided by Julian Robichaux at nsftools.com.
There are a number of tips (lifted from the Stanford lesson without asking) around decomposition:
  • Break your program down until a routine solves just one problem. That one problem: HaveBreakfast then gets broken down into smaller tasks. This is a subject of heated discussion, when you reached that one problem. But you can for sure tell, that acquiring a collection of documents, looping through them and manipulate one document at a time are 3 problems.
  • Methods are short. In the Stanford lecture a number between 1 and 15 lines was stated. I would say: a method (function, subroutine) needs to be readable on screen without scrolling (so your methods get shorter when you develop on a netbook)
  • Methods have good names. If you read your program out aloud it should tell the story. function1 function2 doesn't cut it. The computer doesn't care, but keep in mind you write your code for other people to read and understand. (OK, nothing beats this COBOL statement: PERFORM makeMoney UNTIL rich [Fullstop])
  • Methods have comments. What does the routine do? Any special considerations. What are the pre- or post- conditions. For LotusScript use LSDOC to generate documentation out of the comments.
  • Decomposition is valid for procedural, functional and object oriented programming.
You want to know more? Take the free course and read books about OO Design and Software Engineering or complete and beautiful code.

13/04/2009

Before you blink the feature is there - add geo location information to your Ajax applications.

Category
If you want to know where an IP address belongs to, you now can use a free service. As Volker lets us know, you could have the whole database at your (local) service. But why do all the heavy lifting if you just need an IP address from time to time? iplocationtools offers a simple REST API to query an IP address returning a XML or CVS result. The only thing missing was a JSON return value (and JSON *is* the flavor of the day isn't it?). So I asked nicely and about 7 hours later (given the difference in time zones: that is pretty instantly after getting the first coffee into your face), the interface is ready. Now I wish other ideas would be implemented with the same speed.

18/02/2009

Second Thoughts

Category
I'm having second thoughts about saying nice things about Microsoft., when reading this. Lets hope, /. got it wrong and they didn't fall victim to DRM, but an overzealous (Beta any one?) protection of executable files.
Speak after me: DRM is bad for the customer.

17/02/2009

More on eMail Retention

Category
eMail retention seems like a never ending story, even when thought leaders kiss it good bye. Ferris reminds us, that we must not let the discussion/decision about the applicable retention policies stop us from archiving eMail at all: "Defining retention rules is a continuous and complex process of prototyping and refinement. [...] If you wait until the rules are fully defined, you’ll never get started." Of course lack of action sometime seems intentional.

16/02/2009

An old dog peeing on the rug?

Category
"Microsoft is like an old dog that even when beaten won't stop peeing on the rug." - That's not my opinion, but a statement made at Microsoft Watch. While initially I had a good laugh, I then felt that statement is a little over the top. I certainly don't like the way they do business, but I recognize them as a formidable technology force. I don't think Microsoft ever was very innovative, but they have an important skill, lacking in so many IT companies: picking up underdeveloped ideas and making them easier to use for a broad set of users (and much more!) for developers.
When I compare the learning curves for VB.NET (or C#) and Java: It is so much easier to get started in VB. Just try: write a client application that shows a window with a menu with one label that says "Hello World". Of course learning curve is just one aspect, when it comes to higher functions the battle is on (and I'm biased, so I won't comment). Imagine how boring it would get, if there wasn't a heated competition, and yes - a superior backend isn't enough. So we (we as in the Lotus community) kind of owe Microsoft that she is around. So I won't call them "old dog" but "favorite foe".

11/02/2009

Interesting Development Tools to watch

Category
I come across a lot of tools I see potential in. These are my latest findings:
  • Pivot Toolkit: A Rich Internet Application Toolkit. Interesting: uses XML for the UI definition that can be loaded at runtime. Could supercede Thinlets if it runs on mobile devices.
  • JFreechart: Java Charts for everything. Works in Windows, Linux, Mac and in applets. And it works in Notes 8 clients as Julian has shown. Don't forget to buy the Developer Guide.
  • XML Diff and Merge. I had a deep look at a lot of XML files lately. The little tool from Alphawork helps to work on changes. For a fuller experience you can also look at Oxygen.
  • Not a development tool per se, but an interesting source of vizualisation ideas: ManyEyes.

07/02/2009

Windows 7(?) Street Test

Category
ZDNet Australia took the next great UI for a street test. Well I still like Gnome better. You like eye candy? Just look what Google thinks it is.

04/02/2009

DogMind - Escaped from the Lab

Category
IBM internally runs a Technology Adoption Program (TAP for short). TAP follows the principle: "Let us throw it at the wall and see what sticks", means: it is our breeding ground for innovation. All internal software and all products go through TAP before they graduate into "released software" or "good to use for all". I think this is very smart. I like trying new stuff and balance between leading and bleeding edge. Others are less adventurous. TAP allows me to try things within the boundaries of our corporate governance. Real nice things come out of TAP. One, wich I'm particular fond of, is a new visualization for Lotus Connections Dogear bookmarks. It is called DogMind. It is using a mindmap to draw on tags in Dogear to visualize connections.
DogMind.png

30/01/2009

The best way to fix software problems

Category
The natural enemy of any software project is warped communication. To minimize damage all agile software development methods use short cycles and close interaction with the user. Over the year I learned (partly the hard way) that what users say hardly correlates with what user do. So the final verification usually happens during the User Acceptance Tests (UAT). The problem here: the project is mostly concluded when UAT commences and conflict between users and developers are guaranteed. I yet have to encounter a specification that wouldn't allow for explosive ambiguity (or is so detailed, that when implemented is 100% not what users actually need (memento bene: need not want).
Ideally users should be able to test software before any code is actually written. This is usually accomplished using prototyping tools. The catch: to get reasonable result the prototypes take almost as long to build as the real product. But there is a solution. Do this:
  • Use an open process to gather requirements. IdeaJam is great to collect and vet ideas from a broad basis of users. You only need to be careful not to run into the say/do or want/need trap.
  • Create low-fidelity prototypes. Paper is a good start, but hard to distribute. Balsamiq Mockups or Denim are suitable tools. Denim is good to visualize links between screens and flows, while Balsamiq Mockups shine when it comes to UI creation. In a perfect world Balsamiq would release an add-on for IdeaJam (wink wink)
  • Develop Effective Use Cases to define the interaction users want to complete with the system. (Use Cases have Pattern too).
  • Test the screens!
  • Test the screens: Let users interact with the mockups (you want to print them then) using Paper Prototyping (you want to read the book. or its newer cousin). The interaction reveals missing or complicated steps. If you find a missing item you can fix it in 3 seconds using a pen. Nothing beats that. It is great fun.
No idea how a session could look like? Nigel and I once recorded a session with a simple webcam (you see the tripod in the recording ), have a look:

29/01/2009

Social Software Adoption

Category
US President Obama is credited for his effective use of social software. Edelman just published a paper titled "Social media lessons from the Obama campaign" as part of their insight series. From the description: "Barack Obama won the presidency in a landslide victory by converting everyday people into engaged and empowered volunteers, donors and advocates through social networks, e-mail advocacy, text messaging and online video. By combining social media and micro-targeting in the manner that it did, the campaign revealed force multipliers that are already being adopted as part of a new communications model. In The Social Pulpit, Edelman’s Digital Public Affairs team in Washington, D.C., examines the tactics of this revolutionary campaign and what it means for communicators in a new era of public engagement." You can download the report for free, it makes an interesting read. I liked the proposed stepped approach dubbed "Crawl, Walk, Run, Fly"
Social Media Phases: Crawl, Walk, Run, Fly
You might be in for a crash landing when short-cutting the process.

15/01/2009

eMail Retention Policies

Category
David Ferris, principal and founder of Ferris research sums up The State of Email Retention Schedules. It seems to me, that a lot of organisations follow the motto: Ignorance is bliss. However when looking closer it doesn't look like ignorance anymore, rather confusion on many forces/interests pulling into different directions:
  • IT management likes to keep retention periods short. Short periods require less storage, less computing power to search and analyze the stored data and offer less data (read cost) that might get subjected to a discovery phase (which in Anglo-Saxon jurisdiction typically has to be paid for by the company)
  • Legal likes to keep retention periods short. Less data stored means less risk in a discovery phase.
  • Legal likes to keep retention periods long. Since the opposite party might be able to produce electronic communication, having retained the other end can help to verify if that exhibit is genuine.
  • Record keepers like to keep business records as required by law. Now this is a big discussion. Are eMails business records? This is actually the wrong question (it is the same as: is paper a business record - depends what is written on it). The right question: What emails are business records and how to (auto) discover their business record nature? Also: most acts covering electronic transactions require non-repudiation provisions. Means: emails (given their content makes them business records) need to be retained before users can touch them (for incoming) or after they are finished composing them (for outgoing). So retention ideally happens at the router using proper rules.
  • Knowledge Management likes to keep retention periods long. A lot of corporate knowledge is stored (or would "is hidden" be more accurate?) in email systems. With the right tools that can be harvested easily. However outdated information isn't KM relevant, so retention should not be too long.
  • User don't want to be bothered. They have enough work to do and want systems that are fast (which would call for short retention) and can produce any information (calling for long retention). In an ideal world the system would take care itself.
  • IT vendors love long retention periods. They mean: more customer attention, more budged, more consulting, more hardware. But well: dentists like rotten teeth too.
In any case: without an retention policy in place corporate management stays liable for any violation of compliance. With an implemented policy (where implemented means: defined, communicated, taught and enforced) it turns into the individual employees responsibility. One important aspect: I believe eMail has reached is zenith as corporate communication tool. Social software like blogs, wikis, discussion boards, team sites and instant communication (SMS, Twitter, online chat, etc) needs to be included in retention policies.
What is your policy?

14/01/2009

How much Microsoft Tax do you pay?

Category
Joe Wilcox of Microsoft Watch wrote an interesting commentary about the "Microsoft Tax" enterprises pay. Microsoft currently is flaking against Apple alleging Apple customers pay an Apple tax (which I would agree, but it's not money but loss of control, but that's a story for another time. The components of the M$ tax are:
  • Client-Access Licenses (CAL)
  • Software Assurance
  • Versioning (Pulling out features into new products or enterprise editions)
  • MDOP and Windows Vista Enterprise
Head over and read the full article. As with every tax: avoidance (in case of M$ tax: a.k.a pirated software) is illegal, however a good tax consultant can lower your burden. Microsoft's licensing options seem to be as confusing as your average state tax code. Why not call in the experts to lower your M$ tax?

06/01/2009

Markup your E-Discovery

Category
Bob Spurzem of Ferris Research notifies us about a recent publication around E-Discovery. In his blog entry he points to the Electronic Discovery Refeence Model (EDRM) group that announced in December its XML standard for e-discovery of electronically stored information. EDRM tries to address the headache you have preparing for eDiscovery by the multitude of propriarty formats your information lives in. While a lot of EDRM vendors jumped on that, it will be seen if that format becomes a standard. I surly like the better standardization and thus accessibility of meta data. On the other hand the major document formats are ISO standardized as well. So an interesting question: should one transit the propriety DOC, XLS, PPT formats to EDRM, OOXML or ODF? Notably absent from standardization so far, short of MIME, are email formats (MSG, OND) where EDRM could play a vital role.
I toyed around with DXL and it seems transforming a Notes document into EDRM is actually rather easy. ERDM XML has quite some activities planned for 2009, so keep a watch on the project website

05/01/2009

Markup your Strategy

Category
No this is no advice for consultants how to bill their activities to customers (you know that "Share your knowledge and I tell you what you know" type of activities). This is about the wonderous world of XML Schema. While XPath (together with XSLT) separates men from boys, knowledge of the various available Schemata and their use separates the knowing from the clueless. There are Schemata (I'm using the proper plural, you might find others referring to them as Schemas) for almost everything. Of course being the real world there are overlapping and competing specifications everywhere (e.g. OOXML vs. ODF for Office documents). There is even a definition in XML for your emotions.
A very interesting Schema is the Strategic Markup Language (StratML). From the definition: "The StratML standard defines an XML vocabulary and schema for the core elements of strategic plans. It formalizes practice that is commonly accepted but often implemented inconsistently. StratML will facilitate the sharing, referencing, indexing, discovery, linking, reuse, and analyses of the elements of strategic plans, including goal and objective statements as well as the names and descriptions of stakeholder groups and any other content commonly included in strategic plans. It should enable the concept of "strategic alignment" to be realized in literal linkages among goal and objective statements and all other records created by organizations in the routine course of their business processes. StratML will facilitate the discovery of potential performance partners who share common goals and objectives and/or either produce inputs needed or require outputs produced by the organization compiling the strategic plan, and facilitate stakeholder feedback on strategic goals and objectives."
To put StratML to a test it has been used to render the agenda of the incoming US government. Seems we are looking at a new level of transparency?

03/01/2009

Beef up your programming skills - Take a Stanford course - free

Category  
After a number of years in the field we all think of ourselfs as "seasoned developers". A lot of us (like me) came from other professions into IT. I studied economics during national service (where I had to learn COBOL), went to law school and hold a certification as counsellor. I also went through IBM training in their internship program in the 1980ties (COBOL again, but also hardware, mainframe, midrange, PC and 1-2-3). Despite all experience it makes a lot of sense to connect back to the roots. After all computer science is a university subject. Tim Tripcony thinks so too. He notifies us that Stanford Engineering Everywhere offers a free course in Programming Methodology. You now can get Stanford Quality education from the comfort of your home, hotel room, plane seat. The download of lectures and materials is a whooping 20GB (I downloaded the MP4 version) in 28 lessons taught by Mehran Sahami. You start by downloading the course material and then the videos for the individual lectures. Being a good net-citizen you use Bittorrent for that. Ubuntu comes pre-loaded with Transmission as Bittorrent client -or- for any platform you can use Vuze/Azureus (a Eclipse RCP application) or make your pick from a long list.

19/11/2008

Use Swimm Lanes to Document System Components

Category
A common challenge in software development is to synchronize the different phases and stake holders in a development project. Business users care about the business functionality, infrastructure people about the system setup (servers, network, storage etc.), interaction designers about the UI, developers about code libraries and and and. Typically you have a different set of artifacts to document and cover the various aspects. While looking at the forest of information you might loose sight of the trees. How does a User requirement map into a story, a use case, a system module a piece of infrastructure? A neat way to show the connection between all these are swim lane diagram. Swim lane diagrams are a part of UML and typically used to show the flow between modules of a system. I'm using swim lanes to visualize application flow with the help of Sequence that allows me to type the flow rather than draw all of it. But the use of swim lanes is not limited to program flow. I have a great history book that uses swim lanes to show what happened on every continent over a time line. Back to software development. You can use swim lanes to document the development process and its components: story board, use case, feature, user experience, business process, tools and systems. Have a look at great example and the explanation around it, as well as some more thought and downloads. How do you get your story in sync?

28/05/2008

You never actually ...

Category
You never actually just run an Exchange infrastructure.
You merely take a short breath before the next patch cycle.

Sorry Patek

02/04/2008

On OOXML and ISO

Category
There is quite some turmoil around the OOXML voting as an ISO standard. To me it looks like the law of unintended consequences in full swing. I think the irregularities need to be sorted out and processes need cleanup (Do they?). The whole mess seems like a warped failure of communication between an Anglo-Saxon and Continental European view of the world (this probably will warrant a longer post somewhen else). In short: In an Anglo-Saxon view anything that is not specifically outlawed is OK to do. For the children of the Code Civile adhering to the intend of law and morals have equal weight. While paying marketing $$$ is not formally bribery, using it as an incentive to get partners doing things they never intended to becomes borderline.
Anyway my position on OOXML: I'm in favor of OOXML becoming an ISO standard, but not as fasttrack. It must go through the due process (which might take a while). Eventually it would end as an extension to ODF where ODF is lacking, which would be a good thing. But also as an independent alternate standard it would be OK. Key anyway is: due process not cut corners fast tracking.

08/12/2007

wissel.net Browser Statistics

Category
To prove or disprove popularity statistics have been a preferred medium of choice for millennia. Depending on the samples you take you will get different results. Looking at world wide market figures, Firefox gets 17.4%, 36% or 12.72%. The picture on this little blog is quite different:

Browser Stat: IE 50.63, FF 44.36

Firefox share on page views rose in the second half of this year from 36.70% to 44.36%. This is a 20.9% increase in just 6 month. At the same time Internet Explorers share shrank from 57.97% to 50.63% which is a 12.7% reduction. Given that the geekiest readers never hit this site but use the RSS feed I find it quite remarkable. The second half of 2007 also saw the arrival of some mobile browsers hitting the site.

15/11/2007

I need a Dojo expert for 6 weeks in Singapore

Category
For a project in Singapore we need a Dojo expert to design a webUI with high interactivity. We have the J2EE and Domino backend guys are in place. The project is interesting and will last about 6 weeks. Any takers?

06/11/2007

Tech University Jakarta - Project Worst Practices

Category
On Nov 06 2007 I'm speaking @ Tech University in Jakarta. My topic is "Project Worst Practices". This is not a competition to Bill's famous topic but a stab against lousy project management. My collection of despicable practices and beliefs is summarized in a Mindmap:
Project worst practices
Click on the image for the full size graphic.

07/09/2007

Michael Vizard on Microsoft Exchange

Category
Michael Vizard writes on Microsoft Exchange (emphasize mine)

"Within the land of IT, nothing is a bigger pain to own, manage and run than Microsoft Exchange. Everywhere you go customers have horror stories about the installation, maintenance and, above all, uptime of their Microsoft Exchange implementations. And worse yet, they will all tell you they are paying top dollar for the privilege because the expertise needed to successfully run a Microsoft Exchange server is some of the most expensive in the IT labor pool."

02/09/2007

Software Pricing and Software Risk

Category
Most of software created today is bespoke software. Code that runs in one organisation and is never resold or passed on (and sadly hardly reused). This entry is about pricing the creation of bespoke software. It is not about pricing of standard software. That is a topic others have to fight over. So what pricing models are out there? We make the simplifying assumption, that you have an idea what effort is required and that we can ignore market forces (like: "this is the price we pay for this service here").
At the two ends of the models are "time and material (TM)" and "turn key projects (TKP)". TM is the delivery model corporate developers typically work with (yes there are cost centers, so it might be different in your company), while TKP is the sole model used when software projects are tendered out.
In a TM model finding the price is pretty easy: effort + profit margin = price (remember we exclude the market forces in this examples).
A picture named M2
The calculation is simple, since any change in requirement, any unforeseen complication just leads to more billable hours. Everyone loves this model... except the customer. In this model 100% of the risk is on the shoulders of the project sponsor. Naturally project sponsors or customer want to limit the risk. So they push for fixed deliverables and turn key pricing. This seems to be a sensible approach. However the way a contractor is calculating the price of the software becomes very different. First: the internal pricing is always TM since you pay your staff a monthly salary. So when accepting a TKP there is a substantial added risk that the contractor has to bear. Risk translates to money. So the calculation suddenly looks like this:
A picture named M3
While it looks like that the profit margin took a dent, typically the risk margin is added to the project costing (especially when it is an internal cost center). So the real picture looks more like this:
A picture named M4
Since Risks can be expensive both sponsor and customer try to minimize the risk. The usual approach is to flesh out detailed specifications what needs to be done, what is included and what is out. These specification then are the ultimate benchmark to decide if the contractor has fulfilled the obligations and gets paid. In other words: the system is completely specified before work commences. With some notable exceptions it is consensus, that big up-front design doesn't work. This insight hasn't reached the teams that design tender specifications. In my personal experience: the systems users appreciated most when delivered where the ones that had the least in common with the original design specifications (but that might have been just my dumb luck ).

15/08/2007

How should organizations implement virus protection?

Category
Virus protection is a discipline of risk management. A 100% protection is neither technological nor economical feasible. When implementing virus defenses, an enterprise needs to determine its risk level and take action according to their perceived need for security. This need will not only be determined by internal factors, but also by governing laws and principles. To get started enterprises can turn to established guidelines like the ISO 27001. ISO 27001 certification can be used as a driver to implement a sound security policy.
Comprehensive virus protection for any organization needs to be implemented in layers and must be part of a more complete security and risk managing initiative. You can borrow the principles from the blueprints of the great cities of the middle ages: not a single but multiple walls, a ditch, guards at the gates, signal towers, nearby allies and citizens vigilance constitute their defense system. The number of layers to be implemented depends on the risk level determined beforehand.
To guard the "gates" a twofold approach must be taken: disallow known trouble makers to reach you and inspect arrivals carefully. The first task can be achieved using spam filtering techniques like black listing or content recognition, the second by using virus scanning and content blocking. Important aspect here: You should reject a message as early as possible. There is no point scanning a message content if it could have been rejected for trying to deliver to an unknown user in your domain or being send from an origination that is known to a blacklisting service.
Having a current virus scanner signature might give enterprises a false sense of protection, therefore it must be complemented by digital fingerprint based file blocking and quarantine to catch unknown harm. This way any executable content can be blocked and unknown maleware escaping the scanning patterns will be captured and blocked swiftly.
All "gates" need to be protected equally: email, instant messaging and individual PCs where removable or portable media could pose an attack vector. The signaling towers would be the notification system, that alerts all gatekeepers if one of the gates encounters an attack to improve the networks resilience. This notification feature must include the network protection layer (a.k.a Firewall), so an attacked or infected segment can be isolated automatically.
Citizen's vigilance can be achieved with meaningful training and regular updates on the security front. If every employee is able to identity a suspicious entry (mostly via email), the risk of an infection is lowered substantially. Finally, virus protection is no one time effort: scanning patterns need to be auto-updated, new thread sources blacklisted and employees updated on the latest developments in network attack and protection.

Spam is a very popular attack vector, so head over to Chris and learn about Domino SPAM fighting

07/06/2007

To REST or to SOAP for mobile applications?

Category
I'm toying around with J2ME applications running on multiple mobile devices. Since I want them to run on most mobile phones I settled on Midlets. One of the questions I was musing is how to do the data communication with the back-end. Despite the "chattiness" of the data I already decided, that I will use XML as the data format (less hassle with diverse sources) and web services as the delivery method (the telcos who charge per kilobyte bribed talked me into that).
To parse XML in a Midlet you can use kXML or kSOAP. A few questions remain I haven't found an answer yet. Maybe someone can point me to answers or hints:
  1. Can I use gZIP from Midlets?
  2. How to integrate SMS (to trigger a pull) with a Midlet?
  3. Should I use REST or SOAP for the communication? REST seems to be simpler but SOAP is better supported in Domino Designer.
  4. How do I integrate HTTPS into a Midlet?
  5. Can I access and transmit the Phone ID (IMEI) using Midlet?
A seasoned J2ME developer probably could recite the answers before breakfast, but they are new to me.

21/05/2007

Did you Scratch today?

Category
Teaching kids (especially mine) programming is on my mind for quite a while. The discussion on Slashdot about my query was very inspiring. However it didn't seem to show the right tool. Now, again inspired by a slashdot article, I found Scratch. Looks very much like fun to me:

Scratch Programming Language

Now they only need to add interfaces to Lego Mindstorms and the Picocricket and I'm a happy camper.

21/05/2007

A Cost Analysis of Windows Vista Content Protection

Category
Peter Gutman at the University of Auckland has written an analysis of Windows Vista's content protection titled A Cost Analysis of Windows Vista Content Protection. The Executive Executive Summary says it all: "The Vista Content Protection specification could very well constitute the longest suicide note in history".
It makes an very interesting read when you consider adopting Windows Vista be it at home or in your corporate context. The document seems to be very alive with footnotes and remarks being added. Since pages on University sites have a shelf live usually limited by graduation or employment I mirror the article in its status of today 21st May 2007.

07/05/2007

XML / XForms / J2EE Job in Munich

Category
My old colleagues in Munich are looking for a senior developer who will help them to develop UMsys the integrated environmental management system to its next level. You should have a sound idea about web standards, XML and Java. If W3C is your middle name, you can bet on a place on the short list. UMsys is running on a J2EE server and uses an XForms implementation "Orbeon Forms" provided by Orbeon as its main web interface.
Contact information can be found on the IN+ website.

01/04/2007

The Future of Java in the Enterprise

Category
Working for IBM has its special perks. One of them is direct access to a huge bunch of really smart people. As you might (or might not) know IBM is maintaining its own version of the Java JVM. In a recent chat with our researchers I could take a glimpse into the future of Java for the enterprise. Since there will be so many new features this upcoming version it will be named "Java Enterprise Edition Extreme" or short J3E (or as the researchers like to put it: J E power three). Based on IBM's version of Java 8 (we jump a few version to get ahead of SUN), it will not only feature all time favourites as Aspect Oriented Programming (AOP), an multi-core threading optimized compiler (MTOC) but also a new persistence interface (code name "deep freeze") that persists Java objects into various open standard disk structures (my favourite being Linux EXT4 streams).
But there is more to come: IBM's processor unit will release new versions of the Cell and Power processor families, that feature a Java-On-Silicon JVM (JOS-VM) making Java execute without the need of an operating system. Lotus Expeditor will take advantage of this new abilities. Especially the upcoming Cell Micro processor with barely 0.1 Watt power consumption will be a hit for mobile devices running J3E applications (IBM Websphere Portal on your wrist watch anyone?).
Of course Java Developers will have to get used to a few changes. D. Doligez from our research labs explained to me: "The biggest change is, that we had to let go of the venerable Web Application Repository (WAR) files. It simply can't deploy to all our target JVMs especially the JOS-VMs. We created a new format we call "Lean Object Versatile Extension" (LOVE) that will serve as container for both regular Java 8 as well as J3E applications. To create files in this new format we will not only support Ant and Maven but also the popular make utility".
IBM marketing is planning a media blitz to introduce J3E once it is ready for prime time. They have enlisted a well known artist to promote J3E with IBM's new Java 3E tag line.

Update: An early version of IBM's Java8 is available for download.

20/12/2006

Vista dreams shattered

Category
I wanted to know what it takes to run Vista. So I headed over to CNet's "Are you ready for Vista" Advisor:
A picture named M2

Seems like I'm in for some serious hardware shopping. This looks more tempting every day. Anyhow I moved most of the data off NTFS onto a NAS and experiment with an alternative. My nice from Australia is here for a visit and after a week she hasn't figured out, that it is not Windows she uses to read here email.

28/11/2006

No more "Everybody uses MS Outlook at home"?

Category
Vista is coming, so is Office 2007. The brand new all shiny ribbon looks utterly familiar (OK, it was at the bottom of the window and less cluttered in 1998). It seems Microsoft has taken a few lessons from IBM (not only about software processes from the OS/2 team) and comes up with the most confusing licensing scheme ever. While the Vista versions can be understood (4 packages, take the biggest, have it all), the Office schemes are pretty confusing. 8 editions are available (if you are an enterprise, otherwise it's 6) which are all packaged differently. Most stunning: Home, Student, Small Business, Professional and Ultimate don't contain the Outlook mail client anymore. Is Microsoft ignoring their loyal student user base (hey they will make future purchase decisions!)? Or do they want to hook them onto Windows life? Also Small Businesses might not be amused. Also if you want to get as much features as possible you have to shell out a whooping 1078 USD for Office & Vista Ultimate (and end up using Groove for eMail). That might be even more than your Vista ready PC might cost you.
Read the full review yourself.

01/11/2006

When licensing gets in the way of sales and revenue what will happen?

Category
All public listed companies are infected with a serious virus of the type "You-must-grow-your-revenue-or-die". The stock markets punish "flat earnings" more severely than posting a loss. Well flat earnings could read: we made 10 Billion last year, we make another 10 Billion this year and voila your stock goes south. So every enterprise is looking to grow revenue. While acquisitions are very much in fashion to grow revenue, the core strategy falls into two categories: upsell your existing customer base and acquire new customers. As long as your market is expanding rapidly adding new customers is rather easy. Once markets mature adding new customers means taking them away from your competitors which is costly and tedious (including fending off their retaliation attacks). So "upselling your customer base" is the save bet for most sales organisations.
In software sales revenues are very unpredictable if you just sell licences. So every vendor tries to sell maintenance too. To help customers some offer to spread the up-front payment for licences over the period of a maintenance agreement (typically three years). After that period the licence is paid you only need to continue to pay maintenance and support which would be around half. So once you look at a six year period your cost look like this:

The Revenue GAP

Of course: your cost is the software vendors revenue. Uupps. Didn't we just conclude, that "upselling your customer base" is the easiest way to increase revenue? With that little "spread your payment" option the vendor has build in a gap they need to fill with new products. As long as you create new offerings, that create additional value for the customers, that actually might work. But what do you do if you just want to ship an upgrade to the product the customer has under maintenance? One way is to split your licences into "Standard" and "Enterprise". Then you explain to your customer: "What you have under maintenance is equivalent to the new standard edition, all the new features you cherish are part of the new Enterprise edition". Of course the Enterprise edition requires a new licence -- and hooray your revenue gap is plugged. You even might get away with it. Your customer is used to have paid 100 for the last three years, so they probably have forgotten, that IT cost are supposed to go down and have budgeted 100 for year four to six. With the myopic view on quarterly results and high job rotation that is not difficult to imagine (no Samsung product needed here).
However your customer might start to remember and really starts to run the numbers and ask some questions. My favourite: "Why do I need maintenance on the operating system? We keep desktops for 3 years and don't upgrade them. 100% of our machines use the operating system our hardware vendor had preinstalled."
Then finally your customers might listen to Michael Sampson.

11/10/2006

What do you think is the most important skill every programmer should posses?

Category
Linus says:
It’s a thing I call „taste”.
I tend to judge the people I work with not by how proficient they are: some people can churn out a _lot_ of code, but more by how they react to other peoples code, and then obviously by what their own code _looks_ like, and what approaches they chose. That tells me whether they have „good taste” or not, and the thing is, a person without „good taste” often is not very good at judging other peoples code, but his own code often ends up not being wonderfully good.

There are other great questions and answers from the Olymp of our developers in Stiff's blog

14/07/2006

Developing OpenSource Software is fun (allways) and paid for (sometime)

Category
Benno Stoll just published his master thesis at the University of Zurich in Switzerland. He researched the motivation of OpenSource developers. From the summary:
42% of the time spent for open source is financially compensated. However, we have to take into account that these figures may underestimate the amount of paid work. Paid open source developers are members of well-known open source projects. Such projects, however, can afford their own project infrastructure and are not dependent on platforms like SourceForge. Thus, the share of paid open source programmers may be rather underrepresented in the study's sample. (...)
In view of the importance of fun, the present study yielded the following results:
  • Fun matters: a simple model containing fun and spare time as independent variables can explain roughly 27% to 34% of the engagement for open source.
  • Spare Time matters: the amount of time spent by open source developers is significantly determined by the quantity of spare time the programmers have. However, the availability of spare time does not matter if the open source developers are asked for their willingness for future activities for open source.
  • The joy of programming does not wear off: each additional unit of fun is transferred linearly into additional commitment.

Go read the full report

05/06/2006

MS Exchange Administrator (With Experience on LINUX)

Category
Is there something coming we don't anticipate? This made me smile.

02/05/2006

Better Java with Checkclipse/Findbugs

Category
Eclipse does a good job pointing out Java syntax errors. To prevent bugs at the coding level you need to go much further. Two utilities make your live much easier here. One is Checkclipse, the other FindBugs. Checklipse runs as an extension to the Eclipse syntax checker and encourages you to write proper code (including white spaces between symbols, so "a+b" is wrong but "a + b" is OK).
FindBugs can run stand-alone (via command line, Java Webstart or Ant) or as Eclipse plug-in. It provides even more checking options.

Found via SDMagazin/Holub.

And while you are on it, why not test Websphere (unless you live in a restricted country, which SF thinks includes Singapore)?
Websphere Community Edition

01/04/2006

Microsoft Exchange for DB/2

Category
Now that I'm inside, I have access to a new wealth of information. Today I got access to a draft for a press release: In a surprise move IBM and Microsoft announce today Microsoft Exchange for IBM DB/2. The IBM spokesman declared: "With our scalable and robust storage technology we finally can ensure that you never have to spend time in Exchange hell anymore. Also true Microsoft shops can finally benefit from IBM technology. The code name for the project is TBE = True Blue Exchange". When questioned about the move a long serving Microsoft engineer stated: "With all the pressure and monstrous code in Vista, Office 12 and Exchange 12 we remembered the good times when we were working with IBM on OS/2. Basically then we were playing Mimesweeper and Flight Simulator while the IBM coders did all the work. The only thing we did was to put the presentation manager GUI coordinates upside down to ensure the Lotus people would use up all their resources to recode 1-2-3 on OS/2 while another team was working on Windows 3.11. We wanted the good times back, so we handed over the complete API spec to the IBM Almaden lab, of course not before they ensured us not to deliver it to the Europeans, since it is our policy to ignore court orders".
I was puzzled, so I contacted the Alpha team @ IBM Almaden. The lead architect confirmed: Microsoft Exchange for IBM DB/2 does exist. With a big smile he added: "If you have a close look at the code, you will see, that it is actually a Domino 7.1 server in disguise. We had the messaging part, the DB/2 storage, the fault tolerance and the scalability. We just merged our Domino Access for Outlook into the Domino core and off we went."
I got my hand on some Alpha code. It is amazing. All MAPI calls work, Outlooks sees a native Exchange box, even active directory recognized an Exchange12_01042006 version. Once I've played more with the code I'll post my test results, so stay tuned.

31/03/2006

Loosing patience

Category
Hello Mr. Robot @ 209.128.119.45, you belong to 209-128-119-045.BAYAREA.NET and it is completely pointless to add empty comments to this Blog.

22/03/2006

When you buy software before breakfast, Zonelabs is a good shop

Category
We have a new member in our IT Zoo. A nice Sony VGN-A17GP laptop. After reinstalling the OS from the rescue disk and one gazillion patches there was the question of Antivirus/Firewall. Since the desktop runs happily with Zonealam pro with Antivirus I wanted to order a licence for the Laptop too. To confuse me product is now called ZoneAlarm Suite and ZoneAlarm Pro doesn't come with Anti-Virus. Before breakfast I only skimp pages and I promptly spend 50 bucks on the wrong product.
So I headed to the customer feedback page, actually not expecting much, but to my surprise after they had their breakfast I got a mail stating, that they refunded my purchase and I'm free to order what I originally intended to do.
Well done Zonelabs!

15/03/2006

XForms - Putting your form processing on steroids

Category
On 15 March 2006 I will speak on the Singapore XML Standard day organized by the XML Working Group of ITSC. After introducing the XForms concepts I will show how the Orbeon Presentation Server allows for easy implementation of a server side forms processing application. Get the full details here.
If you are free in the afternoon -- and free -- join me at Tower Three #14-00 Suntec City in the multipurpose hall of IDA.

07/03/2006

I could use a little help from an NSIS expert

Category
DominoWebDAV 0.1 will be up soon. Part of the application is a little helper application, that knows how to deal with the webdav:// protocol. As "good citizens" we want to make the information available, that the helper is installed by amending the user_agent string in the browser. We add something, not alter, so the typical browser sniffing scripts won't break (Note to all who still use them: start sniffing the DOM).
In Internet Explorer the user_agent extension are defined by a registry entry (This is e.g. how IE/IIS "knows" that a .net runtime is installed):
HKLM "Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform" "Some funny string" All entries here end up in the user_agent. In Firefox it is a little trickier: the following steps are needed:
  1. Is Firefox installed?
  2. Locate the profile directory (per user)
  3. Read the profiles.ini and locate the current user profile
  4. Look for the file user.js, create it if missing
  5. Add the line user_pref("general.useragent.extra.funnySoftware", "Some funny string"); if missing
I managed to get the part with the Registry going, but I could need some help on the Firefox part. Any takers?

18/02/2006

Become a Java Blackbelt

Category
Do you know http://www.javablackbelt.com? I recently discovered this site and I like it a lot. There you can take exams about Java and related technologies like XML, Eclipse etc. While commercial sites charge you a fee for taking exams, Javablackbelt doesn't want you money. They want your contribution. So before sitting down to take an exam you need to accumulate points to "pay" for it. Points are collected by reviewing questions, contributing new questions or commenting on existing topics. Questions, edits and comments need to be accepted (see the site for details) to score. This way you get a double bonus: not only you can test your knowledge, but also you are required to crack your head what would be a good question to ask. Clearly the site doesn't aim at greenhorns (which I suspect is the group I still belong to regarding Java) since I couldn't figure out how you could contribute/benefit with only little knowledge

25/01/2006

On dates, time and time zones

Category
Lotus Notes calendaring is fully aware of time zones. It allows to enter and view appointments in different time zones. So it seems to be the solution for a small planet. If there weren't users like me . I'm juggling time zones every day - for remote and online activities: phone calls, sametimes, instant messages and skype. However for physical events I switch back to "no time zone mode". So it is "We meet online 1pm your time/8pm my time" and "We meet 7pm at the gym".
When I was planning my Lotusphere attendance I was in "no time zone mode", since it is obvious WHERE the sessions will be (at least from a time zone perspective). When I switched my gadgets (Laptop, PDA) to Orlando time, I had some "Session is starting" wake-up call pretty much 11h 10min instead of 10min before. So obvious from a users (that's me) perspective, there is a time, that is neutral to the time zone. E.g. lunch is at 2pm, whatever time zone that might be. Would a check box "Don't change time on time-zone change" in the calendar help? I'm not so sure, since calendaring is already complex enough. What a petty, that Swatch beat never took off (At least they could fix their unusable design).

18/01/2006

From command lines and URLs

Category

The line between URLs and fileshares are blurring. In any browser you type file:/// to open a file. In Konqueror you type smb:// to address a windows share and most file open dialogues allow to specify a file location starting with http://. However there are subtle differences. Unless your web server supports the webDAV protocol chances are high, that the files will be read only. MS Exchange and MS Sharepoint both use webDAV (This might be the reason why it is depreciated in Exchange 12 - you love to rewrite your apps anyway).
A big headache still remains. When clicking on a link in the browser, the document behind will be downloaded to temp and then opened. Even if you could write it back, your Office application wouldn't know where to write it to. So the drill for e.g. Sharepoint users is: "Right Click - Open With". You can count the support call logs......
I'm working on a strategy to solve that. A tiny helper application webDAVhelper.exe will "listen" to webdav:// URLs, look for the application matching the file extension and then call this one with http:// on the command line. so the URL webdav://myserver/files/BigFatCalculation.xls translates to excel.exe http://myserver/files/BigFatCalculation.xls.
Works like a charm... almost.
In fact we are using the command line and hope that an URL would work. So far it looks promising: OpenOffice and Microsoft Office master opening the files very well. Microsoft Office even issues a webDAV lock to hold on to the file. Paintshop Pro 8, Winzip 9SR1, Acrobat 6 all fail to take an URL on the command line, they only allow to specify it in the File - Open dialogue. I will investigate a little more. Nevertheless it is quite strange, that reading the file from the command line has been implemented differently from using File - Open.
In case you are interested in the little tool, drop me a note.  

08/12/2005

Off to Pakistan

Category
"Bridging the digital divide" will be the keynote address I will deliver on the ConnectIT Conference in Karachi/Pakistan on Friday. I'm speaking on behalf of the Association of Telecom Industries Singapore (ATIS).

03/12/2005

User Centred Design --- without the users?

Category

I'm a member of the Usability Professionals Association as well as a member of the World Wide Institute of Software Architects. Both communities discuss the need for user centred design. Looking at our favourite development process (make your pick: XP, Agile, RUP or whatever acronym you fancy) the users' requests always come first. While I think this is an important concept I sometimes feel uneasy about it. In most of my software projects we end up with features and design the users haven't asked for but highly appreciate. Actually I consider implementing exact user requirements as a failure.
Kathy "Headfirst" Sierry sums it up nicely in her latest post:
The goal is to add sliders that turn out to be really important to users. And I say "turn out to be", because the most daring breakthrough products and ideas are rarely driven by user requests.
Go read it.  

Update:Thx to Ganapathi to point out the typo, fixed now.

18/11/2005

Apprentice, Journeyman and Master

Category
You might have wondered why I use this metaphor in the sidebar to describe what I offer. I always though to write a long rant about it. Now I don't need that anymore. Jeff Atwood points to a blog entry by Rob Walling:
... a long text you want to read for yourself ...
The Bottom Line
Training is critical to any company that writes software, and apprenticeship is the best way to bring new developers on board, make them feel at home, improve their skills, and keep them happy and growing. You'll keep experienced developers in touch with new approaches, compliment them by asking them to share their wealth of knowledge, and hopefully create a few friendships along the way.  

31/10/2005

Craftsmen vs. Tools

Category

Seth Godin's latest Blog entry is titled Tools vs. Craftsmen. He describes how the prices for creative tools came down substantially. His conclusion is: "The bar's a lot higher, because access to tools is a lot easier". We have that situation in software development since Microsoft shipped BASIC with the first PC. You can download Java, Eclipse, #Develop, .NET SDK or Ruby for free. We got a lot more software since then and eventually the bar got lower (if you see and use crap all the time, you get used to it). However he is right: The bar got a lot higher if you want to be outstanding.  

04/10/2005

Heart(disk) transplant*

Category
My laptop hard disk was running out of space and also starting making funny noises. So it was time for a new one. First I though to reinstall everything from scratch. This would take some days time (actually hours squeezed into spare time over a few days) which I can't afford right now. So I started to look for an easy way out. I found TruImage from Acronis. It allowed me to clone my hard disk partition to the new drive that I had attached temporarily through USB. It also allowed to resize the partition in that process. Since my laptop has only USB1 copying the partition took a few hours (unattended). At the end TruImage shut down the PC, I flipped hard disks and now I'm a happy camper. Acronis provides a 14 day trial, so for a one off exercise it is free. TruImage does backup too, so I consider buying it.

* The pun does only work when spoken, not written.

20/09/2005

Creepy coincidence

Category
> I've not had paypal phishing emails for a while (thanks to Chris' counterspam). Today I went to paypal for some stuff. Half an hour later a pal-phisher mail comes through. Coincidence or tip of an ugly iceberg?

02/07/2005

Effectiveness or Best Practises - make your pick!

Category

Michael W. McLaughlin summarizes Best Practises (via eLearningPost):
1.        They rarely work
2.        It's a follower's strategy
3.        Change comes from within
4.        They don't come with a manual

One of the Lotus egg heads once added: "Best Practices are yesterday's technology".
The MIT recommends to replace them with Signature Processes.

I would add my own little attribute list:  
  • they are an attempt to contain fear  
  • they stifle innovation  
  • they won't provide a safety net  
  • they can't replace skills

01/07/2005

Crystal Clear

Category
Processes and methodologies are all the rave in IT. Coming from a RAD Domino background a lot of the process steps feel quite overloaded (what the heck is a build and integration test, when I just click save on my form? - Don't tell me, J/Nunit and (N)ant are my friend). I finally found a methodology, that seems well fit for Domino projects. It is called Crystal Clear and is described by Alistair Cockburn is his book "Crystal Clear".

Crystal Clear requires 7 properties of which 3 are mandatory. It is a methodology light on processes and big on principles. Alistair clearly highlights, that process is never a guarantee for success, it is *skilfulness* that will make your day. Processes only emphasise your skill levels, so if your skills are lousy process will make the result *very* lousy.

A picture named M2

Go try it.

01/07/2005

Meeting Bill Gates

Category
What do 3000 IT professionals do together in one hall in Singapore on a Friday afternoon? Our host claimed it was the biggest professional IT crowd ever on the Singapore scale. Well... listening to Bill Gates, who gave an unexciting outlook of things announced over and over again.
So our lifestyles will be digital, our gadgets converge, computer recognize context, understand our voice commands and Microsoft's 6 billion R&D spending will make all this possible. I think it's increasingly difficult to come up with something visionary that has not been spoken about before.
Implementing visions seems is so much harder than having them....  

09/06/2005

On Demand Software

Category
Q: Define "On Demand Software"
A: "Make your technology suffciently complex, so you want to outsource it to IBM!"  

02/06/2005

Our civilization runs on software

Category
From the "Handbook of Software Architecture":

"Software is invisible to most of the world. Although individuals, organizations, and nations rely on a multitude of software-intensive systems every day, most software lives in the interstitial spaces of society, hidden from view except insofar as it does something tangible or useful.

Despite its transparency, as Bjarne Stroustrup has observed, 'our civilization runs on software.' It is therefore a tremendous privilege as well as a deep responsibility to be a software developer. It is a privilege because what we do collectively as an industry has changed and will continue to change the world. It is a responsibility because the world in turn relies on the products of our labor in so many ways".

Go read it and then rethink development resources and project management.

07/04/2005

I want a better browser for my Tungsten

Category
I'm quite happy with my Tungsten T3. I sync to Notes using Pylon Pro and run some custom Notes databases. I use Agendus as a beefed up contact and appointment manager and Verichat for instant messaging. I develop applications with Simplicity and the J2ME Plug-in for Eclipse. I even started fancy stuff using thinlets (you might need to go to the Yahoo group to get the midlet version). I even did some XML over HTTP stuff using kXML.
My only grievance is the browser. It is OK to see some basic stuff, but I can only jealously peek at Nokia phones, Psion organizers etc. who use Opera. If you share that grievance, head over to Petition Spot and sign the petition "Opera for Palm OS".
Please!

13/02/2005

Sunday afternoon thoughts: Craftsmanship

Category
These days software is considered an industrialized product. One has clear processes, a proven methodology and a team of well trained IT people (architects, analysts, developers, coders, testers etc.). Still many projects fail spectacularly. Hug Macleod spells out the truth (while in a different context): "This isn't a record store. You can't just hire a bunch of college kids whenever there's an upswing." Software, despite all processes and tools is a craft. I haven't come across a craft that does not require apprenticeship and devotion to learn the spirit of it. Even with the greatest tools you will find the moment where you need "some magic happens here". Katie dissects RUP and shows that little gap.

A lot of blame for the lost art goes to the MTV generation with the need of instant gratification (why learn how to operate a parachute if bungee jumping seem to offer the same kick). Blaming the youth is a sport that's popular for thousands of years, so I don't buy it. Digging a little deeper I find a very different reason: fear of failure: we have to be perfect on the first shot. We are embarrassed if we fail. Companies only hire the top performers (and who develops them?). I think the solution for the dilemma is to put more focus on the craft, listen more and be ready to improve one step at a time.

29/11/2004

Brunei InfoCom Technologies Awards 2004

Category
Together with the Bruneian company Teleconsult Snd Bhd I architected the eLearning platform ePLATO earlier this year. In Brunei we were using the platform to have what I would call "narrated eForms". Complex online eGovernment forms are broken into pieces and filled in as part of an eLearning course. At the end the participant knows about the how and why of his submission and has a filled in form ready for processing.
This unique concept of blending learning and citizen-government transactions has won the Brunei InfoCom Technologies Award 2004 (BICTA 2004) in the category eGovernment.
News coverage is a bit patchy, there are two online articles that both fail to name the winners:
http://www.rtb.gov.bn/NewsUpdate/2004/November/271104/main1.htm
http://www.brudirect.com/DailyInfo/News/Archive/Nov04/261104/nite25.htm
...so I had to resort to the good old scanner to document it:
A picture named M2

19/11/2004

Meeting Steve Ballmer

QuickImage Category
What do Richard Stallman and Steve Ballmer have in common? A lot more than meets the eye on first sight:
One: They are each others nemesis. They don't name each other. Stallman is "the guy who wrote GLP" and Ballmer "The big monopolist".
Two: They both came to Singapore in November 2004
Three: They both firmly believe in what they talk about and have a hard time acknowledging each others view
Four: They both would need some dress code advise. While Richard was talking barefoot, Ballmer was wearing brown shoes to a otherwise flawless dark business suite

Ballmer and the whole Microsoft crew was talking about value creation and shifting IT spending from maintenance to more productive work like new development. Of course the new Microsoft solutions will help there (so they claim). While I applaud that goal (who wants to do maintenance anyway) it looks to me, that savings in maintenance budget will rather result in budget cuts.... and I don't know (outside the consultants scene) much successful administrators in development roles.

Ballmer claimed, business value is the centre of their universe: anticipating business needs and creating value before the business community even would know about this need (or even create the need). Microsoft, so Ballmer, is committed to innovation which is documented in the 3000+ patents Microsoft will file this year alone. Microsoft's vision are agile enterprises driven by agile high performance teams (and Microsoft solutions of course).

On OpenSource and Stallman Ballmer got very firm: they don't believe in Intellectual Property (which is true, Stallman says IP is FUD and distinguished between: copyright, trademarks and patents as unrelated right) and all Open Source users are in jeopardy because law suites will hit them, with Linux alone violating 200++ patents (he mentioned an exact figure with "more than" in front, which is a contradiction in terms).

So what a difference: Stallman on one site: believing in freedom, community and sharing, Ballmer on the other side believing in vision, responsiveness and innovation. My conclusion: they both are right and they both are wrong. It is our task to find a balance between community and commerce. For my taste commerce has the much better lobby (see a future post about pirates).

But surprise, surprise even Microsoft is not alien to the concept of free (free as in beer) software: every participant returning the conference evaluation form was rewarded with a free copy of Microsoft Office Professional 2003.

Steve Ballmer obviously was on high power stress, observing his body when taking questions I saw the muscles stiffing in defence. Only when I asked him how he relaxes from his job, he visibly let go and appeared much more relaxed. Besides the usual stuff like family, sports (running and Golf) Steve mentioned reading eMail in Singapore Airline's First Class would be quite relaxing. So the notion stands: Singapore Girl you are a great way to fly  

02/11/2004

Meeting Richard Stallman

QuickImage Category
The Singapore Management University (SMU) invited Richard Stallman to speak about Open Software for developing countries and about software patents. The session was co-organized by the UNDP, who takes a clear stand pro open software. Stallman is a very entertaining speaker who advocates his message with great passion and humour. He made the audience including me laugh quite a number of times.
Stallman stressed, that free software does NOT mean free as in beer, but free as in freedom. He highlighted, that the English language seems to be poorly equipped to distinguish this terms and that local languages seem to be more suitable to express the difference of these concepts.
Stallman himself seems to personify the nemesis of any sleek software executive. He was standing barefoot at the podium exposing manners of personal hygiene that, measured with European middle class standards, are rather questionable. Either he didn't really care or it was a very carefully crafted performance (maybe he secretly wanted to be a member of ZZTop ).
Intellectually I think Stallman is brilliant. The points he raised were well crafted and presented using strong metaphors and on-the-dot explanations. Stallman lives software development, so when he explains the 4 freedoms free software is about, he counts from 0 to 3. This surely earns him points with the developer community, but make communication with people who don't understand or care for developer's lingo more difficult.
In a nutshell his stand is, that software should be supported and paid for by the community of developers and users and money be made by customization and support. Commercial propriety software vendors in his are land lords who are only interested in a rent and want to exploit the users by making them dependent. I only partly buy that argument. It lived off the fiction, that most of the users would be able to articulate in a programmers compatible way how they want software to work. Stallman himself is the living example, that development and progress are often (if not every time) are driven be spirited individuals. Also it does not match with my previous experiences. However I'll try to summarize his points.  

29/10/2004

Del.icio.us --- me too.

Category
I started to use Del.icio.us to share bookmarks. I like the ease of posting and the cross reference.
Happy sharing!
stw

27/10/2004

Feedburner for wissel.net --- update your URLs please

Category
Following the discussion about bandwidth consumption I decided to hand over my news feed to Feedburner. So please update your Blog readers and point my news feed to http://feeds.feedburner.com/Wisselnet stw

12/10/2004

New book about Sun Java Studio Creator

Category
My friend Sachiko Hirata has released her very first book. Together with two colleagues she is covering the Sun Java Studio Creator. Congratulations Sachiko! In case your Japanese is as patchy as mine, try babelfish's help.

10/10/2004

Dante's Exchange

Category
Seems like the messaging war between Domino and Exchange has got a new high profile twist.  David Gewirtz, Editor in chief has just published his "Thirteen days in Exchange Hell". Read for yourself. Looks like the entanglement of your messaging server into your operating system and a multitude of dependencies can turn into a nightmare. Does he look here now?

07/10/2004

Lunch with VB.NET 2005

Category
Microsoft Singapore invited me to have lunch today with Jay Roxe and Matthew Gertz. They are responsible for VB.NET 2005. We lunched at the Conrad Hotel in a small group of just 12 people. Matthew and Jay where very eager to hear and learn, what their customers expect in the next release of their products.
While you may might dismiss this a M$ style marketing stunt, I hat the very clear impression that they REALLY care! What a refreshing difference from the usual "dark empire" stuff we read about Microsoft. (Being the Lotus Domino expert it was my role to represent a dark empire then <vbg>).
We touched a lot of interesting topics. Two I'd like to highlight. Did you ever wonder why in .net everything is an object, straight forward, no brainer, simple rules? Or why Ctype() does a lot of checking to make your life really simple? Well Jay did that -- after he was lecturing at Singapore's NUS for a year (make your own conclusions).
The second: Matthew raised an interesting question for the future direction of development environments (VS 2005 will feature hints how to correct coding errors borrowing the technology from Word's grammar check -- and the idea from Eclipse (?)). His point of view, which I second, is that code alone (as seen in notepad) doesn't tell you the story any more. Besides code there is increasingly META data (coming from your UML tool, your code history, requirement analysis) that is as important as your programming statements. So he is thinking to add additional files hosting meta data or merging code into a big (XML based) meta data file.
And then he very briefly lifted the cover what they are playing with (eventually I get shot for that): Why is there a distinction between code and layout? Couldn't you edit code like you edit a word document? You would write code and have your form visible as graphic like you embed a graphic in a word file; your code that talks Web Service or ADO.NET is represented as a diagram; little boxes with comments (like the Word 'trace changes" function) point todo's, comments, implementation hints to the exact code position. Think rich composite document. Of course you could switch between textual and graphical representation for each block. Normal code could e.g. be displayed as a flow diagram (I you need that for your documentation today, check out Visustin). I think this done well will boost productivity double digit.
I'd love to see that side of Microsoft more often.  

05/10/2004

Not your Mom's Yahoo anymore... what CSS can do.

Category
Yahoo is moving to a CSS powered version of their portal. This is an important step in promoting web standards. I showed the beta page to a number of clients with CSS switched off to teach them about structure and to get all the aahhh and oohh, once it is switched back on:
A picture named M2
What a difference the separation of concerns (structure vs. design) can make! The beta site is widely discussed in the web designer community (1) (2) (3) (4) (5), so expect more to come.

19/08/2004

Linux is calling

Category

I want to find out if Asterisk is a solution to cut our notorious high phone bill (our here means: my business partners all over SE Asia and Europe and me). So I got a new hard disk and downloaded the SUSE 9.1 Boot CD from Germany (the local mirror was off-line when I tried). The installation seemed quite straight forward. As before my network card wasn't recognized (seems to be a "feature" when you have the boot CD only). The card wasn't listed either. So I picked one that sounded related and it worked. Since I'm curious what 9.1 can offer I selected everything to be installed and picked FTP installation from the SUSE FTP server (which is located in Franconia, a province of Bavaria, Germany). It turns out, that this is a stress-test on my broad band connection.
I started the installation this morning 07:30am (before bringing the kids to kindergarten and going to work) and now 23:00 installation has completed just 61%. So the whole exercise will take about 24h. Lesson learned: wait until the local mirror is back. Still it is amazing how data transmission has changed. It seems just yesterday to me when we used 300 Baud Modems and Kermit and got all exited if we managed to transfer a 10kB file.  

02/08/2004

If Architects Worked Like Programmers

Category
Found (and copyright?) here: http://www.cratchit.org/plc/index.htm

Dear Architect,

Please design and build a house for me. I am not quite sure what I need, so please use your discretion.

My house should have between two and 45 bedrooms. Make sure the plans are such that bedrooms can be easily added or deleted. When you bring the blueprints to me, I will make the final decision on what I want. Also, bring me the cost breakdown for each configuration so I can arbitrarily pick one.

Keep in mind that the house I ultimately choose must cost less than the one I am currently living in. Make sure, however, that you correct all the deficiencies that exist in my current house (the floor in my kitchen vibrates when I walk across it and the walls don't have nearly enough insulation).

As you design, also keep in mind that I want to keep yearly maintenance costs as low as possible. This should mean the incorporation of extra-cost features like aluminum, vinyl or composite siding. (If you choose not to specify aluminum, be prepared to explain your decision in detail).

Please take care that modern design practices and the latest materials are used in construction of the house, as I want it to be a showplace for the most up-to-date ideas and methods. Be aware, however, that the kitchen should be designed to accommodate, among other things, my 1952 Gibson refrigerator.

To ensure you are building the correct house for our entire family, make certain you contact each of our children and also our in-laws. My mother-in-law will have very strong feelings about how the house should be designed, since she visits us at least once a year. Make sure you weigh all of those options carefully and come to the right decision. I, however, retain the right to overrule any choices you make.

Please don't bother me with small details right now. Your job is to develop the overall plans for the house; get the big picture. At this time, for example, it not appropriate to choose the color of the carpet. However, keep in mind that my wife likes blue.

Also, do not worry at this time about acquiring the resources to build the house itself. Your first priority is to develop detailed plans and specifications. Once I approve these plans, however, I would expect the house to be under roof within 48 hours.

While you are designing this house specifically for me, keep in mind that sooner or later I will have to sell it to someone else. Therefore, it should appeal to a wide variety of potential buyers. Make sure before you finalize the plans that there is a consensus of the population in my area that they like the features of my house.

I suggest you run up and look at my neighbor's house he built last year. We like it a great deal. It has many features we would also like in our new home, particularly the 75-foot swimming pool. With careful engineering, I believe you can design this into our new house without impacting the final cost.

Please prepare a complete set of blueprints. It is not necessary at this time to do the real design since these blueprints will be used only for construction bids. Be advised, however, that you will be held accountable for any increase in construction costs as a result of later changes.

You must be thrilled to be working on a project as interesting as this! To be able to use the latest techniques and materials, and to be given such freedom in your designs, is something that can't happen very often. Contact me as soon as possible with your complete plans and ideas.

P.S. My wife just told me she disagrees with many of the instructions I've given you in this letter. As architect, it is your responsibility to resolve these differences. I have tried in the past and have been unable to accomplish this. If you can't handle this responsibility, I will have to find another architect.

P.P.S. Perhaps what we need is not a house at all, but a travel trailer. Please advise me as soon as possible if this is the case.  

27/07/2004

WIFI in Malaysia --- and Another Exhibition

Category


A picture named M2For 2 days I'm exhibiting ePLATO in Kuala Lumpur, Malaysia. The complex the conference cum exhibition is located also features a resort hotel, a night life spot and a huge shopping centre. Starbucks Grande Latte goes at USD 2.50 vs. USD 3.05 in Singapore. Our booth is not very spectacular, however on the first day we collected a number of excellent leads. It seems our regional focus and the mix of product and services looks attractive to our clients.
I can't comment on our hotel, since I don't care for hotels very much. My colleagues are pleased with location, rooms and service. Internet per day goes at 6.60 USD. I can use my room TV, my laptop through a 100MBit connection (local) or via WiFi at the convention centre.
Being curious about WIFI offerings I went and checked out the local providers: The bad news: WIFI for roaming users (read: using IPASS) is 6.5Cent a minute. The good news: if you have a colleague with a MAXIS phone subscription (s)he can send a SMS and get access for a whole day at 1.32 USD. This is quite reasonable. Gaining access for a week goes at 5.27 USD, a month sets you back 10.00 USD and a (prepaid) full year is 96.85 USD. This translates yo just 27cent a day. For this money I not even get 5 minutes access in Singapore. With a pricing like this WIFI usage is fun. An in deed every second table at Starbucks had a laptop on it.

16/06/2004

Presenting on eLearning

Category
Today I will present our new project ePlato EduWare System to Microsoft and their business partners. eLearning is all en vogue in Singapore right now. However your mileage there does vary quite a bit. So my opening slide is this:

A picture named M2

03/05/2004

GSM Command line

Category
I recently switched from Nokia to Ericsson with my mobile phone. So I got confused with the menus and where to find stuff. Then I remembered: GSM Phones come with their own command line. Every setting, that is carrier side (like call divert) has a shortcut you can type in without digging into the logic the UI designer of your phone had in mind (or hadn't). My personal cheat sheet:
Command line Function
**004*<TargetNo />#<SEND /> Activate all conditional diverts
##004#<SEND /> Deactivate all conditional diverts
**21*<TargetNo /><SEND /> Divert all calls to <TargetNo />
*21#<SEND /> Divert all calls to previously set number
*#21#<SEND /> Status of unconditional divert
##21#<SEND /> Deactivate call diverts
**61*<TargetNo />#<SEND /> Divert when call not answered
**61*<TargetNo />**<No of seconds to ring, max 30 />#<SEND /> Activate Call Divert when not answered, set numbers of seconds to ring
*#61#<SEND /> Status of Call divert when not answered
##61#<SEND /> Cancel Call divert when not answered
**62*<TargetNo /><SEND /> Call Divert when not reachable
*#62#<SEND /> Status of Call Divert when not reachable
##62#<SEND /> Cancel Call Divert when not reachable
**67*<TargetNo />#<SEND /> Call Divert when busy
*#67#<SEND /> Call Divert when busy
##67#<SEND /> Cancel Call Divert when busy
See the full list here. Your mileage my vary!

16/04/2004

Web page security

Category
There is a nice real word "tutorial" available how NOT to secure your websites. On this site you can test your skills of breaking into some access restricted web page. There are 16 levels to master, the final one is against the Apache authentication (guess how far I got ).
Good fun and an eye opener for fans of security by obscurity.

24/01/2004

Gong Xi Fa Cai --- and fried fish Haka style

QuickImage Category

A 106 year old Lady with a good sense of humour
Happy new year to all of you. Shall the Year of the Monkey be the end to all monkey business to all of us!
The picture above shows my wife and her grandmother. The lady is 106 years old and has a good sense of humour. She actually contributed to one of the stories I use when teaching about software analysis and change management.
Since I'm very curious about cultures, the fact that I'm living in an intercultural relationship gives me ample leeway to explore similarities and differences. One day my wife was preparing fried fish Haka (the Chinese tribe she belongs too, the same like the founding father of modern Singapore) style.

20/01/2004

Joel on Software Meeting

Category

The online and real world start to intersect more and more. Seems like William Gibson was right. I hope that. I on the other hand have the feeling it is more like John Brunner.
Nevertheless, if you are around, join us for a Joel meeting on every 3rd Wednesday in a month:


find out more at joelonsoftware.meetup.com

11/01/2004

Develop your software in a team

QuickImage Category

I've done some review of a large Domino system today. There was a team of developers quarelling for how to do it and who has to do it. The result reminded me, that TEAM is an acronym in German and stands for "Toll Ein Anderer Machts" (means: Great somebody else is doing it). I was so impressed, I only could recommend this product from this great company. (I admit, I HATE motivational posters.

04/11/2003

Talk on “How Prototyping Helps to Develop Better Quality Software”

Category
Back on stage... On 12 Nov. I will present to the Singapore Computer Society on “How Prototyping Helps to Develop Better Quality Software”. If you happen to be in Singapore, join us. Details can be found on the SCS Website

17/08/2003

Ban The Reports!

Category
I do a lot of requirement analysis and software specifications. It is exiting work because you never know what you will get in the end. Researching what is needed includes contextual enquiries, workplace artifacts, paper prototypes, focus group, competitor analysis etc. Since no system is an island any more users have certain expectations. One of it I find very funny/irritating/stupid/brainwashed/unreflected/conditioned* (*make your pick): "We want reports".  I usually tell users  in the new system: "Reports are forbidden!" After the panic attack settles I explain why. Don't get me wrong: Software that creates reports is not forbidden. I even made them part of my standard solution building blocks (I like Crystal Reports, it's siblings, Intelliprint (for Notes), PDFPump and ShowBusiness Cuber ). However I stand firm: Ban the Reports!  

17/08/2003

Outsourcing IT jobs.

Category
There a big concerns about IT jobs leaving the US and heading to other countries, Luckily the worries can be buried. We in Asia can't beat the prices this US company can offer, also the don't have human working conditions.

Disclaimer

This site is in no way affiliated, endorsed, sanctioned, supported, nor enlightened by Lotus Software nor IBM Corporation. I may be an employee, but the opinions, theories, facts, etc. presented here are my own and are in now way given in any official capacity. In short, these are my words and this is my site, not IBM's - and don't even begin to think otherwise. (Disclaimer shamelessly plugged from Rocky Oliver)

© 2003 - 2010 Stephan H. Wissel - all rights reserved as listed here: Creative Commons License
Unless otherwise labeled by its originating author, the content found on this site is made available under the terms of an Attribution/NonCommercial/ShareAlike Creative Commons License, with the exception that no rights are granted -- since they are not mine to grant -- in any logo, graphic design, trademarks or trade names of any type.

Get Firefox Use OpenDNS