A site devoted to discussing techniques that promote quality and ethical practices in software development.

Showing posts with label General. Show all posts
Showing posts with label General. Show all posts

Saturday, March 28, 2015

Installation recommendation for PDFCreator 2.1.0

For those intend on installing PDF 2.1.0, you are recommended
  1. to download it, 
  2. turn off your network connectivity, 
  3. before running the installation package. 

This is because the installation script produces very much the same undesirable behaviour. Turning off the network connective during installation prevents it from calling home to download other crapware.

If you are running AVG 2015, it will pick up the presence of OpenCandy, "Adware AdLoad.OpenCandy", since it is a crapware, it is best to let AVG's residence shield to toss it away - no loss at all.

Below is the brief outline of what happen to the installation process with no network connectivity (assuming no AV to intercept the presence of OpenCandy crapware).

In fairness, I do not believe PDFCreator intends on planting OpenCandy into your machine. Detail probing of the installation process seems to indicate that some programming error is responsible for the left over of "OpenCandy's recommendation engine p101, version 2.0.0.156" (OCSetupHlp.dll) in the temporary directory. The presence of this file can cause your AV to report the presence of OpenCandy threat during routine scanning.

PDFCreator installation script also generates a copy of the set up log in "c:\Program Files\PDFCreator\SetupLog.txt". There also seems to be a programming error that left the temporary copy (original copy) of this file of the format "Setup Log yyyy-mm-dd #xxx.txt" in your temporary directory.

When one initiates the set up program, it creates two temporary directories of the format is-XXXXX.tmp. One is to hold the actual installation program PDFCreator-2_1_0-Setup.tmp and the other is to hold various files that it needs during the installation program. You can find the list in the Set up log. One of them is the "OpenCandy recommendation engine p101" OCSetupHlp.dll version 2.0.0.156.

At the early stage of installation process, this DLL is not used, see comment below, and if you hate OpenCandy, delete it now and in fact that is what AVG did when it picks up the presence of OpenCandy and that you instruct it to remove the threat.

After you have selected the options to install, the program will run smoothly to completion. In my execution (not installing "PDF Architect") I never allow the last dialog box to launch PDFCreator.

Investigation using ProcMon on the interaction of the PDFCreator setup program with OpenCandy records the following observations:
  1. Towards the end of the installation phrase, the installation script launches RunDll32.exe to invoke OCSetupHlp.dll with the entry point using exported function 16 and the optional parameter seems to indicate an intention to perform IPC with the parent process. The purpose of this is still a mystery.
  2. The installation script's clean up process then deletes the files such as InstallCheck.exe, etc in the temporary directory
  3. It fails to delete OCSetupHlp.dll because RunDll32.exe is still running using it. The installation program attempts to delete this file 31 times before giving up.
  4. Once all the files are 'deleted', including the failed one, it tries to delete the directory but fails.
  5. At the end it simply ignores those failures and completes the installation.
The presence of the installation program trying numerous attempt to delete OpenCandy crapware only to be faulted by their programming error and the lack of sign of it trying to plant this engine elsewhere suggest to me that PDFCreator does not have any intention of using OpenCandy in the execution of the program.

You cannot delete OCSetupHlp.dll at the completion of the installation program until you have terminated the RunDll32.exe process holding this DLL. The best way to find the process holding onto this DLL is to run ProcExp and then search for the OCSetupHlp.dll. Alternately, log off and log back on and you can delete this file. It is highly recommended that you delete OCSetupHlp.dll to avoid your AV finding it in routine scanning.

Once RunDll32.exe is terminated you can delete OCSetupHlp.dll and to satisfy your concern, run your AV scanner over your system or use something like MalwareBytes.

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

... 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.
The paper is worth reading as it describes experiments with experienced developers rather than using students.

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

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.

Monday, March 22, 2010

The plight and suffering of modern photographer

Have you ever noticed today's digital cameras have increased their resolution from a small 2M pixels to a whopping 9 or even higher resolutions? This acceleration in their unquenchable quest for forever higher and higher resolution is largely aided by the availability of cheap storage medium. It used to be very expensive to buy a 4G SD card for the camera but not anymore. 32G is sort of not rare anymore.

Even today's non-professional and non-digital SLR cameras are sporting resolution in the 8M Pixels upwards. Even mobile phone cameras are also marching to the same tune. Each manufacturer tries to out do the other in the resolution department.

The unfortunate consequence of owning one of these high resolution cameras is that the Internet e-mail system has not caught up with the camera evolution. As a result, many owners of these camera are unable to send their snap shorts to their friends and love ones.

