The Curious Engineer

All blogs / AI / ML

Scott Logic

blog.scottlogic.com

This blog shares Scott Logic's thoughts and ideas, covering topics across Tech, UX Design, Testing and Delivery.

AI / MLSoftware / engineering practiceEngineering management / careersTesting / QA

Posts
1,200 from 25 Feb 2013 to 19 Oct 2026
Posting
weekly (72 in the last year)
Kind
company blog
Feed
https://blog.scottlogic.com/atom.xml

2026 56

  1. An honest review of Matt Pocock's Skills framework
  2. Proactive messaging, reactions, and compute pooling with Microsoft Foundry hosted agents
  3. NoJS 4 - Pure CSS hackery with AI
  4. Start at the beginning: how to get the most out of discovery and alpha
  5. Building the business case for agentic software development
  6. AI didn't make me a better marketer... It gave me more time to be one
  7. MCP Apps: Your UI, Their Chat
  8. Why agentic AI starts with legacy modernisation
  9. Want to use AI agents safely? Start with design
  10. How to take incremental steps towards data democratisation
  11. AI success depends on data foundations
  12. Unlocking your data: the value is in collaboration
  13. Agile Leadership
  14. How to accelerate agentic adoption
  15. Confidence Techniques for Guiding AI Migration
  16. Four pillars of agentic AI success
  17. Shifting readiness left: What AI can (and can't) do for organisational readiness
  18. The Rise of Open Weights; And the fall of commercial AI?
  19. Choosing the right tool safety approach for coding agents
  20. Adopting Agentic: Talks and Reflections from Our AI Engineering Event
  21. GLM-5.2: Considerations for enterprise teams starting out with open-weight models
  22. Auditable Agentic Orchestration: From Autonomous Systems to Governed Execution
  23. Agentrification and the Agentrification Index
  24. Sustainable acceleration and the Agentic Software Development Life Cycle
  25. Working Effectively with Claude Code
  26. Ponytail? YAGNI!
  27. What a good transformation looks like
  28. Rethinking 'Transformation': From projects to long-term capability
  29. Ruby on Rails - A Developer’s Perspective
  30. Finding Your Voice: A Guide to Technical Communication
  31. The Human Bottleneck
  32. Alternative Coding Agents: Pi
  33. Data Engineering on a Budget
  34. Open Source Is Not One-Size-Fits-All — Find Your Fit
  35. From AI Slop to AI Empowerment: Raising the Bar for Open-Source Contribution
  36. Beyond the Hype: Is AI taking the fun out of software development?
  37. If AI Writes the Code, Who Builds the Next Open Source Project?
  38. Beyond the Hype: Vibe coding – Is this really how we’ll build software?
  39. NoJS 3 - The dawn of Flappy Bird. Making a Flappy Bird clone using pure HTML and CSS, no JavaScript
  40. Microsoft Agent Framework - powering up your agentic teammate
  41. Analysis → Implementation → Reflection – a practical technique for issue resolution with agentic AI
  42. Software Engineering in the Agentic AI Era
  43. Things to expect when starting to work with Copilot
  44. Diving into Retro Computing with the Amstrad PCW 8256
  45. Functional Optics for Modern Java - Part 6
  46. Functional Optics for Modern Java - Part 5
  47. Detective Adventures - on debugging UI issues
  48. Functional Optics for Modern Java - Part 4
  49. Introduction to Energy Trading for Novices
  50. Functional Optics for Modern Java - Part 3
  51. What I’ve learned over 3 years of writing code
  52. Refining the retrospective
  53. Functional Optics for Modern Java - Part 2
  54. Exploring Google Gemini's video analysis
  55. Functional Optics for Modern Java - Part 1
  56. Options appraisal: a pragmatic guide for architecture decisions

2025 103

  1. The power of agentic loops - implementing flexbox layout in 3 hours
  2. My AI Colleague: Claude, the good, the bad, the UglAI
  3. Token Prism
  4. The Specification Renaissance? Skills and Mindset for Spec-Driven Development
  5. Beyond the Hype: Will sustainable AI ever be a reality?
  6. Building JARVIS Properly - Phase 6: Vision Awakens (The Power of Protocol)
  7. Longevity without lock-in: the open-source upgrade alternative
  8. Evaluating Answers with Large Language Models: How InferESG and RAGAS Helped
  9. Putting Spec Kit Through Its Paces: Radical Idea or Reinvented Waterfall?
  10. Building JARVIS Properly - Phase 5: From Ultron's Ruins to JARVIS's Foundation
  11. How Do We Effectively Communicate Architecture?
  12. Testers, testing and the future: A Bifurcation into Testing AI and AI-powered Testing.
  13. Sustainability in AI - why we must listen to the smaller players
  14. Balancing AI Innovation and Sustainability: Our presentation at HM Treasury ID25
  15. Introducing the Latest Version of the Tech Carbon Estimator
  16. Artificial Intelligence (AI) in Mental Health Services: Will AI Burn Us or Warm Us?
  17. Beyond Benchmarks: Testing Open-Source LLMs in Multi-Agent Workflows
  18. Mapping the carbon footprint of digital content
  19. Accelerating Financial Process Automation: Scott Logic’s Contribution to the FINOS Fluxnova Initiative
  20. Beyond the Hype: Is Agile now a dirty word?
  21. Rapid web app development with Devin - A Developer’s Perspective
  22. Beyond Compliance: How Sustainable Technology Creates Value
  23. Delegating the Grunt Work: AI Agents for UI Test Development
  24. Using proxy object for state management
  25. Intro to Masonry Layout
  26. Greener AI - what matters, what helps, and what we still do not know
  27. Rethinking MVPs: Learning Tool or Delivery Strategy?
  28. Leveraging Copilot to rapidly refactor test automation
  29. Reading The Gentle Singularity Through a Sustainability Lens
  30. Building An AI-Agnostic Conversation Logger - Phase 4: Mini-Me
  31. Solving Data Consistency in Distributed Systems with the Transactional Outbox
  32. Introducing AI-related emissions into the Technology Carbon Standard
  33. Why a holistic approach is the key to a successful legacy modernisation project
  34. How to deliver social value? Think small.
  35. Making Sense of CSS Length Units
  36. Learning Through Doing: From one language to another
  37. Is AI Taking Over Testing? Here’s Why Human Insight Still Matters
  38. Making Visual Comparison Test Maintenance Easier with GitHub Actions
  39. Developing a Custom Query Language with ANTLR and Elasticsearch
  40. Channels for effective software team communication in messaging tools
  41. Avoiding chaos when testers change hands
  42. Why you should rethink legacy and consider Event-Driven Architecture
  43. Commercial product selection reflections
  44. Motivation Matters: Rethinking AI’s Role in Human-Centred Workplaces
  45. How to avoid ‘cultural rework’ on a legacy modernisation project
  46. Lessons under construction: My first client project
  47. Testing an Event Ingestion Service: A Deep Dive into Our Approach
  48. Extracting Data From AI Models - Phase 3: A Tale of Three Approaches
  49. Legacy Systems: Beyond the Modernisation Hype
  50. Visualising the Trade Lifecycle - Phase 2: Refactoring with Cursor IDE
  51. Visualising the Trade Lifecycle - Phase 1: Building a React SPA with Multiple AIs
  52. Making Digital Emissions Data Work Better: How We Built the Technology Carbon Standard Schema
  53. My Experience with the Scott Logic Graduate Training
  54. Agile-powered empowerment
  55. GenAI sustainability: a review of the 2025 numbers
  56. Beyond the Hype: Will Low-Code and No-Code be disrupted or powered up by AI?
  57. Embracing my Neurodivergent Journey
  58. From Diligence to Exit: The Critical Role of Data in PE Investments
  59. How is de-risking a legacy modernisation project different?
  60. Want to deliver value? Focus on flow
  61. Why We Still Need Pride: A Celebration and a Protest
  62. Testing in Production
  63. What is a Data Lakehouse?
  64. A proven approach to legacy modernisation that delivers early value
  65. Beyond the Hype: Event-Driven Architecture – The only data integration approach you need?
  66. Enterprise AI Architecture Deployment Patterns
  67. More than drawing rainbows
  68. Advice on transitioning from a legacy API
  69. Read the books! Should junior developers use LLMs?
  70. What Every Consultant Should Reflect on Between Engagements
  71. The Feature Fallacy
  72. Bridging the AI Valley of Doubt
  73. Tools for measuring Cloud Carbon Emissions (updated for 2025)
  74. An SBOM primer with some practical insights
  75. Are we sleepwalking into AI-driven societal challenges?
  76. Beyond the Hype: Does innovation have to come at the expense of ethics?
  77. Learning to Code Again: Adopting AI Developer Tools
  78. Recursion, Thunks and Trampolines with Java and Scala
  79. What is Architecture?
  80. The problem(s) with image accessibility
  81. Beyond the Hype: Should fully autonomous AI agents be developed?
  82. Higher Kinded Types with Java and Scala
  83. Tiny Computer, Big Headache - Porting Advent of Code to the Pi Pico
  84. InferESG: Finding the Right Architecture for AI-Powered ESG Analysis
  85. Making Sense of the AI Developer Tools Ecosystem
  86. Functors and Monads with Java and Scala
  87. pytest with Requests: A useful automation alternative to Postman in a Python world
  88. InferESG: Augmenting ESG Analysis with Generative AI
  89. Insights on AI Sustainability at Data Centre World 2025
  90. Beyond the Hype: Is architecture for AI even necessary?
  91. Imposter Syndrome: A Workplace Responsibility, Not an Individual Burden
  92. LLMs Don’t Know What They Don’t Know—And That’s a Problem
  93. Intersection and Union types with Java and Scala
  94. AI’s Biggest Flaw? The Blinking Cursor Problem
  95. There is more than one way to do GenAI
  96. Variance in Generics, Phantom and Existential types with Java and Scala
  97. Playwright Visual Testing; How Should Things Look?
  98. Beyond the Hype: Are enterprise browsers just about security?
  99. How Business Operations and Software Testing Overlap
  100. Beyond the Hype: Technology Strategies – Essential roadmaps or just hype?
  101. The UK’s AI Opportunities Action Plan – somewhat quiet on risks
  102. Algebraic Data Types and Pattern Matching with Java
  103. Developing vAirify for the ECMWF

2024 99

  1. Using JSpecify 1.0 to Tame Nulls in Java
  2. LLMs vs Advent of Code, AI is winning
  3. Our Approach to Software Development
  4. Building an Assignment Algorithm - Episode 3 / 3
  5. What I learnt about software development from the RAF
  6. Building an Assignment Algorithm - Episode 2 / 3
  7. Testing GenerativeAI Chatbot Models
  8. An Introduction into Karate Test Automation
  9. Our Approach to Testing
  10. Building an Assignment Algorithm - Episode 1 / 3
  11. Our Approach to Delivery
  12. Sustainability in Agile: How Scrum Roles Can Drive Greener Practices
  13. Into The Multi-cloud
  14. A round of applause: semantically releasing the clapper component
  15. Our Approach to Architecture
  16. OSFF NYC - Making GenAI a Tool for Everyone
  17. Elevate Your Accessibility Testing - 10 Key Steps and 5 Inclusive Strategies to help you raise your game
  18. FinJS - GenAI from Prototype to Production
  19. Terraform VS CDK
  20. Key takeaways from the Green IO Conference London 2024
  21. Introducing FINOS Common Cloud Controls (CCC)
  22. Performance testing - the often overlooked ingredient in web application success
  23. Evolving with AI from Traditional Testing to Model Evaluation I
  24. Introducing Our Technology Carbon Estimator
  25. LLMs don't 'hallucinate'
  26. Detecting AI-written code: lessons on the importance of data quality
  27. AI in Government – Addressing bias in AI-assisted services
  28. AI in Government – Balancing productivity gains with accountability
  29. AI in Government – the central role of data
  30. Carbon Emissions of End-User Devices: Part Two - Power Profiling
  31. Beyond the Hype: Is observability just the new name for system monitoring?
  32. AI in Government – from prototype to production
  33. If agile is the answer, what is the question?
  34. Mobiumata
  35. Jest in AWS CodeBuild: feeling ignored
  36. Beyond Automation: Unveiling the True Essence of BDD
  37. Will Generative AI Implode and Become More Sustainable?
  38. Investigating Code Quality from PR Data
  39. In conversation with AI - when Prompt Engineering meets Linguistics
  40. OSFF London - Making GenAI a Tool for Everyone
  41. Supply chain security in NPM - we can be optimistic about the future
  42. Beyond the Hype: Will we ever be able to secure GenAI?
  43. Monzo Stand-in, a smarter approach to DORA and Operational Resilience
  44. Story points are pointless
  45. Building a Multi Agent Chatbot Without LangChain
  46. Using Cloud Carbon Footprint to estimate On-Premise emissions
  47. Why we should care about process
  48. We need bold and better GovTech – not ‘Big IT’
  49. Beyond the Hype: Can we do better than 'carbon aware' computing?
  50. Pride 2024: Pride is a verb, not just a noun
  51. A Software Developer's Perspective on the European Accessibility Act
  52. Embracing Diversity and Inclusion at Workplaces
  53. Can LLMs spot accessibility issues?
  54. Bun - A fast-rising star?
  55. Could cars help predict the weather?
  56. NoJS 2 - Stochastic Boogaloo. Making a tic-tac-toe game with 'randomness' using pure HTML and CSS. Without JavaScript!
  57. Navigating Knowledge Graphs - Creating Cypher Queries with LLMs
  58. LangGraph - cycling through multi-agent LLM applications
  59. Beyond the Hype: UK GOV AI – Is innovation guided by principles enough?
  60. Securing a public AWS load-balanced server without your own domain
  61. Measuring energy consumption in the cloud
  62. Knowledge Graphs - What Are They?
  63. Measuring Energy use of Android Devices
  64. Are we ready to put AI in the hands of business users?
  65. Async APIs - don't confuse your events, commands and state
  66. Apache Spark - What does going from 2.4 to 3.5 get you?
  67. Monitoring AWS CodeBuild Build Status
  68. Beyond the Hype: Are Data Mesh and Data Fabric just Marchitecture?
  69. Is Agile always the answer?
  70. How Can CxOs Spot Technology Greenwashing?
  71. The Changing World in Life, IT, Software Testing and Artificial Intelligence
  72. Carbon Hack 24: Leveraging the Impact Framework to Estimate the Carbon Cost of Cloud Storage
  73. How to make ChatGPT do anything you want
  74. Carbon Emissions of End-User Devices: Part One - SWD Method
  75. Will It Automate? Accessibility Testing
  76. Ecosystems over user experience: redefining priorities in financial services
  77. Generating D3 code with LLMs
  78. Cloud Business Intelligence: A Comparative Analysis of Power BI, QuickSight, and Tableau
  79. Designing for Neurodiversity
  80. Insights from the Government Digital Sustainability Alliance (GDSA) 2024 Summit
  81. Reflecting on the 2024 Public Sector Innovation Conference
  82. How Open Banking is reshaping the sector
  83. Technology Carbon Standard Update - 15th March 2024
  84. Kanban - Not The Lazy Option
  85. Something in the Wind: Weather Forecasting in the Age of AI
  86. Technology Carbon Standard update
  87. How the tables turned – My life with Spy Logic
  88. Beyond the Hype: Can technology sustainability really make a difference?
  89. Announcing the (proposed) Technology Carbon Standard
  90. Why you should care about Open Banking if you are in the US
  91. The art of SEO and optimising your voice in a crowded market
  92. Reflections from UKGovCamp XL
  93. Beyond the Hype: Was the threat the CRA seemed to pose to open source just hype?
  94. Prompt engineering with spreadsheets
  95. Fast.ai Study Group
  96. What can I do as a Software Developer to help with the climate crisis?
  97. Never a waste: How missteps can lead us to meaningful change
  98. The basics of the Layered Neural Network
  99. A Journey into Wasm

2023 94

  1. Conscientious Computing - Podcasts: What we are listening to right now!
  2. If software development were a race, AI wins every time
  3. Implementing cost-effective Test-Driven Development in an LLM application
  4. Our prompt injection playground has gone open source!
  5. DiffEdit: Editing Images using Generative AI
  6. Conscientious Computing - Accurately measuring the energy consumption of hardware
  7. Seeing the Forest for the Trees
  8. LLM finetuning memory requirements
  9. Conscientious Cloud – Pick Your Cloud Location Consciously
  10. What capabilities do you actually need to deploy AI in your organisation?
  11. Balancing Act: Financial Organisations and the Constraints on Open Source Community Engagement
  12. Maybe you're a Tester
  13. Using the T-Test for Effective Testing of Nondeterministic AI Systems
  14. OpenAI Outage November 2023
  15. Bridging the Gap: The Dance Between Humans and Technology in the AI Epoch
  16. A quick tour of data distribution technologies
  17. Testing LLM-Based Applications: Strategy and Challenges
  18. How To Convince LangChain To Use The Correct Tool
  19. The Sustainable Computing Ecosystem
  20. Understand your data requirements
  21. Testing with Intent: a Technical View
  22. Testing with Intent: a Path to Embedded Accessibility
  23. Working in a blameless culture
  24. Spy Logic
  25. Elevating Software - The Indispensable Role of UX
  26. Mitigating prompt injections on Generative AI systems
  27. Getting ready for AI in government: a guide for data-literate leaders
  28. Conscientious Computing - facing into big tech challenges
  29. B-ing a force for good
  30. Building Scottbot: an AI Chatbot for Scott Logic
  31. How AI can improve your processes – without actually using it
  32. Tools for measuring Cloud Carbon Emissions
  33. The State of WebAssembly 2023
  34. OSFF NYC - Destination AI: Navigating the Narrow Path Between Opportunity and Risk
  35. The hybrids are coming: A survival guide
  36. How I Reduced My App's Network Usage by 95%
  37. Being honest about Embodied Carbon from Software Development
  38. Architecting a regenerative future: Thoughts from INTERSECTION23
  39. Accessibility tooling: WAVE vs aXe
  40. Navigating the Practical Challenges Faced by Test Engineers
  41. LF Europe Summit Journal - Day Three
  42. LF Europe Summit Journal - Day Two
  43. LF Europe Summit Journal - Day One
  44. Optimizing Test Suite Metrics Logging in Jest Using `metricsCollector`
  45. What are JWTs/Jots/JSON Web Tokens?
  46. Dynamically Skipping Tests within Jest
  47. Enhancing Jest snapshot testing to performance test your application
  48. A guide to Software Sustainability terminology
  49. The Power of a Well Written User Story - A Test Engineer's Perspective
  50. Beyond the Hype: DevSecOps, a portmanteau too far?
  51. You only have to come out once… right?
  52. Celebrating Failure?
  53. How to Make Your Own Search Engine: Semantic Search With LLM Embeddings
  54. Mental Models and the User Experience
  55. Beyond the Hype: WebAssembly – from the browser to beyond
  56. An Introduction to TanStack Table
  57. How we de-risked a GenAI chatbot
  58. Work Experience Takeover: What I learned about getting into a tech career
  59. Seven Things I Wish I Knew When I Started as a Software Developer
  60. Environmental Impact – The supplier problem
  61. Accessibility Considerations in the Software Development Process
  62. Pixel Pioneers UI/UX Conference 2023
  63. Reset Connect Conference 2023
  64. GPT3: How do you get creativity from determinism?
  65. Making Digital Products Accessible
  66. Hands-on example of ChatGPT as a programming tool
  67. My Top Ten Tips for Peer Review
  68. Using the very app we created – Graduate Project 2023
  69. JSNation conference 2023
  70. Making our contribution to FDC3 2.0
  71. How AI may impact software architecture
  72. What Pride and allyship mean to me
  73. A guide to Generative AI terminology
  74. Deep Dive into RabbitMQ with Spring Boot - Part 2
  75. Deep Dive into RabbitMQ with Spring Boot - Part 1
  76. The Product Owner Role
  77. Generative AI Solution Architecture for Complex Enterprises
  78. Re-implementing LangChain in 100 lines of code
  79. Beyond the Hype: Is generative AI coming for programming jobs?
  80. Catching up with OpenAI
  81. Beyond the Hype: Y2Q – The end of encryption as we know it?
  82. AI is morphing from tool to platform (and the next technology epoch begins)
  83. I’m no longer a Tester, I’m a Checker. Or am I?
  84. RxJS Unit Testing
  85. Migrating from Xamarin Forms to .NET MAUI
  86. Beyond the Hype: Quantum Computing – hype and not hype simultaneously?
  87. Testing Spring Boot With Testcontainers
  88. Could the Public Sector Solve the OSS Sustainability Challenges?
  89. Beyond the Hype: ChatGPT and why it has set the internet alight
  90. WebView2, Electron challengers, and (slightly) lighter desktop web applications
  91. Why rapid collaboration needs careful preparation
  92. DevTernity conference 2022
  93. How data literacy gives leaders the edge
  94. Five books every developer should read

2022 56

  1. Beyond the Hype: Blockchain is dead, long live blockchain
  2. What makes for a Most Loved Workplace?
  3. Building a Rust-y Vim clutch with the Raspberry Pi 2040
  4. An introduction to Markdown
  5. Rules help you go faster
  6. The Career Canvas
  7. Why you should get the right people in the room from the start
  8. ActivityPub - the open standard that makes Mastodon special
  9. Diagnosing Slow Performance in a Microservice Pipeline
  10. An EDGY approach to designing Enterprises
  11. Beyond the Hype: Is the Metaverse built on foundations of hype?
  12. How to avoid the meeting vortex
  13. The State of Open Source in Finance - Keynote Panel
  14. Can Web3 beat public cloud?
  15. When should we automate?
  16. Evaluating Workflow Technology
  17. How data has improved the amateur runner
  18. UI vs UX Design
  19. Contributing to open source - taking the dive
  20. Observations on finding good first issues
  21. WeAreDevelopers World Congress - The good, the bad, and the not-so-ugly
  22. Beyond the Hype: Most-loved language – does Rust justify the hype?
  23. Putting your machine data to use with Splunk
  24. Beyond the Hype - Investing in Innovation and avoiding the Hype in Digital Government
  25. Battling the 5S's at the Data+AI summit
  26. The Queer History of Technology
  27. The State of WebAssembly 2022
  28. Pride 2022: Remember. Resist. Rise Up
  29. Beyond the Hype - Behaviour Driven Development, Hype? Or just misunderstood?
  30. Passwordle: Musings on password strength
  31. Binary Trees 101
  32. Beyond the Hype - Is multi-cloud a myth?
  33. Insights for Test Engineers from Scott Logic’s Grad Summit 2022
  34. Building a WebAssembly-powered serverless platform
  35. Cloud sustainability - Could using the cloud help your organisation reach net zero?
  36. Web UI development in Rust
  37. The History of Encryption
  38. Beyond the Hype - Do you actually need a microfrontend?
  39. Reviving Google's lost fluid engine
  40. The Dependencies' Reckoning - Considerations when selecting third-party software
  41. Panel: Break the bias (IWD2022)
  42. Beyond the Hype - Microservices: are they the only architecture you need?
  43. Beyond the Hype - Coming soon from Scott Logic
  44. Article recommendations and increasing engagement with OpenAI GPT-3 Embeddings
  45. Building bridges, reflections on Scott Logic's Grad Week
  46. Reminiscence of a Scrum Master (Part 5)
  47. Disguising Podman as Docker Desktop on Windows
  48. Sustainability in Software
  49. NE:Tech - GitHub Copilot - Life with an AI-powered pair programmer
  50. Resilient systems and experimentation
  51. AI: Lessons from neuroscience
  52. Reminiscence of a Scrum Master (Part 4)
  53. NoJS - Creating a calculator with only pure HTML and CSS. No Javascript!
  54. Let's create a New Normal for leadership
  55. Managing Knowledge with the Zettelkasten Method
  56. A more inclusive future. Together.

2021 78

  1. Delivering Digital Transformation with the Scottish Government
  2. Open Source Sustainability through Corporate Social Responsibility
  3. Reminiscence of a Scrum Master (Part 3)
  4. Performance Testing with JMeter
  5. Creating personalised data stories with GPT-3
  6. Low Latency Java with the Disruptor
  7. Reminiscence of a Scrum Master (Part 2)
  8. Visualising API response with Postman
  9. Tips for a connected workforce in a remote world
  10. Removing the opportunity for confrontations in Code Reviews
  11. Prepping the Bar: Insights from cleaning and labelling a cocktail dataset
  12. GPT3 - Creativity from determinism
  13. Learning Resources for Rust
  14. On finding purpose, nurturing talent and building a sustainable future
  15. Enabling the Government Data Strategy
  16. Open source in financial services, bridging the contribution gap
  17. Reminiscence of a Scrum Master (Part 1)
  18. OSSF London 2021
  19. Efficiently loading massive D3 datasets using Apache Arrow
  20. Open Source Sustainability through Corporate Social Responsibility
  21. How VPCs help with security and compliance on your AWS networks
  22. Using TypeScript to Express Intent
  23. OSFF London - Open Source Sustainability and Our Corporate Social Responsibility
  24. Capitalism, Socialism, and Code Ownership
  25. Inclusive Design: How diversity is the key to building better technology
  26. The Computer Skills of Average Joe
  27. An introduction to resiliency in the cloud
  28. Cultivating Empathy
  29. How the OpenAI Codex JavaScript Sandbox works
  30. Covid-19 and the Internet
  31. Exploring 120 years of timezones
  32. How to write a custom ESLint rule
  33. A primer on the OpenAI API - Part 3
  34. A primer on the OpenAI API - Part 2
  35. A primer on the OpenAI API - Part 1
  36. Is there a need for speed in the Cloud?
  37. Copilot - Life with an AI-powered programming pair
  38. Better React Components with TypeScript Union Types
  39. UX Migration Strategy for Legacy Applications
  40. GitHub Copilot Experiences - a glimpse of an AI-assisted future
  41. Getting the most out of TypeScript - Union Types
  42. TypeScript: Interfaces or Types. What’s the Difference?
  43. The State of WebAssembly 2021
  44. Data Fetching in Redux Made Easy With RTK Query
  45. Panel: Digital Identity in Government
  46. Open Finance: Built it and they will come?
  47. Digital Government: Looking back, and looking forward
  48. Pride 2021: We’ve come a long way, baby... but we’re not there yet.
  49. What actually is a Data Mesh? And is it really a thing?
  50. Is Officeless to business agility what Serverless is to compute agility?
  51. Rob Smith Looks up from Lockdown
  52. How the New Normal is taking shape
  53. C++ for Java Programmers - Losing the Fear
  54. Starting out... remotely
  55. Blob, the Builder - A Step by Step Guide to SwiftUI Animation
  56. How to build mental health resilience
  57. NatWest Group's Wendy Redshaw Looks Up From Lockdown
  58. Panel: Open Energy - Lessons from Open banking
  59. The Inside Track: Six steps to Graduate Programme success
  60. The Inside Track: How established talent is recruited by Scott Logic
  61. Digital Identity in UK Government
  62. Data Mesh: What's different about it, what it means to DWP, and how you might approach it yourselves
  63. Setting up a multi-platform SwiftUI project
  64. Sustaining an Agile approach to platform development at Scottish Government
  65. Developing an API strategy
  66. Building modern Web APIs
  67. A fresh look at taking control of legacy
  68. Open APIs – compliance or opportunity
  69. APIs: Making GaaP a reality
  70. How to build mental health resilience
  71. You probably don’t need a micro-frontend
  72. Flutter: Just another mobile UI framework?
  73. On the importance of a Team Manifesto
  74. Panel: APIs as a value generator
  75. Banking on power for NetZero emissions
  76. The Philosophy of Svelte
  77. From Open Banking to Open Finance
  78. What happens if you await a Promise twice?

2020 114

  1. Alteryxing The Advent of Code 2020 - Week 4
  2. What the financial crash can teach us about open source
  3. Alteryxing The Advent of Code 2020 - Week 3
  4. Sense and Sustainability
  5. What the financial crash can teach us about open source?
  6. Alteryxing The Advent of Code 2020 - Week 2
  7. Finite State Machines: The Developer's Bug Spray
  8. On OpenFin and Interoperability
  9. Alteryxing The Advent of Code 2020 - Week 1
  10. Remote possibilities
  11. The Good, The Bad and the Easy?
  12. In-browser transcoding of video files with FFmpeg and WebAssembly
  13. The No-Excuses Guide to Innovation with APIs
  14. I spent 2 weeks making Narration.studio to save an hour writing this post
  15. Fixing the d3-zoom API... for my use-case
  16. Van Halen's rider and how it can help improve software development
  17. The oft-untapped business potential of APIs
  18. Down the ergonomic keyboard rabbit hole
  19. Weird Flex, but OK; Interactive Charts with Flexbox
  20. Let's Build Snake with Rust
  21. Bug Bashes
  22. Let machines talk to machines
  23. Better Redux Reducers with TypeScript Builders
  24. White Paper: Open your eyes to APIs
  25. Power Moves
  26. Seeing the road ahead — Catseyes and iterative design
  27. To quantum computing and beyond!
  28. Vue Components
  29. To Rival React: an OverVue
  30. TypeScript Builders: Improving your types one step at a time
  31. Open your eyes to APIs
  32. COVID - An emerging normal
  33. Realising the most value from legacy applications using desktop containers
  34. Deconstructing Dynamo
  35. Variable scopes in Postman
  36. Automating API tests with the power of Postman API
  37. Create, Test, Integrate and Deploy a React App in under 10 minutes!
  38. Code generating a WebAssembly 6502 emulator from specifications
  39. Microservices for Life
  40. The Energy Transition
  41. Think workflow, not app
  42. White Paper: Building an integrated desktop application ecosystem
  43. Building desktop applications with Finsemble
  44. Produce data for test and development systems quickly and reliably
  45. Building desktop applications with Glue42
  46. How to deliver a difficult message
  47. Svelte and TypeScript - Together at last!
  48. Web app or desktop app? Considering user needs in technical discussions
  49. 7 tips for transforming testing
  50. How to deliver a difficult message?
  51. Configuring Java applications at runtime with Spring Profiles
  52. Building desktop applications with OpenFin
  53. There's console.more where that came from! Make greater use of console in JS
  54. Big Data and the Testing Challenge
  55. The 6 Most Common Accessibility Problems (and How to Fix Them)
  56. How to assess a developers technical ability: A guide for interviewers
  57. Automated design handover - Why Zeplin can't solve all your problems
  58. The new normal for your desktop
  59. A gentle introduction to WebAssembly
  60. Demystifying Open Banking
  61. The future is not what it used to be.
  62. K-19 or How to not run a team
  63. Specs-travaganza!
  64. Creating a Cubic Spline in Python and Alteryx
  65. Beyond COVID
  66. Solving Matt Parker's Coin Puzzle in Alteryx
  67. Rendering One Million Datapoints with D3 and WebGL
  68. Demystifying React Redux
  69. Cross-window async iterators using Comlink
  70. Getting Started With Pulumi
  71. Not loving lockdown
  72. Which WebGL drawing call should I use?
  73. Spring Autowiring - It's a kind of magic - Part 2
  74. How to Connect Power BI with Azure DevOps and JIRA
  75. And Now For Something Completely Different: Creating A Social Environment Under Lockdown
  76. Testing in the DevOps World: Creating Continuous Testing
  77. Optimise your Micro:Bit code with Chrome DevTools
  78. Rendering charts with OffscreenCanvas
  79. Investigating Multi-Window Browser Applications
  80. White Paper: Think Small to Deliver Big
  81. How to Write a Ray Tracer Intuitively
  82. International Women’s Day 2020
  83. 3D Rendering on a Children's Toy
  84. Agile Progress and Quality Reporting
  85. Is Aeron a Good Choice for a Messaging Solution
  86. Fostering a DevOps culture
  87. Spring Autowiring - It's a kind of magic - Part 1
  88. GitHub is a free CI/CD/Hosting solution
  89. Slow Code HATES him! Optimising a web app from 1 to 60fps
  90. Technical agility vs. business agility
  91. 8 Out of 10 QATs Said They Prefer Cypress.
  92. Sprint Goals!
  93. Embrace your Obsessions!
  94. Continuous Testing – Creating a testable CI/CD pipeline.
  95. Exploring SwiftUI 4: Creating a Redux Library Supporting Data binding
  96. A Beginner's Guide to Automated API Testing (Postman/Newman)
  97. Adding Playwright to create-react-app generated projects
  98. TypeScript Pick 'n Mix
  99. Exploring SwiftUI 3: View Hierarchies and State Updates
  100. OK Google, what do you see? - Labelling images in Google Cloud
  101. When Automated Tests Fail...
  102. Adding Puppeteer to create-react-app generated projects
  103. A Beginner's Guide to Terraform and Serverless
  104. Planning 56 sprints per second with SAT4J
  105. Analysing and improving the performance of a D3FC-WebGL chart
  106. Mapping the cloud atlas
  107. Selenium vs Puppeteer: testing the testing tools
  108. Git rebasing: What is it and how can you use it?
  109. Creating a chart with D3FC and WebGL
  110. What the art of Improv can teach us about the craft of software
  111. Source control: The fundamental concepts
  112. Exploring SwiftUI Part 2: State management inspired by React
  113. A WebAssembly Powered Augmented Reality Sudoku Solver
  114. Rethinking the Java DTO

2019 118

  1. Sustainability in Software Development
  2. WebAssembly 2019 Year In Review
  3. When is the right time to commit or use a branch?
  4. Building performant large scale web applications
  5. Regular Expressions As Icebergs
  6. Edinburgh Open Source Meetup - Why I 🖤 open source
  7. Edinburgh Open Source in Fintech Event Series – Dec 2019
  8. Debunking Cloud Myths
  9. Source control: The basics
  10. Exploring SwiftUI Part 1 - A brief history of Apple UI development and Initial impressions
  11. Unit Test Your Architecture with ArchUnit
  12. Pros, Cons, Tips and Tricks when using Prettier in a large codebase
  13. Switching in Swift
  14. Generating SVG and PDF reports from Elasticsearch
  15. Email Digests with Elasticsearch via a Serverless Architecture
  16. Drawing Area Polygons with WebGL
  17. WebAssembly on the Blockchain and JavaScript Smart Contracts
  18. Now we're hooking: Redux catches on
  19. Building Microservices with Spring Boot - Part 2
  20. Why I'm talking to developers about Exploratory Testing
  21. Drawing Lines with WebGL
  22. Has your project hit the buffers?
  23. Creating A Quick Python AWS Lambda Using Visual Studio Online
  24. (Didn't) Nail Polish
  25. Building Microservices with Spring Boot - Part 1
  26. IR35 hits now: Don’t wait until April to act
  27. Popout Windows in React
  28. JVM numeric types - Integer types
  29. How we ran our first Design Sprint
  30. On the dangers of sending your testers to conferences
  31. Sculpting Shapes with a WebGL Fragment Shader
  32. .NET for Apache Spark
  33. Visual Studio Remotes: Simplifying developer environments
  34. How to Make 3D Charts for the Web Using D3 and X3DOM
  35. Agile Is Not a Solved Problem
  36. Designing with accessibility in mind
  37. Introducing: React Hooks for OpenFin
  38. SwiftUI: A new player in UI frameworks
  39. From university to industry – a small step or a giant leap?
  40. Test-driving tech consultancy as a career option
  41. X3D: Declarative 3D for the Modern Web
  42. “Keep getting better, because there’s no limit” – Grad Week 2019
  43. Entering the world of technology as a mathematician
  44. Working hard and playing hard: that’s a career in tech
  45. My three-year journey from grad to Senior Developer
  46. Looking At You - 2019 Edinburgh Intern Project
  47. An internship with friendly people who want you to do well
  48. Delta requests for frequently-updated application bundles: from 2002 to service workers
  49. Clear communication: the key to a career in tech
  50. Reactive Android
  51. Why we celebrated Pride Month at Scott Logic
  52. From Monolith to Serverless on AWS
  53. What Type of Tester are You?
  54. Testing WebSockets for beginners
  55. UX Scotland 2019
  56. Why Java Developers Should Learn C++
  57. What it’s like working in software development
  58. Swift: The Beautiful Language
  59. Elasticsearch - clustering on AWS with optional auto-scaling
  60. Consistency is key...But should it be?
  61. Faster Fractals with Multi-Threaded WebAssembly
  62. Getting To Grips With Spring Boot
  63. Thinking out loud
  64. Be inspired by Scott Logic
  65. Getting started with Amazon Web Services (AWS)
  66. Demystifying test automation
  67. Women of Silicon Roundabout
  68. What Brexit Can Teach Us About Software Development
  69. Adding a WebAssembly component to a React App
  70. Android in Style
  71. React vs Vue
  72. Hola vs Hello World
  73. Drawing 2D charts with WebGL
  74. Analysing multi-window Electron application performance using Chromium tracing
  75. Build your own WebAssembly Compiler
  76. Building a more flexible D3 chart
  77. Natural Language Processing in Cloud
  78. AWS Summit London
  79. By the Hook: A Practical Introduction to React Hooks
  80. Building a better D3 axis
  81. We’ve heard of clean code, it’s time for Clean Design
  82. Building a Serverless Comments System
  83. BCSWomen Lovelace Colloquium 2019
  84. Ten Commandments of Agile
  85. How to train your XCTest
  86. Toppling the Giant: Kotlin vs. Java
  87. Build Your Own WebAssembly Compiler - London Node User Group - April 2019
  88. FinTech Design Summit 2019: Designing for emotions and raising financial literacy
  89. Domain modelling and persistence with EF Core - Part 2
  90. Cross-Platform Design: A look at Challenger Bank Mobile Applications
  91. Perspective Plugin API - How to build a new plugin
  92. White Paper: Thinking differently - the cloud as a value driver
  93. Building a Perspective plugin with d3fc
  94. Agile in the City: London - My top take-aways
  95. Domain modelling and persistence with EF Core - Part 1
  96. Reflections from Build IT Right
  97. Jumping from Javascript to Java. How hard can it be?
  98. Upcoming WebHID API - access Bluetooth/USB HID devices in web applications
  99. Attending Tech(K)now London 2019
  100. AWS Builders Day 2019
  101. White Paper: The Journey to DevOps
  102. How to integrate end-to-end tests in CircleCI?
  103. Service Design in Government 2019
  104. A Tester's story of adapting to the new world of pipelines - CI/CD
  105. Understanding Agility and Process Optimisation
  106. Securing access to Firebase Test Lab
  107. (Not) Only Tools And Sources. You need more than know-how and technology to succeed. “You know it makes sense!”
  108. How to create a continuous colour range legend using D3 and d3fc
  109. Encouraging women in the tech industry
  110. Tips for effective issue tracker usage
  111. Retroactively applying Prettier formatting changes to existing branches
  112. Maintaining global state in AWS Lambda functions with Async Hooks
  113. How Diversity and Inclusion can improve testing
  114. What's quality got to do with IT?
  115. 4 things I learned to love about Swift
  116. A tester's guide to agile transition
  117. The curious case of disappearing buses
  118. Introduction to contract testing

2018 116

  1. So, you heard about testing…
  2. Getting out of academia: Joining Scott Logic with a PhD
  3. Introducing decent-code: A concise guide to writing better code
  4. Tools, Bots and Automation for better Open Source Projects
  5. Bridging UI libraries for decoupled, long-lived, widely-reusable components
  6. About DOM render utilities
  7. A Developer's Intro to Android
  8. OpenFin Layouts added to StockFlux
  9. Big Data London 2018
  10. What did I learn studying for AWS Solution Architect Associate Certification
  11. Default values in code and configuration
  12. Realtime crypto charting with JPM Perspective and d3fc
  13. Starting as a Graduate Developer at Scott Logic
  14. UX Poland 2018
  15. What to do when some of the team you’re working with aren’t as technically adept as you
  16. 7 Reasons I ❤️ Open Source
  17. A Developer's intro to TensorFlow and Keras
  18. Exploring Kubernetes on Google Cloud Platform
  19. Automating Terraform: Infrastructure as Code as a Service
  20. Ruining React's Performance with Redux
  21. Living in an accessible world
  22. Serverless Rust with AWS Lambda and WebAssembly
  23. Cutting development costs in AWS with Cloud Custodian
  24. Foyer Screen - 2018 Edinburgh Intern Project
  25. Infrastructure as Code - Getting Started with Terraform
  26. Date-Driven Delivery vs. Delivery-Driven Dates
  27. Thoughts from the Software Testing Conference North
  28. Building a Complex Financial Chart with D3 and d3fc
  29. Becoming a trusted adviser as a tester
  30. TensorFlow.js: Machine Learning in the Browser for Image Recognition
  31. My Internship at Scott Logic
  32. Finding your groove as they are (NOT) finding their shoes
  33. Good code practices with React and Redux
  34. The UX of Consent Models in Open Banking
  35. Is Test Driven Development Right for You?
  36. The Pitfalls of SIT
  37. Sharing our Experience - Migrating to Agile mid-Project
  38. Running VsTest with Cake
  39. Being a Technically Adept Scrum Master
  40. The future of WebAssembly - A look at upcoming features and proposals
  41. The £11k gas bill, customer satisfaction and improved interactions
  42. Achieving Cross Browser testing greatness
  43. Testers In A Pressure Cooker
  44. Comparing Apache Spark, Storm, Flink and Samza stream processing engines - Part 1
  45. Sketching tips to make you a better designer
  46. UX Scotland 2018
  47. How UX designers can help users protect their data
  48. Examples and definitions of the SOLID principles in Software Design
  49. The 3 types of minimum viable products
  50. Sleeping Lambdas and AWS Step Functions
  51. The pros and cons of Redux Form in managing a form state immutably
  52. We need to talk....
  53. Magical domain modelling with F#
  54. Avoiding, seeking, and solving source control conflicts
  55. Transpiling WebAssembly to support Multi Return Values
  56. Four Tips For Getting a Job Offer From a Careers Fair
  57. The Scaled Agile Framework – When it works, it works well. When it doesn’t work, it’s waterfall.
  58. The A word. The BAD A word.
  59. Website vulnerability scanning with ZAP
  60. DevOps as a key to success with the microservices approach
  61. Writing WebAssembly By Hand
  62. White Paper: The Web Assembles
  63. From the realms of the Katabasis
  64. Overlooked Aspects of Being a Tester
  65. A brief foray into the art (read: farce) of multitasking
  66. Comparing Apache Kafka, Amazon Kinesis, Microsoft Event Hubs and Google Pub/Sub
  67. BCSWomen Lovelace Colloquium 2018
  68. A hire standard
  69. QA, QA, who the funk are QA?
  70. How to use npx: the npm package runner
  71. Domain-Driven Design
  72. Test Bash Newbie Heads To Brighton
  73. When technology meets the arts
  74. Apache Spark - Performance
  75. Mock the Back-End with Node
  76. Agile Monsters
  77. Apache Spark - question everything
  78. Helping shape an effective DevOps Culture
  79. Machine Learning with TensorFlow
  80. An Organization's Journey to a DevOps Mindset and Culture
  81. Leadership Election with Apache Curator
  82. Testing: Confidence Engineering
  83. Evolving beyond the need for a sprint retrospective
  84. A week with prototyping tools
  85. Lean In, Speak Up, Shout Out
  86. International Women’s Day: Being a tester at Scott Logic
  87. Stock Watcher - Newcastle summer graduate project
  88. Guide: Don't Let Testing be a Bottleneck
  89. WebAssembly - and the Death of JavaScript?
  90. Incorporate security testing into exploratory testing
  91. Hunting typosquatters on npm
  92. Higher or Lower – ML in JS
  93. Deploying PR branches with Gitlab review apps and Elastic Beanstalk
  94. JavaScript Monorepos
  95. JavaScript Closure
  96. JVM Roundabout - Microservices
  97. Why Women Make Great Testers
  98. Testing with Cognitive Intelligence
  99. Generic Platforms - The Rule of Three
  100. How much does a story point cost?
  101. Machine Learning with Scikit Learn
  102. Interaction18
  103. Dealing with NPM shrinkwrap merges and conflicts
  104. (Multi-stage docker) in docker as CI Sledgehammer
  105. Three Steps to Improving Customer Experience Through Testing
  106. Another reason to use noopener - A deep dive into renderer process allocation
  107. How to use Java Optional correctly
  108. Rules and Values
  109. Looking At R
  110. Exploring Dynamic Programming
  111. Apache Storm Taster
  112. Evaluating Redux Saga Test Libraries
  113. Mapping currency strength changes with D3
  114. Soft Skills for Software Developer
  115. Playing with PostGIS
  116. Pros and cons of end to end testing tools

2017 78

  1. Difficult People
  2. White Paper: Optimising Data Lakes for Financial Services
  3. Introducing AWS Fargate
  4. Writing a CHIP-8 emulator with Rust and WebAssembly
  5. Newcastle Interns 2017: Desk Directory
  6. Developing Bristol Pound - An Open Source React Native App
  7. CodeMesh 2017
  8. First look at Polymer 3.0
  9. Agile Puzzle - Detailed planning and tracking in Agile
  10. Quick guide to webpack source map options
  11. Migrating D3 Force Layout to WebAssembly
  12. Serverless JavaScript
  13. Bugathon at Heriot-Watt University
  14. Exploring different approaches to building WebAssembly modules
  15. Using Kafka and Grafana to monitor meteorological conditions
  16. What's new in JUnit 5?
  17. An agile life in GDS projects
  18. Cassandra - Achieving high availability while maintaining consistency
  19. Mutation Testing - Who will test the tests themselves?
  20. How Big is a Story Point?
  21. Asynchronous Recursion with Callbacks, Promises and Async.
  22. Foyer Screen - 2017 Edinburgh Intern Project
  23. Scaling Agile in the Public Sector
  24. Thoughts on Jest Snapshots
  25. Chess data mining with Apache Spark and Lichess
  26. Team Building, Development, and Go-karting : My Induction Week at Scott Logic
  27. Adding WebDriver tests to create-react-app generated projects
  28. Creating a Market Profile Chart with D3
  29. Evolving the Agile Revolution
  30. Test meetups - could be your cup of tea!
  31. The Big Data technologies that saved BP $7bn
  32. Successful microservices architecture with the Twelve-Factor App
  33. cla-bot a GitHub bot for automating Contributor Licence Agreements
  34. Working with type: Sketch vs. Adobe Illustrator
  35. Change, Presented Two Ways
  36. A Continuous Change Culture
  37. Mapping UK place name endings (With command line cartography tools)
  38. Load testing Alteryx API with Gatling
  39. Towards a responsive desktop
  40. The ALF – Annual Summit 2017 and do Conferences really add value?
  41. Setting up a TypeScript Electron app in WebPack
  42. Does NPM 5 deprecate yarn?
  43. Creating a Parallel Particle Simulation in Go
  44. devtools@scale event
  45. Creating semantic components in Angular and React
  46. White-labelling using PostCSS path resolution
  47. gifbot - Building a GitHub App
  48. What it means to be Agile
  49. Insurance: A Customer's Perspective
  50. Developing a GitHub Bot with AWS Lambda
  51. Making agile teams more productive from the inside
  52. TypeScript compiler APIs revisited
  53. Help Your Testers Succeed in 8 Minutes
  54. Creating Simple Web Services in Go
  55. Interactive and Responsive Small Multiples with D3
  56. Working in a consultancy and working in-house – a view from the inside.
  57. Cassandra vs. MariaDB, Scaling
  58. Voxxed Days 2017: Learning from the best in tech
  59. React time travel: the store may not be enough
  60. #BeBoldForChange and beat the elephant in the room
  61. Keeping Secrets in Docker
  62. Cassandra vs. MariaDB
  63. Level-up your dependencies in React
  64. Visualising London Marathon Training Data From Strava
  65. Creating My First Web Application with Go
  66. StreamSets with Docker - an example HDFS integration
  67. Sharing styling specs with developers
  68. Initial impressions of Alteryx 11
  69. The Scott Logic Bugathon: what to expect
  70. The Rise of Big Data Streaming
  71. Visualising London Marathon Strava Data
  72. Our most popular Tech Blog posts of 2016
  73. Foreign Currency Trading Heuristic Testing Cheat Sheet
  74. Digital transformation: getting started and avoiding common pitfalls within the public sector
  75. Four tips for achieving successful UX workshops
  76. Efficient SVG layout with d3
  77. Consumer Driven Contracts using Pact
  78. Fiddler's Autoresponder to mock API Responses

2016 107

  1. Unaffordable Country In Apache Spark
  2. Semantic Versioning is not enough
  3. Once Upon A Time, There Was An App Store
  4. How are businesses using Big Data?
  5. A Journey Through Sound Synthesis with AudioKit
  6. Scottcoin, centralising the decentralised
  7. Using Rally to benchmark Elasticsearch queries
  8. Spring Boot and MongoDB - a perfect match!
  9. Testing is boring: How we can all help destroy the myth
  10. Digital transformation in partnership
  11. Deconstructing Test Bash with R - Twitter Mining and Sentiment Analysis
  12. Design, Data and Redux at Bristech
  13. The Hitchhiker's Guide to Redux
  14. Creating a Simple Particle Simulation with Go
  15. Test Bash Manchester 2016
  16. The ins and outs of Bitcoin
  17. White Paper: Unstoppable HTML5
  18. Let's have a conversation
  19. An Insight Into Our 2016 Intern Projects
  20. Learning to talk - Finding your voice and telling a story
  21. The Power of the Higher Order
  22. Highlights from the Inspire Europe Conference
  23. Creating a Pebble Watchface with JavaScript
  24. Why does no one agree on a definition of MVC?
  25. Software career? There is no such thing as the "wrong degree"
  26. Hosting .NET Core on Linux with Docker - A Noob's guide
  27. Do You Need A Conversational UI?
  28. Reading the Riot Act: Exploring a Lightweight React Alternative
  29. Using d3-force to control a massive tiny display
  30. Highlights from JSConf.IS
  31. Docker 1.12 swarm mode - round robin inside and out
  32. Interview Questions Explorer - Edinburgh Interns 2016
  33. Building the next generation of technology professionals
  34. Building Components with D3 Data Join
  35. Day by day - week one as a Scott Logic 2016 graduate
  36. Exploring Data - Creating Reactive Web Apps with R and Shiny
  37. Java Enums - how to use them smarter
  38. Euros 2016: how you can have a whole bot of fun at Scott Logic
  39. Time Travel and The Future of HTML5 Productivity
  40. Web Audio API Part 2: Moving to Electron
  41. A snapshot of software testers in 2016
  42. Grad Projects: How building a game was both galvanising and gratifying
  43. ES6 Iterators, RxJS, IxJS and the Async Iterators proposal
  44. Recursive Pattern Matching and Transformation of JavaScript AST
  45. Declarative CI / CD with Concourse
  46. UX Scotland 2016
  47. Service discovery with Docker Swarm
  48. The Catch 22 of Conversational UIs
  49. Bitcoin payments and the Lightning Network
  50. Code reuse in microservices architecture - with Spring Boot
  51. Six tips for cleaner javascript promises
  52. Chaining Custom Locators
  53. A study of software testers
  54. An update on Electron Security
  55. Writing a Docker Volume Plugin for S3
  56. Log-driven big data: The ELK stack
  57. The Defects Of Defect Density
  58. Body as Interface
  59. An animated chart with HTML5 Canvas
  60. Recommended Reading For Java Developers
  61. An experiment with Animation and UI
  62. Applying redux reducers to arrays
  63. Make Banking Talk
  64. Data visualisation and scale: leveraging the macro and the micro
  65. Software Testing at Scott Logic: An Insight into how we work
  66. Securing Web Applications, Part 4. Account and Session Management Features
  67. Using WebdriverIO Part 2
  68. Using WebdriverIO Part 1
  69. Mondo Bank webhook to Pebble Watch Timeline using AWS Lambda functions
  70. Kotlin: Practical Experience
  71. Jenny from the blockchain
  72. A Functional Front-End with React
  73. The 2016 BCSWomen Lovelace Colloquium - A Retrospective
  74. Automating Expenses With the Mondo API
  75. D3FC ❤ Canvas
  76. Bristech: story of a meetup
  77. Independent testers question
  78. Why the #pushforparity is a slow burn
  79. d3-path - what is it good for?
  80. The Lonely Tester's Survival Guide
  81. As It Stands - Electron Security
  82. Tackling the myths around a software testing career
  83. Interaction 16
  84. Deconstructing a tweet-sized D3 creation
  85. Modularizing Client Side Dependencies With jspm
  86. Securing Web Applications, Part 3. Cross Site Scripting Attacks
  87. Static Shock - Using Modern Static Site Generators
  88. D3v4 is on the way!
  89. Binding with Bond
  90. Securing Web Applications, Part 2. SQL (and other) Injection Attacks
  91. Data Mocking - A way to test the untestable
  92. A Lazy Isomorphic React Experiment
  93. Securing Web Applications Against Man In The Middle Attacks
  94. A Case for Hot-Reloading
  95. Playing with Docker Compose and Erlang
  96. Angular 2 Time Travel with Redux
  97. Why Apache Spark is getting so much momentum behind it
  98. ASP.NET 5 to ASP.NET Core 1.0
  99. Building a RESTful API with ASP.NET 5
  100. Helpers for automated checking
  101. Know your bugs
  102. Introduction to Hadoop and MapReduce
  103. A glimpse into our 2015 graduate projects
  104. Exploring the Web Audio API with D3
  105. Java Microservices - How to get started in minutes using Dropwizard
  106. Angular 2 with Immutable.JS
  107. Most popular Tech Blog posts of 2015

2015 68

  1. Creating an Angular 2 build with Gulp, TSLint and DefinitelyTyped
  2. Recommended Reading For Designers
  3. Developer Tools for Testers
  4. An Introduction to Continuous Delivery
  5. Protractor For Beginners Part 2
  6. Building a todo list application with Angular 2.0
  7. I don’t have a Computer Science degree - can I still work in software development?
  8. Generalizing OData
  9. OAuth2 with SAML2.0 Authentication
  10. Rendering ASCII Charts with D3
  11. Sampling Large Datasets in d3fc
  12. Creating a High Performance Stock Ticker Using Haskell
  13. Protractor For Beginners Part 1
  14. Improving D3 Performance by Embracing the Flux
  15. Destroying Monoliths at DDDNorth
  16. Fun and effective bug hunts
  17. Automating bacon sandwiches
  18. Geeking out about React Native
  19. White Paper: HTML5 Migration – Get started with a Little Bang
  20. Improving Grunt Performance
  21. A Master Detail layout for Ionic
  22. Building a Jump Scroll Marketing Page with Meteor and OrionJS
  23. Charting Bitcoin Prices with D3FC - 2015 Intern Project
  24. Building D3-inspired charts with React
  25. Day by day - week one as a Scott Logic graduate
  26. TypeScript projects in Visual Studio (Look ma, nolib)
  27. An Adventure in SVG Filter Land
  28. What Makes a Good CMS?
  29. Creating a Single Page App in Meteor
  30. Applying styles to parent elements before children in AngularJS
  31. Fixing an LDAP PermGen leak in JBoss
  32. Seven Surprising JavaScript 'Features'
  33. Aurelia, less2css and bundling
  34. UX Scotland 2015
  35. Creating less2css using Aurelia
  36. Making the leap from academia to industry
  37. Learn ES6 from Airbnb's coding standards
  38. Strictly Testing
  39. MVVM With ReactiveCocoa 3.0
  40. Introduction to ASP.NET 5
  41. White Paper: Making Technology Disappear
  42. The State Of In-Car UIs
  43. ReactiveCocoa 3.0 - Signal Producers and API clarity
  44. A First Look at ReactiveCocoa 3.0
  45. Generating Type-Safe Email Templates Using Single File Generators
  46. Introducing React Native
  47. Retrospective on Developing an application with React Native
  48. var, multi-var or anywhere var?
  49. A quick and dirty introduction to ZeroMQ
  50. Swift JSON Shoot-Out
  51. OAUTH2 Authentication with ADFS 3.0
  52. State of localisation on the web
  53. Introduction to Flight
  54. Implementing React.js in Swift
  55. WebdriverJS and Promises
  56. Blink
  57. Using Snapshot With Simulator Status Magic To Generate Perfect Ios Screenshots
  58. Making a RTL plugin in less
  59. RTL Support in Web Applications
  60. Exploring KVO alternatives with Swift
  61. Implementing Events in Swift
  62. SVG layout with Flexbox for simpler D3 charts
  63. JavaScript ES6 generators
  64. Exception Handling in Swift
  65. Investigating TypeScript compiler APIs
  66. 7 things to look for when testing with agility
  67. Why should a project have automated tests?
  68. Reimplementing Scala assignments in Clojure

2014 73

  1. ELK - 3 things I wish I'd known
  2. Hero transitions in AngularJS
  3. HTML5 Mobile - Optimising for older or slower devices
  4. Tearing Down Swift's Optional Pyramid of Doom
  5. Foyer Screen, continued.
  6. Agile Projects: A Case Study
  7. Introducing (Another) New Static Site Generator
  8. HTML5 Mobile - Long-press to re-order scrollable lists
  9. Introducing the MEAN stack
  10. Swift Initialization and the Pain of Optionals
  11. Testing Standards
  12. An RSI component for D3 charts
  13. Video Stitching with AVFoundation
  14. HTTP/2: A quick look
  15. Binding mutable arrays with ReactiveCocoa
  16. A Fibonacci fan component for D3
  17. Mandelbrot Generation With Concurrent Functional Swift
  18. A first foray into functional programming with Scala and Clojure
  19. Cross-platform mobile with Cordova and Ionic Framework
  20. How IE confuses JavaScript context when running in multiple windows
  21. Jekyll Pagination and Infinite Scroll
  22. An interactive crosshairs component for D3
  23. An interactive Stock Comparison Chart with D3
  24. Using Screenhero To Turbo-Charge Pair Programming!
  25. Swift and the curious case of AnyObject
  26. Functional Swift and Memoization
  27. Creating an interactive chart with D3
  28. D3 SVG chart performance
  29. The Agile Mindset
  30. Swift By Tutorials is Published
  31. Static or dynamic? d3js and Jekyll with PhantomJS
  32. Writing Desktop and Web-Based JavaScript Applications
  33. The Game of Life with Functional Swift
  34. Does Scrum make the Project Manager role redundant?
  35. Foyer Screen Slideshow - 2014 Intern Project
  36. A Bollinger Bands Component for D3 Charts
  37. Two Reusable Line Components for D3 Charts
  38. How does the nature of an engagement affect how we introduce Agile?
  39. Porting Scratch To HTML5 From Flash - 2014 Intern Project
  40. An OHLC Chart Component for D3
  41. Introducing Agile upfront
  42. Asp.Net bundling of Angular templates
  43. Using Akka and Scala to Render a Mandelbrot Set
  44. A piecemeal approach to introducing Agile
  45. Strong typing for SignalR
  46. Sharded Clusters in MongoDB - The Key Considerations
  47. End-to-End testing with Angular and Knockout
  48. MongoDB vs CouchDB
  49. Introducing Agile development to client projects
  50. Swift Adoption Statistics
  51. 5 things hip hop teaches us about UX Design
  52. Single Page Applications - Angular vs Knockout
  53. MVVM, Swift and ReactiveCocoa - It's all good!
  54. Functional Reactive Programming with Bacon.js and D3
  55. A Statistical Comparison of the iOS and Android Stores
  56. MVVM with ReactiveCocoa
  57. Schools of Testing
  58. Swift Sequences and Lazy Evaluation
  59. White Paper - HTML5 At Enterprise Scale
  60. Binding to a UITableView from a ReactiveCocoa ViewModel
  61. Rapid Software Testing
  62. A Colour Analysis of the Apple App Store
  63. A Statistical Analysis of the Apple App Store
  64. Simulating Accelerometer and Location data for iOS
  65. ReactiveCocoa - The Definitive Guide
  66. Native code + Emscripten + WebGL. Simmer gently.
  67. A Developer's intro to WebGL
  68. Developing large scale KnockoutJS applications
  69. Arrow functions in Knockout.js
  70. Intro to IxD: Affordance
  71. PropertyCross 1.3 Released
  72. iOS 7 By Tutorials In Print
  73. Understanding JavaScript Object Creation Patterns

2013 40

  1. Snooping WPF: Tips and PowerShell tricks
  2. An introduction to MVC frameworks
  3. Iterating while counting
  4. On Running a Code Club
  5. Understanding JavaScript Object Creation Patterns
  6. Getting Functional at DDDNorth
  7. Assessing Android Fragmentation
  8. An Interactive Tab Bar Controller Transition
  9. 2D Game Development with SpriteKit
  10. Creating a custom flip view controller transition
  11. iOS 7 by Tutorials - the first iOS 7 book - is published
  12. Typescript 0.9: Any improvement
  13. Eclipse Kepler and @Nullable
  14. ReversiEight - A Windows 8 Reversi Game
  15. TowTruck and HasteBin
  16. Interactive.NET (2 - C#)
  17. Windows Phone App Studio - Shows Potential ...
  18. The Science behind Data Visualisation
  19. Interactive.NET (1)
  20. Real-time data analysis using Spark
  21. Testing HTTP requests with Betamax in Scala
  22. UX Scotland 2013
  23. Adventures with Scala Macros - Part 4
  24. Adventures with Scala Macros - Part 3
  25. Isolated Scrum: Does Scrum need to be Complemented with eXtreme Programming to Succeed?
  26. Adventures with Scala Macros - Part 2
  27. Adventures with Scala Macros
  28. New iOS Article - How To Make a Custom Control
  29. ReversiEight - A Windows 8 Reversi Game
  30. HTML5 - It Just Got Real - Slides
  31. Clearer – A Gesture-Driven Windows 8 To-Do Application
  32. Enhanced Windows Phone 8 Map Gestures
  33. Comparing KendoUI and Knockout (with a bit of jQueryMobile on the side)
  34. HTML5 - It Just Got Real - A One-day Conference in London 14th May
  35. Less vs Sass vs Stylus
  36. Knockout.js + Node.js = What.js?
  37. Extends in less
  38. Illusions in CSS
  39. A Windows Phone 8 Run Tracking App in 100 Lines of Code
  40. Windows Phone 8 Running App Article wins CodeProject competition