If your CGO development toolchain depends on external dependencies such as system libraries, or you want to develop on an older version of go while having a different version on your host, you can use a docker container and mount the source from your host machine and build the project inside the container. This can enable us to have a consistent development environment across various developers and their host systems without having to modify system libraries.
Last weekend I attended a hackathon after a long time. HackInOut, which is India’s biggest community hackathon, was happening very close to where I live. I went with my office colleagues Vivek and Karan and we had discussed a lot of ideas before reaching the venue, but we were not sure what we will finally end up building. After discussing our ideas with Siddharth Shetty, an iSpirit fellow and one of the mentors at the hackathon, we finally decided to build PaisaVasool.
I have recently stopped using facebook, but I really miss the convenience of the birthday notifications. I tried to find the .ics which you could export from facebook events page to your calendar program but it was nowhere to be found and I thought I would have to script scraping it myself. A quick search on github later, I found that someone had already beat me to it. You can find the repository on github and follow the documentation, but I have documented the steps I followed below:
Sometimes old projects and libraries require certain specific system library versions that are hard to reproduce, or cumbersome to replicate on our development environment. Docker can be used to simplify the build process of these projects and it is often a lot faster than starting a VM in your machine and using that to build these projects. I recently found out about such a project at my workplace. This was a C++ binary that was statically compiled, so there was no issue with distribution but the build process had become very complex over time.
Three months of self inflicted digital pain and how it changed my habits Last December, I decided to start an experiment and adopt a new launcher called Siempo apart from the OnePlus and Nova launcher that I’m used to since I started using Android. After three months, even though I have stopped using it, I have observed some changes and would like to share it with my readers who are also interested in digital well being.
Highlights I wanted to finish the underlying infrastructural things so that I can start to focus on the higher level features. Features Implemented User Profiles Added support for user profiles this week. Now, I can extend the user authentication table with profile data. Since, I want to store minimal data about the users on my server, I have used gravatar to load the profile photo and as of now no other information other than email is stored.
What am I building, in a sentence? 🔗upi.link: A programmable shortlink generator based on UPI (universal bank2bank payments service in 🇮🇳) sharable via social media & chat. What did I complete till now? Highlights Deployed at upi.link I used AWS Free tier to deploy this website to reduce cost for hosting this. It uses AWS Lambda Functions to generate shortlinks which are stored inside Redis with a TTL of 3 Days.
I recently got a chance to talk about upi.linkduring Techlash at Barcamp Bangalore. I got to tell people about having started this small project. Here is the link to my presentation: Presentation A small summary of upi.link Introducing [upi.link](https://upi.link), which is is a Payment Service Provider (PSP) neutral UPI Request Link generator built upon the UPI Deeplinking Spec, enabling SMEs and individual users to collect payments directly by sharing links on chat apps or embedding on their own websites, without having to rely on building their own mobile apps and calling intents, making manual UPI requests on PSP apps, tying up with service aggregators that charge fees, or even purchasing licenses to APIs when they are just getting started.
Go recently introduced a heavily requested feature that allows programmers to set socket options before accepting and creating connections. You can find a mention of this in Go 1.11 Release Notes. Although, not many have written on this and implementing this is a bit confusing due to a change in the way one has to implement this. So I decided to share this with others who might be interested in using this feature.
Suppose you are in a situation where you want to watch a movie on your TV or monitor but don’t want to use speakers. Maybe you are looking to listen to an audio book stored on your laptop but don’t want to transfer it to your phone. Or you just want to buy an audio jack splitter. Look no further, PulseAudio to the rescue. PulseAudio provides streaming via SimpleProtocol on TCP via a simple command.