Without a mobile phone tethered to the Internet, the only option open to them is to download the photographs to their computer and then use a digital imaging software like Picasa to shrink the size down to a Internet e-mail friendly 1-2M bytes size photos that they can send out without arousing the wrath from the recipient. Even with a mobile phone capable of sending digital images, those high resolution ones will incur the wrath from the recipient for clogging up their inbox.

This to me sounds like a 2-step advancement and 3-step back. Stupid and not utilizing technology in the way to benefit human.

Since storage media is cheap, why doesn't camera manufacturers introduce a system whereby when you take a shot, it generates two images - one of very high resolution while the other one is of Internet e-mail size about say 0.5-1.5 Mbytes with user selectable resolution. They now have digital cameras with dual screen so why not have dual-image camera?

With this system, a user, particularly not technically savvy user, will be able to reclaim the joy they once enjoyed for distributing the digital snapshots to their friend and love ones so conveniently. Just send the small one that can easily be identified by some creative naming scheme.

With the current crop of cameras, while their image is sharper but they have lost that convenience and joy to share their snapshots on the Internet.

I strongly argue that taking away that joy and convenience they once had is a retrograde step. Canon, Casio, Pentax, Nikon, etc. what do you think?

Saturday, March 6, 2010

Chicken and egg story

There is always no shortage of pundits when it comes to easing congestion. Take this 'expert' view for an example. All one knows is to slug people with more and more taxes. What happen to all the fuel excise, initially introduced to encourage oil exploration (now more like exploration of grandiose scheme of public wastage)?

If you do not provide public transport, funded by already collected taxes or government borrowing, who is willing to desert other form of transportation, often the only viable form? Do you expect people to use sardine express, ultra-infrequent bus service or walk?

These pundits are wise to take a flight to other world cities to study how much they spent on their infrastructure developments as opposed to those in Australia. Over 30 years, there was hardly any advancement in infrastructure spending or development; it was more of the same, just to get-by, since the displacement of the horse drawn buggy days. Successive governments lack vision, courage, conviction and innovation.

How many high speed train service have you seen in Australia? In the 21st century, Australia still has no uniform gauge train service allowing goods to be transported from Cairns to Perth or from Darwin to Brisbane. How many Australia city has introduced rapid transport system?

No wonder people prefer to use their cars to look after themselves when the governing body has abdicated their responsibility. And no wonder the only option Australian pundits can offer is another form of tax as taxation is the most durable 'innovative' industry in Australia. And also the easiest way out - any fool can just put up tax.

Monday, February 15, 2010

Hallelujah - Well said

Well this is not a religious blog post but an echo of total support of Jaron Lanier's comments:
Yet we continue to overestimate the potential of computers and the web to behave intelligently, talking down the power of our own brains and consciousness and talking up the abilities of the machines.


"People often make themselves stupid to make the machines seem smart," says Lanier. "We are flooded with information but the only reason we are flooded with information is that the people who designed the software systems don't know the difference between quantity and quality. So if you design something like Twitter where people are encouraged to say, 'Oh, I just had a sandwich', then of course it will be flooded. To design systems like that and then to say, 'Now we have this intelligent software to filter it,' is ridiculous."
People thinks computer is smart being able to do all these calculations and marvelous things not realizing that it is the human brain that creates all these programs.

How many time people sing praises about how powerful Google/Bing search engines are but not realizing how simplistic their approach is. Give your search engine a search criteria that contains phrases that you want to include (may or may not have to presented in the given order) but excluding other given ones to see how relevant are the search results come back. Human do not search things just be the present of atomic words with no regards to ordering?

If you do not believe me, try to search the Net for manual method for removing some stubborn malware. You will be bombarded by sales pitch stuff, jamming your web browsers with totally irrelevant scan reports, and things disguised as helpful tools but in fact rogue security software. The only thing missing, if not like find a needle in a haystack, is the really useful manual removable technique supported by proper technical explanation (not it just works) from authority in the matter. The quality of the Net has definitely gone downhill.

Thursday, February 4, 2010

Brisbane Office Vacancy rising - one possible explanation

Well, it was reported that Brisbane CBD average of 5.1 per cent and is the highest vacancy in the CBD since January 1995 and one possible explanation is Mincom's contribution by making 30 people redundant end of Jan 2010.

Tuesday, December 22, 2009

Delusional plan

