The Curious Engineer

All blogs / DevOps / SRE / infrastructure

Shine Solutions Group

shinesolutions.com

Technology consultants and developers specialising in Digital Platforms & Apps, AWS Cloud Solutions, Cloud Managed Services, and more.

DevOps / SRE / infrastructureAI / MLTesting / QAJavaScript / TypeScript

Posts
400 from 4 May 2007 to 14 Sep 2026
Posting
monthly (10 in the last year)
Kind
company blog
Feed
https://shinesolutions.com/feed/

2026 7

  1. How We Keep our AWS Sandpit from Becoming a Permanent Bill
  2. S3 Tables: What are they, what problem do they solve, and when do you need them?
  3. Building a Lightweight RAG System with the AWS S3 Vector Buckets
  4. Wiring AI with JIRA for effective testing workflows – An Experiment
  5. Moving Bedrock Solutions to Production with Defence in Depth Beyond Standard Guardrails
  6. Ten tips for designing a useful REST service API
  7. Building MCP: Your LLM’s New Backend-For-Frontend

2025 10

  1. Shine Solutions Achieves AWS Premier Tier Partner Status
  2. Blue/Green ECS Deployments with CloudFormation
  3. Securing LLMs with Bedrock Guardrails for PII
  4. How to Set Realistic GenAI Expectations and Measure Real Impact in Your Engineering Team
  5. NewRelic Workflows Migration via Terraform
  6. Snowflake World Tour 2025 – “Enterprise AI”
  7. Engineering GenAI Inference Pipelines: Transforming Prototypes into Production Systems
  8. Level Up Your Impact: Building Trust and Influence as an Engineer
  9. Leveraging Unique Identifiers in S3 bucket policies
  10. Test Automation Summit Melbourne 2024: Future of QA and AI Testing

2024 17

  1. AWS re:Invent 2024: The Age of Data and AI
  2. Testing BFF APIs with Supertest and MSW
  3. Generate Allure Reports from sharding in Playwright using GitHub Actions
  4. Uncovering the True Value of GenAI Coding Assistants
  5. Transforming Automated Testing with Generative AI – Part 1
  6. ApiDays Melbourne 2024
  7. Deployment Alerting using AWS Services
  8. Snowflake World Tour – Sydney 2024
  9. AWS Firewall Manager Operational Insights
  10. Automating Developer Environments with Dev Containers
  11. Managing Recurring Batch Tasks with Spring Scheduler
  12. Figma and Storybook in Harmony
  13. Detecting Unused Secrets in AWS Secrets Manager
  14. Analysing Slow Query Performance on Aurora PostgreSQL
  15. Replicating Oracle to Aurora PostgreSQL using DMS
  16. Allure report hosting using S3
  17. A serverless solution for integrating test automation framework with Test Management tool

2023 15

  1. Code, Cloud, and Casinos: Surviving AWS re:Invent 2023
  2. A Year in Review as a Principal Quality Engineer at Shine
  3. Simplify API Test Automation with Playwright, Jest and allure
  4. Insights from Web Directions Summit 2023
  5. My experience attending CyberCon 2023
  6. All Aboard!: Tips for effective IT onboarding and handover
  7. AWS CloudFormation Software Development Practices
  8. YOW! 2022 – YOWZA! or MEH?
  9. Mastering AWS CloudFormation
  10. Elevate Your Email Testing with MailSlurp & Cypress
  11. Web Directions Code 2023 Recap
  12. Unlocking Opportunities: Reliving Testing Talks 2022 and Gearing Up for 2023!
  13. Real-world experiences with AWS RDS blue/green deployments
  14. Is the data ingested in your data lake correct?
  15. Accelerating DevOps delivery velocity by testing smarter with a Quality Engineering approach

2022 4

  1. Serverless Jenkins on Fargate with Kaniko Agent
  2. Controlling Serverless Web Application Traffic on AWS
  3. DevSecOps: Levelling up your Terraform with tfsec and Terratest
  4. Alleviating GraphQL Performance Anxiety

