29 June 2014

Glastonbury

This year the lineup is quite fresh and varied with significantly new performers on stage. There is also a varied group of people at Glastonbury this year. Certainly there is an air of expectation and excitement. Perhaps, even the odd bit of muddy escapism has struck at the minds of many over the unpredictable weather. However, the weather does not appear to be effecting the mood of either the performers or the people. Many new performers will be looking to showcase their talents during the festival. There will also be many young individuals looking to strike up love interests at such events while many camp the nights in their tents. Glastonbury festivals have always drawn a very hippy sort of crowd. But, this year it was slightly more open and mixed. Perhaps, this is a reflection of the multiculturalism and globalization in effect that brings so many to such festivals in shared music interests. However, the commencement of the festival around the same time as the World Cup has not given it much sway as many will still be watching the games from their available screens. There are also Arcadia monsters on display performing for a live audience. These are fire breathing, recycled scraps of monsters, like the Spider, that provide for a massive infusion of flaming explosion, sculpture, architecture, and an ephemeral adrenaline with the music. There is even a Mechanical Playground with Hand-of-Man, Paka, Spitfire Forge, Itchy Gorilla, and Bug Stage. With a huge line-up of performers and a welcome mix of monster scrap, there was/is much party to be had over the few days, on the grounds, for an experience to remember. The event lasts between June 25-29 and is therefore coming to an eventual close.

World Cup Predictions

As quarter finals are close, we can attempt to predict on who ultimately will go into the finals. It seems likely that it will be between Brazil vs Argentina vs Germany vs Netherlands. These are the four teams that have come out as head of the table ranks in their performance to date and are most likely to win a tally of games to come. Germany and Netherlands have some serious contenders to play against before they can qualify. They also have the hurdle of either crossing France or Argentina in process. The road to the finals is nearing. However, some very close and exciting matches to be had to determine the final outcome. The below link from Bloomberg provides for a visual view of predictions and their associated merits. One can personalize their own accordingly. Argentina are a formidable team and Lionel Messi is in form. However, Brazil are relying on Neymar. Netherlands also have a couple key players. Germany has an entire team playing together like they always do. Unfortunately, the likelihood of France going past either of those teams is quite slim. 

27 June 2014

RoboCup

RoboCup has been around for a long time now in research domains of multiagent systems. However, they have mostly been experimental to study robotic planning and behavior. As drones become more active in ecommerce as well as defense, we are likely to see a resurgence of applied robotics as a common place in our local communities. They may take the place of a shopkeeper, a cashier, and even a stock replenishment expert. They may even pose as delivery for pizza to courier agents. They could also be used as cleaners and coffee makers around the house. They could also be taught to act as tutors to kids as well as local sitters. And, finally they could replace the need of guns for protection as local guardian agents of the house. In most of the above cases they would act as intelligent agents. However, multiagents involve semantic agency of intercommunication which is still very much an active research domain.  Through RoboCup we may be able to develop an intelligent team of players to tackle a human world cup team at some point. However, such activities are already taking shape in research areas. Robotics in football also means cheaper players and less outlay for football leagues. Obviously, there are areas that have more complexity in multiagent domains than others. For example, an area where robots may be difficult to implement would be related to fields of emotions like theater, acting, and possibly even dancing especially if they are required to share semantic form of communication and feedback. Technological advancements in the areas of multiagents have still a long way to develop before they can fully emerge as plausible extensions of our society. The below link provides details into the research area of RoboCup and how teams attempt to beat the world cup champions one day.

26 June 2014

HTML5 Game Engines

HTML5 has overtaken much of the Flash dominance on the web and will continue to do so as the progress continues to support more features. HTML5 has garnered a following already in various domains especially in the area of game development for 2D and 3D. Integrating HTML5 and JavaScript offers much flexibility for developing games with rich user and customizable interactions. There are also various HTML5 aspects that can be manipulated using JavaScript directly or through using third-party libraries. The following link provides a measured comparison of various HTML5 game engines of today and their various suitability contexts.

html5 game engine

Urban Visualization