Stephen Conroy is not renown for making any intelligent contribution to Australian society and definitely not renown for possessing a great deal of knowledge on anything - including Intenet, Digital Media, and now traffic management. His latest delusional contribution to his vast collection of bloopers (mind you tax payers funded bloopers) is:
he was confident that placing speed humps every 100 metres on all Australian freeways would protect children - reducing accidents by 100 percent with a "negligible" impact on traffic congestion and travel times. The plan was supported by traffic management trials which had only been conducted in suburban back streets.
Anyone with a shred of intelligence will immediately asked why would children, or to matter any human or animals, be allowed onto a freeways. All freeway entrances have big signs declaring what are permitted to go onto a freeway. 

Is Conroy deluded into thinking freeways are synonymous with suburban back streets?

Is he confused with children inside a car in an accident that could harm them? May be he should ban cars carrying children to use freeway. Or banning children riding in a car at all. That will definitely reduced children injured in car accident by 100%. Banning thing is a widely practice by our authoritarian politicians who lack communication and persuasive skill. This is equally a stupid idea and may be that is Conroy's plan B. Who knows and I will not be the only one surprise if it turned out to be.

Sunday, December 20, 2009

Wrong assumption and big blunder

This would be funny if not deadly serious. How can a company producing military drones can be so stupid:
The problem was uncovered in July 2009, when the US military found files of intercepted drone video feeds on the laptop of a captured militant, intelligence and defense officials told the Journal.

They discovered "days and days and hours and hours of proof," an unnamed source said.

"It is part of their kits now."

Some of the most detailed examples of drone intercepts have been uncovered in Iraq, but the same technique is known to have been employed in Afghanistan and could easily be used in other areas where US drones operate.

The US government has known about the flaw since the 1990s, but assumed its adversaries would not be able to take advantage of it, the Journal said.

Adding encryption to a decade-old system requires upgrading several components of the system linking drones to ground control.

One of the developers of SkyGrabber, which is made by Russian company SkySoftware, told the Journal he had no idea the program could be used to intercept drone feeds
Even your mobile phone has more security and encryption from the handset to the base station than something meant to perform the task stealthily. It is just arrogant and stupid to assume your adversaries is dumb. I am wondering who is dumber now.

Tuesday, November 10, 2009

What does a decrease by a negative amount mean?

Recently I caused some share movement by amalgamating several holdings into one. As a result of my action, I received notification from the registry describing the movement.

But I am puzzled by this: under the column marked 'Decrease', it has a negative amount. To my mathematical mind, I would have thought a decrease (negative of increase) of a negative (double negative) would produce a positive number. Like calling a C++ function like this:

int Dec( int &var, int amount )
{
     return var -= (amount);
}

So if you have this:
int x = 100;
int y = Dec( x, -10 );
assert( x+10, y ); // as any logic will tell you.

If the registry intends on using negative amount to indicate reductions, it should display that figure in the 'Increase' column and the sum would come out right. Perhaps the company has not gotten around to amalgamate the 'Increase' and 'Decrease' columns into one 'Movement' column.

Saturday, October 10, 2009

I just love this quote...

Some times ago, I by accident came across this quote by a Poet Janet Minor:
"I have a spelling checker
It came with my PC;
It plainly marks four my revue
Mistakes I cannot sea.
I've run this poem threw it,
I'm sure your pleased too no,
Its letter perfect in its weigh,
My checker tolled me sew.
I frequently come across code that resembles something like this passage; all syntactically correct but full of runtime error.

Sunday, August 2, 2009

Customers/Consumers of electronic services always considered last

Recent report of the way Amazon resolving an essentially business transaction with its supplier just simply highlights the power of supplier of electronic services over customers or consumers that this kind of unfettered power is not permitted in other forms of service provision.

Why should something rendered as 1-and-0 be allowed to be treated any differently from something tangible? If it is tangible, Amazon will be prosecuted for break-and-entering and thief. But when it is delivered in 1-and-0's, it escapes scot free. Why is this be allowed or difference exist? Apple is a master in this kind of kind of practices.

This kind of attitude - it is better to get the customers to foot the bill for the provider's problems or mistakes - is wide spread in software world and it is time the license should be written to provide a more level playing field, subjecting to commercial software to public scrutiny is a start.

Monday, May 18, 2009

Why would some company want to project having a blurred vision?

I have seen companies wanting to project themselves as having clear vision but have not heard of one wanting to advertise itself as having a blurred vision until I was shown the one.

See for yourself. Below is a company's propaganda poster, doctored to hide the company name & logo saving it from embarrassment. I was told it was plastered all over the hallway prominently.