2021 14

  1. Embracing the Beauty of Concurrency in Golang
  2. Who’s had this problem before?
  3. NewRelic deployment with Terraform
  4. Working With Core Bluetooth
  5. Improving cold start times of Java AWS Lambda functions using GraalVM and native images
  6. SwiftUI Navigation and Routing
  7. Introducing the TGRS stack for web interfaces
  8. Salesforce Deployments using Jenkins
  9. Learning to Use Semantic-Release the Hard Way
  10. Automatically handling Apollo Client errors in your React UI
  11. Configuring Validation with an Ansible Role
  12. Optimizing your CDN cache with Cloudflare and Nginx
  13. A Pragmatic Approach to Removing Known Vulnerabilities in Software
  14. Exploring Graph Databases with Amazon Neptune

2020 7

  1. Building a Portable Apollo Server Config
  2. Ten Tips for Writing Your First GraphQL Schema
  3. The BIG Shine WFH Blog
  4. Dynamically resize your images using CloudFront OriginGroup
  5. Cloudflare Dev Workshop 2020
  6. Rapid Story Estimation Techniques
  7. What’s the problem we’re actually trying to solve?

2019 21

  1. Five things I learnt at YOW! Conference 2019
  2. TEL Newsletter – December 2019
  3. AWS re:Invent 2019 – from the comfort of your own home
  4. OWASP AppSec Day 2019
  5. GraphQL: Thinking Beyond the Technology
  6. Black Holes and Revelations
  7. Canary deployments with Spinnaker and Kubernetes – Part 2
  8. Canary deployments with Spinnaker and Kubernetes – Part 1
  9. ComponentsConf 2019
  10. Burn Baby Burn!
  11. Java: Past, Present, Distant Past and Future
  12. In-Place Repository Upgrade Automation In AEM OpenClouduse the config profile
  13. Kafka to the Rescue
  14. Deploying a Static Web Application with Serverless and CodeBuild
  15. Angular 7+ and A/B Testing
  16. My Refactoring Style Is Unstoppable
  17. Regulatory Reporting in the Cloud
  18. Old man shouts at cloud
  19. AWS Summit Sydney 2019
  20. Serverless GraphQL AppSync API with RDS
  21. Efficient AppSync backend API development for mobile/Web app with AWS Amplify

2018 29

  1. TEL Newsletter – December 2018
  2. Doing The Simplest Thing That Can Possibly Work (When You’re Not Sure What To Do Next)
  3. AWS re:Invent 2018 – Event Wrap
  4. SSO with SAML Authentication Using Shibboleth IDP
  5. This (and why it’s so weird in JavaScript)
  6. Shearwater Capture The Flag 2018
  7. Drift detection in Cloudformation: A first look
  8. Using Webpack to Unleash Your Drupal 8 Project with Modern JavaScript
  9. DDD Melbourne Conference 2018
  10. Road to InSpec(t) AEM (OpenCloud)
  11. OWASP AppSec Day 2018 – Melbourne
  12. TEL Newsletter – October 2018
  13. Managing User Permissions in AEM
  14. Running a Web Crawler in a Docker Container
  15. Wrangling CloudFormation with Sceptre
  16. Upgrading Code Reviews With JetBrains’ Upsource
  17. TEL Newsletter – July 2018
  18. Angular Conf Melbourne 2018: Conference Recap
  19. An Introduction to Angular Progressive Web Applications
  20. What the heck is {N}ativescript?
  21. Exploring creativity at Semi Permanent 2018
  22. TEL Newsletter – June 2018
  23. Implementing A/B Tests with Adobe Target & AngularJS Decorators
  24. Getting ya music recommendation groove on, this time on Amazon Web Services
  25. Thoughts on the ‘AWS Certified SysOps Administrator – Associate’ exam
  26. TEL Newsletter – February 2018
  27. Tips and tricks for building an Alexa skill
  28. Shine Solutions builds EnergyAustralia “skill” featured on Amazon Alexa Australian launch
  29. Falsehoods Programmers Believe About Names – With Examples

