GopherCon UK 2018: videos online

GopherCon UK 2018 was held at The Brewery from August 1 to 3, in the heart of the City of London. It aims to deliver fantastic up-to-date content about Go programming and related technologies in a comfortable and professional setting. This is an event that you don’t want to miss. Did you miss it? No problem, you can watch the videos on YouTube: Aditya Mukerjee - You Might Be a Go Contributor and Not Know It [41:17] Amy Chen - Code, Content, & Crafting Your Voice [25:45] Bernd Rucker - Orchestration of Microservices [44:42] Christopher Biscardi - Going GraphQL [39:21] Grant Griffiths - Black Box Monitoring in Go [26:47] Michael Hausenblas - Three Billy GOats Gruff: from VMs to Serverless [43:47] Pawel Slomka - Documenting Go Code with Beautiful Tests [36:24] David Hernandez - Secrets about using Machine Learning and Go [40:33] Sean Kelly - Broadcasting Channels [46:38] Matthew Campbell - Blockchain Apps in Go [42:18] Contributor Workshop [12:48] Carmen Ruiz Vicente - Using Go for Healthcare [37:39] Mahdi Jelodari - GoPro: More Concurrent than Parallel! [43:56] Dmitry Matyukhin - Component & Integration Tests for Micro-services [29:38] Kat Zien - How do you structure your Go apps? [44:42] Grant Griffiths - Building Resilient Data Pipelines in Go [21:43] Eleanor Deal - Go's role in publishing data for National Statistics [33:13] Cassandra Salisbury - Growing a Community of Gophers [27:53] Brian Ketelsen - Athens: The Center of Knowledge [22:55] Alexandre González - From source code to Kubernetes, a CI/CD tale [37:47] Daniela Petruzalek - The Best Feature of Go [34:44] Sean Kelly - Go Test: Under the Hood [48:25] Florin Patan - Production Ready Go Service in 30 Minutes [44:38] Roberto Clapis - Goroutines: The Dark Side of the Runtime [37:42] Marty Schoch - Scorch! a New Index for Bleve [52:11] Jelmer Snoeck - Experimental Refactoring with Go [45:20] Diana Carolina Ortega Munoz - Deep Learning, Ready? Go! [33:19] Andre Carvalho - Understanding Go's Memory Allocator [47:15] Liz Rice - Debuggers From Scratch [37:49] Nathan Davies - Reducing Fragmentation in System Architectures [38:45] Enjoy! ...

September 1, 2018 · Maurits van der Schee

Visual Basic in ASP.Net Core 2.1

I love programming in Visual Basic. It gives me a feeling of nostalgia. It reminds me of my early programming days in which I was programming GW-Basic, QBasic and Turbo Basic. I was still in primary school and for me computers were full of secrets and had unlimited possibilities. The Basic programming language survived the test of time and became Visual Basic. VB.NET is no longer a 1st-class citizen Later Visual Basic was the second language of Microsoft’s .Net platform. Unfortunately (for Basic programmers) that second position (behind C#) seems to have been overtaken by F#. I conclude this because some of the new features of the .Net platform (such as the “VB Razor templates” and “Nullable reference types”) have not been implemented for VB in ASP.Net Core. ...

August 18, 2018 · Maurits van der Schee

Equalizer for PulseAudio in Ubuntu 18.04

Do you like late night programming, while listening to music? Do you have these fancy modern speakers that produce way too much bass? Well I do. I use Ubuntu and “Audacious” (a WinAmp clone) as my music player and it has a very nice graphical equalizer. But whenever I switch to YouTube or a streaming radio station the bass is again way too loud. To have maximum freedom while also keeping my neighbors happy I was in need of a system-wide equalizer. I have found the equalizer module of PulseAudio which does exactly what I want. PulseAudio is the standard sound system for a while in Ubuntu Linux. You can play with the equalizer by issuing the following commands: ...

July 27, 2018 · Maurits van der Schee

The "Boring Software" manifesto

As software developers we are tired of the false claims made by evangelists of the latest and greatest technology. We will no longer confront them with their lack of understanding of computer science fundamentals, nor will we defend our lack of knowledge of their hyped and volatile technologies. The state of industry is forcing us to value: Not only working software, but also well-crafted software, built exclusively with popular and proven tools. Not only responding to change, but also steadily adding value, while reducing the dependencies and complexity. Not only individuals and interactions, but also a community of professionals, that share best practices with verifiable claims. Not only customer collaboration, but also productive partnerships, to reduce the scope of the software we build. That is, in pursuit of “agility and craftsmanship” we have found “boring software” to be indispensable. ...

June 18, 2018 · Maurits van der Schee

Will the GDPR kill Google analytics?

My common sense says that visits to any website should only be recorded by the operator/owner of the website (and for operational purposes only). This may change when agreed otherwise with the visitor (opt-in). My understanding of the “cookie law” is that such opt-in is required and that Google analytics without opt-in has thus already been forbidden (in the Netherlands) several years ago. My reasoning is that A) your site functions fine without Google analytics and B) you are giving (employees of) another company (Google in this case) access to personal information of your visitors. C) it is clear an analytics service costs money to operate and since you are not paying for it, you should question how they make money. I understand that just A and B create a thin line and that you could argue by that logic that the entire spectrum of public cloud services (from renting software to infrastructure) requires opt-in. ...