Perhaps, there is some truth in that poster!

Friday, March 20, 2009

Is there such a word as 'besting'?

I was reading an article on IE8 from InformationWeek and came across this usage that makes me feel uncomfortable:
NSS Labs released an independent study early Thursday showing IE8 significantly besting Mozilla Firefox, Apple Safari, Google Chrome, and Opera in catching and blocking malware. With its SmartScreen filtering, IE8 Release Candidate 1 caught 69% of malware, while Firefox 3.07 caught only 30%.
Emphasis is mine.

Is there such a word called 'besting'. I know Good, Better and Best but Besting? Come on! Surely geek writing does not mean bastardization of English.

Tuesday, March 10, 2009

So beautifully put

I've come across a poem by Janet Minor that sums up so beautifully and entertaining the danger of trusting blindly your spell checker in your word processor and it is reproduced here:
I have a spelling checker
It came with my PC;
It plainly marks four my revue
Mistakes I cannot sea.
I've run this poem threw it,
I'm sure your pleased too no,
Its letter perfect in its weigh,
My checker tolled me sew.
I have seen this kind of malpractice in software development where developers cannot tell the difference between a piece of compiler-happy code and run time logically correct piece of code.

Tuesday, November 11, 2008

Who's afraid of new technology?

Recently, Rupert Murdoch, the chairman of News Corp, is asked to present the 2008 Series of Boyer Lectures. The second lecture bears the title of this blog message, contains something worth remembering and pondering:
But technology will do you no good unless you have men and women who know how to take advantage of it. That leads me to my second point: the growing importance of human capital. In other words, an educated and adaptable population.

[snip]

That's because computers will never substitute for common sense and good judgment. They will never have empathy, either. To be successful, a business needs people who see the big picture, who can think critically, and who have strong character.

Economists call these skills 'human capital'. You won't find this capital listed on a corporate balance sheet. But it is the most valuable asset a company has. If you talk to any chief executive about his number one challenge today, he will probably not say technology. It's far more likely he will say his top challenge is attracting and retaining talented people.

[snip]

If you are a worker, you have an even greater incentive to invest in yourself....

My point is this: as technology advances, the premium for educated people with talent and judgment will increase. In the future, successful workers will be those who embrace a lifetime of learning. Those who don't will be left behind.

That may sound harsh. But it is a truth we must face. And it is a great opportunity for us all.

For most people, adapting to the changes that are coming will require moving out of comfort zones.

Moving out of comfort zones begins with education.


Saturday, August 30, 2008

Difference in Word Counts between Microsoft Word and Open Office

Recently, I was alerted to cases where word counts, often used as assignment benchmark, produced by Microsoft Word and Open Office appear to differ when analysing the same document.

How much do they differ or is there trend? To understand this phenomenon, a number of Word documents are used; some have extensive diagrams while another is a pure text produced from a very large document containing diagrams, tables etc.

Here are the results:
There does not appear to be any trend from these data samples and hence more investigations are required.

It is interesting and educator relying on the Word Count may have to be aware of this issue as more and more students are using Open Office.

Saturday, August 9, 2008

Why software fails

According to this article:
The biggest tragedy is that software failure is for the most part predictable and avoidable. Unfortunately, most organizations don't see preventing failure as an urgent matter, even though that view risks harming the organization and maybe even destroying it. Understanding why this attitude persists is not just an academic exercise; it has tremendous implications for business and society.
[...]
Among the most common factors:
• Unrealistic or unarticulated project goals
• Inaccurate estimates of needed resources
• Badly defined system requirements
• Poor reporting of the project's status
• Unmanaged risks
• Poor communication among customers, developers, and users
• Use of immature technology
• Inability to handle the project's complexity
• Sloppy development practices
• Poor project management
• Stakeholder politics
• Commercial pressures

If the software coders don't catch their omission until final system testing—or worse, until after the system has been rolled out—the costs incurred to correct the error will likely be many times greater than if they'd caught the mistake while they were still working on the initial sales process. And unlike a missed stitch in a sweater, this problem is much harder to pinpoint; the programmers will see only that errors are appearing, and these might have several causes. Even after the original error is corrected, they'll need to change other calculations and documentation and then retest every step.
[snip]
In fact, studies have shown that software specialists spend about 40 to 50 percent of their time on avoidable rework rather than on what they call value-added work, which is basically work that's done right the first time. Once a piece of software makes it into the field, the cost of fixing an error can be 100 times as high as it would have been during the development stage.