2017 29

  1. Putting together the pieces: Server-side rendering with React Router v4 and Redux
  2. TEL Newsletter – December 2017
  3. My favourite talks from YOW! 2017 Melbourne
  4. re:Invent 2017: Day 2
  5. re:Invent 2017: Day 1
  6. What nobody at Uni will tell you about being a Software Developer
  7. TEL Newsletter – October 2017
  8. TEL monthly newsletter – July 2017
  9. Java 9 – Project Jigsaw
  10. TEL monthly newsletter – June 2017
  11. DevOps Talks Conference, 2017
  12. Universal Links – A Few Things to be Prepared for
  13. Extending React’s container/presentation pattern to share business logic between apps
  14. TEL monthly newsletter – May 2017
  15. Ampersand.js
  16. An intro to Virtual Reality
  17. TEL monthly newsletter – April 2017
  18. AWS Sydney Partner Day and Summit Roundup
  19. It’s not you, it’s your form
  20. AEM 6.3: First Impressions
  21. TEL monthly newsletter – March 2017
  22. Cloud Next 2017 – Shifting to the Cloud
  23. TEL monthly newsletter – February 2017
  24. Adobe Innovation Session: Customer Journey Management
  25. My Big Fat UX Wedding
  26. Writing safer code with TypeScript strict null checks & type guards
  27. TypeScript, Flow and the importance of toolchains over tools
  28. Demystifying shortened and extension-less URLs in AEM
  29. Highly concurrent applications with Java and Akka

2016 17

  1. Generating high-res maps with Mapnik and Docker
  2. TEL highlights for 2016
  3. 10 amazing secrets university never taught you about how to become a truly professional software developer
  4. A Framework for Better Emails
  5. Shiners submit entries to the AWS Serverless Chatbot Hackathon
  6. YOW! Connected 2016: The typed-functional future of UI platforms
  7. Shine’s Michael Leroy to speak at Adobe Source event
  8. Shiner to present at very first YOW!Data conference
  9. Shiner to present at YOW! Connected 2016 – Mobile & IOT
  10. A Deep Dive into DynamoDB Partitions
  11. The most important thing when picking HTTP status codes
  12. Orchestrating Tasks Using AWS SWF
  13. The Emergence of The 3 Towers: DevSecOps
  14. Shine hosts a successful Digital Leaders Breakfast
  15. NoSQL in the cloud: A scalable alternative to Relational Databases
  16. Will Swift be the next king of server side development?
  17. Style Guides and AEM: Fitting a Square Peg in a Round Hole

2015 34

  1. YOW! 2015 Melbourne: A Conference Report
  2. Tips for AEM Beginners
  3. Shiner Ben Teese to speak at YOW! Conference 2015
  4. re:Invent 2015 the vibe of the thing
  5. Messages in the sky
  6. Development & Design: Bridging the Gap
  7. re:Invent 2015 Conference report: Welcome to the Starship Enterprise
  8. YOW! Connected 2015: Conference Report
  9. Faster, Higher, Stronger! Go Go Go!
  10. Shiner Ben Teese to speak at YOW! Connected
  11. Adobe Innovation Session (June 2015)
  12. Video of ‘Big Data the Cloud Way’ presentation now available
  13. ES6 with Babel.js
  14. Shine proud to support CoderDojo for kids
  15. Customer Experience 2015: Conference Report
  16. Web Directions Code 2015: Conference Report
  17. Biometric authentication with Touch ID
  18. Shine’s Ben Teese to speak at Web Directions Code
  19. AWS Summit Sydney 2015: Conference Report, Part 2
  20. Building a file explorer on top of Amazon S3
  21. ES6 Promises are here!
  22. AWS Partner Summit Sydney 2015: Conference Report, Part 1
  23. Securing your Spring App using 2FA
  24. Agile UX 2015: Conference Report
  25. Playing with Play Framework 2.3.x: REST, pipelines, and Scala
  26. Spring Data REST and Projections
  27. Hooking up to the real world with microcontrollers
  28. Scurvy, A/B Testing, and Barack Obama
  29. Future of the Internet
  30. Shiner Ben Teese published in latest DZone Guide
  31. Battling it out for glory at Battlehack
  32. Integrating Single-Page Apps with Oracle Access Manager
  33. Java 8 – on the path to improving developer sanity
  34. Git Flow and Immutable Build Artifacts