Urban visualization in future is going to play a key role in identifying issues within our local areas. However, such information needs to be available to all and not just the public service authorities. One should be able to view such visualization on TV, over the web, on their mobile, and even while they are making a decision to live some where or not. As people get older, safety becomes a major concern especially when it involves families. Increasingly, government departments have a need of harnessing data and understanding the way cities are evolving over time for future decision making. Urban visualization also will help in tackling terrorism and any other form of domestic criminality. They may even help evaluate school progress in specific districts as well as provide clues to re-orgranizing and re-directing population growths in any given area. One can contextualize a visualization map based on any information gain parameters. There is an endless amount of ways data can be shaped and layered into a visually appealing format and provide clarity of information. Often, graphs and drawings can provide a greater sense of understanding and discovery than just a set of words in a document. They are also less time consuming, albeit do come with visual complexities for interaction. Visualizations also have to be very performant and responsive. For public and medical service visualizations, having real-time data may be pertinent. In other cases, studying historical trends may be more important. There is always a need to balance different domain contexts. One must narrow down domain contexts to each visualization perspective to maintain separation of concerns and singular level granularity of information gain. As more and more data becomes connected, there will be more private and public visualization options available to serve varied contextual requirements. Unlocking such data is still a major issue as governments tend to hold key to a gold mine of information. At same time, security agencies look to restricting or blocking access to specific data. These are all road blocks that seem to have underlining concerns for everyone that has ever used the web as our lives every day become more and more approachable to prying eyes. Perhaps, as we move forward security and data will go hand in hand to provide much in terms of visualization, intelligence, information, as well as control of our identity and future data needs. We as consumers and producers of data hold much in control of our choices but not necessarily so much in the access of such prevailing information. Historically, it seems collaboration of projects and active discussions provide for much innovation, discovery, and reflection. They have also provided for many successful projects of today and assisted in developing others. As more and more people look to democratize on data access, there will always be people looking to abuse or marginalize those community efforts. However, large collaborative efforts in community pave the way for awareness and pressure towards achieving many road maps for shared information access as well as much in way of progress, setting aside road blocks along the way. The importance of information visualization is dependent on context and quality of data. As progressively more data becomes available, over the web and through government agencies, the developer community will be able to harness and provide better as well as more thought provoking solutions to real-world problems, in a more constructive manner for active decision making. 

25 June 2014

England vs Costa Rica

Not sure what positives one can take away from that game other than the fact that England were terrible and Costa Rica were relentless. In all fairness, it could be very well predicted that England would lose as they had a very slim chance of even scoring a goal, let alone drawing. Furthermore, it is even worse to state that by losing they were taking back a learning experience. How many learning experiences in losing do they need to finally be able to win games or at least score? England not only struggled to win games, they struggled to even score, let alone play as a team. We find the same patterns develop in every game, time and time again. Moreover, England seem to be the only team that somehow find solice in losing by clapping at themselves as if the fans were in some way pleased at their performance or just plain disgusted to having flown so many miles to watch such an awful team play at an international level. Most people have literally given up on the odds to England games because everyone knows what the outcome will be, there is no real odds to apply. One can also wonder if, they are all that serious about the games and performing when they go out representing the flag as well as their country at an international level. Also, why does the manager always have to be fired? Over the years, there have been so many managers fired for representing England at World Cup that it seems quite apparent that it surely is not the managers fault, but that of the players as well as the team dynamics. How badly did the players want to win? Did the players have a constructive strategy? Did they even have a fighting spirit? What about all that climate conditioning? Not all teams have so much excessive care for their players as countries like England. This does beggar belief that even when England players get all the support they could possibly need they still come out losers.  

Semantic Web Browsers