If errors abound, then rework can start to swamp a project, like a dinghy in a storm. What's worse, attempts to fix an error often introduce new ones. It's like you're bailing out that dinghy, but you're also creating leaks. If too many errors are produced, the cost and time needed to complete the system become so great that going on doesn't make sense.

But this is 'the commercial approach' where companies are all too happy to attempt to manage bug reports from customers slavishly. Furthermore,
software developers don't aim to fail...we need to look at the business environment, technical management, project management, and organizational culture to get to the roots of software failures. Chief among the business factors are competition and the need to cut costs. Increasingly, senior managers expect IT departments to do more with less and do it faster than before; they view software projects not as investments but as pure costs that must be controlled. Political exigencies can also wreak havoc on an IT project's schedule, cost, and quality.

The follow advice should be heeded by all in software development:
Organizations are often seduced by the siren song of the technological imperative—the uncontrollable urge to use the latest technology in hopes of gaining a competitive edge. With technology changing fast and promising fantastic new capabilities, it is easy to succumb. But using immature or untested technology is a sure route to failure.
[...]
Bad decisions by project managers are probably the single greatest cause of software failures today. Poor technical management, by contrast, can lead to technical errors, but those can generally be isolated and fixed. However, a bad project management decision—such as hiring too few programmers or picking the wrong type of contract—can wreak havoc.
[...]
In IT projects, an organization that values openness, honesty, communication, and collaboration is more apt to find and resolve mistakes early enough that rework doesn't become overwhelming.
[...]
Even organizations that get burned by bad software experiences seem unable or unwilling to learn from their mistakes.
Here is the "Hall of shame" of software and interesting to see a fair share of shame is with ERP software.

Monday, April 7, 2008

Brisbane Transport Smart Card tries to out smart its customers

Recently, Brisbane introduced its transport smart card system called Go Card that comes with its sets of rules and additional benefits to entice the Brisbanites to give up the extremely generous paper ticket to use this system.

There are no shortage of blog messages alleging that this is an underhand way of getting more money out of the Brisbanites. Is this true? Is it trying to out smart its denizen?

Analysis using their published fare table for train journey confirms the allegations are well founded. For example, the followings are based on 2 journeys per day:
  1. For travelers buying monthly tickets, Go Card saves you money if you travel 4 days or less.
  2. It seems Go Card is targeting less frequent traveler or those using public transport on ad hoc basis. In this case, the never-expire store value compared to finite expiry day associated with paper ticket is a definite attraction.
  3. It seems Go Card is set to break even on Monthly ticket price and that the traveler travels 5 days, except for distance (>10 zones ) travelers. This is ignoring the money for Go Card's deposit.
  4. For people living more than 3-zones, the 3, 6, and 12 months ticket is more cost effective than Go Card.
  5. For people living in 3-zones or less, Go Card is more cost effective with 6, or 12 months ticket.
Of course, the Go Card cannot match the benefit of paper ticket that allows you to travel unlimited trips within the same zone coverage. If you rely heavily on public transport, paper ticket is way to go. The Go Card becomes really expensive the more you travel irrespective of your ticket purchasing pattern.

So it seems the government is trying to use the convenience sales pitch of Go Card to out smart the consumers and to discourage people to use public transport.

Tuesday, March 25, 2008

Get WSJ articles for Free

The other day, I was shown of a technique to get WSJ articles for nothing. Apparently WSJ releases some articles to allow Google to present them in the News section.

There are several issues with this technique:
  1. There are some links on www.wsj.com that are only accessible to subscribers and if you can't activate those pages, you cannot see the titles of those articles nor can you bring up portion of those pages. For example, the link for 'US Business' is only accessible to subscriber.
  2. The technique seems to be back to front under utilizing the power of Google's search engine.
Surely, there is a better way and indeed there is and below is a better way:
  1. Open your browser and go to www.google.com
  2. Then click on the 'News' link.
  3. On the News' page, click on 'Advanced News Search'
  4. On the Advanced News search option page, on the edit box for 'Return only articles from the news source named', type 'Wall Street Journal'
  5. Then press the Google Search button and you'll be presented with a list of WSJ free articles.
This is using the power of Google Search! If you are having trouble following those instructions, just click here for the list of articles.

As a paying subscriber to WSJ I can compare the completeness of the articles returned by Google and what are available to subscriber only. I can tell you that what's released for free is a small area and that paid subscription entitles access to many facility and data.

Still the availability of some articles which are free makes it easier to share information with others without violating copy right or subscription conditions.

Blog Archive