All Articles
Published:
Retrospective: 2 years in Vietnam
Our time in Vietnam were not quite enough... But for those with an opportunity to go, here are my thoughts on our time there.
Beautify Your Tests and Test Better!
Depite having many tests, testing is still difficult and encouraging TDD is harder. When an old test breaks, knowing what has happened is difficult. By beautifying our tests, we made testing easy and fun again!
Write Flexible Code with Higher-Order Thinking
Remember those high-level programming techniques that you thought you would never use? It turns out they can be useful after all, and can help you solve tricky problems.
Cloud Collections: A Link Library
Everybody loves a linked-list. Or rather a list of links. (Or even a good software pun.) Here is a list of links gathered from various unclosed browser tabs, from security to cloud to development skills and more.
Estimating is Waste
I previously thought that even though agile-based priorities hold more value than estimating, there was still value in estimating. Now I'm not so sure.
On Resilience
Bad things happen to us. That is life. But some people can handle it better than others. I was put through a challenging event recently, which made me think about why this is.
AWS SES: Getting Started with Serverless Email Processing
Email is sometimes a good way to talk to a service; is used around the world and people are naturally familiar with it, so knowing how to process emails on AWS can be very useful. Let's see how to set it up!
ChatBDD: AI-Assisted Behaviour-Driven Development
AI such as ChatGPT can act as a highly productive assistant and may even help the way that you think. But can it help turn a customer idea into a piece of working software?
ChatTDD: Pair Programming with AI
So ChatGPT can help in capturing product requirements, which is part of the way to generating a working product. But what about the next step? Can an AI help turn your ideas into code?
AI: Fear, Facts and The Future
Media excitement about AI has been escalating in the last few months, especially as a threat to jobs. The basic facts being reported may true, but many important contexts and facts are missing, and often the angle is all wrong.
Interview: Nick Jenkins On Lean
Nick Jenkins played a key role in the founding and growth of Mechanical Rock, now a successful cloud company in Australia. While we didn't get to chat much while I worked there, I knew he had a passion for Lean. When I heard he had some upcoming free...
3 Kent Beck Insights That Are Still True
Kent Beck is a bit of a legend for programmers. His 2008 book 'Implementation Patterns', while focussed on Java and Object-Oriented programming, still has some important insights for all programmers to know.
4 Lessons from Seneca
Seneca's letters aren't light reading, but they have many important messages written millennia ago which are still relevant today. Here are 4 that I think are worth knowing.
AWS CLI JSON Filtering Part 2: An Advanced Example
Part 2 of learning advanced JSON filtering with JMES and JQ. This post runs through an example of re-structuring output from a CLI SQL query to insert directly into DynamoDB.
Opinion: AI's Rocky Revolutionary Road
After a burst of media frenzy, the curtains have been parted on AI such as ChatGPT and Stable Diffusion. At with any hot topic, there is more than initially met the eye. With Microsoft's big investment into OpenAI, how open is the future likely to be?
AWS CLI JSON: Advanced Filtering Techniques
After interacting more often with AWS, and especially its JSON output, I found I needed more tools in my toolbox than just the essentials. This post dives into some advanced techniques that you may find useful when dealing with your own projects.
Web Analytics 3-Ways
I recently used AWS DynamoDB to demonstrate how to build a simple web analytics tool. In this post I consider using Redis and AWS Athena as alternatives. I look at which may the most suitable and how they differ.
On Better Reading
I didn't used to like reading much, but I liked buying books and so my bookshelf was full but unloved. But then with the arrival of pandemic lockdowns, together with a few tips, I tried to change that. Here are some thoughts on getting better at reading.
The Coming AI Revolution
The release of ChatGPT, Dall-E 2 and Stable Diffusion has revealed how far AI has come, especially in the creative industry. Are we on the verge of an 'intelligent revolution'? How much do we really know about it? And how should we approach it?
Making the Most Of Scrum: Avoid These Misconceptions
After deep-diving into Scrum, I became aware of how some of the roles and events may be mis-conceived. A discussion with an Agile Coach then revealed more evidence that some things sometimes aren't being done to get the most out of Scrum. Read about them here.
On Greed
Recent events have highlighted the rise of personal wealth and success over the welfare of others. Some thoughts on why this happens and what old wisdom can teach us.
AWS: A DynamoDB Page View Tracker (Part 3)
This series on getting started with DynamoDB and Serverless continues with providing API endpoints to query our page view statistics.
AWS: A DynamoDB Page View Tracker (Part 2)
This post continues with building a small analytics-like page tracker on AWS. This time we set up the S3-to-Dynamo processing lambda.
AWS: A DynamoDB Page View Tracker
After exploring DynamoDB a few times, I finally found a project which was broad enough to touch most aspects of DynamoDB but simple enough to be turned into a tutorial. So here it is. (Part 1 of 3)
AWS CICD with Github Source Action V2
I recently updated this Blog's GitHub connection from V1 (OAuth tokens) to V2 (CodeStar connection), which brings about many advantages. This is a short guide into how to do the same.
On Technical Debt
When I heard this new phrase creeping into the workplace, I instinctively attached attributes and context to it, some being right and some being wrong. Initially I assumed it was a bad thing, but really it is another tool to be used, but used wisely.
The Multiple Layers of Software Quality
I had a discussion recently where I was asked: 'How do you go about ensuring quality in your software?' I used to think this was a simple question, but that was when I was young and I only looked at the world in a certain way. After several years of...
Getting To Know Modern Javascript (and You Should Too)
Last year I undertook a large project in Javascript, and I was able to dig a bit deeper into the language, instead of just using it to manipulate web pages. I noticed the same thing happening, and I have been since reminded about how many cool things...
On Disconnecting
When my email notifications recently stopped working, I thought about googling for solutions to fix it, but the thought also occurred to me - would being interrupted even _less_ than I had planned be an even better outcome? Would fixing this actually...
When Productivity is... Agile?
In an effort to increase my daily productivity, I read the book 'Help' by Oliver Burkeman. I found myself highlighting quite a few passages, and I could feel that some of them were somehow linked together in an interesting and familiar way.
AWS CLI and Docker Essentials
Over a few years I have built up a small library of home projects deployed on AWS. When I need to revisit them it is easy to forget many of the key CLI commands and configuration items that I need most often to get back up and running.
I Love Pipelines
I love queues, and I think I love pipelines more. Software pipelines that is. What's so great about them? In here I try to present the benefits to using pipelines in your code.
Data Reporting Tips For Developers
If you are a developer and are working for a growing small tech business, chances are you may have to assist with some data reporting with a database or BI tool. In here I discuss some tips to help develop exactly the reports that they need.