Web Browsers are still very much on the client-server approach to functionality. They do not harness the intelligence of the web. Since there is so much data on the web, a web client needs to provide more intelligent methods for navigability and semantic features. Users rely ultimately on the browser client to get at much of what is available on the web. So, it is crucial that one gets the fundamentals correct. There is also an immense need for security and responsiveness in web browsers. They also need to be able to provide intelligent filtering capabilities and understand user navigation behavior. Also, deep linking on the web can be very useful for backtracking or even to discover new links in the navigation graph. In this respect, a visual view of a user navigation behavior becomes essential. Users also want navigational assistance to be able to get at information on the web without excessive manual browsing. A lot of browsers also have hidden tools and customization options which most may never realize exist. Browsers need to unlock and make all the functionality they provide available at click of a mouse or by voice assistance. Recommendations for similar links would also help ease navigability. A browser should be able to feed off the habits of a user and use that feedback to provide better interaction. Browsers need to also amalgamate the functionality of a desktop client to that of a web client in terms of the flexibility of feature sets. Semantic web is becoming more and more the next frontier in defacing the web's uncovered truths and faults. And, as users and data become more connected there is a greater need for intelligent browsing functionality to help us find information in an ubiquitous way so as to make the use of the web a more friendly and adaptive experience for all. Web browsers are also not very aware of the types of users and this has an even greater importance in making them more accessible to all. As more standardizations are developed one has to approach web browser functionality from an integration, accessibility, and seamless portability perspective. A page that works on one browser should work the same on another. This may at times be dictated by specific rendering engines in use which vary from browser to browser. However, allowing for more plugin support entails a greater chance of convergence and provides newer browsers a chance to move towards more standardized approaches. Searching has also become a crucial aspect to web browsing. Overtime, browsing and searching may in themselves become integrated to an even greater degree. Security is still paramount in many web browser experiences and this will become an even greater necessity as users want to be able to develop a greater trust in the web and of their own profiles. There is still very much that web browsers need to tackle and it certainly helps to have a more loosely coupled architectural approach to a web browser. The complexities are huge and there is an array of possibilities on the web which can provide for an insurmountable options for progress in functionality.

24 June 2014

Titan

Titan is an interesting distributed graph database which provides for a very useful approach to harnessing connected concepts for analytics. A variety of different database backends can be utilized for reuse to facilitate storage mechanisms. It is also available as an implementation for the Tinkerpop property graphs approach. In real world scenarios, graphs can be fairly huge and managing them in a distributed context is a practical necessity especially within the open source community. Titan provides not only an option for analytics but also a total semantic graph alternative to standard native triplestores with flexibility for scaling and replication. It also provides integration support for many third-party libraries and frameworks. There is also a distributed graph processing integration with Faunus that uses the Gremlin query language as well as connects to Hadoop.

Titan Stress Poster
Titan was originally released by Aurelius and was later bought by Datastax. The open source development work later slowed down with no further subsequent releases. JanusGraph continues the work of Titan, as a forked project, with the effort and support of the community.

Janusgraph connects past and future of Titan

23 June 2014

EAV vs SPO

Knowledge Representation has been around for a long time, within database architecture, but also within abstractions of domain logic especially in area of analytics. There have been various formalisms defined for representation of such knowledge in order to derive a more structured logic for learning and reasoning from data. Databases have historically provided the persistence layer for many applications and usually hold the key to unlocking a lot of the data today. However, good data representation allows for versatility, performance, and unlocking hidden knowledge. Entity-Attribute-Value (EAV) and Subject-Predicate-Object (SPO) are similar in modelling approaches. In both cases, one is working with relationship by 3-tuples. However, EAV is a subset of SPO. Often, people who are not familiar with SPO and are more comfortable with the relational model design end up utilizing EAV, as an extension. However, in most cases, EAV is seen as an anti-pattern leading to higher development times, poor utilization of data, and undesirably more complex queries. In SPO, everything is treated as a resource and extended in a graph representation. It also allows for better reasoning capabilities for inference. SPO also lends very well to the architecture of the web, utilizing URI schemas, in a linked context, as an extension to the RESTful approach of using standard HTTP methods. On one hand, the EAV tries to build richer metadata semantics through a schema taxonomy, as an extension to the database relational model. While, in SPO the approach is more synonymous to ontologies in form of extensible linked data schema for a domain context, which is not only web friendly, but also machine readable. SPO is also linguistically inspired from natural language.

eav and spo
eav/cr model
rdf
SPO
considerations for eav
considerations for modelling eav for biomedical databases
magento eav
eav talk
understanding linked data via eav model

22 June 2014

Elasticsearch vs Solr

