Solutions Architect | Software Developer | Optimiser
Be the change you wish to see in the world. - Ghandi
Everyday, we have an opportunity to make the world a better place. You might not always be able to make a global difference as an individual, but on some dimension we all have the opportunity to optimise our lives and the lives of those around us in some way. This has become my obsession.
My name is Eckhard Briedenhann, and I’m just a guy who likes to write code and learn new things. I’m an Industrial Engineer with a love for programming and Computer Science. The last few years I’ve been working as a Backend Specialist developing systems for optimisation companies.
On this site, I hope to showcase some of my skills and also share some of the things I’ve learned during my annual ride around the sun these last few years. I’ve played my hand at a few programming languages (Go, C++, C#, R, Python, Typescript) and have also had the chance to work with a few interesting frameworks (Angular, .Net Framework, .Net Core). I also have an interest in DevOps and I’ve managed systems on both AWS and, more recently, GCP using CI/CD tools like Jenkins, Docker, Docker-Compose and Kubernetes. These are only some of the things I hope to share with those visiting my personal website.
I’m one of the organizers of the Joburg Golang meetup, which takes place every month in Johannesburg, South Africa. All people interested in Go are welcome. We sometimes have remote conferencing links for those people outside of Johannesburg who want to join us. See the meetup group for more details.
Feel free to contact me on one of my social media profiles at the top.
Here is a list of all of the talks I have had an opportunity to give:
Discrete optimisation is a powerful tool in an OR practitioner’s toolbox. Whilst mathematical programming has long been the champion of these tools (particularly in academia), Constraint Programming (CP) provides a practical alternative that scales well for pathologically integer problems.Constraint propagation forms the basis for many of the solving techniques used by CP engines. This talk will provide a visual demonstration of the mechanics around constraint propagation and how this reflects in the problem space. A few simple models will be used to visualise the search path.
(From: 46th Annual Conference of the Operations Research Society of South Africa Programme)
An introduction to working with Go in Linux, showcasing some of the tools that can help turn you into a Go Linux wizard.
(See: Hello World 2019!)
R is a fantastic language for performing vectorised calculations, but implementing complex design patterns can turn into a nightmare when lists and vectors are all you have to work with. We’ll provide some templates of how to manage complexity through the S3/S4 class system and showcase the usefulness with some Directed Acyclic Graph (DAG) examples.
(Viewable on Youtube)
Showcasing modules feature introduced in Go 1.11 going through why we need modules and how to use them in your project.
(See: How to be dependent in Go)