What we’re about
Welcome to the London .NET User Group! Since 2002, we've been bringing together developers and software professionals working with .NET to learn from each other, share tips and tricks, and keep up with all the latest developments in the world of .NET.
We aim to meet in person, once a month, usually at a company or event space somewhere in central London. Our guest speakers range from internationally renowned experts in .NET and associated technologies, to aspiring speakers from our community giving their first presentation in front of a live audience.
.NET sits at the heart of a vibrant, cross-platform development community, and we're interested in talking about anything and everything that's related to building software with .NET: deep-dive technical sessions about performance optimisations and memory management, case studies and experience reports, and wider topics like security, diversity, open source, and development culture.
Upcoming events (1)
See all- London .NET May 2024 with Guy Royse and Kevlin HenneyBridge House, London
For our May meetup we'll be at Redis' offices near London Bridge, with two fantastic guest speakers - Guy Royse will be finding Bigfoot using JavaScript, and Kevlin Henney will be talking about trusting your GUTs when it comes to writing better code. (That's GUTS as in Good Unit Tests, obviously).
Doors 18:30, first talk starts at 7pm, our hosts at Redis will be providing drinks and snacks, and we'll be heading to the pub afterwards to continue the conversation.
Finding Bigfoot with JavaScript + Vector Search
Bigfoot has been a staple of American folklore since the 19th century. Many are convinced that Bigfoot is real. Others suggest he’s merely a cultural phenomenon. And some just want to believe. There is even a group, the Bigfoot Field Researchers Organization, that tracks Bigfoot sightings and makes the reports available online. And they have thousands of reports.
I want to explore this delightful data but, unfortunately, it’s been made for the convenience of humans and not computers. While this makes it easy for me to read, searching for reports can be a bit of a challenge. Some of the data is tidy and computer-friendly—like the latitude and longitude. Other bits are really for us humans—like the eyewitness accounts. So, how can I find the Bigfoot sightings that interest me most with data structured like this?
Well, it's easier than you think if we turn these Bigfoot sightings into embeddings and search them semantically with a vector database!
But what's an embedding? And what's a vector database? And what's semantic search? Well, that's what I'll cover in this session. I'll begin by exploring embeddings, showing how unstructured data, such as text and images, can be translated into hyper-dimensional arrays using off-the-shelf AI models that anyone can download for free. Then I'll talk about vector databases, covering what they are and how you can use them to store and search those embeddings with embeddings of your own.
Of course, we'll do this all by example. I've converted all of the eyewitness accounts to embeddings. I've loaded them into a vector database—Redis in this case because, well, that's where I work. I've built an application around these embeddings and that database so that anyone can find Bigfoot sightings that match queries optimized for humans and not machines. And, I'll show you the code and the queries of this application so that you can build something similar for yourself.
When we’re done, you’ll know what embeddings are and how *you* can use them with a vector database to search semantically. You can use this newfound power for boring old corporate data, but I’m going to use it to find Bigfoot!
Guy Royse works for Redis as a Developer Advocate. Combining his decades of experience in writing software with a passion for learning—and for sharing what he has learned—Guy explores interesting topics and spreads the knowledge he has gained around developer communities worldwide.
Teaching and community have long been a focus for Guy. He runs his local JavaScript meetup in Ohio and has served on the selection committees of numerous conferences. He'll happily speak anywhere that will have him and has even has helped teach programming at a prison in central Ohio.
In his personal life, Guy is a hard-boiled geek interested in role-playing games, science fiction, and technology. He also has a slightly less geeky interest in history and linguistics. In his spare time he likes to camp and studies history and linguistics.
Guy lives in Ohio with his wife, his sons, and an entire wall of board and role-playing games.
Program with GUTs
One of the greatest shifts in modern programming practices has been how programmers across many different domains, languages and environments have embraced unit testing. Good unit testing, however, is more than waving NUnit at your C# source. Tests help to make long-term product development cost effective rather than a cost centre, they underpin the effective flow of CI/CD and reduce failure demand on a team.
But the discussion of unit testing goes further than simply writing tests: what makes a good unit test? It is not enough to have tests; poor quality tests can hold back development just as good tests can streamline it. This session looks provides a perspective on what good unit tests (GUTs) can look like with a couple of examples.
Kevlin Henney
Kevlin is an independent consultant, trainer, coder, speaker and writer based in Bristol. He's interested in development practices, programming languages, software design and developer culture, as well as a bunch of other things you can ask him about over a drink. He's co-authored two volumes in the Pattern-Oriented Software Architecture series and edited and contributed to a number of O'Reilly's 97 Things books.