Searching is a critical aspect to most business and web-centric applications. They provide accessibility of informational documents from a large array of data through a generalized inverted index. There are obviously many approaches that abound in the field of informational retrieval. And, as we face the information navigability spectrum of big data we naturally desire scalable search solutions. Elasticsearch and Solr are few open source and workable solutions with a plethora of features. They also both extend Lucene as a baseline for implementation. Deciding on which option to use between the two can be difficult especially as it often boils down to the varied domain contexts and with their varying approaches to design and implementation. It seems a simple comparison at times helps one decide, but the factors may just be too generic for a particular business need. Solr and Elasticsearch over the years have almost converged in the manner of the features they provide and as they evolve per each release. Although, Elasticsearch is relatively new compared to Solr, this does not hold it back in the way it is actively being used in industry across a multitude of domains. Even the Kibana dashboard in some ways has taken it further towards easing integration and for the domain of log analysis.

20 June 2014

The Wind Rises

The Wind Rises is a fascinating story based on true events of a chief engineer that heralds the engineering of Japan's fighter jets. The story remarkably provides the struggles and process that went into the progress towards achieving the production of such jets. At same time, providing a backdrop into the personal life of the engineer and his associated dreams that drove him into designing such planes in first place. However, it lacks emotional depth in exploring the female characters to any level of detail other than to sideline them around the main protagonist. All in all, it is a well deserved exploration into the character dynamics as well as in animation. Although, the story is adapted from true events, there are areas of fantasy which are also explored. The animation sequences, with narratives in the background, provide for a moving and a convincing effort for a well crafted story.

England vs Uruguay

England were understood to have a sure defeat. The players are just everywhere on the field and completely disorganized. How many times did they miss and have chances at scoring goals. They rarely if ever seem to play as a team. England players are just way too arrogant. Each player wanting to score a goal on their own and that is exactly how they make mistakes. There is very little talent that could be seen on field from the sidelines when England play. Often opponent goals are scored because England are just giving the ball away from lazy game plays. One could tell as an audience most felt let down, yet again. When Rooney scored the first goal, one could tell his arrogance would kick in and he would again be everywhere looking to score on his own and still miss. One could also tell Gerrard, being the captain, was asking other team players to set him the game for a goal score. As a captain one would imagine he would be looking to play the game out as a team. Gerrard is also possibly the most useless captain to have on the England squad let alone even as part of the team. These players get paid way more than their mediocre skills. And, for what exactly, do they repeatedly get selected on the international games. Perhaps, the lack of international successes shows that the football talent in UK resides completely at the hands of foreign players. At least, that is so apparent with all the really good players in premier leagues also being foreigners. England no matter how many practice and climate training they do they still do not appear to understand that physical training is just as important as mental training. There is a very good chance that England will be out of the World Cup fairly soon. One also needs to acknowledge and concede they just do not have what it takes to win in international games no matter how highly specialized training they get, a natural flare and talent is just undoubtedly lacking in English players.

18 June 2014

Vertx Framework

One thing amiss in Vert.x is third-party tooling and frameworks that seem to be plentiful now on the Nodejs. However, slowly there are frameworks and libraries emerging to support the Vert.x way of doing things. The approaches can work for rapid prototyping of single page applications for real-time responsiveness. And, in such approaches versatility and flexibility become key. One major factor that distinguishes Vert.x from Nodejs is that it is built for the JVM and for polyglot programming making it accessible in a multitude of languages as well as for portability for container development. The following lists a few emerging frameworks and libraries that can support Vertx. Additionally, plenty of other integration options are also available, such as on Grails.

17 June 2014

Fabric8

An interesting integration platform is Fabric8 which brings a few popular set of service-oriented components together, namely the ActiveMQ, Camel, CXF, and Karaf. This can in process provide for an integrated platform as a service offering. Quite a useful and robust solution to have for meeting the needs of many common business applications. It allows for some useful container management as a focal context and allows for automation, provision, configuration, and above all management from a centralized location using a flexible UI/UX option. There are also plenty of other options available as part of integration such as: configuration management, service discovery on failover, load balancing, and monitoring. It is aptly appropriate for managing one's own containers and running them in the cloud environment. And, is integrated with JBoss Fuse.  