May 30, 2018 · Maurits van der Schee

PHP-CRUD-API version 2 uses PDO

PHP-CRUD-API is now 4 years old. It is my most successful open source project and it has acquired 1400 Github stars, 150 watchers, 17 contributors and over 500 forks. I have also ported the core of the script into 7 languages and did performance analysis on that. I have answered over 300 github issues and I am very thankful for the people in the community that were helping out with these issues. I also handled over 40 pull requests and 36 where merged. I have learned some lessons about it’s good and bad parts and I’m trying to apply these lessons in a new version. ...

April 12, 2018 · Maurits van der Schee

The "JustForFunc" Go YouTube videos

Francesc Campoy Flores is the VP of Developer Relations at source{d}. He has a passion for developer relations, specifically when it comes to Go and anything that can help developers be more productive and happier (source). Previously, he was a Developer Advocate for the Go team at Google and for Google Cloud Platform. He has been working closely with the Go team at Google since 2012, working to make the language as accessible as possible to everyone. ...

March 9, 2018 · Maurits van der Schee

Intel 110T 82572EI (e1000e) PCI-e

The Dell R730xd is a really awesome machine. It has 2 CPU’s and you can put 24 drives in it. It also sports a high performing H730 (LSI MegaRaid) controller. It is certified for Ubuntu and CentOS, so you have guaranteed smooth sailing when installing Linux… right? Yes, you do! Booting to a black screen But not when you install an Intel 82572EI based HP 110T PCI-e gigabit ethernet card in the machine like I did. In that case newer kernels won’t boot. They will try to load the kernel, but then give a black screen and possibly a blinking cursor, but nothing will happen. This has nothing to do with the R730, but everything with this specific PCI-e card, the power saving features in new kernels and how the (e1000e) kernel driver handles these features. ...

February 27, 2018 · Maurits van der Schee

REST API using Spring Boot and jOOQ

Almost every backend application that is created today has a REST API. And most “serious” applications have a hundred database tables or more. In such case there are two ways to create a consistent REST API: code generation and reflection in runtime. Both methods have upsides and downsides. I have implemented a runtime reflection based REST API before (in PHP) and have now done this again in a Java library. Ambitions are high I have seen many slow and inconsistent REST API’s in my career. That’s why the ambitions of this library are high: ...

February 17, 2018 · Maurits van der Schee

Upgrading Go 1.6 in Ubuntu 16.04

Go is an awesome new language that I love to write code in. I’m working on Ubuntu 16.04 and it comes with Go version 1.6. This works fine, until you need something new, such as the “context” package. In this post I’ll share the commands needed to upgrade your Go version. Installing Go 1.6 in Ubuntu 16.04 To install go 1.6 in Ubuntu 16.04 from the repository run: sudo apt-get install golang golang-golang-x-tools Set your “GOPATH” and “GOROOT” by adjusting your “~/.bashrc” file so that it reads: ...

February 14, 2018 · Maurits van der Schee