I create full stack software solutions. My current preferred tooling is:
With over 20 years of profession development experience, I have been a part of many projects & fantastic teams. See a portfolio of some of my work. Iβm excited about the latest set of tools, as we have a comprehensive, high-performance, full-stack, isomorphic solution stack. We also have the rise of machine learning & vector databases. Over the last few years, I have worked on libraries to take full advantage of this inevitable outcome.
Crafting software since 2002 with π
Personal systems has been an instrumental tool in working with the chaos of the world. From starting my career during the .com collapse, through consulting gigs with startups, to the ever-changing tech/cultural landscape, I strive to create continuity in work, family, personal meditation, & the panoply of modern life.
ππΌ Skin in the game
I love the collaborative creative energy in startup companies. The team has a goal to make an impact & to reach the next level of funding. Concentrated talent with strong opinions. Unifying process & tooling is necessary for effective collaboration. Pressure to fulfil expectations & metrics drives the engine of creation. A well-oiled machine is beautiful.
Though I seek a better way that aligns with my personal systems to use continuity to drive the creative process. My belief is that effective individuals & small talented teams make the most impact. Free of mediating procedural burdens, raw talent brings creativity, especially if team coheres naturally.
So I sought to create my own systems & work as a freelance consultant in 2012.
π Open Source Software
Open source software creates continuity, particularly in the tooling, libraries, & frameworks proving a foundation for products.
Proprietary systems are a common secret sauce of an enterprise to participate with & be rewarded by the market. There are open source products, but in the current market, the product most often is the revenue driver. Yes, services also drive in revenue, like in my case, yet a product to attract people fuels the production.
As a consulting developer working on many projects, a common toolchain helps to use work & know-how with other engagements. Open source libraries & frameworks are available for developers to use. This re-use provides tooling that would otherwise need to be built from scratch, saving effort & time. The programmer needs to interface with these libraries.
π― Development βSecret Sauceβ
Just like a library, development methodology, frameworks, & patterns can be used to improve code re-use, maintainability, domain modeling, & enhance general productivity. I will be writing some blog posts on techniques such as:
- Domain Driven Design
- Flatish Architecture & Name Systems
- MPA & SPA web app architectures
- Software prototypes
- Using Monorepos & Git submodules to maximize code re-use
π Software Product Creation & Maintenance
Libraries, frameworks, methodology, & patterns means software products can be created & maintained. As the state of the art improves, software products can be created & maintained with efficiency. With much of the challenges in building with a unified javascript development ecosystem solved, we can focus on efficient product development with maximum code re-use.
π Flatish Architecture & Name Systems
Abstraction is used to organize software libraries.
There are only two hard things in Computer Science: cache invalidation and naming things. β Phil Karlton
Naming conventions are much loved to bring organization & familiarity to a codebase. Javascript is a flexible & dynamic language. The community has largely settled on camelCase name convention to join words. Yet camelCase has some disadvantages. For one, the case of a word can change depending on where it is located in the variable name. The first word is lower case while subsequent words are Upper Case. When maintaining a codebase, global searches are commonly used.
Interests
Meta-Philosophy
From the question "how do we model Existence?" sprang a Philosophy.
This Meta-philosophy can be applied via language to model any reified entity. Language patterns can be utilized in software & speech to create models of Existence.
Electric Universe
Viewing the Universe through the lens of Electricity & Magnetism. The same well known electrical equations & circuit theory can be applied from the micro to the cosmic, with surprising twists. The incomprehensible becomes understood with an effective model.
Health
Enjoying a low-carb diet. Utilizing knowledge of electrical interactions within the body to strategically utilize food & supplements for optimal health.
Holochain
Agent-centric crypto platform, inspired by nature. The Holochain Whitepaper is worth a read. Here are some notes.
π Divination
Writing software effectively is creating a logic model that a machine can execute. The interface between the programmer & the machine. Similar to writing, programming allows one to organize an ontology using abstractions. The executable software provides feedback on the logical consistency of the model. If there are logic issues, there are bugs. With tools such as type systems, tests, & validations, the software will result in errors. This process of discovery allows one to explore conceptual systems with a logic feedback loop revealing insights into Existence.
[1]: Astro PaperβMIT License