Pernicious Trends Of Society

These days one of the most overrated music is produced and recorded. Are people's tastes changed so much compared to the past where quality music actually meant something. People have slowly rescinded to listening to rubbish music. Is this in some way influenced by what their peers listen to as a way of following the crowd. Perhaps, the young generations of today have become the follow the crowd sort, giving into the craze mentality of acceptance. It seems uniqueness is meaningless if it is not acknowledged by peers. Perhaps, this is what is breeding dangerous cultural ground in schools. This also develops into crowd mentality of shared beliefs and values which essentially implies bigotry, materialism, and the need for fame and popularity take on a completely new transformation. Such so called artists like Justin Bieber, Ed Sheeran and so many others are at top of the billboard charts even when their so called music is just terrible. Legohouse is possibly one of the lamest songs. What exactly is a Legohouse, is that a passive way of saying a gingerhouse? We used to have such quality songs in past decades. However, the music industry of today, is more interested in making money than making good music while treating people in the limelight as commodities of the recording trade. And, as such individuals take on the limelight the really good music takes a back seat on music stations. The same can be seen of the lack of quality programmes broadcast on any given TV network or channel. These days materialism and chase for fame have become the main goal of our younger generation. And, to what levels they may go to achieve it also has shocking realities. Lives being dictated by peers becomes extremely difficult for the parents as one might imagine through managing the existence of social networks. It seems the world we are living in slowly disintegrating into a hole of nothingness where more people are without hope and love, but as shallow as the next person. Life for many is changing on any typical day. And, yet we all continue to dream about a better existence in some time in future. Everyone from time to time desires something. Perhaps, some more than others. The disintegration of societies in our midst is all becoming a big reality as the world gets colder by the day and the conceptualization of happiness becomes an even more complex abstraction.  

15 June 2014

England vs Italy

A fairly predictable game. An outstanding but a slow effort by Italy. We may just see Super Mario changing his mohawk hair color at each game if we are lucky. This sort of a meandering and effortless play could be expected from the hype of England. Instances of good plays by England are usually only few and far between and almost rare on most occasions. The players are often overpaid at premier level and pampered way beyond what is necessary. Even after going through scores of climate training and conditioning they still struggled to score goals or at least win the game. Even, as per the press conference, the grass pitch was also perfect to play on. No matter what any one says, effort alone is not enough. It is the winning the game that counts. After all, it is a competition and it has been long awaited for time when England bring home the World Cup. Unfortunately, haphazard and brain-dead plays by England leaves little hope and an eventual defeat. One can imagine that even USA will be able to beat England at their own game. Why is it that English suck at all the major sports that they have so historically developed and formalized over the generations. Apart from, the usual games that simply adapt to the visit to a bar or pub. It seems for much of the new generation the will to fight to the end has seemingly been lost through sympathetic and humanistic ideals. Even materialistic values have overshadowed the patriotic drive which is often necessary in international competitions. The fighting spirit and the competitive mindset is what is seriously lacking in England players. 

13 June 2014

Spain vs Netherlands

What a sheer level of thrashing and demolition derby came in full force from the Netherlands in an immense 5-1 victory against Spain. Pretty much leaving Spain in their tracks and dumbfounded. Yes, dumbfounded is an exactness. Cheating has been the cornerstone of the game play of Spain for much of the past World Cup events. But, not anymore will they overtake the gaping pool of talent and achievement woven in the fabric of Netherlands football over the years. World Cup almost always brings a sheer amount of surprise and excitement. And, this game was no different in surprises. The quality of play on display was spectacular, possibly even better than Brazil from day before. The first couple of goals in many respects left a jolt through Spain for much of the game. While, Netherlands were relentless on the field and finished with a very fruitful result.

Designing An Ontology

