Tuesday, March 23, 2021

It's Alive! The Elastic Stack as our Data Lab

So much technical work, so little time! I finished my first three sprints toward standing up the data lab. Standing up infrastructure from scratch so you have clean new compute power is fun, and also a lot of work. Particularly when you include; doing it right, taking no short cuts, and making sure it is secure.

Sprint 0: Setup Ubuntu 20.04 Server with ELK stack.

This was mostly rehydrating virtual server infrastructure I hadn't used in 8.5 years. It needed an upgrade from all perspectives and had a completely new OS. I implemented the ELK stack and made a couple of security changes to lock it all down. I ran a few tests by setting up a couple of websites, getting the JSON confirmation from ElasticSearch, and called up the Kibana dashboard. Oooo... sweet success!

Sprint 1: Vulnerability Assessment. Security changes if required.

This evening I spent some time poking at the overall vulnerability of the server and with the ElasticSearch and Kibana services. I made a few additions and changes for further locking down the services and believe they are as secure as they can be for this first release. Very happy to feel reasonably confident about it's being locked down. Maybe, I'll get lucky and get some free PEN testing. ha.

Sprint 2: Identify and register some well aligned domain names.

I registered the following domain names, even considered buying one... it would have been too expensive. I'll implement the data lab on the oceansofdatalab.com site when it becomes closer to being a minimal viable product (MVP).

  • oceansofdatalab.com
  • oceansofdatalab.org
  • oceansofdatalab.net
  • oceansofdata.net
  • sevenseasofdata.com
  • sevenseasofdata.org


Thursday, March 18, 2021

ODE Data Lab has its technology footing

This month has become more about standing up technology than it has been talking to people about their ocean data needs. That's ok... if you are building a technology company, you need to build technology. Ocean of Data Endeavours (ODE) is about building and utilizing software towards making it super easy to work with data, large amounts of data.



The last 10 days have been about refreshing a server infrastructure I stood up 12 years ago for a number of other projects. What was left was a couple of simple websites, some domain hosting, and all the related mail server infrastructure. All of this needed a complete refresh to be brought up to date;

  1. Rebuild the server infrastructure to have more horsepower. - DONE
  2. Upgrade the Ubuntu OS from 10.04 (Lucid Lynx) to 20.04 (Focal Fossa). - DONE
  3. Rework all the domain aliases to remove dependency on a domain I no longer owned. - DONE
  4. Do some basic security work to the server. Mostly SSH focused. - DONE
  5. Create a new mail server, and do some mailbox maintenance. - DONE
  6. Install Apache2 httpd host. - DONE
  7. Configure Apache2 for a couple of web sites. - DONE
  8. Code some basic HTML to confirm the sites are working. - DONE
  9. Celebrate! http://endeavours.com/

So good to have all this done. The server will provide a strong foundation and is well prepared for the ELK stack and the first load of ocean data. So excited! 


Tuesday, March 16, 2021

An Important difference between DevOps and DataOps

Where DevOps is automation, technology, and delivery focused; DataOps is more customer focused. I like these descriptions from Wikipedia for DevOps and DataOps;

  • DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. https://en.wikipedia.org/wiki/DevOps
  • DataOps is an automated, process-oriented methodology, used by analytic and data teams, to improve the quality and reduce the cycle time of data analytics. While DataOps began as a set of best practices, it has now matured to become a new and independent approach to data analytics. DataOps applies to the entire data lifecycle from data preparation to reporting, and recognizes the interconnected nature of the data analytics team and information technology operations. https://en.wikipedia.org/wiki/DataOps
The similarities between these two are many, particularly from a process and automation perspective. I see DevOps really focused on delivering quality software, and DataOps focused on delivering visualized data analytics to the customer.

Customer focused DataOps assists with Agility

Having a customer focused data analytics team fits well with an Agile approach. The data analytics team needs very involved customer analysts (or product owners). The customer analyst identifies the KPI's, models, or intelligences that need to be fulfilled. These become part of the backlog, and as new sprints are defined they become focused on the item(s) of analytic. A sprint can be built around a few analytics, then iterate around the items for a DataOps sprint;
  1. Where is the data? How do we get at it?
  2. How do we best move it? How often? What are the security or privacy issues?
  3. What needs to be cleansed or transformed? Is the data at the correct granularity?
  4. Do we already have any related data to improve the intelligence? Is this a new build or do we use / alter an existing pipeline?
  5. What models or analytics do we apply?
  6. How do we best visualize the data?
Not to say that DevOps can't fit well within Agile approaches, it can.... the backlog is more technically focused and fits into the sprint more from a continuous perspective than a customer perspective. (What DevOps features go into a sprint are often negotiated with the product owner). The focus of DataOps is in shipping features that fulfill a visualized analytic or more... The focus of DevOps is in CD / CI...


This approach worked well for us when working on a Business Intelligence project and our nine week sprints usually focused around 4 to 9 KPI's. The organization was in aerospace, they had many legacy data sources with new data sources coming online. As with many organizations, they were in a state of improvement and transformation. Fitting new cubes, representing KPI's, into sprints allowed us to show progress and success. The biggest challenge wasn't in the technical or delivery side of getting the data to the customer. The challenge came in developing a data team where every team member understood the process end-to-end and the efforts required during each step of the DataOps pipeline. Acquiring, cleansing, and transforming data takes as much effort and understanding as visualizing the data for the customer.

Saturday, March 13, 2021

For Contract Database Administrator

Do you require contracted database administration? Medium to small organizations using database technology to store corporate data definitely need database administration to care and feed for there database technologies. This care and feeding includes, and is not limited to;

  • Install and maintain database servers.
  • Optimize database security.
  • Build and maintain ETL pipelines.
  • Performance tuning of databases.
  • Storage optimization for databases.
  • Implement DataOps for up-to-date business analytics and its need for continuous data.
  • Install, upgrade, and manage database applications.
  • Create automation, and schedule, repeating database tasks.
  • Ensure recoverability of database systems.
If you require any, or all, of these database administration task we can help. With over 30 years of database experience complimented with a technology degree in database management we can work remotely to keep your databases healthy and reduce business risk. Part-time or full-time, reasonable rates.

Friday, March 12, 2021

Data Challenge Panel Session: The Power of data

I listened in on this presentation about the power of data. In particular, having Susan Hunt from Canada's Ocean Supercluster as one of the presenters. All the presenters had very valuable insights. It was an hour well spent!

The Session: The Power of data

Description: Come learn with us. Our panel guests are engaged in transformational data products and projects. Together, we’ll learn what opportunities they are creating when using the newest technology to exploit the power of data. And we’ll talk about careers. The opportunities are limitless.

Moderator: Cathy Simpson | Chief Executive Officer, TechImpact Panelists: Susan Hunt | Chief Technical Officer, Canada’s Ocean Supercluster Justin Kamerman | Chief Product Officer, Instnt Inc. Jason Lee | Partner, MNP Technology Solutions

