Sunday, 18 November 2012

Companies, stocks and SWOT

I have been involved in investing at low level (money wise)  for few year now. The great crash of 2008 presented a good opportunity to get in - so I took it investing mainly in hardware based tech companies including ARM, IMG, Nvidia, AMD and later Rambus and a few others. I shall be offering my thoughts in the form of a SWOT analysis  on some of the companies I have invested in.


AMD

Strengths
Weaknesses
ATI graphics
Currently the most well-rounded x86 integrated CPU solution
Management
Software support
Internal processes - which causes many product delays and missed cycles and generally poor execution
Opportunities
Threats
Trim management at all levels -  and streamline processes
Integrate more functionality into CPU (Sound, Disk Controllers, Memory)  - further reducing system costs
Themselves
ARM
Intel
Nvidia

APPLE

Strengths
Weaknesses
Brand Loyalty
Solid Platforms
Integrated platforms
Genuine Creativity
Enterprise penetration
Focus on the consumer - cool today gone tomorrow
Development tools in comparison to Microsoft
% of OS PC market in comparison to MS
Opportunities
Threats
Refocus on applying the ‘It just works’ philosophy to other areas instead of the iphone 100
Buy a big software player - i.e. Adobe
Make PC more competitive - add more value through features
Balance the style to substance ratio
Get more platform developers on board - offer discounts and provide better tools to students.
Android
MS
Themselves












HTML form to XML in javascript

getFormXml = function(form, xmltablename) {
var rowsIndex;
var xmltable = '';
var xmlrow = '';

for (i = 0; i < form.length; i++) {
var cells = form[i];

if (cells.name != '')
{

//Additional checks could be entered here for check boxes and
//other form components
xmlrow = xmlrow + '<' + cells.name + '>'
+ cells.value + '</' + cells.name + '>';
}  

if (xmlrow != null)
{
xmltable = xmltable + xmlrow;
}
xmlrow = ''; 

}
if (xmltable != null)
xmltable = '<' + xmltablename + '>' + xmltable + '</'+ xmltablename + '>';
return (xmltable);
}



Return the XML representation of the form variable.

Saturday, 10 November 2012

Preparation and Processes

Most (if not all) activities involve 2 stages - Preparation and then Execution. For any activity to be executed effectively and in a timely manner , preparation is key. Lets take the example of the activity of preparing to go work in the morning. If you need to iron your shirt or find your socks then you will be much slower than if you had those things prepared. You will also will be more frustrated. Cooking is another example where the preparation of your ingredients and tools before hand is vital for a satisfactory result. There many, many other such examples.

In a company setting preparation usually resolves around getting the right information and mobilizing the right people. From the information perspective data can be stored in many locations. The more spread out the information the longer it will take to prepare the data and the less accurate the information will be. It is therefore vital that data is organised and accessible to everyone to meet repeatable requirements. I highlight repeatable because one-off activities many require additional new preparation. But most activities in a given industry are repeatable. Skilled management are able to recognise those repeatable patterns and  define strategies to streamline and optimise Preparation.

Friday, 2 November 2012

JdbcXmlService - Context driven shopping cart demo


A second example of the flexibility and power of  the jdbxXmlservice API. This simple JavaScript based shopping-cart demo communicates with the JMS jdbcXmlservice via the activemq script adaptor. Each product has a xquery based rule associated with it, which determines the product to display and in what order - based on the product selected. In the example shown, selecting a computer would activate a rule to display all the complementary products.such as a monitor and sound card.

More details will be added later.

Wednesday, 10 October 2012

JdbcXmlService - Stock ticker demo

JdbcXmlService is a java based server framework which I have been developing part-time since 2006. I have decided to show it the light of day via a demo stock ticker web application. This is a stock ticker with a difference. It can be programmed to display messages based on the historical stock movement data.

The business logic works by :

1. Retrieving the stock ticker and rules data from remote stock database
2. Retrieving the stock data from external web source based on stock ticker
3. Store a subset of the attributes retrieved in (.2) into a remostock history database
4. Execute rules based on the stock history
5. Display results
6. Repeat every 5 minutes

