Golang might be unfamiliar to you if you’re not a techie. Also known as the Go programming language, it’s an open source system programming language built by Google. It’s one of the newer languages but also one that’s growing rapidly. So what’s PickMe doing here? (Yes it is the same PickMe that you use for grabbing Tuk Tuks) If you didn’t know PickMe is built using this particular language.
The Golang meetup hosted by PickMe happened at Casa Colombo last week and it was a proper geeky meetup for the Gophers around the town. So what does one talk about at a Golang Meetup? Let’s take a look.
Creating Websites using GoLang
The meetup kicked off with a session by Anupa Perera who represented the Colombo Gophers Meetup group. His focus was about building websites, services and web apps using Golang. He opened with a quick introduction and then progressed towards the web frameworks and packages that can be used in your projects.
“Why is Golang this fast? It is one big executable file. Basically this is a binary language, unlike the interpreted languages like C.” He introduced the audience to the popular Go framework; Martini. He didn’t stop there he spoke about its evolution too. “Martini was very heavy that the servers started crashing because they introduced the HTML rendering to the framework itself.”
What’s the solution? Here comes Negroni; an idiomatic approach to web middleware in Go. A simpler framework built with considering the lessons learned from the Martini. The secret behind it being lightweight is that it is broken down into different packages. Anupa then spoke about two of the packages Render and Fresh. Render is used for HTML and presentation processing while Fresh is a DevOps package for automation on compiling. Since every change you do to a system coded on Golang needs to be compiled.
Go at PickMe
Next up was Harindu Perera, a developer from PickMe. His was an extremely short session where he spoke about how they use Go at PickMe. First he revealed the reasons for them choosing Go. The obvious reason; Go performs better when it comes to real-time data. The extensive and stable standard library and the support for concurrent programming which comes in handy.
He next moved on to talk about what they are currently developing and enhancing in PickMe. Harindu also shared the technologies that are used by PickMe, which included MySQL as their database, Redis to synchronize, Postgre for pathfinding and MQTT for sending the push notifications.
The Mini Hackathon
This was the most interesting segment. A hackathon at a meetup, not a common thing you see at these type of events. The meetup was happening at the ZAZA bar of Casa Colombo. So if you happen to have been there, you know how dark inside it is. Optimal coding conditions.
The participants were instructed to form teams of three and work on one of the 5 tasks that were given. These tasks included building working pieces of code for either a routing app, an app that analyzes population, a warehouse, a proxy or a hotspot finder. They were advised just to focus on the quality and functionality of the code, not the UI due to the time limitations. 7 teams competed against each other and after an hour and a half of coding, they presented and pitched their products.
Well, it was a mix of both finished and incomplete work but what’s nice here is that they were encouraged to play around with Golang. As one team shared their experience on the meetup, they stated that it became a motivation and opportunity for them to learn a new programming language.
Three teams were presented gifts for producing the best solutions but guess what nobody went home sad; in fact all the participants were given a special promo code by PickMe which allowed them to get a 100% free ride to their homes on a PickMe Tuk.