A collections of bookmarks to interesting stuff, some read or watched, some not. So the content at the end of the link may not be of value, but it probably is.

###Table of contents

Not yet categorised stuff

Some random talks

  • Data visualisation with R - Matthew Renze introduces the R programming language as well as demonstrates how R can be used to create data visualizations to complete day-to-day developer tasks.
  • The Hardest Yards - Aslam Khan; I have studied and used methodologies for changing teams. I recognise the change patterns. I have read these, tried these and none prepared me sufficiently for the last few years. This is a story of extreme change at a pace and intensity that I never imagined. What would you do when co-option is not an option, when the only choice is to force change?
  • Is Boilerplate Code Really So Bad? - Trisha Gee explores common coding scenarios using Java and Kotlin, discussing Java's evolution to improve productivity, and why staying up to date with Java can help.
  • 55 New Features in JDK 9 - Simon Ritter discusses some of the new features in JDK 9.
  • JDK 9, 10, 11 and beyond - Presentation from SprinOne by Simon Ritter
  • Spring 5.1 and upgrade to Java 11 - from SpringOne 2018
  • Hands On with Clojure - Bodil Stokke: Of all the strange new JVM languages, Clojure, with its roots in the alien world of Lisp, may well be the strangest. It is also, its proponents insist, by far the most powerful. They'll show you weird and incomprehensible proofs of this—macros, lazy lists, monads, what have you—that may well send academics into orgies of rapturous debate, but the question always remains: "does this have any real world application at all, or are you all just geeking out on us?"
  • Programming, Only Better - Bodil Stokke: Have you noticed that in spite of all our oft repeated Best Practices, those bugs don't seem to stop coming back no matter how many tests we write, that pile of technical debt still seems to keep growing no matter how much we refactor, and we keep missing those deadlines no matter how we organise our scrum board?
  • Move Slow and Mend Things - Kevlin Henney. Velocity. Sprints. Move fast and break things. There is a seeming obsession with speed of software development that is often at the expense of the software and its development. Velocity is a question of direction, not just magnitude. Sprints are not about sprinting; they're about sustainable pace. Time to market is less important than time in market. Full-stack development is normally a statement about technology, but it also applies to individuals and interactions. The full stack touches both the code and the world outside the code, and with that view comes responsibility and pause for thought.
  • Patterns of Effective Teams - Dan North; Some teams are orders of magnitude more effective than others, turning around business solutions in days or even hours. Their secret is a combination of smart technology choices, great development habits and a powerful team dynamic. In this talk Dan describes a number of patterns of behaviour that he's identified working with some great teams, beyond the basics of co-location, stand-ups and pair rotation. You'll gain a new appreciation for old techniques like code reviews, and even working in silos won't seem so bad!
  • Guide refactorings with behavioral code analysis - Adam Tornhill; Adam Tornhill is a programmer who combines degrees in engineering and psychology. He's the founder of Empear where he designs tools for software analysis. He's also the author of Your Code as a Crime Scene, Software Design X-Rays, Lisp for the Web, and Patterns in C. Adam's other interests include modern history, music, and martial arts
  • Complexity sucks - Aslam Khan; Aslam Khan about his session "Complexity sucks": Building software is mostly about trying to wrap our heads around the complexity of a domain. If we understand the domain, we have a better chance of producing a simpler design. The harsh reality is that there is a pretty good chance of deforming that simple design over months and years. The challenge we face is dealing with inherent complexity up front and insidious complexity that sneaks in later. In this talk I will share some techniques that I find useful in tackling domain complexity.
  • Beyond Lambdas & Streams - Functional Fluency in Java - Naresha K discusses writing functional code in Java 8, the limitations and using Vavr to circumvent those limitations.
  • Documenting RESTful APIs with Spring REST Docs - Jenn Strater introduces Spring REST Docs and its test-driven approach to RESTful API documentation.
  • The Journey to Continuous Delivery - Dan North argues that the purpose of Continuous Delivery is to support business agility, and that people shouldn’t try to boil the ocean, but instead choose one thing to go after.
  • Structure and Interpretation of Test Cases - Kevlin Henney; Throw a line of code into many codebases and it's sure to hit one or more testing frameworks. There's no shortage of frameworks for testing, each with their particular spin and set of conventions, but that glut is not always matched by a clear vision of how to structure and use tests — a framework is a vehicle, but you still need to know how to drive.
  • John Ousterhout: "A Philosophy of Software Design" | Talks at Google John Ousterhout, Professor of Computer Science at Stanford University, discusses complex techniques on how to become a more confident coder. John is excited to announce that he just published the first edition of a new book on software design, based on material from a software design class he has been teaching at Stanford for the last several years.
  • Programming with GUTs - Presentation by Kevlin Henney
  • Seven ineffective coding habits of many programmers - Presentation by Kevlin Henney about how we as programmers often don't do what we should and how to change our bad habits. Very enlightening and entertaining.
  • A question about craftsmanship - Kevlin Henney pick apart the concept of Software Craftsmanship and discusses its shortcomings and strengths.
  • Software Faster - Dan North talks about a couple of patterns from his book Software Faster (so far only 7% complete so the talk is a better source of information then the book).
  • Complexity is Outside the Code - Jessica Kerr and Dan North about how the human brain deals with complexity.
  • Programming with GUTs by Kevlin Henney - Kevlin Henney talks about unit testing, how we write them and how we should write them. What is the takeaway from a well written test.
  • Refactoring Mount Doom - Tackling Legacy Code - Franziska Sauerwein discusses how to refactor code for the right reasons and the right methods to use for time efficiently.
  • Software that fits you head - Dan North talks about our capacity to tackle complexity and ideas on how to deal with our limitations.
  • Simple Made Easy - Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.
  • Making Security Fun - by Siren Hofvander; Security work has a reputation of being both difficult and time consuming, this presentation will prove that it is neither. We will begin på focusing on what security work actually involves and ending with some practical steps and tips to keep security work in all the work that you do. Siren Hofvander has a masters degree in information security and works as an application security expert at Verisure. In her daily work she is responsible for designing and with the help of various teams implement the companys security strategy. Albeit highly technical, a big part of her work is still focused on the "soft values" of software development, making people think security is fun, necessary and something you should invest time and energy into. On her spare time, Siren does volunteer IT-security work for non-profits and enjoys spending time with her family, friends and dogs.
  • Git secrets - by Brent Beer; From pull request ref specs to patch mode, this session will examine some of the hidden features that can make git easier and more efficient to work with. For experienced git users only
  • Functional Principles for Object-Oriented Developers - by Jessica Kerr; The artist travels to foreign lands for inspiration. I sojourned in F# and brought back souvenirs to share with you. These six principles are useful every day in my home language of Java. Some are part of good practice already, some express patterns both old and new, and all give us different ways of thinking about problems. Examples in C# and Java prove that we don't need to work in a functional language to carve our intentions into code. Each day we output some code and a new version of ourselves. The latter matters more, and melding a new paradigm embiggens both.
  • Kicking the Complexity Habit - Dan North talks about ways we can rid our self from the habit of creating complexity we do not need.
  • Software Architecture for Developers - by Simon Brown; The software development industry has made huge leaps in recent years; with agile, lean, software craftsmanship, evolutionary design and microservices being just a few of the buzzwords we throw around. Despite this, software development teams are often more chaotic than they are self-organising, with the resulting code being more of a mess than was perhaps anticipated. Successful software projects aren't just about good code though, and sometimes you need to step away from the IDE for a few moments to see the bigger picture. This session is about that bigger picture and is aimed at software developers who want to learn more about software architecture, technical leadership and the balance with agility.
  • Implementing Programmer Anarchy - by Fred George; The Forward Internet Group in London implemented the original Programmer Anarchy process. Detractors point out that Anarchy would not work in a traditional organization with its established processes and roles. In the second implementation of Programmer Anarchy, the detractors seem to be wrong.
  • Implementing Micro­Service Architectures - by Fred George; SOA, service­oriented architectures, burst on the scene in the new millennium as the latest technology to support application growth. In concert with the Web, SOA ushered in new paradigms for structuring enterprise applications. At the Forward Internet Group in London, SOA was implemented in an unusual way. Rather than a few, business­related services being implemented per the original vision, we have developed systems made of myriads of very small, usually short­lived services. We have now moved to another company, MailOnline, the online version of the Daily Mail newspaper in the UK. And we are once again developing micro­services.
  • A Comment on how we learn - by Aino Vonge Corry; Aino Vonge Corry about her session "A Comment on how we learn": As an expert you will be asked to facilitate the learning of others, not to mention your personal eternal learning in your field. Join an interactive session about how our brains accept new knowledge and store it for later use. Your take-away will be three-fold; how to chunk information you give to others, how to improve your own learning AND something to entertain with at dull parties.
  • Teaching TDD to Different Learning Styles - Tiffany Larson give some great advice on how to teach TDD, taking peoples different ways of thinking into account.
  • Beyond Feature - Dan North makes the case for thinking differently about what we do, perhpas it's not so much about civil engineering, perhaps it's more about surgery.

Architectural Decision Records

I18N -> L10N tooling

  • Serge by Evernote - has more functionlalty but written in perl
  • Mojito by Box - with litle functionlaity, build in Spring Boot for Java8

Some DDD stuff

Some stuff on #noprojects and similar

Languages that would be interesting to know more about

HA and Zero Downtime


Systems Thinking



Kata and Code Retreat resources

Software Craft and Apprenticeship

Progression Frameworks/Engineering Ladders

Slightly more unorganised stuff of interest, but not strictly relating to software in any way

  • Thwink.org - Finding and Resolving the Root Cause of the Sustainability Problem. Not quite sure what this is but needs to be looked at, seems interesting.
  • Dao De Ching - several different translations of this book full of wisdom on most things in life.
  • And naturally The Tao of Programming has to follow.