The above steps were accomplished using a custom xml configuration file (The details of which will be explored later) which JdbcXmlService executes.


Please note the demo will be available for the Evening US market opening times. Post a message on twitter or on the Facebook site to let me know your interests or thoughts on it. 




Please note that the application is currently down at the moment. The above screen cast shows a very brief overview of the demo and the Xquery rules and the database interaction - unfortunately the explanation text appears to very small - another screen cast will be uploaded later (and use YouTube's annotation editor)

Friday, 15 June 2012

HTML table to XML in JavaScript


Please note this code will now be hosted github :

https://github.com/aetuk/wasjsapi/blob/master/tabletoxml.js

getCheckedRowsXml = function(htmltablename, xmltablename) {
var rowsIndex;
var xmltable = '';
var xmlrow = '';
var rows = document.getElementById(htmltablename).getElementsByTagName(
'tbody')[0].getElementsByTagName('tr');
for (i = 1; i < rows.length; i++) {

// Xml defined based on a ‘checked’ checkbox - Feel free to add your
// criteria here to filter the data selected ( or not)
if (rows[i].getElementsByTagName('td')[0]
.getElementsByTagName('input')[0].checked) {
// here "i" is the row number if checked

var cells = rows[i].getElementsByTagName('td');
for (c = 0; c < cells.length; c++) {
// xmlrow = xmlrow + '
// '+cells[c].id+'="'+cells[c].innerHTML+'"';
xmlrow = xmlrow + '<' + cells[c].id + '>'
+ cells[c].innerHTML + '</' + cells[c].id + '>';
}
if (xmlrow != null)
xmltable = xmltable + '<row>' + xmlrow + '</row>';
xmlrow = '';
}
}
if (xmltable != null)
xmltable = '<' + xmltablename + '>' + xmltable + '</'
+ xmltablename + '>';
return (xmltable);
}

This function will return a xml representation of a HTML table for each  row on the table has a checkbox set to true in the form : <xmltablename><row><cell_name>cell_value<cell_name/><row/><xmltablename/>

It assumes that the html table has a checkbox on each row and that the name of the column is defined by cell id. Feel free customise it to suit your needs.

Sunday, 10 June 2012

Long term project success


In general great solutions stand the test of time with little or no maintenance - that differentiates a poor solution from a good one. A great solution takes this further and requires little effort to evolve. Successful projects are also governed by this rule.

Technology in most cases is not the limiting factor of producing a great long-term project outcome - it is the mindset and  imagination of project participants.

Critical success factors are defined during requirements stages, attempting to instill longevity into its the solutions foundations, by covering as many events and outcomes as possible as laid out by the business. But the theme of these factors is still governed by the project decision makers.So if simple, easy and seamless maintenance is not a priority then factors nvolving maintenance would be included as an afterthought or simply ignored when shaping the projects direction - Ultimately a functional but poor solution is achieved.

The maintenance aspect of the project is in most cases treated as an afterthought - especially if the project is handled by an external consultants - but its still the stakeholders responsibility to highlight maintenance as a central theme . Ignoring it displays a short-term attitude of the Return of investment. Maintenance has a huge impact on costs and time. A project may have cost 1 million GBP to complete but over the course of of 2 years maintenance cost may add 4 million to that value due to additional labour costs.  Investing in maintenance from the start may add 1 million GBP to initial project costs while reducing maintenance costs to 2 million.

For example you as a consultant has been tasked to create a ecommerce website 123 for company xyz. You have a choice of building an automated ETL mechanism to extract product data from an existing system, or you can enter this data by hand. So you present these options to the business with the associated advantages and disadvantages. If time to market takes priority , then the manual approach would most likely be selected. If maintenance takes priority then the ETL approach would be taken.

Successful projects requires maintenance to built in at its core.

Sunday, 13 May 2012

Measuring Integration


Integration has been and still is one of the most difficult aspects systems development - both from a technical and social perspective. As was mentioned in previous articles, in most cases people move towards silo-centric solutions - integration is seen as ‘nice to have’, in management speak. Then one day integration suddenly becomes a ‘must-have’ due to competitive pressures. These pressures usually leads to a poor solutions.

The integration index is the number of steps required to access or retrieve any piece of information in any setting. For example at home - how many steps are required to find out the bill spend last month. The more integrated the environment the less number of steps required. In an organisation the number of steps is instrumental in the determining its efficiency.

Note the definition of the integration index will change over-time - this can be seen as the first draft

Saturday, 17 March 2012

Workplace Education


Education in the workplace is of critical importance - now -more than ever, due to changes in technology and development and process methodologies. Employees minds must be kept sharp in order to adapt to fast changing demands.

Too often employees lose sight of the point and purpose of what they are doing within an organisation. They go through the motions instead of taking a critical look at what they are doing -  and how they can be improve things. Such a critical perspective can only be achieved if a good understanding of the core concepts of the role and business surrounding it is achieved. Yes, there is ‘learning on the job’, but that has its limitations. In the face of tight deadlines we usually only learn all that is required to get the job done quick. Therefore time need to be taken to educate the workforce - at all levels

Workplace education usually means taking days off for training on or off-site. This type of training is expensive in terms of time and money - unless the skills are actually used.

Such formal training though is invaluable in many circumstances but it not nimble enough to cater for smaller but fast changing requirements. To meet such requirements training material should be created by the team in the form of examinations (multiple choice, short question and scenarios) and quizzes. The masses of (usually un-read) documentation generated by the team would be revision material. This would be a simple and effect way of ensuring internally generated knowledge is understood by all and not wasted. I would predict it would have the effect of strengthening core competencies and increasing productivity - How? The information would be memorised and understood. A quiz with a valuable prize would be an ideal way of encouraging a team to brush up on theory behind the work they actually doing.

Thursday, 23 February 2012

Hash Relational Mapping

Or HashRelMap is a java-based database mapping mechanism  I have developed which uses multi-dimensional hash-maps to store the results of join queries. For those familiar with ORM such as Hibernate and JPA queries are stored in Pojo object.  With this method queries are stored in multi-dimensional hash-maps. More details to follow.

Business Process and Culture 2

Fantastic article from the fastcompany website. This relates to what was written in my previous post on 'Business culture and process'.

No matter what new systems or processes are installed and implemented  in organisation, if the process or system is not aligned with the culture - it will not work as intended if at all. For example, integrated systems will fail to deliver any long-term benefit (at great expense) if there is a culture of little or no collaboration across teams.

Sunday, 19 February 2012

Politics and process

Politics will always exist in the workplace - as ultimately it is an expression of power. It can become a powerful overriding force, leading to poor processes and all the ills which accompany it. Why? Limited team engagement, limited organisational engagement. Limited engagement around. Professionalism and Politics in the work place is inversely related. The higher the level of professionalism the lower the level of political influences and visa versa.


This subject of politics and process is something I will explore in future articles.

Sunday, 12 February 2012

Sad day for music

Rest In Peace, Whitney Houston.

Automate the Science, Free the art

Many occupations and activities have been described as a combination of ‘ art and science ‘. I would assume the science part covers the implementation of processes in a methodical manner. The art part would cover everything else, such  the inception of the process, interacting with the environment, unexpected events, persuasion, etc .

Computers and machines are taking over the science part of the equation. Add rules and AI into the mix and its encroaching on some of the art as well.

The distance between creative thought and implementation is becoming smaller and smaller over time. This will lead to a new age of ‘interesting’ innovations and disruption in existing industries as the ‘expensive process’ barrier to entry shrinks.

Over 100 hit and counting

Thank you to all my reader I have achieved over 100 hits. Thanks also to linkedIn.com which has been the main source of that traffic. If anyone of my readers has learnt something useful from their visit - I will be more than happy. Thanks again.