Items for my follow-up:

A number of subjects sparked my interest from the presenters discussions. I believe these are the three that need follow-up from the current ODE perspective:

  • Building Models for Data, or transforming Data for Models
  • What is the business case for the datalab / data workbench?
  • What is the current state of DataOps?


Peter, we need to integrate data more easily.

I liked this article on Fundamental truths when it comes to innovators. I do think Elon Musk and Jeff Bezos have figured out how to be crazy successful in business. I do wish they were more philanthropic with the monies they have accumulated from their success. I digress...

I like the idea of a fundamental truth as a foundation for your business that doesn't change through time. And when I think about my commitment to build a data services business, I have now started to think about what would be the fundamental truths?

  1. We need to access and integrate data more easily.
  2. We need better ways to visualize, communicate, and understand, the data.
  3. We would like to reduce the compute and storage costs of data.
These are what I came up with through my review of my initial thinking of fundamental truths. I know there will be a few more and these three will be edited as my idea grows and gets greater footing.

Monday, March 08, 2021

Building the Data Lab Technology Stack

The idea of building a data lab is emerging from my ocean data conversations and how to best utilize my knowledge and skillset within this opportunity. In my mind, the service offering would be twofold;

  1.  Data Engineering / Software Development consulting and services with focus on ocean data. We will do the heavy lifting of extracting, cleansing, transforming, and loading your data. And then we will help with analysis and visualizing the data. We are comfortable working in both the open source and Microsoft technology stacks.
  2. Standing up (and data loading) the technology stack for the data lab. You are going to need to host all this compute power and storage somewhere. It could be on-premise. Most likely, it will be in the cloud. We can help with this also. We could build it in Azure, using the Microsoft technology stack. Or we could build it using an Open Source stack on top of Linux in any of the hosted environments of Azure, AWS, or Rackspace.

https://stock.adobe.com/
How do you build a low priced, large compute, technology stack to support data engineering efforts, implement a data lab, and showcase these new services capabilities. The low price is the key factor given the current startup state of this ocean data endeavour. Particularly, when you think of the cost of compute for processing and storing large amounts of data. I believe the the best way forward is as follows;

  1. Use open source where you can. Fortunately, many of the infrastructures, tools, frameworks, and programming languages for the data lab are open source.
  2. Automate the build so it can be built and torn down with ease. This would eliminate the need for the stack to always be running.
  3. Store the data at it's source, if possible. Fetch, and load, the data when you automatically rebuild the stack. Keep in mind this limits the amount of big data you can store locally, and loading large amounts of data can cumulatively take days. Be mindful of this. 

Note: this stack is to showcase the services capabilities. A full data lab would also need the ability to both persist and fetch data. It's going to take some time to build the data lab!

The Data Lab Technology Stack

The deployment of this technology stack will use open source wherever possible running on a Linux (Ubuntu) Server hosted at Rackspace. The rational for these decisions are;

  • Little to No licensing costs 
  • Strong familiarity with Rackspace as hosting company
  • Existing domain name (endeavours.com) hosted with Rackspace
  • Extensive experience with Ubuntu Linux in a hosted environment
  • Familiarity with deploying data intensive solutions using the ELK stack
  • Experience programming in Python

Note: The deployment of this technology stack will happen in phases, where each phase will complete with some basic tests to ensure the stack behaves as desired.

Phase 0

Phase 0 will be a basic ELK stack running on an Ubuntu Linux server hosted at Rackspace with access via the endeavours.com web domain. The use case for where the data comes from, how we transform it, the analysis, and visualization is still to be determined. This use case will be used for testing this first iteration of the newly stood up data lab. Exciting times!

Phase 1

During phase 1 we will add the Python programming language to the technology stack and use it for two purposes;

  • Apply a model to the data using Python.
  • Present the processed data to a web page for display.

Phase 2

During phase 2 we will add Kafka as an infrastructure resource, identify some additional data sources, and pre-process the data before it gets loaded into ElasticSearch.

Phase 3 and beyond

Investigate the Apache Data lab stack, add Spark to our lab, add a data workbench...

Friday, March 05, 2021

ODE Newsletter - February 2021

I'm 7 people into working towards my 100 conversations. It is said that you need to have 100 conversations as you solidify your business / startup idea. So this is where I am, seven conversation in. If you know anyone who works with ocean data or works for a business that has an interest in oceans, I'd love to talk with them.

Given the time restraints of being deep into a large data / database migration project, I consider February has been a good month for conversations. It provided me a good view into the horizon of ocean data. I followed the conversations that were presented to me without me directing the focus. For this is the first month, and I have yet to gain clarity of the gaps of where I need more information. This makes sense given I am at the beginning and don't know what I don't know. Now that it is the end of February I have identified the need to talk with customers of ocean data. This could become a focus for March. The conversations for February unfolded in the following order, with the following summaries and highlights;

