Errol Hassall

View Original

Patting my own back

Work has been very interesting lately, we are writing this project in Elixir and React.js. Elixir has been one of the best discoveries of my life. This being my first toe in the water of functional programming and I must say I don’t know if I can ever go back to the OO world. The simplicity and the so few lines it takes to achieve everything. The lack of variables and bugs that happen as a result have been a godsend. However, this is not why I write this post, I write this to highlight the achievement that I honestly didn’t think I could have done being a fresh grad and all. I successfully hooked up an Elixir api that reads from a CSV file, inputs some of the data into a Postgres db and then takes the rest and stores it in Dgraph the graph database written in Go. Now it’s not fully functional but it is successfully importing the data from a file, to one database and then to a completely different type of database. Furthermore, it successfully links nodes together (although more work has to be done there) and can do it at quite the speed. How did I do it though? Now I can’t show specific code or anything and you may not be very interested in the specifics but put simply it was made possible by two github projects. For the csv files: https://github.com/beatrichartz/csv this was an amazing project that made it so easy to grab the data and chuck it into a nice map, allowing me to do all kinds of crazy things with it.  For the Dgraph integration I used https://github.com/ospaarmann/exdgraph this project was insane! The guys who wrote this put so much time and effort into it, So thank you Ospaarmann and Fulnir. It was crazy when I first found the project, I saw the roadmap and thought that's not many features and its written by two people so it’s probably dead. I come back a day later and there had been 10 new commits! These guys developed so quickly that the documentation would change and you had to take a second look going o shit that feature wasn’t there yesterday. ExDgraph works extremely well, I've had zero issues with it and would highly recommend you use it with Dgraph. The simple fact that I was able to get this running has really given me the confidence with Elixir and my core programming skills. I’ve gone from someone who had never heard of functional programming or Elixir to building in part an api and then hooking it up to two different database types one being a traditional SQL and the other being a graph db, this really blew me away. It has shown me that if you persevere you can and will succeed and you might even find that you surprise yourself, I know I did.