2014 29

  1. License to Queue
  2. New screencast on Koa and Javascript Generators
  3. Confessions of a Documenter
  4. UX Australia 2014 – Melbourne Redux
  5. Getting New Relic and RDS to play nice
  6. Getting Started with Angular and Accessibility
  7. Working With D3.js
  8. Running Geospatial Queries with GeoTools
  9. Shine excellence recognised as Innovation Finalist in NAB Supplier Awards 2014
  10. Shine wins Computerworld Data+ Award!
  11. Shiner Ben Teese to speak at YOW! Connected on Mobile Web Development
  12. Using ‘HugeCollections’ To Manage Big Data
  13. Put On Your Streaming Shoes
  14. SSH through a Raspberry Pi Railway Signal
  15. Swift from an Objective-C developer’s perspective
  16. Think a Bit, Code a Bit, Test a Bit
  17. Shiners to speak at Agile Australia 2014 on Big-Data Analytics
  18. Concordion Integration With Jenkins
  19. Not Just About The Technology
  20. JavaScript Webapps with Gradle
  21. Rich Object Models & Angular.js: Memoization
  22. Rich Object Models and Angular.js: Getter Methods
  23. Android Phones and Janky Accordions
  24. Rich Object Models and Angular.js: Identity Maps
  25. The Beacon Experiments: Low-Energy Bluetooth Devices in Action
  26. Unit Testing PHP and Silex using PHPUnit
  27. Rich Object Models and Angular.js
  28. Video of Ben Teese’s ng-conf presentation now online
  29. Ben Teese to speak at Angular.js conference

2013 31

  1. YOW Conference – A first-timer’s experiences
  2. Shine Technologies selected for Telstra Professional Services Panel
  3. Shine becomes an AWS Advanced Consulting Partner
  4. Faking Interactive Video on Mobile
  5. YOW Conference – Melbourne highlights
  6. Backbone Antipatterns
  7. OSDC2013 and WDS2013 back to back
  8. Respect The Javascript
  9. Performance Comparison Between Node.js and Java EE For Reading JSON Data from CouchDB
  10. Shine wins two awards at 2013 Australian Mobile Awards
  11. JavaOne 2013 Day 4 – Wrap-up and final thoughts
  12. JavaOne Day 3
  13. JavaOne 2013 Day Two – Polyglot Gauntlet
  14. JavaOne 2013 Day One
  15. JavaOne 2013 Day Zero
  16. Shine selected as finalist in two categories in the Australian Mobile Awards 2013!
  17. JavaOne Shanghai
  18. Backbone Is Not Enough
  19. The Joys of Redis
  20. Video of Marc Fasel’s Presentation at Web Directions Code 2013
  21. TEL: Shine’s Technical Excellence and Leadership Group
  22. Accessors vs Dirty-checking in Javascript Frameworks
  23. Senior Consultant Marc Fasel to speak at JavaOne Shanghai
  24. Testing Backbone Views with QUnit and Sinon
  25. MelbJS June 2013 Summary
  26. Web Directions Code 2013
  27. Integrating SpringMVC with OpenCms
  28. Backbone Boilerplate Vs. Rails Asset Pipeline
  29. A Chatty Atmosphere
  30. Supporting Fast-Moving Business Requirements Using Approval Branching
  31. Simple Session-Sharing in Tomcat Cluster Using the Session-in-Cookie Pattern Part 2: Security

