Category: Computation

  • Feature

    During the design phase, the product manager and the developers categorize the requirements as

    • Must have
    • Nice to have

    During extensive testing and often much later, bugs (of varying severity) show up. Some subtle errors are dubbed features.

    Facebook has a couple of features.

    In group photos with Yours Truly, FB would tag me as my brother. The error might be due to the

    • facial recognition system (which is not yet perfect)
    • unintentional tagging (by some user hitting the wrong key when asked to tag)
    • the guestimate (“guess estimate”) algorithm to “match” faces and names (in the post)

      I would often get friend requests from some questionable FB users.
      There are several who belong to 50+ (or 100+) groups. I am not sure whether they are humans with lots of free time, or robots.
      The meaning of a friend (e.g. A friend in need is a friend indeed) has been “downgraded”.
      Some have no photos and bare info on their timeline.

    The “View As” feature contributed to an opportunity for data miners, hackers and cracker

  • Macro

    • A Macro is a text pattern with one or more arguments (or parameters).
    • Assembly Languages and Scripts support Macros.
    • We will illustrate Macros with some prayers.

    Example of a Macro

    Some people take the Three Refuges as follows.

    • I take refuge in the Buddha.
    • I take refuge in the Dhamma.
    • I take refuge in the Sangha.

    Macro Refuge

    Let us define a Macro called M with a parameter Y as follows:
    Refuge(Y) = “I take refuge in the ” + Y

    Then, the prayer can be written as
    Refuge(Buddha)
    Refuge(Dhamma)
    Refuge(Sangha)

    Macro Repeat

    Some repeat the Three Refuges three times.

    For the first time, I take refuge in the Buddha.

    For the second time, I take refuge in the Buddha.

    For the third time, I take refuge in the Buddha.

    Let us define a Macro Repeat with a parameter X :

    Repeat(X) = “For the ” + X + ” time

    Macro Pray

    Finally, define a Macro Pray with two parameters X and Y as follows :

    Pray(X, Y) = Repeat(X) + Refuge(Y)

    Then, Pray(second, Dhamma) yields “For the second time, I take refuge in the Dhamma.”

  • SWOT and 80-20 Rule

    SWOT

    • SWOT analysis is done for some projects.
    • S : What are the Strengths?
    • W : What are the Weaknesses?
    • O : What are the Opportunities?
    • T : What are the Threats?

    80-20 Rule

    • The 80-20 Rule is also known as Paretto’s Principle.
    • The rule was based on the observation of land ownership.
      e.g. 80 per cent of the land is owned by 20 percent of the population.
    • The rule has been extended to other realms and applications.
      e.g. 80 per cent of one’s time is often spent in doing 20 percent of the tasks.
    • The numbers do not have to be exact.
      The 70-30 rule by Professor Donald Knuth said that “70 per cent of the computing time was spent in 30 per cent of the code.”
      This led to optimizing code for the frequently executed parts (rather than the whole program).
    • The numbers need not add up to 100. The essence of the rule is “Not all tasks are equally important.”
      If one has limited resources, one should prioritize the tasks to be executed and/or improved.

    U Khin Maung Zaw (KMZ, EC76) wrote :

    Some 10/15 years ago, before the advent of Cloud among others, we described the new versions of software products, Microsoft Windows and Office included, as 80/20. It was the outsider’s view in those days as 80% of the features were being used by 20% of the users, the remaining 20% being used by majority 80% of the users. At some point some users raised it to 90/10, as more and more features were added, and many day-to-day users seemed oblivious to the added features.

    [This is not necessarily software products like Windows/Office products, but many others in our daily life.]

    In another scenario, as U Hla Min alluded above, the majority of the code paths in a given software package are not executed in normal scenario. The developer has to add a lot of code paths to perform tasks.

  • Spreadsheet

    VisiCalc

    • VisiCalc was a $100 software sold on a $1000 Apple computer.
      It made Apple a serious platform for doing business.
    • Dan Bricklin, an MBA student, had an “Aha” moment when his professor was teaching “What-if”.
      Every time one or more variables changed, the professor had to erase and write equations.
      He felt that the process can be done easily with an interactive electronic spreadsheet.
    • Bob Frankston had worked on business oriented programs (e.g. report generators) on the mainframe computers.
    • Dan and Bob founded Software Arts to develop VisiCalc.

    Competitors

    VisiCalc was challenged by SuperCalc and numerous other programs that offered improvements.

    • Ultimately, VisiCalc lost to Lotus 1-2-3 by Mitch Kapor.
    • Mitch integrated three functions
      (a) Spread sheet
      (b) Graphs
      (c) Data Management.
    • Lotus was bought by IBM.

    Microsoft came up with Office which included Word (for Word Processing) and Excel (for Spreadsheet).