C

Codurance Blog

codurance.com · Company blog · on HN since 2015

Codurance, a software craftsmanship consultancy in London and Barcelona, writes about functional style, TDD, Kafka, Akka and team practices.

What HN saysHN commenters link it for guides such as outside-in TDD and local NuGet repositories, and the company posts hiring notices in job threads.
19HN people shared it
6linked it in comments
41stories submitted
536story points
10 months agolast shared
2015people per year2026

Most-shared posts

  1. 1
    The Functional Style (2018)
    1 people · 135 points · first shared 2019 · 92 comments on HN
  2. 2
    Finite state machines with Akka
    1 people · 90 points · first shared 2016 · 8 comments on HN
  3. 3
    Functional calisthenics
    1 people · 69 points · first shared 2017 · 36 comments on HN
  4. 4
    Decentralised Decision Making with Initiative Circles
    1 people · 58 points · first shared 2016 · 4 comments on HN
  5. 5
    The Java Synchronisers
    1 people · 43 points · first shared 2016 · 5 comments on HN
  6. 6
    Publish-subscribe model in Kafka
    1 people · 9 points · first shared 2016 · discussion on HN
  7. 7
    A case for outside-in development
    1 people · 9 points · first shared 2017 · discussion on HN
  8. 8
  9. 9
    Lambda Calculus in Clojure (Part 2)
    1 people · 8 points · first shared 2018 · discussion on HN
  10. 10
    Lambda Calculus in Clojure (Part 1)
    1 people · 7 points · first shared 2017 · discussion on HN
  11. 11
    Shrinking Haskell Docker images using multi-stage builds
    1 people · 7 points · first shared 2017 · discussion on HN
  12. 12
    Reflecting on functions
    1 people · 7 points · first shared 2018 · discussion on HN
  13. 13
    Conventional Interfaces in Functional Programming
    1 people · 6 points · first shared 2017 · discussion on HN
  14. 14
    Server side Swift
    1 people · 6 points · first shared 2016 · discussion on HN
  15. 15
    Bank kata in Haskell – dealing with state
    1 people · 6 points · first shared 2019 · discussion on HN

What HN people wrote when they linked it

burnerToBetOut · 2026-01-11
Don't mention it :) I should've also shared this link: https://www.codurance.com/publications/2017/10/23/outside-in-design#ac… With that particular style of TDD, the trick to doing it well is to let the design _emerge_. In my experience, AI coding agents are trained to do precisely the opposite of emergent design. Cody, at least, convinced me that it's impossible for a coding agent to restrain itself from delivering a fully-formed implementation FIRST, in one fell swoop. And THEN it generates the test afterward. The kind of discipline that London Style TDD prescribes seems like something only humans are capable of. Even then, only a small percentage of human TDD practitioners are able to be that disciplined. I'm super interested in following your success with getting AI agents to work in the true spirit of Outside-In TDD.
twic · 2020-12-22
This post starts with the implicit assumption that the normal structure for a meetup is a talk. Is it? I don't go to many meetups, but by far the best are the ones structured for peer discussion, not lecturing. Extreme Tuesday Club has been doing this for decades: https://exubero.com/2018/12/16/joes-farewell-to-the-extreme-tuesday-cl… The London Software Craftsmanship Community round table meetings are similar: https://www.codurance.com/publications/2011/08/20/one-year-of-london-s… How common is it to have structures like that? Have i just been lucky? The specific office hours format is different to either of these, but it's a similar flavour. I'd like to try it (which means i should propose it for XTC).
ZenoArrow · 2016-04-13
> "although can you easily add new repositories for nuget?" Yes. Here's a guide showing how to create a local Nuget repository: http://codurance.com/2015/05/04/creating-a-local-nuget-repository/ In the guide you can see this screenshot: http://codurance.com/assets/img/custom/blog/2015-05-01-creating-a-loca… Which shows you one way to set up the package source. Also worth mentioning Paket, which is a Nuget replacement. In addition to working with the standard Nuget library, Paket can pull dependencies directly from Git repos. https://fsprojects.github.io/Paket/
yebyen · 2021-06-05
I did a technical review of our Jenkins solution with a friendly neighborhood InfoSec agent once. He was interested in a few things: 1) how is the stored credential being encrypted (is it encrypted at rest), 2) is it real encryption (like, does it use an actual encryption algorithm or is someone confusing base64 or rot13 for encryption) 3) where is the encrypted data stored, where are the keys stored, is it properly on a machine that is not situated directly on the internet (users must access through VPN) 4) can I review the code that decrypts the secret (yes you can, there are plenty of walkthroughs and gists published by many different Jenkins fans and users that show where Jenkins stores its encryption keys, and how you can borrow them with POC code you can use to decrypt individual creds or even the whole store, assuming you have admin access to Jenkins) He didn't really ask or care about sandboxing at all. There are mitigations you can apply for any threat model, but the crux of the matter is that even InfoSec assumed that any Jenkins users would probably have admin access anyway, and that they should all be allowed to decrypt those secrets. Which happens to be exactly what they tell you in articles about how to manage your Jenkins server anyway: https://www.codurance.com/publications/2019/05/30/accessing-and-dumpin… > 7. Treat all credentials stored in Jenkins as plain text > Treat everyone with access to Jenkins as an admin user, and you…
steve_lydford · 2018-03-02
Codurance | Software Craftspeople and Apprentices | London and Barcelona | Onsite At Codurance we help development teams and business to continually improve their products and process. We value the principles of Software Craftsmanship and have a shared passion for continuous learning. Our Software Craftspeople have a broad appreciation of technology and a depth of expertise in key areas. These will include expertise in the JVM, .Net or Node.js stacks, plus expertise in areas such as XP, cloud technology, building a DevOps culture or perhaps Cyber Security. We believe however that technology can be taught. It’s more important that our Craftspeople, regardless of existing expertise and experience, share the same passion for continuous learning and clean code principles that we do. Our Apprentices share our passion for creating well-crafted software but have not yet had the suitable learning opportunities to refine their craft. A typical Apprentice is already a productive developer in the language of their choice on the JVM, .NET, and/or Node JS platforms at the start of the programme. They will know of Agile processes and practices and can apply them and are looking to become an expert in reasoning about them. They will have basic knowledge of micro level and macro level design. For more information, please visit https://codurance.com/careers/
stevelydford53 · 2015-07-01
Codurance is hiring Software Craftsman ONSITE in London, UK. You consider yourself a software crafter. You care about and are proud of the code you write. You care about doing meaningful work and providing value to your clients or employer via well-crafted code. For you, writing code is not just a job but also a passion. Test-Driven Development is second nature to you and that's how you write code. You don't use "lack of time" as an excuse to do a mediocre job, and fully understand the long-term costs and benefits of hacking a project together. You prefer to work in small increments, trying things out and iterating rapidly, tightening the feedback loop as much as possible. You are a team player. You understand that software lives on long after it is first delivered, and that many different people will contribute to it over its lifetime. You enjoy working with other people, including other coders but also designers, business analysts, testers and anyone else working on the same project. You enjoy frequent collaboration, including pair-programming. As a passionate developer, you spend a considerable amount of time outside working hours investing in your craft, learning new technologies and practicing different techniques and approaches. You create for creation's sake, building pet projects or contributing to open-source development. You don't do this because a client or employer asks you to; you do it because you want to. As part of the learning process, you consider it…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close