### Articles

#### Using Sennajs on a Static Website

16 January 2020

Sennajs is a Single Page Application (SPA) Javascript framework. It allows navigation of a website/web application and only updates the part of the page that changes. This allows for faster navigation and less page flicker. I became interested in Sennajs because it is used by Liferay Portal 7.x. For light weight static content Sennajs can be overkill. I wanted to learn about it and used this site as my testbed. I am now looking to remove it and want to document how I used it.

#### Egyptian Multiplication Algorithm

02 January 2020

I have started reading the book From Mathematics to Generic Programming. In the second chapter the authors discuss an Egyptian method of multiplication that involves the use of a table. First you make the table and then you use it to perform multiplication. Below is a table for multiplying 21 by 23. 21 is our Multiplier and 23 is our Multiplicand. Start with 1 and 23. Then double them for every following row. 23 + 23 is 46, 46 + 46 is 92 and so on.

This leverages the ease of adding something to itself to create the table. The algorithm uses addition to get the final result. We add 16 + 4 + 1 in the first column to get 21. Then we add the corresponding values in the second column to get the correct answer. 23 + 92 + 368 = 483.

#### Liferay, From 6.2 to 7.1: The Model is the key to Services, Security and Search.

02 August 2019

I have been struggling with bringing legacy Liferay 6.x code into Liferay 7.1. The biggest reason is the legacy models/entities have not matched the expectations of the 7.1 framework. If your model meets these expectations,they have a path for you that is smooth and will take you where you need to go. You can still get there if your model is missing the expected, eventually. It isn’t currently a documented path. For me it has been a rough trip. This and other articles to follow will hopefully ease your journey.

### Tips

#### Helpful Git Commands

02 April 2020

Useful Git commands for various situations.

#### Helpful Linux Commands for testing Multicasting

30 May 2019

Finding useful commands for troubleshooting multicasting was difficult because most were not installed on the servers.

#### Zookeeper: Useful Command Line

18 April 2019

Zookeeper command line commands