PostgreSQL

PostgreSQL (postgres or pgsql) is a powerful open source relational database known for reliability, extensibility, and standards compliance. It features: Advanced SQL support (window functions, CTEs, JSON, full-text search) ACID compliance and strong transactional integrity Rich indexing (B-tree, GIN, GiST, BRIN, hash, SP-GiST) Extensible with custom types, operators, and functions MVCC for high concurrency and performance Robust security, authentication, and role management Active community, frequent releases, and excellent documentation Ideal for everything from small apps to large-scale, mission-critical systems. ...

July 14, 2018 · 7 min

What Two Years Taught Us

What worked, what didn’t, and concrete recommendations for future projects. My in the trenches opinions, observations and reflections of building a complex distributed software system across multiple geographically dispersed teams. Key Successes Technical Achievements Process Improvements Project Management Challenges Forgotten Agile Principle 1: Individuals and Interactions over Processes and Tools Forgotten Agile Principle 2: Working Software over Comprehensive Documentation Forgotten Agile Principle 3: Customer Collaboration over Contract Negotiation Forgotten Agile Principle 4: Responding to Change over Following a Plan Challenges and Learnings Technical Challenges Team and Communication Architecture Decisions What Worked Well Technology Stack Team Dynamics Recommendations for Future Projects Personal Growth Lessons for Future Projects Key Successes Technical Achievements Successfully built a big data horizontally scalable ingestion system using Kubernetes and leaned into cloud native approaches early on Established heavy use of Python type hints early on, which improved code quality and editor aid Evangelised Elasticsearch early in the design phase: Led the adoption of Elasticsearch for read workloads, in the face of aprehension and inexperience in the broader team Implemented and tuned sophisticated text analysis pipelines Optimised search with ngram tokenizers, stemming, and asciifolds Designed efficient denormalised document structures and indexing strategies Lesson learned how important it is to make the the most appropriate data storage and management choices, make or break analytic solutions such as the one we collectively built. What consistency guarantees do are required? How fast? How are you going to calculate aggregations? What kind of read or write workloads need to be handled? Can these be separated and tackled as different problems? Elasticsearch is a HUGE reason why we were successful Created flexible hierarchy layering design, allowing differing customers to stamp the data with their own ways of doing things. Integrated OpenTelemetry for comprehensive observability Developed optimistic locking scheme and deep linking capabilities Automated deployments and quality verification with a gigantic test suite investment (unit and integration), linting, autoformatting, all orchestrated with a Makefile frontend and Bamboo CI pipeline The team embraced containers heavily from day 1. From running local vendor infra containers (redis, mongo, elasticsearch, etc) to running repeatable build workloads. Process Improvements Adopted Make for development automation, significantly boosting productivity Leveraged code generation effectively for complex scenarios, an ever powerful technique Implemented comprehensive integration testing with containerization Successfully broke down the system into functional components early Established well-defined data schemas upfront, which provided stability Project Management Challenges This project mangaged to defy every Agile Manifesto Principle. ...

June 20, 2025 · 8 min

How to Win Friends and Influence People

Key Lessons Fundamental People Handling Techniques If you want honey, don’t kick the beehive - avoid criticism The big secret of people - appreciation Those who can do this have the whole world - arose eagerness Make People Like You Do this and be welcome anywhere - be interested in others Make a good first impression - smile Mini essay by Elbert Hubbard Don’t be headed for trouble - names Become a good conversationalist - listen How to interest people - others interests How to Make People Like You Instantly - make others feel important How To Win People To Your Way Of Thinking You Can’t Win an Argument - avoid like the plague Disagreement Handling Cheat Sheet A Sure Way of Making Enemies and Avoiding It - respect others opinions If You’re Wrong, Admit It - admit wrongs quickly A Drop of Honey - be friendly The Sun and The Wind The Secret of Socrates - focus on agreeable points, not differences A Safety Value in Handling Complaints - talk less, listen more How to Get Cooperation - don’t take credit, plant seeds A Formula That Will Work Wonders - see things from others perspective What Everybody Wants - sympathy An Appeal That Everybody Likes - nobler motives Hollywood Does It - dramatize ideas When Nothing Else Works - stimulate competition Leadership If Must Find Fault, Begin This Way - sandwich technique How to Criticise and Not Be Hated But To And - highlight others mistakes indirectly Talk About Your Own Mistakes First - start with your own shortcomings No One Likes to Take Orders - ask questions Let Others Save Face - be respectful of others pride How to Spur People on to Success - praise every improvement Give A Dog A Good Name - give others a grand reputation to strive for Make The Fault Seem Easy to Correct - encouragment Making People Glad To Do What You Want - empathy Changing Peoples Attitudes Cheat Sheet Dale Carnegie’s flagship “How to Win Friends and Influence People” is a foundational book on communication, relationship-building, and personal effectiveness. First published in 1936, its principles remain relevant for anyone seeking to improve their social skills, leadership, and influence. ...

June 11, 2025 · 54 min

Rubiks Cube Algo