PropelICT (https://www.propelict.com/)

I reached out to a past co-worker in a leadership position within PropelICT. PropelICT is an Atlantic Canada e-accelerator for tech startups. The conversation was very encouraging and initiated my application to their April cohort. Looking forward to their support in the coming months (and years).

Highlights: 

  • The idea of 100 conversations.
  • My first suggested conversation contact. 
  • Being a candidate for their e-accelerator.

eOceans (https://www.eoceans.co/)

I spoke with one of the principals of eOceans. Time very well spent, Thank-you! So many details to be digested from this conversation. This organization clearly understands ocean data and where it intersects with social media! A bulleted list seems the best to call out the highlights;

  • There are many open standards and organizations working in this space. The data standards seem to be "standardizing" and there are many organizations working toward bringing the data standards together. More open organizations are contributing than the closed proprietary types. CIOOS is the standout for Canada. EU and US are much further down the standards and open data path than Canada.
  • Both ends [(data storage and end-points (IoT)] of the data collection are well serviced with lots of business and startup activity. It's the middle were the greater opportunity exists. It's with the data integration with consideration for all the standards and granularity. "It would be nice to dust off a 10 year old data set and be able to easily use it".
  • Working with ocean data initiatives is very project based and finding the revenue sources / the business model for an open reference architecture for the digitization of oceans could prove difficult.

Highlights: 

  • Many open organizations already working in the ocean data space. 
  • The business side of what you are exploring (reference architecture) may be difficult, so much work is project based and gov't funded. A reference architecture seems like an NGO or consortium kind of thing.
  • Middle ground of software and data integration could be a big need given my skillset.

Mentorship

Super fortunate to reconnect with an older friend who has loads of experience; small devices, programming, data, startups to a favorable exit, machine learning, etc... many skills that align well with what I am doing. And on top of all this, I really enjoy the meandering conversations we share!

The one area where there is a strong overlap towards my ocean data focus and the mentors previous experience with the integration of data. And yes he confirmed, integrating data from different devices to a common standard is a lot of work for creating a single view into a broad data realm.

Highlight: He agreed to provide me mentorship within this endeavour. So great!

New Brunswick Ocean Strategy: Our Opportunities in the Blue Economy

This was an excellent online conference put together by the Ocean Supercluster. What I did most was listen, and a good thing too... I have so much to learn. I really liked the breakout sessions where there was more individual participation. Some names, and acronyms are becoming more familiar too me. 

Highlight: A small list of contacts I could reach out to. All good!

TechNL (https://www.technl.ca/)

I spoke with one of the leaders in TechNL and we talked about what I am wanting to do with data, in particular, ocean data. The conversation pointed towards two relevant contacts;

Highlight: That if I am going to be successful in this endeavour I am going to need partners. The time required for setting up an organization isn't the best place for me to be focusing my time at this stage of the startup. And given the nature of this startup needing to work in the open, the partnership route may be the best way to go...

Canadian Integrated Ocean Observing System (https://cioos.ca/)

So fortunate to have the attention of two CIOOS employees! They were so gracious a provided a broad and deep amount of information regarding the state of ocean data. Super helpful! CIOOS clearly knows the data. The best way to summarize my conversation is by including the important questions and there answers;

With ocean data where is the greatest pain?

Resources as in financial and skills / knowledge.

At the more general project level; governance and the people who know how to organize and stewardship data through its lifecycle. This is more a reference to the industry in general... it's a project issue. And having the ability to integrate with a project that happened years ago...

Do open data standards have an influence?

Absolutely! There are many references to open data. Most of what we deal with are open.

How easily integrated are the existing data sets?

It’s getting better. It can be difficult to get an older data set and want to integrate it. These older sets often lack the granularity or metadata that makes it easier to ingest. There is a definite need here at a project level. Developing an expertise here could become a strong business.

Most initiatives within this space are project based. Which makes it difficult for longer initiatives that have some data sustainability. Rarely are there long term funding initiatives.

Highlights: 

  • So many acronyms, references and URLs. The CIOOS folks provided me many references all pointing in the right direction. Reference to some of the ISO standards. 
  • The need for better stewardship of data so as data ages it still has usefulness.

Pisces Research Project Management (https://piscesrpm.com/)

Another fortunate conversation with a person deep into ocean data and with the added bonus of being very technical. This was a contact I harvested from the New Brunswick Ocean Strategy Conference. There are may topics I could summarize from this outstanding conversation, much of the information confirmed things I discovered from the previous conversations described above. This is good!

I did pitch my idea about mooring buoys as a fixed points of data collection, and having these buoys like the personalized weather stations that have become so popular. This employee loved the idea.

The exciting part of this conversation was the discussion of the technical stack used within the open data within the oceans sector. It was good to add this to the knowledge I had of the proprietary technical stack used when I was managing the software engineering dept. at Provincial Aerospace.

What is the most common tech stack for Ocean Data?

This person has extensive experience working with Government Organizations and Academics. From what they have seen the most common, and emerging, technology stack includes;

    • Python
    • Assorted data storage approaches. Often NOT an RDBMS.
    • QGIS is common.

These are the tools he finds most effective and common. Using QGIS pushes you into the geo representation of data. Much ocean data requires different kinds of models, more 3d, more oceans… not necessarily geographic, etc.

The ability to prove models with real data is the biggest need from a technical perspective. This is why python has such good traction. It is easy for non-programmers and also rich enough for programmers. A good language for data, and useful across the technical skills working with data.

NetCDF is the most common data-store. Also CSV and proprietary data storage. Remember data people are mostly not programmers or overly technical.

Also take a look at CKAN (https://ckan.org/)

What are people looking for from a technical perspective?

    • Proving models with real data.
    • Integrating data

Highlights: 

  • A deep discussion about the technical stack. The preferred programming languages, data storage, integration approaches, and technical issues.
  • Confirmation that integrating data and proving models is an area of software development opportunity.

Lessons Learned

  1. A reference architecture for the digitization of oceans is not enough to hang a startup or business upon at this time! Where I do believe it is still a good idea that will form through time. There is so much work already going on for a common open architecture that another doesn't need to be started. I truly believe a reference architecture will emerge, it is a; when it will happen, not if it will happen.
  2. There is a big need for technical and software development skills and knowledge in the data engineering space of ocean data. I believe the opportunity exists for a software development / data engineering consulting firm with the specialty of ocean data.
  3. The idea of an anchored (or fixed) buoy for ocean data collection is very compelling too me. Kind of like the personal weather station but as a fixed mooring buoy. Anyone who has a mooring buoy could replace it with the data buoy, and have real-time data about the conditions at the buoy in preparation for mooring.

Next Steps

  1. March will be the month of broadening my reach. I need to talk with a broader section of people working in the oceans space. I need to find potential customers for the processing and software development in, and around, ocean data. 
  2. I need to start building software tools for the processing of ocean data. I need a reference technology stack showcasing our abilities to work with data.
  3. I need to start developing an elevator pitch for the ocean data software consulting firm. I need customers and revenue to get the real feedback to focus the business mission.

Sunday, February 21, 2021

The Beginning of Ocean Data Endeavours (ODE)

Thirty-nine months ago I started on a deep dive into developing a reference architecture for the digitization of oceans. The idea of developing this reference architecture was initiated by the Canadian Government awarding Atlantic Canada with the Ocean Super Cluster initiative and all my recent work with leading the software engineering group at Provincial Aerospace. My writing and research into ocean data took me to the point where I needed to deepen my understanding of a number of subjects, and I needed this deeper understanding before I could continue the writing and research (even though you could consider deepening understanding as research). I needed to have an intermediate understanding of what had come before and the current state of things with a reference architecture for the digitization of oceans. In particular, I needed to work directly with ocean data and the standards that influence its structure.

Over the last three years I have been lucky to work with Triware Technologies Inc., and together we have found projects that align with this need to deepen my understanding of all things digital and all things ocean. My recent project successes include;

OCIO Digital by Design - I was fortunate to be awarded the opportunity to be the data architect for the initial phase in digitizing the NL governments citizen facing portal. I remained on the project for the first 12 months through to the portals launch. Being on the design team to create the data tier and integrate with legacy data was a great achievement. And I deeply enjoyed using a scrum / jira approach with a multi-vendor, multi-disciplined team. We achieved a lot in a short period of time.

Lessons Learned - Agile, Scrum and Jira can scale well to a government organization with multiple scrum teams working toward an integrated solution.

Ocean Sector Search - We needed a way to index the Canadian Ocean Sector. So we built a search engine seeded by as many oceans related URLs as our analysts could gather. The technical architecture of this ocean specific search engine can be found in this previous post.

Lessons Learned - With reasonable technical effort Nutch can be configured and seeded to crawl a specific industry sector (in this case Canada Oceans Sector). The Nutch crawl harvested a significant number of pages (> 32000) that were then loaded into the ElasticSearch (ELK) stack while relevancy scoring each page along the way.

NLCHI - My work with the Newfoundland and Labrador Centre for Health Information (NLCHI) was a quick engagement to focus their requirements backlog into a few manageable sprints. I was super fortunate to help get an important project underway and gain insights into the concept of a customer focused data workbench for a specific subject domain.

Lessons Learned - The idea of a personal data workbench is very compelling when you consider the number of data sets already available in the oceans sector. And if we could fold in open and proprietary data sets, while honoring security and privacy we may be onto something...

Nalcor Energy Database Consolidation - So many databases, so little time. One of my favorite enterprise type projects is when the project pays for itself, over time, by the savings created by the projects downstream accomplishments. Not revenue generation, but operational expense savings. I believe one of the best KPI's for IT is not new systems implemented, but old systems retired.

Lessons Learned - an amazing amount of data can be moved with the correct use of tools, well built and managed ETL (pipelines), and a mindset of automation.

Argo Floats - 2018

NEXT STEPS

Over the last month I have revisited how to best develop my intermediate understanding of oceans data. After a number of conversations, with experts of oceans data, I believe my next steps are twofold; I need to focus on the existing standards for oceans data and I need to write some code to integrate some open oceans data sets.

I need to find opportunities to work directly with oceans data. If you are in the oceans sector, in any way, and you have the need of a very experienced data engineer, then I would love to help with your project. If you know of an oceans data project in needs of a data engineer, please forward on my credentials. Thanks to everyone for reading this far. And thank-you Triware for your ongoing career support!

Thursday, March 19, 2020

Digital by Design, Agility and Data Architecture

For 12 months, starting the summer of 2018, I was very fortunate to fill the data architect role for the Government of Newfoundland and Labrador's digital by design citizen facing web portal. An amazing team was brought together and we accomplished an amazing amount of work given the complexity of the environment we were all working. Kudos to the leadership team for seeding the ground and pulling together a diverse and effective group of people.

Being the oldest team member, with 35 years as a technology professional, I noticed a number of items and approaches that I consider the highlights of the project. I call out my 35 years experience because I know success doesn't always happen in a large group of people (with a team larger than 35). A group of strangers doesn't always come together when tasked to ship software on schedule and on budget. The cool part of this project is that the highlights were both technical and project management. In a nutshell, we came together using a scrum model of project management (hosted within JIRA) and architected a microservices technology stack using predominantly Microsoft technologies. The user experience design was exemplary and the software approach stayed aligned with the best of agile practices. We also used a scrum of scrums approach to manage the three distinct scrum teams.

What made this first year of a new project so effective?

The Agile Practices
The team was encouraged to use Agile approaches to successfully ship software. Thankfully, the commitment came from the most senior level and agile workshops were used to align the teams understanding and approach to agile. I consider these three agile practices what kept us all well aligned;
  1. We rigorously stayed with 3 week sprints. This was facilitated by the scrum of scrums group and kept us all focused on shipping working software.
  2. We embraced jira and stayed true to moving cards. It took a few sprints, as a whole we ended up having all the team members updating and moving cards. This, combined with morning standups, kept the team transparency high and important issues in the open.
  3. We always had demo days and retrospectives. This went a long way to keeping us focused and successful. All team members were encouraged to attend the other scrums demo days, this built excitement and kept us focused and moving.
Software Engineering Discipline
Developing software is as much art as it is science. Our team included many accomplished software engineers and this helped us implement features quickly and completely. Kudos are deserved by many on this project team, in particular, one of our technical leads (this is you, Phil) was hellbent and lead through example with two attributes of software engineering that are super important and sometimes missed;
  1. We refactored always, no excuses. As a group we were always learning, as implementing features is a relentless teacher. Improving upon our code base through refactoring kept the quality improving, and the bugs low. Even from a data architecture perspective, at the beginning of each sprint we refactored the data tier with the required data changes from the previous sprint. Data tiers often have different heart beats that the middle and user tiers as they are dependent on the legacy systems, which often have legacy heart beats. This is a blog post in itself...
  2. Automated testing. We automated whenever we could, we aspired to have automated tests with coverage to all our code. We got close by using frameworks and having a test first mind set. And don't underestimate how effective existing testing frameworks can be applied to the data tier.
Architecture was collaborative 
All architects were encouraged to contribute and discuss, we were always white-boarding and soliciting feedback. This kept the architecture strong and well understood throughout the team. And because we had a shared understanding of architecture the refactoring was reduced. All good...

Tuesday, November 26, 2019

Ocean Sector Specific Search



I've recently finished building an industry specific search engine. The primary use case is to drive international and domestic business traffic to the Canadian websites doing business within the oceans technology and innovation sectors.

From a technology architecture perspective we built a search engine for the Canadian oceans super cluster initiative where all components run, and are based, upon Canadian assets hosted in Canada. We seeded the search engine using the URLs for all the organizations identified as participants within this economic sector. The indexing process analysed each URL and followed all links up to two hops deep. All the identified URLs were scored using a web graph and the top pages were indexed.

The architecture decisions
The NELK stack became our back-end infrastructure.

A number of important architecture decisions were made early on as the project was detailed. Mostly decisions were made to support the technologies that the small team was already familiar. And if the team wasn't familiar, we chose technologies that had the most industry support and local resources in our personal networks so we could help out if we needed. We ended up having Nutch feeding the ELK stack using Wordpress for the UX. In the project it became known as the NELK stack.
  • Nutch - for web crawling and first round of web page extraction and cleanse.
  • ElasticSearch (ES) - as the search engine / data manager
  • Logstash - as the data transform and load.
  • Kibana - as the administration / developer console
Crawling the web with Nutch
We ended up using Nutch to crawl the internet for ocean sector specific web pages. We also needed to integrate with ElasticPress so the broader ecosystem search included the contents of our websites Wordpress database. To do all this we ended up using Nutch 1.15 for it integrated best across our technology stack. We used the Nutch recommended approach seeding, ingesting, fetching, and duplicate removing as we prepared the data for export to ElasticSearch. Due to versioning issues we exported the Nutch database to CSV before importing the data. For the first load of data our use of Nutch created the following page loading metrics;
  • seeded with 2612 domain names
  • removed 709 duplicate or in error domain names
  • identified 86872 candidate webpages 
  • fetched the 29323 most relevant web pages (based upon web graph algorithms)
  • indexed 29270 pages into ElasticSearch
Loading data with Logstash, inspecting the results in Kibana
We used Logstash to bring the Nutch exported CSV data into ElasticSearch. Coding up the logstash job was fairly easy, the most important aspect was choosing the correct logstash filter. It was better to use the dissect filter rather than the csv filter. More on this in a later post. In the end, I was amazed with how quickly Logstash loaded, and ElasticSearch indexed, all the data.

Once all the data was loaded into ElasticSearch I used Kibana to confirm data was correctly loaded into the data repository. Kibana has a very intuitive interface and creating filters and running queries to confirm the successful loading of data was straight forward. I look forward to using Kibana to manage the repository and create meaningful dashboards.

Integrating ElasticSearch with WordPress PhP


Integrating with Wordpress
Once we had the back-end built and loaded with industry specific web pages we still needed to find the correct tool-set to provide a query interface within a Wordpress template and to integrate with the organizations identified in the Wordpress database. We wanted the ecosystem search to include both what we had indexed from the internet and the organizations listed in our directories database. The solution ended up using two solutions;
  • The ElasticSearch (ES) PhP library which provides a mature (and easy to use) set of features to build your own interface into ES using PhP.
  • ElasticPress which allows automated ElasticSearch integration with a wordpress database.
The Wordpress / PhP tools for integrating with ES are very effective. ElasticPress has automation that keeps it up to date as changes are made within the Wordpress database. The ES PhP library has a robust set of features that makes for easy coding and kept search performance very high. Even with large query results the ability to traverse the result set forward and back was easily handles with features available in the PhP library.

In conclusion, using Nutch with the ELK stack provides for a very strong search engine that integrates easily with Wordpress on the front-end. The learning curve for this approach was not overwhelming and whenever challenges presented themselves the online groups help us resolve issues within days.

Special thanks to the team put together by Triware Technologies. Without all the other technical people, analysts, business people, data entry, project managers, Oceans Advance, ACOA, Ocean Super Cluster, ElasticSearch support, Azure support, and those clearing the way... none of this would have been possible. Thank-you!




Thursday, July 05, 2018

Seeking New Opportunities

TLDR;
Veteran technology professional seeking new opportunities. If you are requiring 35 years of career success in the software technology realm that spans startups through to large enterprise environments, then I'm your guy!

I have tonnes of experience and I can hit the ground running. I can work as a senior project manager, an enterprise solution architect, as a scrum master and build a team focused with agile approaches, I can design databases and related structures for your business analytic projects, and I can own your Business Intelligence initiative. I can provide strong, and proven, leadership. And if need be I can occupy the technical director level. You will find I provide great business benefit and good value, my experience provides the ability to save you more than I would cost.

A history of project success
I'm back to consulting in the technology realm. Being a technology consultant has provided my clients, and myself, many project successes. These successes have been both with technology startups and with medium to large business environments. For more details describing some of my project successes please read these two posts describing projects I have managed and provided technical leadership over the last decade;

Increasing Access to Education - this collection of eight projects helped CLEBC become one of the globes premier legal educators.
Career success in three year cycles - These four major corporate initiatives leveraged all my abilities to help PAL into their next level of technology capability and realized business value.
Where I can help the most
I can have an immediate positive impact to any technology initiative within large and small organizations. This success can come with startups and enterprise environments, or something new that can leverage my skills, knowledge, and experience.

There are five roles to where I can bring the greatest immediate business value;
  1. Enterprise and Solution Architecture - The solution side of designing technical architecture has most often been my preferred role within a software development initiative. I've done this for small startups and large enterprises. Good solution architecture creates a better technical solution that saves development costs, improves quality, and ensures alignment with business needs and the other technologies within the business ecosystem.
  2. Senior Project Management and/or Managing a Software Development Teams - Through time I have managed many projects with software development teams varying in size from 3 to 30. I have proven track record of bringing projects to completion on-time and on-budget. I seriously enjoy assisting a team of technical people to ship software.
  3. Data Analytics Project (Architecture and Team Management) - The B.Tech undergrad degree I completed in the 80's was focused on database management. And since that time my career has had data as its foundation. I do very well with data management [including the design of data structures and related communications (read API's)]. I can also work well within big data projects as my experience with big data goes back to the 1980's. Read one of my big data posts from a few years back to get a sense of this capability; Big Data; Similarities and Differences.
  4. Technical Mentorship - I'm an educator and have experienced many startups during my time in Vancouver. If you want to discuss the technical side, the team management side, and/or the development methodology to an innovation project (startup or otherwise) I can help here.
  5. Innovation - Many times in my career I have taken business strategy and made it happen. If you have a business strategy that requires software innovation I can make it tactical and implement. 
I'm willing to travel
A single flight from St. John's Newfoundland is my preference. I would also be very interested in consulting work in Vancouver (my home town). I have family there and could easily have all the amenities I require for extended working stays. In a previous blog post I describe how I consider the size of the St. John's marketplace to be 40 million people. I also need to consider the St. John's market to be a single flight away as I seek out new challenges and opportunities. My list of cities I will immediately consider consulting opportunities, include;
  1. Halifax: it's a morning flight away, and can be there and back including a full days work. I'd also stay for a few days if required.
  2. Toronto, Ottawa, Montreal: single 3 hour flight, couple of days then return home for remote working
  3. Vancouver: longer stays and longer aways... I have family in Vancouver, so it would be a very nice approach to working.
  4. London, England: An outlier, but... It would be nice to work in the EU and I have a British passport so it would ease my travel and work permitting.
One personal constraint
To be succinct, I require work-life balance... mostly it is about having time to care for middle-school age children and aging parents. This means I am available part-time or full-time with loads of schedule flexibility.


Wednesday, June 27, 2018

Work Life Balance for the Sandwiched CTO

Never more in my life have I required work-life balance and understand what it means at a personal level. This all started when I accepted a CTO position with Bluedrop Learning Networks ( a great organization with a good alignment to my career journey ). The interview process was extensive and I had the opportunity to meet all corners of the team I would be working with. Overall a good and thorough process. Kudos to everyone involved! The interview process included multiple discussions about work-life balance, and how I (in my mid-50's) have four aging parents over 80 years, two middle-school age children, one young adult age child, a bunch of volunteer activities, personal interests that I wont let go, and three residences to maintain. Oh yes, and a spouse who is an family doctor who also works in palliative care... needless to say I am often the go-to person when a short notice family issue arises. All this said, and after a few important conversations I had to let go of my new CTO role after only six months. I needed to focus on what I consider most important for my family. Though I am not an entrepreneur ( - though, I do think a good CTO needs to have the entrepreneur mindset - ) I completely agree with Randi Zuckerberg about approaches to managing the workload of a senior professional, or also known as the entrepreneur's dilemma.
For me, it's that simple. It's the implementation that will be the hard part. I need to have spending time with family, staying fit (in good health), and getting sleep to be my priorities. And I need to organize my life around these three and the others come in between or when priorities change. Something important to consider is that these five items need to be put into the larger context of a life well lived through a whole lifetime. That means you pick three on a daily, weekly, or yearly basis. Set your priorities for the day and/or week and follow through. This allows for flexibility within the entrepreneur's dilemma. In other words;
As you can see I also added one, be creative... my thinking around this aligns with having the time to think and create, free the brain to focus on the abstract and artistic and to wonder aimlessly... it is an important part, and keeps your edge in a world where innovation is becoming increasingly important.

Friday, January 19, 2018

Career success in three year cycles

My career seems to go in three year cycles. I've given up trying to determine if this is my unconscious doing or my skills and knowledge lend themselves very well to successful three year project life-cycles. Either way, I'm 35 years into a successful technology career and another three year cycle is coming to an end. And I'm very excited with what is coming! Before I get into the details of the most recent cycle I went back over my past 12 years of blogging to get a sense of my working ebbs and flows, and to confirm my three year cycle theory. The past four, three year cycles also seem to swing from being an employee to working on startups and as a consultant;

My most recent three year cycle has been with Provincial Aerospace (PAL) in St. John's Newfoundland. It has been a fantastic and exhausting three years. If I was to pick a few themes, they would be; team building, shipping software, quality management, and an acquisition. So what do I consider my achievements over the past three years and where do I best give thanks. In giving thanks, I will not be calling people out by name - they know who they are.
  1. Team Alignment
  2. When I joined PAL there was so much raw software engineering power with good team trust and camaraderie that my focus immediately moved from team building and skills development to team alignment and clearing the way for their success. And successful they were! We got to the point where every customer was very satisfied and we had solved some lingering and potentially expensive issues.
    Special Thanks: I want to give thanks to PAL senior management for being patient, keeping the team together, and trusting me to start shipping software. It took some time, we had to clean up some minor releases and complete a significantly complicated major release with a very broad deployment scope.
    • SED Team
    • What is most important here is the team was solid within itself as a software engineering team. They had very good end-to-end practices and audit proof trace-ability. The organization as a whole struggled with getting software out to the production environments due to many factors. Keeping in mind deployment is beyond the responsibility of the software engineering team and we had to deploy into highly secure customer networks in very rugged environments. Once we had a realistic schedule the team held the vision for success and delivered.
      Special Thanks: I want to give thanks to our project manager who is insanely detailed in the best of ways and the team for not only building quality code, but taking on the quality assurance roles for each others work. 
    • Business Intelligence Team
    • Innovation within a strong corporate culture can be hard and an organization will struggle to understand a team with a different rhythm and dance step. And the pressure for the team to align itself back with the corporate rhythm will be ever present and an effort to avoid. If you want innovation you need to allow teams to dance a different step, and allow them to master their new dance. We built a scrum - agile data analytics / business intelligence team from an exceptional group of transactional developers used to a more waterfall type development approach. It took us 12 months (which I consider a short time) to have a performing group of analytics and intelligence developers who ship new data dimensions in a sprint cycle time of 4 - 6 weeks.
      Special Thanks: I want to give thanks to the whole team for deeply embracing the learning toward becoming knowledgeable analytics developers. With the ability to analyse, design, develop, and deploy for multidimensional data from a plethora of different data sources. I want to thank the scrum master for holding the vision toward the value scrum would bring. I want to give thanks to the business intelligence consultant we brought in for the first six months of the project, they did an excellent job of leading by example and transferring the knowledge required to get the team more than started. I again want to give thanks to PAL senior management for being patient, keeping the team together, and trusting that the data dimensions will come and the team would exceed the targeted number of KPI's.

  3. Shipping Software
  4. Shipping software can be really hard or it can be simple and repeatable. Shipping and deploying software has become an understood and well managed process as the practices have built toward Agile approaches and DevOps over the last 10 - 15 years. The time of failed non-deployed projects should be a thing of the past. If its not, you should either; clear house at the senior leadership level or send everyone to upgrade their literacy of how to provide leadership to software and technology development.
    Special Thanks: I want to give thanks to the team leadership who came before me. The use of Microsoft TFS within the SDLC made team alignment really easy. I also want to give thanks to the team for adapting so well to adopting more agile and devops type approaches. I may have cleared the way, but the team did the real work!
    • IDNS 2.x (ADAM8 and SIS)
    • This was an eighteen month project that included many major features within its release scope. The main considerations for the project were;
      1. the schedule restraints [we could NOT go-live to production during iceberg-season (Feb - June)]
      2. the breadth of the feature set we were delivering included;
        • Increased security constraints
        • Service Orientation
        • Directory Integration
        • Content Management
        • Geo-referencing with advanced search
        • Off-shore client deployment
        • Legacy application support
      3. deploying to a new data center and multi-server architecture.
      4. Having two versions run in parallel for an ice-season to allow for comprehensive testing and customer network / security integration.
      Special Thanks: I want to give thanks to everyone involved with this project to hold the vision and getting to finished. We exceeded expectations. I'd also like to give thanks to the IT department for building out the infrastructure, owning the active directory deployment, and being sure we are secure to the levels required by our customers.
    • Business Intelligence - Data Analytics
    • We started to ship software as releases of new data dimensions (or clusters of key performance indicators). Once we had the basic infrastructure in place with the beginnings of the Extract, Cleanse, Transform, and Load (ECTL), data marts and warehouse we moved into using a scrum type approach to ship new dimensions out of each sprint. This worked well as it gave a reasonable velocity to complete a set of deliverables and then have retrospectives for learning. The team shipped 12 cubes with consistent and interval data refresh which took data from three distinct and distributed data sources. The challenge going forward for the team is in assisting the product owners and subject matter experts in leveraging all the cubes into dashboards and analytics.
      Special Thanks: I want to give thanks to the team for putting in the extra effort from being on a steep learning curve and focusing on the delivery of data cubes as our measure for success. I want to recognize the commitment of our senior developer in being a learning machine of the business intelligence and  data analytics subject domain. I want to give thanks for our DBA taking on all the system and database level tasks to make the project a success.

  5. Quality Management
  6. I'm a strong believer that good software quality management (QMS) brings significant business value. The value comes from; being able to ship software on schedule and on budget, more easily integrating new and unexpected features, ease in adding and training new team members into well known process', and the ability to easily address the scrutiny from customers, auditors, and potential investors. Our team regularly exceeded the procedures and practices within our quality management system and much of our success was due to this rigor.
    Special Thanks: I want to give thanks to the PAL director of quality, she saw beyond the business of quality certification and her enthusiasm for quality made us all better. I want to again give thanks to our project manager; her commitment to process, record keeping, and traceability is a thing to behold.
    • Rock solid processes
    • We were fortunate to have developed an end-to-end SDLC process that was reflected in our use of Microsoft TFS. The team was committed to following the process' and we passed all our insanely rigorous ISO audits. We were continuously improving our process' to better suit a more effective and efficient SDLC. We adjusted our QMS to our practices, rather than adjust our practices to our QMS. And our adjustment followed solid change management practices.
      Special Thanks: I want to give thanks to the software engineering groups leadership team for being willing to continuously improve our SDLC as it was reflected within our QMS, and vice-versa. I want to give thanks to the team for following our practices. I want to give thanks to the auditor for providing candid feedback and encouragement to make change within our ISO certification.
    • Traceability
    • Having the ability to see an idea through to working software is an accomplishment. Having evidence of how the idea became working software, from an auditors perspective, is a thing of beauty.
    • Multiple Successful ISO audits 
    • Special Thanks: I want to give thanks to all those who participated in our ISO audits. They can be stressful, but for us we embraced them and used them for our continuous improvement.

  7. An Acquisition
  8. I feel very fortunate to have had an amazing 35 years working within the technology realm. I've written a lot of code, tuned my share of databases, managed a number of talented teams, architected working solutions that are used daily across Canada and around the world, and held leadership roles with amazing peers. I have had my share of working with startups as an employee, shareholder, and outsider performing technical due diligence. My 30 years in the Vancouver technology scene included working with angel investors and VC's to perform technical due diligence to provide them much needed information. During my time at Provincial Aerospace I was asked to again perform technical due diligence for the PAL acquisition of CarteNav. What made this different is it the first time I did it as an employee of the acquiring company. And fortunately I became a member of CarteNav senior team after the acquisition. This allowed me to see firsthand some of the success and challenges that happen during the first 18 months after an acquisition. Such a great professional experience.
    Special Thanks: I want to give thanks to senior management for giving me the opportunity to see an acquisition from the other side. It confirms that acquisitions success are about cultural integration during the months that follow. I also want to give thanks to the top tier consulting firm that confirmed my due diligence findings, and were very focused and gracious. I want to give thanks to the CarteNav leadership team (and all the CarteNav employees) for being so welcoming and working so hard through the challenges that come with any acquisition.
So there you have it, a reasonable summary of the standout themes from my last three years working with Provincial Aerospace. My next adventure begins... more on this to come. Be well...

Wednesday, January 03, 2018

The oceans data collection platforms

My last post from the end of 2017 spoke to the number of sensors and devices that are currently, and becoming easily, available for data collection. This previous post focused more on the generic types of end-points and sensor technology. In this post we focus on the oceans and look at the variety of end-points used in the maritime environment.

Underwater Sensors
As previously identified there are a growing number of sensors and devices available for collecting data in all types of environments. This is also true for the growing number of "platforms" in which these sensors can be deployed. When we extend our view of sensors to include those used in oceans the list of data capture technologies grows. What is important, beyond the details of the data being emitted by these sensors, is how many are becoming a part of the digitization of oceans data "ecosystem". And with so many sensors, and therefore, so much data... a standardized approach and reference architecture defining the approaches to coalesce all this data will become increasingly important.

The oceans data collection "platforms"

Weather buoys
Weather buoys are instruments which collect weather and ocean data within the world's oceans, as well as aid during emergency response to chemical spills, legal proceedings, and engineering design. Moored buoys have been in use since 1951, while drifting buoys have been used since 1979.


An Integrated Ocean Data System 
Spotter is a web-integrated solution for collecting ocean wave and surface current data, designed from the ground up to be easy to use, intuitive, and extremely low cost. The Spotter Device is a compact, solar-powered, surface-follower, which measures surface waves and currents. Through our online Dashboard you can remotely configure your Spotters, access your data in real time, visualize wave data and position tracks. Your Spotter is already connected, so all you do is turn it on and focus on collecting the data you need.

Autonomous Underwater Vehicle (AUV, or unmanned robot submarine)
AUV are increasingly non-proprietary and made up of “plug-and-play” AUV modules which can be brought together and configured in the field. When assembled with a set of survey-grade sonar modules, a Gavia AUV becomes a self-contained survey solution with a low logistics footprint that is capable of carrying out a wide range of missions for commercial, defense, and scientific applications.

Autonomous Underwater Observatories
A submersible platform enabling tailor-made solutions with sensors from a variety of sources. They can be used off-the-shelf or customized to better cover application requirements. They have the ability for long-term deployments and the ability to collect and transmit data through a variety of methods. As an example, review the deep argo a submersible device for collecting data at extreme depths.

Others...
The list doesn't stop at what is described here. Reading and research on ocean sensors and the digitization of oceans will direct the reader toward the large number of devices collecting data in and around the ocean. Honestly, I'm amazed with the number of devices and the amount of data currently being collected about the oceans. I am increasingly of the belief the we need a reference architecture for the digitization of oceans... Actually, I'm surprised there isn't one already... for it would certainly help to bring together all the oceans data collection on a global scale for the good of us all. If you have any knowledge of an open reference architecture for the digitization of oceans please forward this information along. Thank-you!

Over the next few months I will be publishing a series of blog posts describing, in more detail, all the aspects for building a successful digitization of oceans reference architecture. Next up is; "communications" with focus on the data communications available to oceans technology. Please follow along and make comment. For a table of contents of these coming posts please review a companion post; Digitization of Oceans Reference Architecture TOC

Thursday, December 07, 2017

A plethora of end points

There is a growing number of data collection devices available to the digitization of everything (including oceans). The variety of devices and sensors includes everything from temperature through chemicals to acceleration. Combine the number of different sensors with the ability to transfer data over great distances and the ability to monitor even the most remote places for obscure data points is increasingly easy and affordable. The following list provides an overview of the types of devices and sensors available.

Internet of Things (IoT) Sensor Classification from Black Box Paradox.

  • Position / Presence / Proximity
    Presence Sensor
  1. Proximity Sensor - A proximity sensor is a sensor able to detect the presence of nearby objects without any physical contact.
  2. Position Sensor - A position sensor is any device that permits position measurement.
  3. Presence (or Occupancy) Sensor - An occupancy sensor is a motion detecting devices used to detect the presence of a person or object.
  • Motion / Velocity / Displacement
    Displacement Sensor
  1. Motion Sensor - A motion detector is a device that detects moving objects. Such a device is often integrated as a component of a system that automatically performs a task or alerts a user of motion in an area.
  2. Velocity Sensor - A velocity receiver (velocity sensor) is a sensor that responds to velocity rather than absolute position.
  3. Displacement Sensor - A displacement sensor (displacement gauge) is used to measure travel range between where an object is and a reference position. Displacement sensors can be used for dimension measurement to determine an object's height, thickness, and width in addition to travel range.
  • Temperature
    Temperature Sensor
The temperature sensor detects the current temperature or changes in temperature.  There is a large number of temperature sensors available and a comprehensive list is available on Wikipedia.


  • Humidity / Moisture
    Humidity Sensor
  1. Humidity Sensor - A humidity sensor (or hygrometer) senses, measures and reports the relative humidity in the air. It therefore measures both moisture and air temperature. 
  2. Moisture sensor - A moisture sensor is an instrument used for measuring the water vapor in the atmosphere. Sometime considered same device as humidity sensor.
  • Acoustic / Sound / Vibration
    Acoustic Sensor
  1. Acoustic Sensor - Surface acoustic wave sensors are a class of microelectromechanical systems (MEMS) which rely on the modulation of surface acoustic waves to sense a physical phenomenon.
  2. Sound sensor - Sound Sensor can detect the sound intensity of the environment. The Sound Detector is a small board that combines a microphone and some processing circuitry. It provides not only an audio output, but also a binary indication of the presence of sound, and an analog representation of it's amplitude.
  3. Vibration sensor - a vibration sensor can detect vibrations. A transducer, such as that incorporating a laser or a piezoelectric crystal, which converts vibrations into an electrical equivalent such as a voltage. Also called vibration transducer, or vibration pickup.
  • Chemical / Gas
    Gas Sensor
  1. Chemical Sensor - A chemical sensor is a self-contained analytical device that can provide information about the chemical composition of its environment, that is, a liquid or a gas phase. 
  2. Gas sensor - A gas detector is a device that detects the presence of gases in an area, often as part of a safety system. This type of equipment is used to detect a gas leak or other emissions and can interface with a control system so a process can be automatically shut down.
  • Flow
Flow Sensors monitor liquid flow rates and accumulated flow volume. Flow measurement is the quantification of bulk fluid movement and can be measured in a variety of ways.
  • Force / Load / Torque / Strain / Pressure
  1. Force Sensor - A Force Sensor is defined as a transducer that converts an input mechanical force into an electrical output signal. Force Sensors are also commonly known as Force Transducers.
  2. Load Sensor - A Load Sensor is defined as a transducer that converts an input mechanical force into an electrical output signal. Load Sensors are also commonly known as Load Transducers or Load Cells.
  3. Torque Sensor - A torque sensor, torque transducer or torque meter is a device for measuring and recording the torque on a rotating system, such as an engine, crankshaft, gearbox, transmission, rotor, a bicycle crank or cap torque tester. Static torque is relatively easy to measure.
  4. Strain Sensor - A Strain gage (sometimes referred to as a Strain Gauge) is a sensor whose resistance varies with applied force; It converts force, pressure, tension, weight, etc., into a change in electrical resistance which can then be measured.
  5. Pressure - A pressure sensor is a device for pressure measurement of gases or liquids. Pressure is an expression of the force required to stop a fluid from expanding, and is usually stated in terms of force per unit area. A pressure sensor usually acts as a transducer; it generates a signal as a function of the pressure imposed.
  • Leaks / Levels
  1. Leak Sensor - leak detection is used to determine if and in some cases where a leak has occurred in systems which contain liquids and gases.
  2. Level Sensor - Level sensors detect the level of liquids and other fluids and fluidized solids, including slurries, granular materials, and powders that exhibit an upper free surface.
  • Electric / Magnetic
  1. Electric Sensor - A current sensor is a device that detects electric current in a wire, and generates a signal proportional to that current. The generated signal could be analog voltage or current or even a digital output. The generated signal can be then used to display the measured current in an ammeter, or can be stored for further analysis in a data acquisition system, or can be used for the purpose of control.
  2. Magnetic Sensor - A MEMS magnetic field sensor is a small-scale microelectromechanical systems (MEMS) device for detecting and measuring magnetic fields (Magnetometer).
  • Acceleration / Tilt
  1. Acceleration Sensor - An accelerometer is a device that measures proper acceleration. Proper acceleration, being the acceleration (or rate of change of velocity) of a body in its own instantaneous rest frame, is not the same as coordinate acceleration, being the acceleration in a fixed coordinate system.
  2. Tilt Sensor - A clinometer or inclinometer is an instrument for measuring angles of slope (or tilt), elevation or depression of an object with respect to gravity. It is also known as a tilt indicator, tilt sensor, tilt meter, slope alert, slope gauge, gradient meter, gradiometer, level gauge, level meter, declinometer, and pitch & roll indicator.
  • Machine Vision / Optical / Ambient Light
  1. Machine Vision Sensor - As a simple concept, machine vision is the use of devices for optical non-contact sensing to automatically receive and interpret an image of a real scene in order to obtain information and/or control machines or processes. Machine vision (MV) is the technology and methods used to provide imaging-based automatic inspection and analysis for such applications as automatic inspection, process control, and robot guidance, usually in industry. Machine vision is a term encompassing a large number of technologies, software and hardware products, integrated systems, actions, methods and expertise. Machine vision as a systems engineering discipline can be considered distinct from computer vision, a form of computer science.
  2. Optical Sensor - Electro-optical sensors are electronic detectors that convert light, or a change in light, into an electronic signal.
  3. Ambient Light Sensor - A device that detects the amount of light in the vicinity. An ambient light sensor may be built into a smartphone or tablet to adjust the screen brightness based on the available light.
Security matters!
It is also very important to note that as sensors become increasingly available and controlled over the network, security should be of huge concern. Industrial controllers are becoming increasingly targeted for security vulnerabilities and if an oceans sensor is available from a remote location over a network it is potentially open to attack. Being aware of the data available from the sensor and any control features the sensor (activator, controller) may have.

The other end
When considering the digitization of oceans reference architecture and what is considered an end-point we need to also look to the other end. And by the other end, I mean the data storage end. In this post we have discussed all the end points that emit the data, and at some point the data will need to be "at rest" stored in some storage device. The topic of data storage will be discussed in a later post.

Some examples of end-points
  • Nomad - The AXYS NOMAD is a unique aluminum environmental monitoring buoy designed for deployments in extreme conditions. The NOMAD (Navy Oceanographic Meteorological Automatic Device) is a modified version of the 6m hull originally designed in the 1940’s for the U.S. Navy’s offshore data collection program. It has been operating in Canada’s Weather Buoy network for over 25 years and commonly experiences winter storms and hurricanes with wave heights approaching 20m.

  • Coast Guard Canada - it is very hard to imagine this autonomous vessel will not be loaded with sensors to collect data. Portsmouth, UK, based ASV Global has converted a 26ft hydrographic survey launch to enable it to operate autonomously using the ASView control system, while maintaining its ability to operate in a conventional manned mode. The launch, which is part of the Canadian Coast Guard’s fleet dedicated to the survey operations of the Canadian Hydrographic Service, will be used as a test platform for unmanned survey work.

  • Personal Weather Stations - A personal weather station is a set of weather measuring instruments operated by a private individual, club, association, or even business (where obtaining and distributing weather data is not a part of the entity's business operation). Personal weather stations have become more advanced and can include many different sensors to measure weather conditions. These sensors can vary between models but most measure wind speed, wind direction, outdoor and indoor temperatures, outdoor and indoor humidity, barometric pressure, rainfall, and finally UV or solar radiation.


Over the next few months I will be publishing a series of blog posts describing, in more detail, all the aspects for building a successful digitization of oceans reference architecture. Next up is; "communications" with focus on the data communications available to oceans technology. Please follow along and make comment. For a table of contents of these coming posts please review a companion post; Digitization of Oceans Reference Architecture TOC