An ontology defines a common vocabulary and a shared means of understanding concepts. These concepts invariably also have attributes and properties as well as their models set of constraints. An ontology often has associated context to the concepts that is being defined. Ontological models utilize the idea of domains and relations. Concepts are defined as classes. They also have a set hierarchy in a subclass and superclass relationship. They also have associated attributes and properties with defined constraints. They may even have individuals which provide for such attributes and property values. What one gains from an ontology is knowledge represented in embedded formal logics which can be accessible to a computer and not just a human. Such knowledge can allow for intelligent agents to understand and interpret structure to reason about information. They also allow for reuse of domain knowledge that can be transferable and interoperable. They also allow for explicit generalizations and assumptions to increase understanding. One might then ask, what the difference is between Object-Oriented Modeling and Ontology Engineering. An ontology often reflects structure of the direct world whereas in OO the structure of data is in the code. Ontologies deal with concepts whereas OO is about behavior defined through methods. Ontologies provide physical representations whereas OO describes representation of data. To define an ontology one can follow a set process.

Determine the scope and the domain :
Build a set of 'what' questions within a particular domain in context. The ontology should be engineered to provide answers for the questions.

Knowledge acquisition :
Collect, organize, define and diagram terms in an informal way

Refine the requirements :
Build a formal way to refine the informal requirements

Implementation :
Develop the schema in a normalized manner through a prototype. Then attempt to scale up.

Evaluate and provide quality assurance :
Measure the implementation against set criteria and goals. Formalize a set of tests through regressions and probes.

Maintenance and Evolution :
Check for compatibility with different versions within same ontology and between instance data

Tabulate visually the concept and properties hierarchy using self-standing, modifiers, relations, and definable trees. One can then use the process of curating the data and model the relationships using various tools. One will also face the conundrums of entanglements when designing ontologies. Generalization is key to ontologies as not everything needs to be defined - leaving reasoning and inferences to handle the rest. One can start out small then increase complexity as experience and knowledge in the domain grows over time. Often an ontology editor is used by a working ontologist to formalize the ontological concepts. One can even use direct programmatic bindings in similar respects to object mapping via domains to skip such formal steps and combine a more developer friendly process through third-party libraries. It is also easier to use existing XML representations to evolve into more formal ontologies. Modeling ontologies is a hard science one that requires a logically sound representation approach of contextual knowledge. However, experience and learning from other ontology models can reduce such overbearing complexities in time. 

8 June 2014

Selecting A NoSQL Solution

There is a mind-boggling amount of resources and tools available for the developer. NoSQL options are also an ever growing variety. Context in most cases is at the heart of any business decision process. One must evaluate the needs of the business cases for application in order to understand the requirements and then to weigh them out in terms of their importance. This is often not an easy matter as it not only requires communication and convincing to stakeholders, but also to the wider team. Choosing the right database solution is crucial. It can mean start of a successful application for a competitive advantage or could mean nightmare later on. 

A general trade-off process can be applied in reaching a constructive decision for a database architecture:
  • Introduce the process to the business and teams
  • Gather the respective requirements
  • Narrow down the requirements that are most applicable to the business
  • Select a set of NoSQL architectures
  • Evaluate by way of Use Cases
  • Estimate the level of complexity for training and implementation
  • Apply specific weighted scores against all the different cases
  • Produce a documented set of results of the findings
  • Lastly, communicate the results to justify and reason to both stakeholders and team members

This is a similar approach that was introduced by Carnegie Mellon ATAM in order to evaluate how a new solution fits into an existing architecture and weighs the specific risk factors.

One then has to apply a decomposition in form of a set of quality trees to formulate a solution through divide and conquer in order to break the complexity into smaller chucks of functional components. Here again defining granular use cases and scenarios comes in handy. An architectural choice could have associated quality trees defining a set of target attributes. These attributes would usually be in form of all the relevant abilities one can think of as a formal criteria for evaluation:
  • Scalability
  • Availability
  • Supportability
  • Portability
  • Sustainability
  • Security
  • Searchability
  • Agility/Modifiability

When evaluating hybrids they should be done separately on their own so as to avoid any incorrect analysis. Once a set of quality trees has been conceived, one can then relay them to stakeholders in form of navigational maps and clearly display the specific project risks. After this stage, one can prototype or pilot a project. However, even at this stage there is a set process involved:
  • The likely duration of project
  • Technology transfer process and willingness
  • Finding the right data to use
  • Finding useful data to use
  • Defining a key set of success measures