2012 22

  1. An Identity Map for Backbone.js
  2. The Java Specialists Symposium: Unconference + Retreat = Mad fun
  3. YOW! 2012 Melbourne: A Conference Report
  4. Simple Session-Sharing in Tomcat Cluster Using the Session-in-Cookie Pattern Part 1: The Basics
  5. Amazon Web Services Publish a Case Study on Shine in the Cloud
  6. Learning About Risk Management at YOW! Conference 2012
  7. Shine @ AWS re: Invent 2012
  8. JSConf Down Under: A Conference Report
  9. Shine Technologies website on AWS Asia-Pacific Region on Day One
  10. Shine Technologies sponsors Amazon Web Services Customer Appreciation Day
  11. Efficient Stateful Views With Backbone, Part 2: Collections & Animations
  12. Efficient Stateful Views with Backbone.js, Part 1
  13. Shine selected as Finalist in Coles IT Vendor Awards 2012
  14. Provisioned IOPS on AWS RDS
  15. Javascript Module Loading + Shared Namespaces = Badness
  16. Testing for Android with Robotium
  17. Unit Testing with Groovy
  18. On Pair Programming
  19. Halo Vert.x – Building a Chatbot With Vert.x
  20. Easing the Pain of Android Software Fragmentation
  21. How to Stop Cucumber Becoming Technology Roadkill
  22. Bootstrap makes me look good

2011 26

  1. Processing Huge JSON Files with Jackson
  2. Yow! Developer Conference Brisbane.
  3. CouchDb on Android
  4. A Good Look at Android Location Data
  5. Swipe Conference Highlights: Gamification
  6. iOS Developers and Designers: Stickin’ together is what good waffles do!
  7. Swipe Conference Highlights: Using gestures as shortcuts within iOS apps
  8. Me Want Cookie: Session Handling with NetBiscuits Mobile Web Apps
  9. JavaScript from Nose to Tail
  10. Automatic Data Migration Testing: Empowering Testers with Hudson
  11. Asynchronous Code Design with Node.js
  12. Building a shared calendar with Backbone.js and FullCalendar: A step-by-step tutorial
  13. OSCON 2011: A Retrospective
  14. Cascading Select Boxes with Backbone.js: A Step-by-Step Tutorial
  15. State of the DevOps Union: A report on DevOps Down Under
  16. New iOS Developers Shouldn’t Use Interface Builder
  17. Into the Cloud: Moving Large-Scale Java EE Apps onto EC2 & RDS
  18. Lessons Learnt with iOS In-App Purchasing
  19. TLS/SSL tunneling with Node.js
  20. Couchtato – A CouchDB Document Utility Tool Written In Node.js
  21. Continuous Deployment of iOS Apps with Jenkins and TestFlight
  22. Location, Location, Location: Simulating iOS Location Data
  23. When to use Delegation, Notification, or Observation in iOS
  24. Node.js From the Enterprise Java Perspective
  25. New Continuous Delivery Thought Article
  26. A Continuous Delivery of Business Value.

2010 8

  1. jazz: node.js templates for humans
  2. CITCON Australia/New Zealand 2010 – Day 2 (Part 2)
  3. CITCON Australia/New Zealand 2010 – Day 2 (Part 1)
  4. CITCON Australia/New Zealand 2010 – Day 1
  5. So how much slower are instantiated fixtures?
  6. CouchDB: The Good Bits
  7. Hudson SiteMonitor Plugin and JSLint Violations Support
  8. A Challenging but Rewarding Experience with SCWCD

