Monday, April 29, 2013

"Patterns in Java : A Catalog of Reusable Design Patterns Illustrated" by Mark Grand

Pranaam! Working on "Patterns in Java : A Catalog of Reusable Design Patterns Illustrated" by Mark Grand this week. This is a "Volume 1" edition, I've got and is an old print. The notations used previous to UML 2.0, but I liked the explanation. Revising this under a tight timeline, since this needs to go back to shelf. Writing a running log here:

  • Overview of UML
    • This covers notations for 3 basic UML diagrams viz. Class Diagrams, Collaboration Diagrams and StateChart Diagrams
  • Software Lifecycle

Sunday, April 28, 2013

"Data Structures and the Java Collections Framework, Third Edition" by William J Collins

"Data Structures and the Java Collections Framework, Third Edition" by William J Collins[2011 print]

In tune with multi-threading, I'm beginning a new thread on Java Collections, in an attempt to solidify core Java essential concepts.

Sunday, April 21, 2013

"Java 7 Concurrency Cookbook" by Javier Fernández

Pranaam. I'm currently working out "Java 7 Concurrency Cookbook" by Javier Fernández. It's a Oct 2012 edition. Finding these examples are lucid, that I can be very easily develop without being an expert Java programmer myself. Concurrency subject is dealt in other programming languages as well, but since Java has a large base in commercial software applications and there is ready material in-hand, it was an easy decision to work through Java 7.



Parallel processing and optimized high performance computing are interesting subjects that can solve large compute problems .It's essential to solve a problem quickly  and make result available for the next set of actions.  Sometimes its necessary to know which areas in a compute solutions are to be parallelized and which shouldn't be. It's an intriguing subject. The next area for me would be researching Design Patterns in concurrency. But before I get to that, creating a running log of areas covered from this book.

  • Thread Management
    • Creating & Running threads
    • Get thread information
    • Interrupt threads
    • Control Interruption of threads
    • Sleeping and Resuming threads
    • Waiting for Finalization of threads
    • Creating and running Daemon threads
    • Processing uncontrolled Exceptions in threads 
    • Using ThreadLocal variables
    • Grouping threads into a group 
    • Processing unchecked exceptions in ThreadGroup
    • Using factory pattern to create Thread
  • Basic Thread Synchronization
    • Synchronizing a method
    • Arranging independent attributes in synchronized blocks using Object references   
    • Using conditions in synchronized code block
    • Using Lock to synchronize a code block       
    • Synchronizing data read/write operations using Lock
    • Lock fairness
    • Using multiple conditions in Lock
  • Thread Synchronization utilities
    •  

Saturday, April 6, 2013

"The Performance-Engagement Model: Managing the Five Personality Profiles in the Workplace" by Laura Stack

"The Performance-Engagement Model: Managing the Five Personality Profiles in the Workplace" by Laura Stack:

An interesting short article, but very crude view of people personalities. Resources are workplace are assets, are humans with very interesting facets. It's up-to a leader to bring out the best from each resources and to make them strong individual as well as team contributors. It's hard to believe the author had a successful role in keeping a team engaged to goals, let alone leading high performance team. If we conceive an ideal team to be composed of humans who work like machines decrepit of emotions, of sharp personality traits we would be living in la-la land.
Labeling this for 'Enterprise Architecture', as workplace resources belong to various enterprise teams, they are essentially one of the stakeholders.

Saturday, March 30, 2013

Proof (2005)

Rating: 3.3/5
US English

A wonderful story with few twists and turns, very easy for the eyes to watch. Anthony Hopkins, Gwyneth Paltrow and Jake Gyllenhaal featuring in this short story. This is about an eccentric old mathematician in his last days, at loss of memory and under care by his daughter. The story revolves around a unsolved mathematically proof which the genius of Anthony Hopkins worked on in his last days. Overall a good movie.
I felt the characters of Gwyneth and Jake could have had more depth. The plot was getting predictable and the characters didn't have much more than related to "proof" to work with. Gwyneth appeared alcoholic, unsure if this was on purpose or its usual.


Monday, January 21, 2013

"Algorithms in a nutshell" - Part 1



I'm revisiting materials on Algorithms and finding below book very useful.
The first 2 chapters are very impressive in setting a base, actively working through the rest of book.

A "problem" can be defined as collection of data processed by the program to create a solution for the data. Though its difficult to establish a standard problem
definition for real world scenarios, its can help if data inputs & data properties (encoding) are well understood.

When choosing an algorithm using abstraction on rate of growth, ex. evaluating a value in an set of number, the estimated average evaluations needed can be formulated
mathematically. Typically for high growth rate problems, the constants in formulation can be ignored. But care needs to be taken for scenarios like small growth or small number set,
as algorithm application changes. As a principle, the choice for algorithm depends on type of problem and distribution of elements in problem. There is no optimal algorithm for
problem of a given nature.
Methodology for choosing an algorithm:

Perform 3 case analysis viz. worst-case, average-case and best-case

The performance families in terms of decreasing efficiency are viz.
constant O(n)
logarithmic
sublinear
linear = eg. addition
nlog(n)
quadratic eg. multiplication
exponential

The author did lose me during the mathematical analysis and formulation of Big O notations for each member of performance family. Its a to do to check the reference section and build skills sets in those.
The graphical patterns of performance family definitely gives a visual clue as what type of operation is the algorithm using. very nice.

A side note about distribution:
binary tree distribution: works well during search when items are equally or roughly equally distributed(red-black tree) in a binary tree
ordered distribution : n/2 items need be compared on an average to search for an item

Sunday, January 20, 2013

Enterprise Content Integration strategy: Wachovia's case study

http://gilbane.com/case_studies_pdf/CTW_Wachovia_Final.pdf
This explains the challenges faced by Wachovia during enterprise content integration and the benefits thereof to the business units.
Aptly said by the analyst, today's large enterprises host multiple disparate content sources. If these are integrated to provide a seamless access to users, it enables them to service customers faster, focus more on business decisions and improves collective competitiveness of business user community.
This example also shows how IS acts a service provider to business units in creating "acquisition ready" systems and how these units can achieve ROI by investing in IS initiatives.

Content Technology Works (CTW) does a great job of sharing enterprise best practices in the area of enterprise content management. Though this whitepaper is backdated, it concisely describes the enterprise content integration strategy. The situation, factors and road map to solution is put together very well. It includes couple of layer diagrams to drive the point.

Wachovia’s CAS: Harnessing the Value of Multiple Content Repositories Across a Large Enterprise
http://gilbane.com/case_studies_pdf/CTW_Wachovia_Final.pdf