Happy Anniversary 2020!

The 7th of January 2020 marks the four year anniversary of the OctoMY™ project. The project has had some amazing progress as always, and just a few months ago a new strategy was formed that may slow development down momentarily.

More on that later.

Suffice to say, I am happy as ever to work on this project, and I am looking forward to an amazing 2020.


Productivity matrix

I have been thinking about productivity lately. I have dubbed my idea "swat matrix team", deriving from the fact that it talks about how to organize teams in a way that both resembles "swat" teams and leverages the skills of individual team members as a "matrix. (Sorry Neo, you are not the inspiration this time).
Swat robots. Image credit Morgan Allen.
The gist of it is that we create a small team of resources each expert in their own domains working together like a unit ("swat" team). For example you have one dev-ops, one UX, one back-end and one front-end specialist working on the same project.

All should take part in git review for each other and try to learn the trades of each other. In fact the learning should be formalized in rotating bi-weekly "apprenticeships designations" where pairs of team members are responsible for mentoring each other in their respective fields of expertise. For example dev-ops will teach deployment in kubernetes to UX, UX will teach user testing to dev-ops.

The actual work for the project will be the learning material used. In this example UX Tasks will be assigned 25% to the UX apprentice with the tasks with most learning potential being assigned first.

The idea is that by doing things you are not comfortable with you will be on high alert and your attention to detail and best practices will be heightened. By having an expert by your side you can maintain confidence that the result will pass the bar.

For larger projects multiple swat teams will work together. The apprenticeship is maintained within each team, and each team is responsible for one easily separable part of the project. Rotation of the members will happen between teams, so that the UX of one team will swap with the UX of another, facilitating cross-team knowledge sharing while still maintaining coherent teams.


Screens vs productivity

It's been awfully quiet lately in the OctoMY™camp. Things are moving under the hood as always, albeit in a different manner than you might think.

All development has been put on hold the last few months an a new secret project has been put into motion in an effort to gather some funds for OctoMY™.

Without spoiling anything, here is a tip that might help you improve productivity in your own projects!

Buy more screens. Lots of them. My current setup is like this:
Big-H configuration
I have two vertically aligned 1080P 24" screens on the sides and two 4k 28" horizontal screens in the middle. The three "tiny" 15" screens above are actually touch screen computers. I use them for testing OctoMY builds during development and for showing operations statistics.

Anyways, getting used to this amount of screen real estate takes some time, but after you get used to it there is no going back. Your brain will accept and learn to take advantage of windows staying put in one location without having to switch around too much, and your way of working and speed will gradually increase.

Also a bonus tip that has also contributed to my current level of working speed; leave your computer and screens on even when you are not using it. I know this is a big no-no in todays environment-focused mindset. I think of it this way; the innovation I create with this setup will in the future far offset the power I spent having my screens on. And if you don't feel the same, convert your energy supply to a environmentally friendly one. You should have done that regardless if you really care....

Have fun and happy coding!


Plan is dead, long live Dogma!

As explained in the strategy update of 2019-06-16, We will continue the effort of completing the "plan" part of OctoMY™. But "plan" is not the best of word to describe this concept. In this post will explore the alternatives. I want the word we settle on to be self explanatory, short and memorable.

So what is it that we will be naming?

It is a declaration of all the rules by which a group of agents will abide. The rules are written in a declarative language where the possible states and the possible transitions between them are described in high level terms.

The transitions are triggered by external events available to the individual agent via their respective hardware, and deterministic logic, and it is up to the individual agent to determine in which state they ought to be at any point in time.

The collaboration of agents is supported by the specification of shared secrets that allow agents to communicate securely whenever within range of one another. Each agent may interpret communication received from both trusted and distrusted agents.

Agents are expected to have a set of sensors that provide good input to form events from. Events may be such things as a change in location, a discovery of a landmark or identification of a person.

While the "rules" are usually handwritten by the people that own the agents, it should be possible to generate the rules programatically, and the syntax of the language may be extended in the future to support powerful open-ended ways of controlling the agents.

Using https://www.thesaurus.com I have arrived at the following alternatives that more succinctly describe what may be the most important part of the OctoMY™ project:
From this, I think the one I like the most is "Dogma". While edict is maybe more accurate, dogma sounds cooler and I never heard the word edict before I did this research. So from now on, "plan" will be renamed to "Dogma".