<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Soldier's 5</title><link>https://4lex.nz/</link><description>Recent content on Soldier's 5</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 13 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://4lex.nz/index.xml" rel="self" type="application/rss+xml"/><item><title>The Helpful Web - How AI will bring the next evolution of accessibility</title><link>https://4lex.nz/posts/the-helpful-web/</link><pubDate>Mon, 13 Oct 2025 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/the-helpful-web/</guid><description>&lt;p&gt;Better buttons, cleaner HTML markup, stricter adherence to WCAG - we&amp;rsquo;ve been investing in digital accessibility for over twenty years, and that investment has opened doors for millions of people worldwide.&lt;/p&gt;
&lt;p&gt;We are nearing a plateau. I believe that the next order-of-magnitude gain in accessibility won&amp;rsquo;t come from ever-tighter contrast ratios or perfection in semantic HTML.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve reached the point of diminishing returns. We might build current best practice levels of accessibility faster and more effectively with better technology. Still, we are bound in our current approach to accessibility by the interfaces we ship. The next leap in accessibility cannot come from better execution of traditional interfaces; it can only come from changing the interface. Changing the interfaces means making them adaptive. Making them personal and responsive in ways that statically designed software can never achieve.&lt;/p&gt;</description></item><item><title>Architecture is gardening.</title><link>https://4lex.nz/posts/architecture-practice-1-gardeners/</link><pubDate>Mon, 08 Jul 2024 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/architecture-practice-1-gardeners/</guid><description>&lt;p&gt;Large software projects are living things. They grow, adapt, and sometimes run wild.&lt;/p&gt;
&lt;p&gt;The way we design them - and the way we design the organisations that build them - determines whether they flourish or wither.&lt;/p&gt;
&lt;p&gt;Over the years, I’ve come to see architecture not as a static blueprint or a master plan, but as an act of cultivation.&lt;/p&gt;
&lt;p&gt;This article is the first in a series exploring my personal philosophy of architecture: how we can guide complex systems, human and technical, with the same care and intention as a gardener tending a landscape.&lt;/p&gt;</description></item><item><title>A framework for creating strategy</title><link>https://4lex.nz/posts/strategy-development-framework/</link><pubDate>Wed, 15 Jun 2022 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/strategy-development-framework/</guid><description>&lt;p&gt;Recently, I wrote my very first technology strategy. Overall I&amp;rsquo;d say the process went pretty well. Of course writing the strategy is intimidating to begin with, but once I started I quickly realised that the much more intimidating thing is actually working to implement the strategy after it&amp;rsquo;s written.&lt;/p&gt;
&lt;p&gt;I felt and still at times feel like fleeing to the woods to live as a wolf as a result of this realisation but I&amp;rsquo;m pretty sure my life insurance has exclusions for fleeing to the woods in order to live as a wolf. It&amp;rsquo;s not the family oriented response you think it could be, despite wolves being good family members that live in packs.&lt;/p&gt;</description></item><item><title>The Role of a Software Developer</title><link>https://4lex.nz/posts/the-role-of-a-software-developer/</link><pubDate>Wed, 01 Jun 2022 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/the-role-of-a-software-developer/</guid><description>&lt;p&gt;What if the role of the software developer is not actually about writing software?
What if the most important thing I can do today isn&amp;rsquo;t to write a sweet recursive function that delights and confuses the next human that reads it in equal measure?
As our industry has matured, the roles of technical staff in an organisation have changed. Increasingly, companies require that technical folk interact with customers. Some people like this. Some don&amp;rsquo;t.
Let&amp;rsquo;s have a brief chat about the opportunities and costs of this happening and what that might mean for your progression through the industry and your life.&lt;/p&gt;</description></item><item><title>Introducing the QUERY HTTP Verb</title><link>https://4lex.nz/posts/the-query-method/</link><pubDate>Thu, 25 Nov 2021 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/the-query-method/</guid><description>&lt;h2 id="introducing-query"&gt;Introducing QUERY&lt;/h2&gt;
&lt;p&gt;The IETF has published a document detailing the QUERY verb. The Query verb neatly solves the problem of asking APIs for LOTS of data or &lt;em&gt;conditional&lt;/em&gt; data.
In other words, QUERY enables API providers to provide a means for clients to ask the server about data, where the client isn&amp;rsquo;t sure what data is available.&lt;/p&gt;
&lt;h2 id="a-worked-example"&gt;A worked example&lt;/h2&gt;
&lt;p&gt;Working in Agri-tech, I often want to find out information about animals.
Unfortunately, that information can live across many systems, with many identifiers (primary keys or other).
In one context I&amp;rsquo;ve experienced, Dairy Animals can be identified and referenced by five or more different identifiers - so what do you do if you don&amp;rsquo;t know all of them?&lt;/p&gt;</description></item><item><title>Trialling One Day Sprints</title><link>https://4lex.nz/posts/1-day-sprints/</link><pubDate>Sun, 17 Oct 2021 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/1-day-sprints/</guid><description>&lt;p&gt;1-day sprints are a fantastic way of turning the traditional time pressures a team might face from negative to positive.
They act as a time constraint on the team and force clarity, agility and feedback into your work system in far more
significant amounts than you might already have. They can act as circuit breakers for teams struggling to meet sprint
goals. They can create momentum in and outside of the team and encourage teams to focus on producing the smallest impact
possible for your users. They carry risk, but some thoughtful conversations upfront can minimise any negative
impact later on - and the rewards are well worth it.&lt;/p&gt;</description></item><item><title>Implementing a team topology</title><link>https://4lex.nz/posts/implementing-a-team-topology/</link><pubDate>Wed, 24 Feb 2021 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/implementing-a-team-topology/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Any organisation that designs a system (defined broadly) will produce a design whose structure is a copy of the organisation&amp;rsquo;s communication structure.&lt;/p&gt;
&lt;p&gt;— Melvin E. Conway&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Team topologies are a concept created and popularised by Manuel Pais and Matthew Skelton. They describe a way of reforming
your organisation shape in such a way that improves the architecture of your software while reducing cognitive load and directing
more energy and focus towards the streams of value that flow through your organisation.&lt;/p&gt;</description></item><item><title>SQL Joins with Sequelize</title><link>https://4lex.nz/posts/sql-joins-with-sequelize/</link><pubDate>Sun, 11 Oct 2020 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/sql-joins-with-sequelize/</guid><description>&lt;p&gt;While working on an API for my day job last week, I needed to do a SQL Inner Join with Sequelize and Typescript in a
web API. Here&amp;rsquo;s how I achieved it.&lt;/p&gt;
&lt;h4 id="environment"&gt;Environment:&lt;/h4&gt;
&lt;p&gt;Things move quickly in the JS ecosystem. Here are the library versions used in the subject API at the time of writing:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;dependencies&amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;@types/express&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;~4.0.39&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;@types/sequelize&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;^4.27.21&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;express&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;~4.16.2&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;sequelize&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;4.38.0&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="context"&gt;Context:&lt;/h4&gt;
&lt;p&gt;I have an identifier in one system that I need to correlate with an identifier in a second system, but I
could only do that via an intermediate identifier, also in the second system. A good case for a SQL Join.&lt;/p&gt;</description></item><item><title>Running Deployments with Github Actions</title><link>https://4lex.nz/posts/github-actions-heroku-sentry/</link><pubDate>Mon, 13 Jul 2020 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/github-actions-heroku-sentry/</guid><description>&lt;p&gt;In a previous article I wrote about &lt;a href="https://4lex.nz/2020/05/getting-started-with-github-actions" target="_blank" rel="noopener noreferrer"&gt;Getting Started with Github Actions&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;In it, I talk about the basics of Actions, how they work, what the language looks like and how you can get started. If you&amp;rsquo;ve never used Actions before, I highly recommend you have a quick read of that before reading this, as I build on some of the ideas presented there.&lt;/p&gt;
&lt;h2 id="continuous-integration-ci-versus-continues-deployment-cd-versus-continuous-delivery-unhelpfully-also-cd"&gt;Continuous Integration (CI) versus Continues Deployment (CD) versus Continuous Delivery (unhelpfully, also CD)&lt;/h2&gt;
&lt;p&gt;Put simply, &lt;strong&gt;continuous integration&lt;/strong&gt; is the act of continually moving your changeset into the wider codebase, as frequently as it makes sense for your use case. CI is an essential practice because it drives us as engineers to produce smaller changes more often, and these small changes tend to be less risky individually. Those small changes also lead us to deliver value to our users more rapidly, and more often.&lt;/p&gt;</description></item><item><title>Getting Started with Github Actions</title><link>https://4lex.nz/posts/getting-started-with-github-actions/</link><pubDate>Thu, 28 May 2020 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/getting-started-with-github-actions/</guid><description>&lt;p&gt;Continuous Delivery is a foundational skill that your organisation needs to be good at if it is to remain responsive and &amp;rsquo;lowercase a&amp;rsquo; agile.&lt;/p&gt;
&lt;p&gt;A full solution for continuous delivery tends to include (but isn&amp;rsquo;t limited to):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The ability to create artefacts that we can release to production, across many products, teams, branches, environments and repositories.&lt;/li&gt;
&lt;li&gt;The ability to quickly validate an artefact as a candidate for release (through applying the testing triangle - unit, integration, acceptance, smoke and so on).&lt;/li&gt;
&lt;li&gt;The ability to release code to production without necessarily activating it for users (typically through feature flags, canary built and graduated rollouts).&lt;/li&gt;
&lt;li&gt;The ability to rapidly respond if a release candidate we later find to be problematic (again through canary builds, graduated rollouts, and by quickly rolling back software found to be problematic).&lt;/li&gt;
&lt;li&gt;The ability to audit or understand what code is where, what state that code is in, and why that code is where it is.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More concretely, a decent CI/CD solution will:&lt;/p&gt;</description></item><item><title>Spring Boot - Comparing Liquibase and Flyway</title><link>https://4lex.nz/posts/spring-boot-database-migrations/</link><pubDate>Thu, 23 Apr 2020 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/spring-boot-database-migrations/</guid><description>&lt;h3 id="what-are-spring-boot-liquibase-and-flyway"&gt;What are Spring Boot, Liquibase and Flyway?&lt;/h3&gt;
&lt;h4 id="the-spring-ecosystem"&gt;The Spring Ecosystem&lt;/h4&gt;
&lt;p&gt;When you need to create a web application or an API in Java, be that RESTful, SOAP or GraphQL; whether you&amp;rsquo;re looking at synchronous HTTP, Asynchronous or Reactive, Messages on Queues or Event Sourced with Kafka, it&amp;rsquo;s hard to go past the Spring Ecosystem. If nobody ever got fired for buying IBM, you could probably say that nobody ever got fired for creating a Spring-based application.&lt;/p&gt;</description></item><item><title>Remaining Effective in a Pressure Cooker</title><link>https://4lex.nz/posts/pressure-cooker/</link><pubDate>Thu, 26 Mar 2020 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/pressure-cooker/</guid><description>&lt;p&gt;One thing the Army is good at is teaching you how to function under immense pressure, for extended periods. Speaking briefly about my credentials in this area, I&amp;rsquo;ve spent just under five years in the Army, nine months of which were in Afghanistan as part of a NATO mission with the New Zealand Defence Force. As with everything, there are folk out there with more experience than me, who have done it harder, for longer. I still feel it&amp;rsquo;s worth sharing this experience as perhaps the way I do that resonates with you, as the way others share their experience resonates with others.&lt;/p&gt;</description></item><item><title>When everything is digital, nothing is</title><link>https://4lex.nz/posts/when-everything-is-digital-then-nothing-is/</link><pubDate>Fri, 30 Nov 2018 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/when-everything-is-digital-then-nothing-is/</guid><description>&lt;h2 id="digital-transformation-digital-experience-digital-thought-leader-digital-coffee-table-digital-devops-team-digital-dystopia"&gt;Digital Transformation, Digital Experience, Digital Thought Leader, Digital Coffee Table, Digital DevOps Team, Digital Dystopia&lt;/h2&gt;
&lt;p&gt;Some of these things are not like the others.&lt;/p&gt;
&lt;p&gt;Have you heard the phrase &amp;lsquo;digital&amp;rsquo; so many times it loses all meaning? Try saying it a hundred times and see if the word still sticks in your brain. If you&amp;rsquo;re like me, it&amp;rsquo;ll slide right away like a fried egg off a bald head.&lt;/p&gt;
&lt;p&gt;Now imagine baldy over there is your company. It&amp;rsquo;s risky for a thing to be so pervasive that one cannot escape it, or mentions of it (or articles about it - no the irony is not lost).&lt;/p&gt;</description></item><item><title>Why digital transformations should be dead</title><link>https://4lex.nz/posts/becoming-a-digitally-integrated-business/</link><pubDate>Fri, 30 Nov 2018 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/becoming-a-digitally-integrated-business/</guid><description>&lt;h2 id="digital-transformations-dont-work"&gt;Digital transformations don&amp;rsquo;t work.&lt;/h2&gt;
&lt;p&gt;Everyone wants to talk about digital-led businesses. Every business is a software business, even when they aren&amp;rsquo;t, people will tell you. But the focus on big bang, project managed, change agent-driven initiatives tend to leave sour tastes in the mouths of long-standing staff. Naive technologists or agilists or product people for that matter exacerbate this when they perform the business strategy equivalent of the &amp;lsquo;seagull&amp;rsquo;. Discontent frequently morphs into outright opposition, and emotion becomes the dominant decision-making force rather than observation and planning. Eventually, what good will the agent(s) had is exhausted, and they leave the business. Sometimes voluntarily, sometimes less so.&lt;/p&gt;</description></item><item><title>Low Maintenance Home Labs</title><link>https://4lex.nz/posts/low-maintenance-home-lab/</link><pubDate>Fri, 07 Sep 2018 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/low-maintenance-home-lab/</guid><description>&lt;p&gt;How do you keep up to date with changes in technology? How do you get your startup off the ground from a technical standpoint? What can you do to build out your tools and processes in a sustainable, low risk way? Finding space for continual learning at work can be tough. If you, like me have a passion for technology but have transitioned away from a technical role and miss fiddling with technology on a daily basis, you might consider creating a lab at home to keep your skills sharp, and stay up to date on industry trends and best practice.&lt;/p&gt;</description></item><item><title>SCIENCE! in the workplace</title><link>https://4lex.nz/posts/science-driven-development/</link><pubDate>Wed, 05 Sep 2018 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/science-driven-development/</guid><description>&lt;p&gt;What do when you don’t know what to do? Even worse: What do you do when people are paying you to do things, and expect you to do things, but you don’t know what to do? Are you in a brand new domain? A brand new type of business or a completely new role? What about if you’re in a completely new industry?&lt;/p&gt;
&lt;p&gt;Having just started a new role, the pressure to deliver and deliver quickly can be quite daunting. Using hypothesis-driven processes in your daily life can ease the tension.&lt;/p&gt;</description></item><item><title>Good Teams, Why Care?</title><link>https://4lex.nz/posts/why-teams-are-important/</link><pubDate>Fri, 13 Jul 2018 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/why-teams-are-important/</guid><description>&lt;p&gt;I build teams. I build teams good. Good teams that do well, and they also do good. Technical teams mainly, but I&amp;rsquo;m branching out. It&amp;rsquo;s good.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s all well and good, but what is the point?&lt;/p&gt;
&lt;p&gt;The point is that good teams are rare. That is to say, a team that you can leave alone, with the trust that they can
self-regulate, self-correct and grow without you is very difficult to find, such that the effort to grow one
(if you can) is a far simpler thing by comparison.&lt;/p&gt;</description></item><item><title>Building Continuous Delivery for Healthlink</title><link>https://4lex.nz/posts/building-ci-cd-for-healthlink/</link><pubDate>Wed, 05 Oct 2016 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/building-ci-cd-for-healthlink/</guid><description>&lt;p&gt;My team at Healthlink have just finished a proof of concept around Continuous Delivery. Here’s the writeup, sanitised for the internet.&lt;/p&gt;
&lt;h2 id="context"&gt;Context&lt;/h2&gt;
&lt;p&gt;We’re a Health IT company based out of New Zealand, and run an set of products
that provide messaging integrations between Healthcare organisations across New Zealand
and Australia. Our applications are a mixture of desktop and web service based, and we’re
currently undergoing a massive change process from Waterfall to Agile and from a bespoke
services company to a truly product focused company.&lt;/p&gt;</description></item><item><title>DevOps Days NZ 2016</title><link>https://4lex.nz/posts/dev-ops-days-wellington/</link><pubDate>Wed, 05 Oct 2016 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/dev-ops-days-wellington/</guid><description>&lt;p&gt;On Friday 30th September, a colleague and I spoke at Devops Days 2016 in Wellington.&lt;/p&gt;
&lt;p&gt;It was an awesome experience, and the first time I&amp;rsquo;ve spoken on technical and non-technical topics at an industry conference.&lt;/p&gt;
&lt;p&gt;The talk I gave is available on &lt;a href="https://speakerdeck.com/alexandernz/health-is-hard" target="_blank" rel="noopener noreferrer"&gt;Speakerdeck&lt;/a&gt;
. I&amp;rsquo;ve also embedded it below:&lt;/p&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.2500%; height: 0; overflow: hidden;"&gt;
&lt;iframe
src="https://speakerdeck.com/player/bf1d128fcc4741efbe9b2313be9ecfdf"
title="SpeakerDeck presentation bf1d128fcc4741efbe9b2313be9ecfdf"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen
loading="lazy"
referrerpolicy="strict-origin-when-cross-origin"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;I think that the one thing that I took away from &lt;a href="https://www.devopsdays.org/events/2016-newzealand/welcome/" target="_blank" rel="noopener noreferrer"&gt;Devops Days NZ 2016&lt;/a&gt;
was this.&lt;/p&gt;</description></item><item><title>The Gospel of Doubt</title><link>https://4lex.nz/posts/casey-gerald/</link><pubDate>Sun, 27 Mar 2016 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/casey-gerald/</guid><description>&lt;p&gt;Casey Gerald is an amazing speaker. He spoke at Webstock about belief, and doubt.&lt;/p&gt;
&lt;p&gt;He spoke about how each time he became invested in a belief of something greater than himself, he was inevitably
dissapointed. Each time he entered a different phase in his life, he believed in something new, and each time
that belief was broken. He began to believe in doubt, he believed it might not be possible to believe in anything at all.&lt;/p&gt;</description></item><item><title>Overtime is dead, long live Overtime.</title><link>https://4lex.nz/posts/overtime/</link><pubDate>Fri, 11 Mar 2016 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/overtime/</guid><description>&lt;p&gt;We started Overtime last year bemoaning the lack of social eSports being played in New Zealand, not fully understanding the reason behind that absence. Well, now we do. It&amp;rsquo;s really hard to do it properly. It takes a bunch of time, coordination, and passion.&lt;/p&gt;
&lt;p&gt;Fortunately we still have the passion, but unfortunately, our time has dried up.&lt;/p&gt;
&lt;p&gt;We won&amp;rsquo;t be running Season 2 this year. Instead, Troy and I will be spinning off the software we wrote to manage the first season, and working on that to the point where it&amp;rsquo;s a viable product in and of itself. Our new tournament as a service will be called BattleStack - and we&amp;rsquo;re very excited to be working on it.&lt;/p&gt;</description></item><item><title>The Fraud of Authenticity</title><link>https://4lex.nz/posts/heather-armstrong/</link><pubDate>Sat, 13 Feb 2016 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/heather-armstrong/</guid><description>&lt;p&gt;So it struck me that the more I reflect and refine the thoughts I have on the speakers at Webstock 2016, the more I want to write it down somewhere. Alcoholism will eventually take my brain, so it would serve me well to log down my thoughts. It&amp;rsquo;s also good practice for building opinions and learning how to communicate better.&lt;/p&gt;
&lt;p&gt;Heather Armstrong, for those who do not know, is internet famous. I didn&amp;rsquo;t know that. I&amp;rsquo;m not her target market and of course, that&amp;rsquo;s okay. But what is she doing at webstock?&lt;/p&gt;</description></item><item><title>What I learned at Webstock 2016</title><link>https://4lex.nz/posts/webstock-2016/</link><pubDate>Sat, 13 Feb 2016 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/webstock-2016/</guid><description>&lt;p&gt;Over the last few days, I&amp;rsquo;ve spent a lot of time thinking. Thinking about what, and why should you care?
I&amp;rsquo;m not sure I know the answer to those questions any more.&lt;/p&gt;
&lt;p&gt;What I do know, is that I want to go back to webstock next year, regardless of whatever else is going on in my life at the time. These words are coming out like treacle right now, I don&amp;rsquo;t usually have a problem communicating like this.&lt;/p&gt;</description></item><item><title>Overtime's Tech Stack</title><link>https://4lex.nz/posts/overtime-tech/</link><pubDate>Thu, 14 Jan 2016 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/overtime-tech/</guid><description>&lt;p&gt;Overtime New Zealand is a social video game league for corporates. Companies get together and play games against each other
for bragging rights, e-peen and other critically important reasons, like proving that you&amp;rsquo;re better at Dota 2 then X_MAIN_RIVAL_FIRM.&lt;/p&gt;
&lt;p&gt;So without Further ado, here&amp;rsquo;s what we&amp;rsquo;re running at the moment.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Technology Overview" loading="lazy" src="https://4lex.nz/img/in-post/overtime-stack.png"&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll go through our components technology by technology:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Most importantly, Docker&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We couldn&amp;rsquo;t do what we wanted to do with Overtime&amp;rsquo;s CI / CD without docker.
Initially I created docker-compose containers for instances of Docker Registry, Nginx, and MongoDB and our Web App. The plan was to containerise
those components because it would allow us to scale up instances of our web app and MongoDB in case our load got crazy high. An ambitious design requirement,
but much better for the long run. In fact nearly every design decision we&amp;rsquo;ve made technologically has been focused on &amp;ldquo;What will make our lives easier in the long term&amp;rdquo;.
We do this voluntarily so making money immediately and as quickly as possible isn&amp;rsquo;t such a huge issue for us! It&amp;rsquo;s nice.&lt;/p&gt;</description></item><item><title>New Year Update</title><link>https://4lex.nz/posts/new-year-update/</link><pubDate>Fri, 08 Jan 2016 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/new-year-update/</guid><description>&lt;p&gt;It&amp;rsquo;s been a while between posts. Here&amp;rsquo;s Why:&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been on holiday for two weeks! It&amp;rsquo;s been pretty good.&lt;/p&gt;
&lt;p&gt;I spent a week in Ohakune, in the central Plateau of the North Island of Naw Zealand and another week in Russell, much
further north. It was awesome to get away from Auckland, but I&amp;rsquo;m ready to go home.&lt;/p&gt;
&lt;p&gt;I have spent my time organising my reading list for the upcoming year (scheduled for reading are gems such as Code Complete,
Continuous Delivery, The Fundamentals of Security and The Mythical Man Month). I&amp;rsquo;m excited, I&amp;rsquo;ve got about 60 books lined
up for the year and I can&amp;rsquo;t wait to get stuck in.&lt;/p&gt;</description></item><item><title>Change</title><link>https://4lex.nz/posts/change/</link><pubDate>Fri, 18 Dec 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/change/</guid><description>&lt;p&gt;Oh the times, they are a changin'&lt;/p&gt;
&lt;p&gt;The past month has been crazy.&lt;/p&gt;
&lt;p&gt;In the past month, I&amp;rsquo;ve started a new role, my son has started crawling, I&amp;rsquo;ve helped launch the second season of
Overtime on a brand new technical stack, they only thing that hasn&amp;rsquo;t changed is this blog, I&amp;rsquo;ve been neglecting it.
Work has slowed down a bit before christmas, so now seems like a good time to post an update.&lt;/p&gt;</description></item><item><title>Continuous Delivery</title><link>https://4lex.nz/posts/ci-cd/</link><pubDate>Wed, 28 Oct 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/ci-cd/</guid><description>&lt;p&gt;The work that I&amp;rsquo;ve been doing for the past few months has been pretty interesting. At the moment it takes developers working
on one of our ventures about an hour and a half to two hours to deploy code to a test or prod machine. It used to take
a second venture a similar amount of time to do the same task, but the process we&amp;rsquo;ve implemented for them has reduced that
significantly. Once the process is completed across both ventures, our team will have reduced that deployment time enough,
that the product owners for those ventures will effectively gain 20% more points for work per sprint.&lt;/p&gt;</description></item><item><title>Design and Content</title><link>https://4lex.nz/posts/design/</link><pubDate>Mon, 19 Oct 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/design/</guid><description>&lt;p&gt;Thoughts on Design.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m losing faith in the design of my website. It looks dated. I&amp;rsquo;m not really sure what to do with it other then give it an overhaul.
But that requires coming up with a new look and feel. It requires implementing that. But muh effort, Muh time constraints and other such excuses of the weak willed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I&amp;rsquo;m going to learn about design.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Rather then just minimally modifying a template, I&amp;rsquo;m going to look at every piece of this website and give it some love and attention. It&amp;rsquo;s been quite neglected.&lt;/p&gt;</description></item><item><title>The Internship Experience Part II</title><link>https://4lex.nz/posts/the-internship-experience-part-ii/</link><pubDate>Sat, 10 Oct 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/the-internship-experience-part-ii/</guid><description>&lt;p&gt;In hindsight I feel like I focussed more on the soft skills needed to get an internship and how to actually go about it, so this time I&amp;rsquo;ll provide a bit of insight into the actual technical skills that I feel you need (or I need, at least I need while I&amp;rsquo;m here at Spark)&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s be clear right at the start, I have used maybe 15% ~ 20% at best, of the knowledge I learned at University. Most surprising of all is that most of what I have used, came from a stage one course. Yeah that course in HTML that everybody turns their noses up at because it&amp;rsquo;s for plebians who can&amp;rsquo;t into C? Take it. You&amp;rsquo;ll earn dollars with that course.&lt;/p&gt;</description></item><item><title>The Internship Experience</title><link>https://4lex.nz/posts/the-internship-experience/</link><pubDate>Fri, 09 Oct 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/the-internship-experience/</guid><description>&lt;p&gt;This is an article I wrote for Spark Ventures I&amp;rsquo;m currently Interning for them) on how I got my internship, and how others can break into the IT Industry. My writing style still isn&amp;rsquo;t great, so it was good to be given an excuse to practice!&lt;/p&gt;
&lt;p&gt;=================================&lt;/p&gt;
&lt;p&gt;I have loved technology ever since I was a wee nipper. I confused a lot of people when I joined the Army after college but that decision was key (more on that another time though). I left the Army in time to enroll in Semester Two 2013 at the University of Auckland. I sit here now, on the top floor of Spark City in Auckland, and I feel very, very fortunate.&lt;/p&gt;</description></item><item><title>The Inaugural Blog Post</title><link>https://4lex.nz/posts/the-inaugural-blog-post/</link><pubDate>Thu, 08 Oct 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/the-inaugural-blog-post/</guid><description>&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;My name is Alex. I&amp;rsquo;ve no idea if anybody will read this, it&amp;rsquo;s more for my own sanity anyway so that&amp;rsquo;s fine!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m a student at the University of Auckland, currently working over summer as an intern for Spark Ventures. I&amp;rsquo;m loving being back in a real job. Don&amp;rsquo;t get me wrong, University is great, but the amount of time I wasted every day sleeping in until 11am because I didn&amp;rsquo;t have class until noon, was ridiculous.&lt;/p&gt;</description></item><item><title>Summer of Tech Meet and Greet</title><link>https://4lex.nz/posts/summer-of-tech-meet-and-greet/</link><pubDate>Mon, 07 Sep 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/summer-of-tech-meet-and-greet/</guid><description>&lt;p&gt;Next week on Tuesday, the Summer of Tech Meet and Greet will be going down range. I&amp;rsquo;m looking forward to it!
It&amp;rsquo;s going to be interesting to be attending this year&amp;rsquo;s meet and greet on the other side of the fence. Last year I attended
as a prospective intern, it was a loud, chaotic and hectic environment. I feel like it suited me well!&lt;/p&gt;
&lt;p&gt;This time I&amp;rsquo;m going to be looking at it from the Employer perspective. I&amp;rsquo;ve been handling Spark Venture&amp;rsquo;s Summer of Tech efforts
this year as well as dealing with sponsorship stuff, running bootcamps and of course, running the Hackfest (that we held at the
awesome Spark City Conference center)&lt;/p&gt;</description></item><item><title>The First Post on a new Blog Stack!</title><link>https://4lex.nz/posts/first-post-jekyll-blog/</link><pubDate>Tue, 25 Aug 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/first-post-jekyll-blog/</guid><description>&lt;p&gt;This now constitutes v3.0 of my personal website and sounding board. It&amp;rsquo;s been a long journey from some
bloated and slow bootstrap template that I picked up and cannibalised, to a bespoke website written in Pure CSS with a
Wordpress Blog component - to the current (as at 25 Aug 15) iteration. Currently the site is hosted off github pages.
It&amp;rsquo;s Jekyll with Foundation 5 at the core, I&amp;rsquo;m using markdown and liquid to handle blog posts.&lt;/p&gt;</description></item><item><title>Blood Donations</title><link>https://4lex.nz/posts/blood-donations/</link><pubDate>Wed, 27 May 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/blood-donations/</guid><description>&lt;p&gt;I&amp;rsquo;m donating blood today. It&amp;rsquo;ll be my 20th donation. Probably around 4 were whole blood, another 6 were plasma, the remaining 10 being apheresis aka platelet donations. I&amp;rsquo;m O- so my blood is quite useful, it can be given to anyone. Mostly it goes to newborns.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s always been a pretty cool thing for me, but when my own little one was born it made things quite a bit more important. Tobias was born premature due to a rare condition my wife had. He narrowly avoided the neo-natal intensive care unit (a few days earlier or a few tens of grams less and he would have gotten a sweet incubator)&lt;/p&gt;</description></item><item><title>Update 2 :: I need sleep edition</title><link>https://4lex.nz/posts/update-2-i-need-sleep-edition/</link><pubDate>Mon, 04 May 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/update-2-i-need-sleep-edition/</guid><description>&lt;p&gt;On Thursday my son, Tobias, will be one month old.&lt;/p&gt;
&lt;p&gt;The days are getting longer but the weeks are getting shorter!&lt;br&gt;
I&amp;rsquo;ve been neglecting this platform, but haven&amp;rsquo;t forgotten about it.&lt;br&gt;
At Uni, exams times are approaching, I&amp;rsquo;ll be posting all of my revision notes on the blog - to keep me honest and keep everything searchable.&lt;/p&gt;
&lt;p&gt;In the time between posts I&amp;rsquo;ve been crazy busy. Juggling Uni with work and having a son, while still doing pet projects for my own learning. A while back a few friends and I started something called overtime, It&amp;rsquo;s a very exciting project - &lt;a href="https://www.overtime.nz"&gt;www.overtime.nz&lt;/a&gt;. I also joined an ARMA 3 Clan called SOCOMD, I&amp;rsquo;m rewriting the website and blog they use on my own time, and they&amp;rsquo;re very pleased with what I&amp;rsquo;ve done so far. Check it out at &lt;a href="https://www.socomd.azurewebsites.net"&gt;www.socomd.azurewebsites.net&lt;/a&gt;. Another very cool project.&lt;/p&gt;</description></item><item><title>Update re lack of posts</title><link>https://4lex.nz/posts/update-re-lack-of-posts/</link><pubDate>Tue, 24 Mar 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/update-re-lack-of-posts/</guid><description>&lt;p&gt;I have been offline for a long long time.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the situation.&lt;/p&gt;
&lt;p&gt;Last Friday, my wife Laura and I found out she is 34 weeks pregnant with a potentially life threatening complication, forcing her to remain in Hospital.&lt;/p&gt;
&lt;p&gt;We have been overwhelmed with the generosity of our family and friends, we are truly grateful for all the love and support we have received thus far.&lt;/p&gt;
&lt;p&gt;I have been meaning to write up all my notes and use this blog for revision. I still intend to do that. I have been attending lectures but unfortunately am so time poor apart from that, that I have loads of text files that need formatting, media added and additional detail before I can upload them here. I still intend to do that, but it will take time I don&amp;rsquo;t have now. Hopefully I can fully catch up during the mid semester break.&lt;/p&gt;</description></item><item><title>Scrambler Program Update 2</title><link>https://4lex.nz/posts/scrambler-program-update-2/</link><pubDate>Tue, 03 Feb 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/scrambler-program-update-2/</guid><description>&lt;p&gt;I&amp;rsquo;ve decided that it&amp;rsquo;s not accurate to call the python project a crypto project..yet. Initially it will be a text scrambler of some kind. I&amp;rsquo;m also taking a bit of time off the project to work on making sure my employment docs (CV etc) are all up to date for the coming year. You never know when you might need something like that on short notice.&lt;/p&gt;
&lt;p&gt;I also bought a great book today with a bunch of coding exercises in it. I might again take time off the scrambler in the future to work through those programs, as they are waaay more likely to help me in interviews than that program (at least when it comes to answering technical questions).&lt;/p&gt;</description></item><item><title>Simple Crypto Program Integrity Call</title><link>https://4lex.nz/posts/simple-crypto-program-integrity-call/</link><pubDate>Mon, 02 Feb 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/simple-crypto-program-integrity-call/</guid><description>&lt;p&gt;Okay, so it&amp;rsquo;s not really crypto. At least not yet. I started writing the GUI in tkinter, but have decided to try a newer tech called Kivy - which allegedly has multitouch support and other such features I don&amp;rsquo;t really need. Neat!&lt;/p&gt;
&lt;p&gt;Also, started reading &amp;lsquo;Cracking the Code Interview&amp;rsquo; - this book makes me appreciate how little in know about interviewing! I&amp;rsquo;ve got a lot of work to do if I want to bum rush the bigger software firms!&lt;/p&gt;</description></item><item><title>Why Hash Functions are cool</title><link>https://4lex.nz/posts/why-hash-functions-are-cool/</link><pubDate>Thu, 22 Jan 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/why-hash-functions-are-cool/</guid><description>&lt;p&gt;I had a bit of down time after work today so I thought I would go over some hash functions.&lt;/p&gt;
&lt;p&gt;I never really got hash tables. Like truly &lt;strong&gt;understood&lt;/strong&gt; them. I could see the purpose but where was the justification for them being everywhere?  Fortunately Uni is exactly the time and place to be smashed down for having silly thoughts like that! Hashing is used for a whole lot of really useful, really cool stuff. Or hash functions rather&lt;/p&gt;</description></item><item><title>On fiddling with DNS</title><link>https://4lex.nz/posts/on-fiddling-with-a-websites-dns/</link><pubDate>Mon, 19 Jan 2015 00:00:00 +0000</pubDate><guid>https://4lex.nz/posts/on-fiddling-with-a-websites-dns/</guid><description>&lt;p&gt;Note to self:&lt;/p&gt;
&lt;p&gt;Be patient when changing domain name. This site was down for most of the day today because I was an impatient prick.&lt;/p&gt;
&lt;p&gt;Be patient!&lt;/p&gt;</description></item><item><title>About</title><link>https://4lex.nz/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://4lex.nz/about/</guid><description>&lt;p&gt;I am Alex, and less is more.&lt;/p&gt;
&lt;p&gt;Every single day, I get out of bed with a passion for helping people be their best selves. A passion for making life easier,
more inclusive and frictionless. I do that by growing and serving diverse, empowered teams of passionate humans, rallied around a cause.&lt;/p&gt;
&lt;p&gt;Having spent the last 15 years learning how to parse big meaty problems into smaller issues in order to solve them with technology,
I’ve honed in on the type of work I love. I write about technology, product development and other things when I do write.
With two kids + wife, university and full time work, life always seems to get in the way.&lt;/p&gt;</description></item></channel></rss>