Interview - Arafat Khan
By Satish Manohar Talim on Dec 20, 2018 ( ~ 5 mins read )
Arafat Khan is a software developer fascinated by the mysteries of programming and logic.
He loves experimenting and playing code and is particularly interested in Algorithms, Distributed Systems, and Machine Learning. He is the lead developer of Tensorflow Ruby and Dataviz for Golang.
He is going to speak about glot (plotting library for Golang built on top of
gnuplot) and DataViz (Build and Visualize data structures) libraries.
When he isn’t coding in front of his laptop he is hiking, kayaking, skating and doing all things outdoors.
Me » Welcome, Arafat and thanks for taking out time to share your thoughts. For the benefit of the readers of this blog could you please introduce yourself and tell us what you do for a living?
Arafat » Hi, I am Arafat, an Undergraduate student at IIT Kharagpur. As for my work life,
I am a programmer. I really love making cool things and sharing them.
I often see programming as a tool that helps me make things that scale well and influence a lot of people. One of my goals in life is to build really large scale software.
These days, I am working on some distributed systems problems and hopefully, something nice will come from it.
I also love open source and have been actively contributing to many open source projects as much as possible.
I have a few open source projects of my own that got really popular and they helped me in meeting so many interesting people from different parts of the world and get to work with them. Even my talk is about “Dataviz and Glot”, the open source Golang project that I had developed.
Open source software and tech, in general, is something that I see as an equalizer in this world. You don’t need to have a lot of experience or a college degree to contribute to open source. Anybody with a pc+internet can take a jab at it and make changes to any open source project. At the end of the day “Quality code” speaks for itself and can help you get past the barriers of geography and formal education.
Me » It’s so great to know that open source excites you so much. I am glad to know that your projects have been an interesting demonstration of Golang. Do you have any advice for a student or beginners getting into open source?
Arafat » There are plenty of open source projects that are old and from years they are working on themselves to become more and more beginner friendly. In students, the biggest problem it the belief that it is tough, scary and intimidating. I think it takes a leap of faith to try out small open source projects and then over time you can gain the confidence to contribute to big projects.
My idea with open source is to have a very optimistic belief and learn things incrementally, You can search for a project which uses the technology that you know.
Search on GitHub, web, anywhere. There are plenty of projects that you can pick and contribute to. Find something really small that you can contribute to and then work on them. The key is to be open to new ideas and not be afraid of asking for help.
Me » That’s really nice Arafat. I am glad to see the recent rise in Open source culture in India and hopefully, if this trend goes on then we all would learn a lot from this. Can you tell us a bit about your projects in Golang?
Arafat » Yes, of course. So my talk involves two of the Golang projects that I made, the first one is Glot which is a plotting library for Golang built on top of
glot currently supports styles like lines, points, bars, steps, histogram, circle, and many others. I am continuously making efforts to add more features.
And the second one is Dataviz which helps to build and visualize data structures in Golang. This library helps user to play around with standard data structures while also giving them the tools to build their own data structures and visualization options.
Both of these were trending on Github when they came out and while they are relatively small projects I find them to be interesting and so I would like to share them with people and give a real world example.
Me » That’s cool Arafat, your projects are interesting. So when did you start working on Go and why?
Arafat » I really like to take interesting courses online and one of them is Distributed Systems in Golang offered by MIT that along with a few posts on Reddit, and William Kennedy’s talk on Channel are a few things that I really liked about Golang and how I got started.
Honestly, it’s been really fun in trying to understand distributed systems and see the true features of Golang in action. In particular I really like Concurrency, where Go’s approach is unfamiliar and it’s tempting to dive straight in to using Go routines and channels. Making full use of those features is a lot of fun.
Me » How excited are you about GopherConIndia?
Arafat » Very much, I am so glad India has it’s very own Gophercon with so many interesting talks. I am really looking forward to it.
Me » Do you have any other suggestions for our readers?
Arafat » Just keep at it and keep exploring. And don’t be afraid to ask questions. The Go community is very friendly and vibrant.