Lastly, one has to be aware that often introduction of new databases especially NoSQL means a careful analysis. Many teams have to be sold on the idea and benefits of moving away from a relational database into a NoSQL option. Change is not always an easy aspect to adopt or convince especially with lack of organizational willingness to accept it. Atleast, following a constructive approach attempts to alleviate apprehensions and provide insights into the merits of such a business decision for change.

5 June 2014

Code Automation

Code Automation is the ultimate frontier in software development. Where developers build to models as opposed to hand coding and testing everything. Models should drive every aspect of what one creates even through metadata. Agile stresses code quality through tests. But, why do we need to code and test anyways when we can build models and automate the whole process. Just test the model logics and let computers handle the rest. Since computers are better at calculations and mathematical rigor, they may also be better at coding things out through logical abstractions. Model checking and automated reasoning are already being used as part of knowledge representation techniques in many domains. However, applying such principled approaches may provide newer ways of defining constraints of logic especially in building better concurrent systems in a distributed environments such as the web. At one point, the computer itself was a complex domain. Then came the personal computer providing more individual needs as a desktop. We are now in a phase where desktops are more and more adaptable to the distributed systems approach in connecting us to the wider world view. However, computers are still very much dumb and dull in terms of hardware instruction sets. Model logics and DNA could be the ultimate answer towards building more robust systems for business oriented applications.

4 June 2014

Akka Monitoring

Akka is a relatively new approach defined in functional programming by way of Actors and implemented through Java and Scala. Unfortunately, Akka lacks many stable monitoring libraries or points of such integration. One has to ordinarily define their own customization to suit the unique application needs and requirements. Not only does one need to understand the Actors model in a distributed context but, also the implementation approach being used in the application. This is necessary in context so as to provide insight into bottlenecks, root cause, as well as state of services at any given time. There is an insurmountable metrics that could be measured and adapted from existing monitoring tools. But, overhead is more on the application-level and the way such measures isolate reactive event cases without having a disruptive repercussions to the wider production process.

Akka monitoring is invariably implemented from the view of either instrumentation or sampling which are fairly standard metrics approaches to dashboards. The discontinued Typesafe Console used the instrumentation approach. The below are a few approaches that could be used:
  • AspectJ weaving of components at load-time so one does not have to re-create the Actors.
  • Akka agent to access the supervisor for monitoring as a way of tracing the Actors
  • Use of monitoring annotations in specific cases of service implementations
  • JMX monitoring for messages
  • Reflections to access Actors
  • Attach traits rather than intercept on Actors
  • External modules such as statsd/graphite with application-level to build a workflow monitoring 

Useful Libraries:
Kamon
AkkaTracing
RestCommander
Logstash
EigenMonitor 
SimonJava
Stajistics
Metrics
Gatling
Ostrich

letitcrash

1 June 2014

Brazil World Cup 2014

As preparations are under way to a start to a blazing new World Cup one can undoubtedly expect the unexpected. And, with that a series of exciting events through the nationalist passions and triumphs of what can only be uniquely reflected in a sport of football, especially at such sheer global scale. Also, an interesting aspect of the World Cup is the representative mascot and the face painting that is adorn by fans and football art on women, in particular. Often such aspects bring their own sense of identity to the games. New talented players will also emerge to glorify their country on the field. With the richness of the Brazilian culture there are bound to be a massive hoopla of a party every single night. Unfortunately, British fan expectations might just test the patience of the Brazilian security during the after hours. For most, the ultimate teams really are Argentina, Germany, and Brazil. Those are the three teams that truly make the World Cup so unique and for whom the domination is so clearly displayed in the spectrum of their successes and within their consistency of game plays. And, one can yet only hope for the best for the England national team. Unfortunately, many pundits are well aware that the betting odds are usually stacked against them.  And, as many await in anticipation, it is only in time when the pubs and bars globally will be set alight with football fans willing and eager to watch the games on the big screen and over many a cold pint of beer. No sports game has yet conquered the world as football has and the way it can grab so much solidarity, fervor, and move people to the depths of their core.

Brazilian World Cup Mascot 
Brazil World Cup 2014 Stadium