- The .NET BASH!
2020 is almost behind us (thank goodness), but there is still time to fit in one final BASH! before the shutters come down and the nibbles come out. We are delighted to announce the .NET BASH! for 16th December, featuring four awesome talks. As usual we have a mixture of international guests and home grown talent. Andrea Magnorsky and Scott Hanselman will be joining us from afar whilst Laura Gilmour and Alan Turpin will represent the Belfast .NET community. The subjects covered include the new features in .NET 5.0, the motivations behind its 20 year evolution, its potential (via Azure) for Serverless applications and its congeniality for new developers. So whether you are an old hand, a complete newbie or simply curious there will be lots to keep you interested. Please note that this event will start at 8am, to facilitate Scott joining us from the US. Be there or appear on Santa's Naughty List!! ;-) --------------------------- Scott Hanselman: .NET 5, WSL and Windows Terminal. Why Windows is your best dev box. Join Scott Hanselman as he shares all the latest hotness when developing on windows. From power toys to fancy zones, .net 5 to WSL, plus the windows terminal, can a Windows machine compete against a MacBook as an epic developer machine? Let’s find out. No slides, just demos in this highly technical interactive talk. Andrea Magnorsky: Chasing a trail or chasing our tail? A brief history of .net as a multi language runtime. Using .net as an example we'll go over the technical decisions that influenced how todays languages look like. We will look at some key technologies that enabled the creation of .net, the reasons for its creation and the origin of its core features. Alan Turpin: Lessons in Microsoft Serverless: The good, the bad, the not-so-ugly. Taking over ownership of an application built on legacy technologies and frameworks can be a daunting challenge. In this talk, Alan will share the lessons he has learned so far on a journey to decompose a monolith into a seamless, serverless CI / CD pipeline, leveraging the power of platforms like Azure Functions Laura Gilmour: One small change for a Software Engineer, one big change for a Graduate! Going from University to working in a company is a massive change, so I want to take you through part of my first ever project I did when joining as a Graduate Software Engineer with ESO, and the interesting things I am learning from it.
- The Red Eye Bash
About a year ago I asked Josh the question, is Spring dead? My sense was, as we rush headlong into the world of Serverless and Cloud Native, that Spring's popularity might be waning. His answer surprised me – an unequivocal and definite 'no', and actually, if anything, it is gaining in popularity, significantly. In Belfast alone many companies continue to benefit from the Spring model, but even if you are not one of those (or have moved away from Spring) Josh is definitely worth listening to. He really knows his stuff and will gladly field your questions on all things Spring, Reactive and Cloud. Plus he's a bundle of energy, even at 8am on a dark Wednesday morning. Oh, and yes, you read the time correctly. Josh lives in California, where it will be midnight, so red eyes all round. As a result this will be slightly different from our usual format, but after two hours with Josh you should be fully aware of everything Reactive Spring has to offer. Reactive Spring Microservices and big-data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn't be such a big deal if we could add more threads cheaply, but threads are expensive on the JVM, and most other platforms. Even if threads were cheap and infinitely scalable, we'd still be confronted with the faulty nature of networks. Things break, and they often do so in subtle, but non-exceptional ways. Traditional approaches to integration bury the faulty nature of networks behind overly simplifying abstractions. We need something better. Spring Framework 5 is here ! It introduces the Spring developer to a growing world of support for reactive programming across the Spring portfolio, starting with a new Netty-based web runtime, component model and module called Spring WebFlux, and then continuing to Spring Data Kay, Spring Security 5.0, Spring Boot 2.0 and Spring Cloud Finchley. Sure, it sounds like a lot, but don't worry! Join me, your guide, Spring developer advocate Josh Long, and we'll explore the wacky, wonderful world of Reactive Spring together.
- The Polymath Bash!
Before software took over our lives, and software engineering was its own profession, coders were cut from the same cloth. Developers were mostly computer science graduates, with the remainder made up of electrical engineers, physicists and the odd mathematician. These days the trade attracts talent from a wide variety of backgrounds and academic disciplines. It's not unusual to find world class coders who started in economics, geography or the arts. Of course becoming a developer doesn't mean renouncing your previous intellectual loyalties, and many techies continue on with their previous vocation through hobbies and side jobs. The September BASH will investigate whether alloys are indeed stronger. Does our industry benefit from many different perspectives? Do skills cross over from poetry, music, and historical research into software engineering? Do our outside interests make us better at our trade? Or would we all be better off devoting our free time to Project Euler? We have three excellent speakers to expound on this topic. As ever questions will be gratefully accepted and (hopefully) the debate will be impassioned. Once again this will be a virtual event, so there is no limit on attendance, but please sign up early so we can gauge interest. --------------------------------------------------- What A Medieval Monk Can Teach Us About Technical Writing Claire Bodanis (https://www.linkedin.com/in/claire-bodanis-00a7831/) At the launch of my book about corporate reporting, one of my colleagues threw me a googly. ‘What insights into reporting,’ he asked ‘can one get from the Venerable Bede?’ My academic background was in mediaeval texts, including an MPhil on some unedited works of the Venerable Bede, a seventh/eighth century Benedictine. Bede in fact has a lot to teach us and, on a more practical level, there are many parallels between my study of mediaeval texts, my work in corporate reporting, and the challenges you no doubt face in communicating with a non-specialist audience. We geeks love our subject, and can easily fall into the trap of imagining our internal language must be universal. We fail to see jargon for what it is. Ultimately we need to take a step back and remember why we’re communicating in the first place. Who is the audience? Why am I addressing them? What do I want them to do as a result? In short – respect your reader. Why Hobbies Are Good For You Ciaran Conliffe (@shinyemptyhead) A popular subject at Bash's past has been people's hobby projects...but does your hobby need to be coding for it to be valuable to you as a developer? Ciaran Conliffe says no. He's here to talk about how his hobby of writing has helped him through the last ten years of his career, making him a more rounded engineer and teaching him valuable lessons and skills. Find out how writing an article about a castle in Limerick led inexorably to him speaking at an international IT Security conference, and discover the mysterious role that Uri Geller played in changing his life. As a bonus, you can even find out what he thinks other people (including our own Garth Gilmour!) have taken from their hobbies. Making Noise: What Music Can Teach You About Software Engineering Philip Lawson (@PLawsonGuitar) If you open up your favourite search engine and ask “do musicians make good programmers”, it will tell you “yes, because maths”. It can't be that simple, can it? While music does have deep maths behind it, you don't need to know Pythagoras' theory of harmonic intervals to make good music, nor does it actually help that much. Join me as I talk through my experience teaching and performing classical music, and share the specific skills and approaches that have helped me in my career as a software developer. Expect occasional insights and lots of puppy pics. Link to join - https://youtu.be/7MEAkHjp2d8
- The Craft Bash!
The next Bash will take place on Friday 24th July at 12 noon (BST) and will be on the ever-contentious topic of ‘Software Development as a Craft’. We will be discussing whether coding could (or should) ever become a purely mundane and predictable task. Will there always be a role for creative knowledge workers, dreaming up inspired problems to novel challenges? Or will coding become an austere, deterministic process where any two developers should always converge on the same solution to a given problem? Three speakers will offer three different perspectives on the essence of craft, including the inimitable Kevlin Henney delivering the keynote, and local legends Tim Cooke (no, not that one) and Garth Gilmour (yes, that one). This is a virtual event. There is no limit on the number of attendees, so feel to share and distribute on the socials. Link for meeting https://youtu.be/ULsxi3DMEhY Keynote: Kevlin Henney(@KevlinHenney) The Passions of Programming "We're looking for passionate programmers!" says the job ad. For a love-in or a development role? Passion is used to evoke single-mindedness, drive and intensity, but it also has many other meanings, surely not all of which can be intended. Love aside, passion also spills over into irrationality, aggression — e.g., crimes of passion — and unconditional and unquestioning pursuit of ideas. Our acceptance of this word and this quality should be partial and conditional. But there is more than one kind of passion, and when raw passion is tempered with compassion and dispassion we start to see a more balanced way of development. Craft draws on both creativity and rationality, on both experience and experimentation, on both focus and connection, on both individual skill and group intelligence. The dry language of productivity needs to admit the possibility of enjoyment; the culture of burn-out needs to give way to humanity and empathy. Let's explore the many passions of programming. Tim Cooke (@timdrivendev) Curate your Craft Software Engineers strive to improve their skills, increase their knowledge, and become better developers. However the scope of the profession is so broad, diverse, and ever expanding that it’s practically impossible to know it all. So if ‘learn all the things’ is out, then what? One thing an engineer can do is expand and refine their ‘mental productivity tools’ - cognitive disciplines that help make the best use of whatever prep time is available. These disciplines include learning to discern between valuable emerging frameworks and ‘shiny things’, continually focusing on fundamentals rather than hipster trends, and ensuring that practise is mindful and focused. This talk will offer some guidance on how to find and nurture these mental tools, so that your development career can stretch beyond a particular trend, framework or pattern. The goal is that you will have the core skills to adapt to new codebases and continue to deliver quality software. Garth Gilmour (@GarthGilmour) Are Software Engineers Professionals? Central to discussions of Software Craft is the issue of whether development is a profession in its own right. Typically this descends into pedantry and quibbling over definitions. But a useful thought experiment is to consider whether other professions would recognise developers as being fit to judge their ranks. Sadly the response is usually 'No'. This talk will elaborate on what makes an occupation a profession outside of IT, and how much work the IT industry needs to do before it can measure up. We won't pre-judge whether making development a profession is good or practical, but weigh up the pros and cons as we go. Hopefully by the end of the talk you will be very angry and inspired to ask difficult questions.
- The Serverless Bash!
The third virtual Bash! will run on Friday 26th June over lunchtime. Our theme on this occasion will be the ever popular area of Serverless Computing. We have three great speakers, all highly experienced at applying Serverless to real world problems. Each will be offering tips and advice, from their unique perspectives, on how to make the jump into Serverless successfully. Along the way we will be addressing common objections and evaluating their validity. As ever, there will be opportunities for Q&A at each stage and a discussion at the end. Keynote: Chase Douglas (@txase) Strangling With Serverless: How To Have Fun Refactoring Old Apps New projects are cool, but did you know Serverless is great for extending or rebuilding old apps too? And you can come out a hero by cutting the AWS bill by 90%? Join us as we look at how lots of companies are Serverlessly modernizing older apps to ship faster, scale higher, and cut costs. Matt Coulter (@NIDeveloper) My Serverless First Journey Through CloudFormation to AWS CDK The Serverless first mindset is the standard that I try to hold myself against with everything new I create. Do I need to custom build this? Has someone else already built a managed service? Does the ongoing cost outweigh the business impact? The step in the Serverless journey that I feel we undersell as an industry is where we move from day one simple Serverless solutions to resilient and scalable well architected solutions. To address this I have been brought together proven patterns and tools at cdkpatterns.com In this talk, I will: - Define the Serverless first mindset - Introduce you to the AWS CDK - Compare CDK development to CloudFormation YAML - Discuss “AWS Serverless Well Architected” White Paper and Lens - Show you why http://cdkpatterns.com can help Richard Gibson (@rickityg) Function as a Service meets "Your Server as a function" It's simple to get started with HTTP APIs in AWS Lambda. However, exposing multiple endpoints in a Lambda function can create a lot of repetitive work. This is work that is taken for granted when using other HTTP libraries. In this talk we will show how to build HTTP APIs for AWS Lambda using apigateway-ts. Apigateway-ts is a lightweight open source TypeScript library built at HexLabs using patterns from the paper "Your Server as a Function". The aims of the project are to reduce boilerplate within Lambda functions and build composable HTTP APIs that are easy to test. How to join the meetup https://youtu.be/zGNMzpqU0ig
- The Virtual Bash on Ethics
We are pleased to announce the second Virtual BASH, this time organised around the theme of 'Ethics in Software Development'. The event will run on Friday 22nd May, from 12:00 to 13:30 (or slightly after). We have three excellent presenters for you, speaking on three different dimensions of what ethical behaviour should be in our industry today. Full details below. There is no limit on the number of attendees, but please sign up here so we can gauge interest. As always updates will be posted here and on @devbash. Keynote: John Nolan (@johnsnolan) Social media is given as much credence as a source of information as conventional journalism and government reports. What responsibilities as technologists do we have in this context? AI Ethics for Developers: Embrace your Inner 5-year old Gillian Armstrong (@virtualgill) When you were five you were very quick to call out when things weren’t fair. You asked why… a lot. You had to learn to share. You didn’t have preconceived notions of what was or wasn’t possible. Ethics isn’t just for philosophers – it’s something that everyone has a responsibility to think about. In this session we’ll walk through practical examples and advice of how you can start to apply ethical principles to your own AI projects today. Pragmatic Data Science: When Unstoppable Math meets Immovable Ethics Andrew Bolster (@Bolster) Since the developments of pure mathematics in the time of the Greeks, math has been wielded by anyone with the ability to imagine, or pay someone to imagine. How do we navigate the balance between ethical and social ideals in the face of grinding economic, technical and political machines? With global data mobility and super-exponential dissemination of lies, truth, and statistics, how do we "Prepare for unforeseen consequences"? Join the meetup here - https://bit.ly/virtual-ethics-bash
- The Virtual Bash!
We are happy to announce that we will be running a Virtual BASH over lunchtime, one week from today on Friday the 24th April. Loosely themed around making the most of, and contributing to, open source software. There will be a keynote from Marit van Dijk (@MaritvanDijk77) and talks from returning favourites (Jason Bell) and first time speakers (Jamie Thompson). Details below. As this is a virtual event we’ve capped the number of attendees at infinite:) But please reserve the slot in your diaries. More details and the link will be published early next week, both here and on @devbash. Keynote - Marit van Dijk Collaborating on Open Source Software How I Started contributing to Open Source and Why You Should Too There are several reasons you might want to contribute to open source software. For me, it was that I wanted to learn in a more useful way than doing programming challenges. So I looked into how I could contribute to open source projects that I use myself. After contributing for almost two years, I notice that I have learned a lot from my contributions (which has been useful at work), as well as have made friends and have become part of a community. In this talk I will share my experience with contributing to Cucumber, including an early mistake (merging something that wasn’t ready yet) and fixing it with the support of core maintainers, and still feeling welcome! You’ll learn how to find your project and contributions to start with, how to connect with the community to make sure your contributions are useful and the many different types of contributions you can make. Contributing to open source is a way of giving back to the community. In addition, it is a way for you to learn, collaborate and become part of a community. Getting (constructive) feedback on a pull request and collaborating to make things even better is a great feeling! The Lunchtime Tour of Kafka - Jase Bell The author Peter Cook called him a "data genius", Jase Bell has been working in software development since 1988 with specific focus on retail data mining since 2000. He is the author of Machine Learning: Hands on for Developers and Technical Professionals for Wiley, the second edition was released in February this year. Now working in large scale data Kafka Devops, monitoring and development for Digitalis.io, he is still obsessed with how data drives the customer/retailer relationship. Jase now considered an elder of the Northern Ireland tech scene (because he's old). In his session Jase will show you the general components of the Apache Kafka Ecosystem, from the basic operation of the Kafka cluster and the immutable message log, showing how producers and consumers work and then looking at stream processing with the Streaming API and data acquisition with Kafka Connect. Tweet heckling @jasonbelldata is mandatory, you can get started now. Creating Kubernetes Autoscalers - Jamie Thompson Jamie Thompson is a final year Computer Science student at Queen's University Belfast; with a year's previous experience at IBM. Jamie has worked on a number of projects which have been open sourced. Open sourcing a project is a great way to promote it and build a user base. The Custom Pod Autoscaler Framework is an open source project for creating Kubernetes autoscalers. Existing Kubernetes autoscalers can be limited in functionality, more complexity requires a custom autoscaler - a time consuming and difficult task, requiring in-depth knowledge of Kubernetes. The Custom Pod Autoscaler Framework simplifies this, abstracting the Kubernetes complexity to allow quick autoscaler development in any language; an autoscaler can be reduced down to a single script. How to join the meetup https://bit.ly/virtual-bash Discussion during the session will take place on the Northern Ireland Tech and Design Slack - Sign up here if you aren’t already a member - https://nitech.herokuapp.com/ - Join the #devbash channel.
- Bash The Return
Well, goodness, time really is a thief. Can you believe that it's been nearly a year since our last Bash, and I can only blame middle age for it feeling more like a month. Anyway, our humble apologies about the delay, but we're back and we have a number of events planned for the coming months. To start things off, we have 3 great speakers lined up to talk about 3 completely different topics. There's a kind-of JVM theme running through 2 of the talks, and then we have something a little more left-field (and all the more interesting and enjoyable for that). As it's winter and the nights are still long, we've booked the Blackbox, along with a free(ish) bar and some belly-warming food. The good folks at Rapid7 are kindly sponsoring the Boojum Burritos. Instil will cover the beers and venue. Happy days. ---- What Lies Beneath (Maurice Naftalin) What really happens when your Java program runs? After the transformation from Java source through bytecode and machine code to microcode, and the various optimizations that take place along the way, the instructions that are actually executed may be very different from what you imagined when you wrote the program. This session shows you tools and techniques for tracing that path. You’ll see what a simple program actually looks like when it really hits the hardware. About Maurice Maurice Naftalin has over 30 years' experience in IT - as developer, designer, architect, manager, teacher, and author. He is a certified Java Programmer and has worked in every release of Java to date. Maurice's experience in Java and business gives him a unique perspective on the fundamental change that comes with introducing Lambda expressions in Java. He is a frequent presenter at conferences worldwide, including the annual JavaOne and GOTO events. --- Why you should be more like a surgeon than a GP - beside the money (Arnaud Roger) In 2008, Malcolm Gladwell popularised the idea of the[masked] hour rule to achieve world class expertise. The idea behind this rule is based on the work of Anders Ericsson a Swedish psychologist whose main study is the nature of expertise and human performance. Unfortunately there is a gap between Gladwell's simplified rule and the research. Based on the book by Ericsson, Peak, we will go through some of the actual research and see how it can inform one's career. About Arnaud Arnaud Roger is Software Engineer at Rapid7. Of uncertain origin - rumours place his origin in France, Belgium or even Craigavon. Arnaud has been hitting the keyboard for a very long time with varied success - only one company went bankrupt, Lehman Brothers. The jury is still out as to whether or not there was any causation. Performance is a strong interest of his, and he can be regularly seen blankly staring at the asm output of the hotspot vm. He is also known to be generally sceptical of most things including Docker and Kubernetes. Also, he thinks he has a sense of humour, there is still no proof that this is actually the case --- The Great Scala Makeover (Garth Gilmour) Scala was once the heir presumptive to the JVM crown. But concerns about its complexity, new competitors and limited applicability have drastically slowed its adoption. The upcoming version 3 aims to reverse this trend, with root and branch reforms. There is a new compiler and macro system plus a bunch of fresh features. But more importantly many existing features have been dropped, restricted or replaced in an effort to simplify and streamline the language. This talk will provide an overview of these changes and evaluate if they are enough to reverse Scala's fortunes. About Garth Garth is the Head of Learning at Instil. He speaks regularly at international conferences including GOTO and KotlinConf, and when not at the whiteboard he coaches Krav Maga
- The Big Ideas BASH
We are delighted to welcome John Nolan and Paul Johnston for an evenings debate, based around ethics in Software Development. Expect a challenging evening of robust deliberation, wherein our shared assumptions about the merits of our profession and its value in society are put through the wringer and potentially eviscerated. There will be two talks, with plenty of opportunity for discussion, and food courtesy of our generous sponsors Liberty IT and Instil. Agile : Considered Morally Harmful Agile is good, right ? Or is it ? This session, through collaborative argument, provides an opportunity for the audience to consider Agile software development from the perspective of morals and ethics. Indeed, it’s aim is to gain agreement that there are serious moral and ethical concerns that we need to be aware of when practicing Agile development. Sustainable Clouds - How Tech affects Climate Change Come and find out how about the business risks of climate change and how that affects the world of technology and cloud, and how the major cloud vendors are reacting to climate change and what that means for you, your code and your business. You will learn about how important industry decisions are compared to personal decisions, and how your business decisions about where to run your applications affects the climate, and the questions that you should be asking of your cloud vendors and suppliers regarding where their energy comes from. It is possible for the tech world to have a positive impact on climate change and mitigate their business risk at the same time. Come and find out how. *Please note - event is taking place in Oh Yeah Music Centre, Gordon Street Belfast.
- The Crystal Ball BASH
We are kicking off the New Year with a Crystal Ball BASH! Six speakers will each try to persuade you of the worth of a technology that may (or may not) make it big in 2019. Come and be amazed at the wonders the future holds!!! Also Boojums courtesy of our gracious sponsors Liberty IT ;-) ----- Strong and Stable - A Referendum on Go (Simon Hewitt) ----- Go is already here. Despite powering Kubernetes, Docker, parts of Google and all of the hottest technologies you are either using or wish you could use (yes, even Blockchain), Go largely remains on most peoples "will get to it some day" list. Come and see why 2019 will be the year Go adoption takes off, and why you should add it to your toolbelt. ----- The Haskell Epidemic (Diogo Castro) ----- Haskell's influence is everywhere, there's no escaping it. It has become a fertile ground for great ideas that then end up infecting other languages and ecosystems. In this talk, I'll give a brief intro to the language; show how it has influenced the software engineering field and why you've probably, perhaps unwittingly, already been bitten by the Haskell virus. ----- Machine Learning in 2019 – Time to get stuck in! (Mairead O'Cuinn) ----- 2019 will be the year when developers in every industry add machine learning to their skillset and use it to bring their apps to the next level. From healthcare to finance, there are a gazillion ML use cases just screaming to be implemented and we don’t have to be data scientists to make this happen. I’ll be discussing some of the latest machine learning tools and frameworks available to developers to get their feet wet along with a quick look at the emergence of ML marketplaces and the explosion of Reinforcement Learning. ----- Software that Actually Works (James Bunch) ------ Our software is bug-ridden. As Edsger Dijkstra said “Most systems are much more complicated than can be considered healthy, and are too messy and chaotic to be used in comfort and confidence. The average customer of the computing industry has been served so poorly that he expects his system to crash all the time, and we witness a massive worldwide distribution of bug-ridden software for which we should be deeply ashamed.” That was in the year 2000, and it doesn't seem to have got much better since then. In this talk we will look at some novel (or at least under-used) ways that we can try and ensure software does what it's intended to. No silver bullets, but hopefully some things you'll want to try out. ----- Kotlin Goes Native (Eamonn Boyle) ----- Instil has bought into Kotlin, using it for all our Android and Backend JVM development. For Java projects we feel the switch is a no brainer. However 2018 saw the release of Kotlin Native, a non-VM based implementation that runs across multiple platforms. I've many years professional C++ experience (as if you'd do it for fun!) and I'm keen to see how Kotlin will fare for solving problems elegantly and efficiently in a native setting (or not). I'll be looking at developing some native applications and doing some crude benchmarks. Focusing on how easy the applications are to build and what the performance is like in comparison to Kotlin on the JVM and C++ (God help us). ----- The Evolution of DevOps: When Pipelines Become Plumbing (Ciaran Conliffe) ----- While automated pipelines have proven a game changer in software delivery, so far most people have concentrated on the “happy path” for applications moving to production. What happens when the build breaks is the next frontier for automation; replacing the need to raise issues manually with a full integration between your pipeline, tools and issue management. This is already starting to appear in the AppSec space with tools like Gasp, but the idea is also beginning to be picked up in the broader DevOps community. *Please note - access will be via the Danske Bank entrance on Donegall Square West, as the event is being held in the main branch space