All content and website design by
Edward Maesen
Mount Shasta, CA, USA.
edward maesen portrait


The name of my website, Kagalakan, is a Filipino word meaning ‘joy’, ‘excitement’, ‘rejoicing’.

Print Purchase

Limited edition prints of my art creations are for sale in my store on Etsy and some prints are available exclusively at the Saatchi Art Gallery.

My Journey

I have an international corporate career as physicist and software engineer. After living for nearly 20 years in hectic and busy San Francisco I moved to Mount Shasta, a quiet mountain village in Northern California. I'm still available for remote software development positions and in my spare time I provide healing services and facilitate spiritual retreats.

Coming from an artistic family, throughout my life I have found balance and a creative outlet in music, drawing, watercolor painting and photography. In my photography I look for the beauty, wonder and awe of nature and the human form. My art in general reflects a spiritual worldview, a notion of being one, an expression of an omnipresent consciousness. For my musical expressions I use instruments like didgeridoo and drum, and the most magical instrument of all: the voice.

My life is a demonstration of living in tune with —and following direction of— an inner Knowing.

For an overview of my inner journey, please continue here….

External Blog

I regularly post on steemit , a decentralized social platform based on blockchain technology.

Web Design Showcase

This website is a showcase of my web design activities and philosophy, arrived at after working 20+ years as a software engineer and architect (for Pearson Publishing and eBay), and having written a full-fletched javascript library that followed all the traditional “best practices”. I have learned and concluded that abstractions oftentimes do more harm than good, and that a simple, systematic and well-organized approach that focuses on functional user interactions is the best way to go:
It “avoids hype”: the UI design is meant to be classic and steers away from the latest trends and fads. Yet it has all functionality that can be expected from a modern website:
Each main section is a “Single Page Application”. For the Photography and Art sections, the browser dynamically generates and displays image catalogs and images; all displayed on the same html page but each with unique bookmarkable URLs.
It is “data driven”: updating or adding image or audio files is simply a matter of updating a meta-data file (in json format).
It is “responsive”: scaling from mobile to desktop dimensions.
It is “adaptive”: depending on javascript capabilities advanced functionality becomes available.
It is served over a “secure connection” (“https”): to protect the website's integrity and user's privacy and security; and to improve performance on mobile devices.
Its JavaScript code is “minimalistic”: written without any third party libraries or framework.
All JavaScript code is “action-oriented” instead of “object-oriented” or “functional”, allowing for a minimal and easily maintainable codebase.
All code is “organized by content matter” rather than following an abstract “separation of concerns” approach, again allowing for a minimal and easily maintainable codebase.
Throughout my software architect career I've worked for multi-national companies where the idea was that in order to write maintainable code, it was best to use (proprietary or open-source) libraries and frameworks, and to follow a strict “separation of concerns” pattern. Over the years those libraries and frameworks have become more and more complex and abstract. Their complexity and abstraction combined with the separation of concerns approach actually have become a maintenance problem: developers know only a small percentage of a framework's functionality, can barely find all the fragmented code pieces, and often write poorly maintainable code due to their lack of understanding.

Use of third-party libraries and frameworks leads to excessive code bloat: An earlier version of this website was written using popular libraries Backbone, Dust, jQuery, Underscore and RequireJs. It had the same functionality but required ten times more JavaScript code than the current version, due to the size of those libraries, and the extra boilerplate code that is required to deal with their abstractions.

To put it in perspective: the full JavaScript code base of this current website is just half the size of the before-mentioned Backbone library.