A fun memorable algorithm to teach my 5yo nephew how to tackle a 3 sided rubik’s cube. Step 1: Make a Daisy Step 2: Fill in the White Corners (“Chase the White Dogs”) Step 3: Solve the Middle Row Step 4: The Yellow Cross Step 5: The Yellow Face (“Feed the Yellow Fish”) Step 6: Top Corners Step 7: Top Middles Step 1: Make a Daisy Start by creating a white plus sign (the petals) on the yellow face (center). Align each white petal’s adjacent color with its matching middle-row center color. Once matched, rotate the petal 180° to move it to the bottom face. Repeat this process for all petals until you form a white cross on the bottom face. Step 2: Fill in the White Corners (“Chase the White Dogs”) Find any white corner pieces on the bottom layer (the “dogs”). Rotate the bottom layer to position a white corner directly below its matching color. For example, a white/green corner should be under the green side. Bring the corner into the white face by rotating the side it’s under downward, “scooping” the corner piece into place. Repeat until the entire white face is completed, and the bottom row edges align with their center colors. Step 3: Solve the Middle Row Looking at the bottom and sides (white layer is top), find middle cells on the bottom layer that don’t contain any yellow (e.g., an orange/blue edge). Move the middle cell (e.g. orange/blue) by rotating the bottom axis, until its side face color matches (e.g. a cell with an orange side and blue bottom should sit below the mostly orange sided-side). Determine the target direction the piece needs to move (e.g. for an orange/blue if the mostly blue sided-side is on the left, then the target direction is left): either left or right Follow this sequence to place it: Turn the bottom layer away from the target direction. Looking at the bottom layer head on, rotate the bottom layer towards the target direction. Looking at the bottom layer head on, rotate the target direction (e.g. left) column downward. Looking at the bottom layer head on, rotate the middle (sandwich) layer toward the target direction. Looking at the bottom layer head on, rotate the target direction (e.g. left) column upward. Restore the white top face as needed. Repeat until all middle-row edges are in place. Step 4: The Yellow Cross Use the FUR-RUF sequence: ...

December 26, 2024 · 4 min

Self taught MBA

This reading list covers the fundamentals of wealth building, personal development, income generation, business scaling, and inspiration from successful entrepreneurs. Each book offers practical insights and strategies for building business acumen and financial success. 🧠 Personal Development How to Win Friends and Influence People by Dale Carnegie Essential communication skills and understanding people’s motivations for effective interaction. The 7 Habits of Highly Effective People by Stephen R. Covey Seven habits for increased efficiency and effectiveness, including “begin with the end in mind.” ...

June 2, 2025 · 4 min

Pro CSS

Modern CSS Fundamentals Baseline Progressive Enhancement Logical properties and values CSS Reset CSS Cascade Layers CSS Custom Properties (variables) Colors Typography Media queries and custom properties Structured custom properties Base styles Meaningful links Big picture design system Wrappers Modifiers Option 1: BEM approach Option 2: Data attributes Landmark regions Gems Resources Modern CSS Fundamentals Baseline Baseline features are ones that are supported by all the major browsers (Chrome, Edge, Safari, and Firefox). Both the MDN web docs and caniuse show when a feature has reached either the Newly available or Widely available threshold. ...

May 10, 2025 · 10 min

Zero to One: Notes on Startups and Building the Future

Zero to One is a book by Peter Thiel and Blake Masters about the value of true innovation made accessible to the masses through startups. It outlines several tenets that keen-minded business people should hold dear, including why technology trumps globalization, why we should be supporting monopolies instead of “healthy competition”, why successful innovators have the worldview of a “definite optimist” and why no one should be afraid of losing their job to a robot. Zero to One also delivers unique business insights, such as the four most important things to pay attention to about your product (they’re not quantitative) and the seven questions every business must answer for itself. ...

March 9, 2025 · 27 min

Reflections on ElasticON Sydney 2025

ElasticON in Sydney this March was a packed day, blending technical deep dives with executive-level discussions. The event featured interviews with partners and customers, but the real highlight was the keynote from Ken Exner and Baha Azarmi. Their presentation was slick, showcasing cutting edge GenAI features across the Elastic stack, including the new semantic_text field type, RRF, BBQ, LogsDB mode, and the ability to ETL unstructured data onto ECS using an LLM. The introduction of the ESQL query engine with native joins was another game changer. ...

March 7, 2025 · 6 min

Effective Study Techniques

Studying effectively isn’t just about putting in the hours, it’s about using the right techniques. Research shows that some popular methods, like re-reading notes or highlighting, are far less effective than people assume. Instead, techniques that leverage how our brains naturally process and retain information yield far better results. The Problem with Common Study Habits Memory Palaces: The Ancient Greek Technique The Protégé Effect & The Feynman Technique The Zeigarnik Effect: Why Unfinished Tasks Stick Distributed Learning: The Power of Spacing Conclusion The Problem with Common Study Habits Ineffective techniques: Reading over and over, highlighting, using mnemonics for simple memorization, starting early without a plan, reading notes before and after class, listening to music while studying. ...

March 1, 2025 · 4 min

Stubborn Attachments: A Vision for a Society of Free, Prosperous and Responsible Individuals

Stubborn Attachments is a book by Tyler Cowen that paints a picture of an altruistic and bright future for the human race. Cohen argues and highlights the importance of sustained economic growth, moral philosophy and consequentialism, radical uncertainty, rules-based ethics, that future generations matter deeply, and how we as a race must be stubbornly attached to certain core principles as the necessary pre-conditions for sustainable prosperity. To be honest I avoid books like this, because they are hard. I mean, where do you start pulling apart such a broad and complicated topic. I thank Cohen for expanding my thinking towards civilization and painting the broad brushstrokes of a future pathway our race must strive for. ...

February 15, 2025 · 7 min