Recently I have been receiving e-mail message with attachment called WinMail.dat and is puzzled to find out how to decode it.
I am happy to report that I have found a free Windows Tool called "WinMail Opener". Good work guys! Many thanks for this great tool.
It is indeed very small and experimentation indicates that I can zip (or XCopy) the installed version and run it elsewhere without the need to go through installation.
A site devoted to discussing techniques that promote quality and ethical practices in software development.
Friday, June 22, 2012
Tuesday, June 19, 2012
We need bi-weekely repeat of events in Samsung Note's Planner
I have found this missing rather disturbing and annoying.
This question has been posted in 2010 and is so annoyingly missing in my Samsung Galaxy Note running Android version 4.0.3.
Bi-weekly events happen more often than most people (read Android developers) thinks. It is available in iPhone, in Outlook for a loooooong time, my Thunderbird with Lightning plug-in can do it, my Windows Live Mail's calendar can do it. So Microsoft can do it but Google can't do it?
But why Android developers can't implement this feature, which to many is essential. The fact that this support is available in the above mentioned list of appointment & planner clearly indicates that this is not such a difficult programming exercise.
The only conclusion that I can draw is that this is another case of developers wanting to do something different rather than something essential. As a result it makes your software sucks.
Failing to support basic requirement is not cool and not smart at all. Your failure to include this kind of essential features turns a smartphone a dumb phone. Now I have to put all my bi-weekly events on my Thinderbird on my laptop despite the availability of thousands of Android Apps out there! It is a joke.
Talking about Calendar, on another tablet running Android 3.2, I fail to understand why defining an event on the Calendar apps running on that tablet requiring me to open and log into a Google Account? I do not need to do so in my Windows Live Mail, Outlook, or Thunderbird.
To put Calendar event on Google's Calendar should be the decision of the owner of that tablet/device and has nothing to do with Google's imposition. At least in my Android 4.0.3, I do not have to be tethered to a Google Account.
This question has been posted in 2010 and is so annoyingly missing in my Samsung Galaxy Note running Android version 4.0.3.
Bi-weekly events happen more often than most people (read Android developers) thinks. It is available in iPhone, in Outlook for a loooooong time, my Thunderbird with Lightning plug-in can do it, my Windows Live Mail's calendar can do it. So Microsoft can do it but Google can't do it?
But why Android developers can't implement this feature, which to many is essential. The fact that this support is available in the above mentioned list of appointment & planner clearly indicates that this is not such a difficult programming exercise.
The only conclusion that I can draw is that this is another case of developers wanting to do something different rather than something essential. As a result it makes your software sucks.
Failing to support basic requirement is not cool and not smart at all. Your failure to include this kind of essential features turns a smartphone a dumb phone. Now I have to put all my bi-weekly events on my Thinderbird on my laptop despite the availability of thousands of Android Apps out there! It is a joke.
Talking about Calendar, on another tablet running Android 3.2, I fail to understand why defining an event on the Calendar apps running on that tablet requiring me to open and log into a Google Account? I do not need to do so in my Windows Live Mail, Outlook, or Thunderbird.
To put Calendar event on Google's Calendar should be the decision of the owner of that tablet/device and has nothing to do with Google's imposition. At least in my Android 4.0.3, I do not have to be tethered to a Google Account.
Sunday, May 13, 2012
Running Gnu Privacy Assistant in Ubuntu 12.04
Ever since the release of Ubuntu 11.10, GPA (Gnu Privacy Assistant) has been removed from the repository because it crashes in Linux/Ubuntu.
This has held me back from upgrading to the newer version of Ubuntu. As they say necessity is the mother of all invention except that in this case the invention is about finding a work around to this annoying problem. The good news is that the work around is simpler than I thought.
It appears the crash when running the Natty version of GPA is caused by some kind of security issue or restriction. Here is the work around:
This has held me back from upgrading to the newer version of Ubuntu. As they say necessity is the mother of all invention except that in this case the invention is about finding a work around to this annoying problem. The good news is that the work around is simpler than I thought.
It appears the crash when running the Natty version of GPA is caused by some kind of security issue or restriction. Here is the work around:
- Download and install a copy of GPA (0.9.0-1).
- After successful installation, you can run GPA by launching it from the Terminal as follows:
sudo gpa
Friday, April 27, 2012
In search of free UML tools
Ever since BoUML has gone commercial and that I have stupidly installed the upgrade, I have lost the use of a very capable UML tool. Hence I have to embark on a search of free UML tools that primarily run in Ubuntu. I am not particularly concerned if they do not work in Windows at all.
As part of my journey, I revisited my old friends, such as ArgoUML, Dia UML, UMLet. With the help of this Wikipedia page on UML and supplemented with my exploration of Ubuntu's Software Center, I have managed to find a few new ones.
Previously unknown to me are Umbrello UML, Software Idea Modeler, and Modelio, which has an open-source (free) version and a commercial edition.
Many of them are rather skimpy on UML treatments other than drawing the UML artefacts. A proper UML tool is more than just a pretty drawing tool. Dia and UMLet belong to the class that treat each drawing as separate unlinked diagram. In these tools, changing, for example, the class name in the class diagram does not automatically propagate to say the sequence diagram.
As a result, they represents some extremely lightweight UML tool; a shade better than a drawing tool.
Three areas that I am particularly interested in and they are:
If you know of how to perform the above 3 requirements in the above mentioned tools or that you have found more competent free UML tools, feel free to submit your comments and recommendations.
As part of my journey, I revisited my old friends, such as ArgoUML, Dia UML, UMLet. With the help of this Wikipedia page on UML and supplemented with my exploration of Ubuntu's Software Center, I have managed to find a few new ones.
Previously unknown to me are Umbrello UML, Software Idea Modeler, and Modelio, which has an open-source (free) version and a commercial edition.
Many of them are rather skimpy on UML treatments other than drawing the UML artefacts. A proper UML tool is more than just a pretty drawing tool. Dia and UMLet belong to the class that treat each drawing as separate unlinked diagram. In these tools, changing, for example, the class name in the class diagram does not automatically propagate to say the sequence diagram.
As a result, they represents some extremely lightweight UML tool; a shade better than a drawing tool.
Three areas that I am particularly interested in and they are:
- Class derivation with the derived class capable in the UML tool to select which base class operations it can override.
- Similarly when a class realizes an interface, the tool should offer an automatic means to implement all the interface's methods without one manually duplicating them.
- Component can indicate to have provided and/or required interfaces.
If you know of how to perform the above 3 requirements in the above mentioned tools or that you have found more competent free UML tools, feel free to submit your comments and recommendations.
Sunday, March 18, 2012
What is more difficult - to think and to do something - follow on
In my previous post, I pondered on this topic and wonder if the experiment in MIT laboratory in studying habit can explain them.
Since then I rediscovered a study [Hadar] published in May 2008 that seems to attempt to answer similar question but more specifically directed to OO design.
Apparently
The intuition, as discussed in this paper, is explained based on the Dual-Process theory, credited to D. Kahneman, which states that
I wonder if this explains why it is much easier to get "experienced" people to do work (the S1 process at play or the assisted and influenced by habits) while harder to get someone to think (the S2 process and the need to counter to what habits may lead to)?
I am also wondering if S1 relates to the Accidental Tasks while S2 is to Essential Tasks in software development as elaborated long ago in the "No Silver Bullet" paper by Brooks?
Since then I rediscovered a study [Hadar] published in May 2008 that seems to attempt to answer similar question but more specifically directed to OO design.
Apparently
the formal OO paradigm has come to sometimes clash with the very intuitions that produced it. Thus while objects, classes, and inheritance certainly have an intuitive flavour, their formal version in OOD is different in important ways from their intuitive origins.
Dual-process theory, imported from contemporary cognitive psychology, highlights the underlying mechanism of those situations where our intuitions clash with our more disciplined knowledge and reasoning..... Highly accessible features will influence decisions, while features of low accessibility will largely ignored.
The intuition, as discussed in this paper, is explained based on the Dual-Process theory, credited to D. Kahneman, which states that
our cognition and behavior operate in parallel in two quite different modes, called System 1 (S1) and System 2 (S2), roughly corresponding to our common sense notion of intuitive and analytical thinking.The paper is worth reading as it describes experiments with experienced developers rather than using students.
... S1 processes are characterized as being fast, automatic, effortless, unconscious, and inflexible (difficult to change or overcome). In contrast, S2 processes are slow, conscious, effortful, and relatively flexible. In addition, S2 serves as monitor and critic of the fast automatic responses of S1, with the "authority" to override them when necessary. In many situations, S1 and S2 work in concert, but there are situations ... in which S1 produces quick automatic non-normative responses, while S2 may or may not intervene in is role as monitor and critic.
I wonder if this explains why it is much easier to get "experienced" people to do work (the S1 process at play or the assisted and influenced by habits) while harder to get someone to think (the S2 process and the need to counter to what habits may lead to)?
I am also wondering if S1 relates to the Accidental Tasks while S2 is to Essential Tasks in software development as elaborated long ago in the "No Silver Bullet" paper by Brooks?
[Hadar] "How intuitive is Object-Oriented Design?" by Irit Hadar and Uri Leron, CACM May 2008/Vol 51 No. 5, pp 41-46
[Brooks] "No Silver Bullet - Essence and Accidents of Software Engineering", Frederick P. Brooks, Jr. IEEE Computer April, 1987. Vol 20 No. 4, pp 10-19
Labels:
General,
Software Development
Wednesday, February 29, 2012
What is more difficult - to think or to do something?
I always ponder what is more difficult? To think of solving a problem or dealing with a situation or simply doing something to attack the problem or situation.
I have observed over several years when I worked with developers of different levels and come away with a view that is more difficult to get someone to think (as in an analysis or design). It seems most developers are only too happy to do something whatever comes naturally, which may or may not produce the best solution.
Why is it harder to think? I wonder.
Recently, I come across an article which reports some experiments to study what is habit and how it influences one's action. Perhaps this is the answer, to think requires more mental activities and needs to overcome habits, which may not directly applicable to the task in hand (close but not exactly). Allowing the brain to select the right chunk reduces the brain activities and put oneself into an almost automatic mode.
But like many things in life: it is much easier to form bad habits than good and this increases the chance to apply bad habits than good resulting in inferior performance.
I have observed over several years when I worked with developers of different levels and come away with a view that is more difficult to get someone to think (as in an analysis or design). It seems most developers are only too happy to do something whatever comes naturally, which may or may not produce the best solution.
Why is it harder to think? I wonder.
Recently, I come across an article which reports some experiments to study what is habit and how it influences one's action. Perhaps this is the answer, to think requires more mental activities and needs to overcome habits, which may not directly applicable to the task in hand (close but not exactly). Allowing the brain to select the right chunk reduces the brain activities and put oneself into an almost automatic mode.
But like many things in life: it is much easier to form bad habits than good and this increases the chance to apply bad habits than good resulting in inferior performance.
Labels:
General
Friday, February 17, 2012
LibreOffice Base 3.5.0 fixes MS Access Connectivity problem
It is nice to see LibreOffice Base version 3.5.0 (Windows Edition) has fixed the MS Access Connectivity Problem reported previously.
Labels:
LibreOffice,
MS Office
Subscribe to:
Posts (Atom)