2009 5

  1. Converting Rails tests to 2.2 format
  2. How to bridge Ruby and AppleScript
  3. Why would you use Interface Builder for iPhone Development?
  4. Run-loops vs. Threads in Cocoa
  5. My git-svn workflow

2008 17

  1. Nesting URLs in RESTful resources
  2. Rich clients – Welcome back old friend
  3. Sun Developer Day 2008
  4. Ganymede MkII
  5. Be Lazy: Automate Everything
  6. New Release – Shine Reference Project
  7. Eclipse Ganymede…
  8. Using Git for Local Version Control
  9. Providing User Feedback on Ajax calls in Rails
  10. New screencast online: Flex and Rails
  11. Clearing the SCJP Hurdle
  12. Handling AJAX Errors using Prototype & Rails
  13. Rails and Windows – the love affair continues…
  14. The Three Amigos – Maven, Spring and GWT
  15. But I want to make an omelette … !
  16. Iterations, increments or Sprints ?
  17. Beauty and the Beast…

2007 58

  1. The Nokia Test – Are you doing Scrum ?
  2. CSS Layout Sucks for Panel-Based Web Apps
  3. Tiger + Rails + Leopard = Ouch
  4. Rails Development Sucks on Windows
  5. Spring Batch gets an airing (or flaming?)
  6. In Praise of Synergy
  7. YAML in YAML Fixtures
  8. Book Review: Domain-Driven Design
  9. Is the Java application server dead ?
  10. Does quality assurance need more attention?
  11. Has Rails lost its shine?
  12. Agile Development with CMMI … ?
  13. Unit Testing and The Way of Testivus
  14. How to Close JDBC Resources Properly – Every Time
  15. Video killed the Idiot’s Guide
  16. Mocking Classes, Not Interfaces
  17. Test-Driven Development Presentation Now Online
  18. Eclipse Web Tools Platform: Bringing Joy Into The Lives Of Others…
  19. Plugins n Wrappers…
  20. Fixed Price or Agile ?
  21. Java Real-Time System: Separating Performance from Scalability
  22. JRuby goes 1.0 (really, it has)
  23. Does Sun make money out of Java?
  24. Java ME Mobile Phone Applications – The Good, the Bad and the Ugly
  25. Change is good
  26. Key Exchange using Noise
  27. NetBeans 6.0 doesn’t play well with the SCM kiddies
  28. Mashups and potatoes
  29. Check out the Java Posse
  30. JavaOne: JRuby & DSLs
  31. ‘Free advice for the Litigious’ article
  32. The Software Patent Cold War hots up
  33. Agile Software Development – Back to First Principles
  34. JavaOne: Cameron Purdy & ‘The Top 10 Ways to Botch Enterprise Java Scalability and Reliability’
  35. Viva la JavaOne!
  36. JavaOne – Spring Batch
  37. JavaOne – AJAX performance tuning
  38. JavaOne – JRubyME
  39. JavaOne – Ruby Tooling
  40. JavaOne – AJAX Push
  41. JavaOne – Advanced Groovy
  42. JavaOne – Java Web Apps Vs Ruby on Rails: This Time With Tools
  43. JavaOne – Ruby on Rails Vs. JSF and jMaki
  44. JavaOne – Rails, Sails, Trails, Grails, Snails (ok, not Snails)
  45. JavaOne – Fast, Easy or Beautiful – pick 3 when building with GWT
  46. JavaOne – User Interfaces
  47. AIIA Industry Analyst Forum, Future Trends
  48. JavaOne – jPDL for workflow
  49. JavaOne – DSLs and Dynamic Languages
  50. JavaOne – The Java ME platform going forward
  51. JavaOne 2007 – Keynote
  52. Netbeans Ruby Support: Check It Out
  53. Warming up to JavaOne
  54. The Differences Between Linux Distros
  55. RHEL 5 – Xen & GFS
  56. J2ME Bluetooth
  57. Mobile Development
  58. And so it starts…