This time we're going to look at sending an email using the MailGun API.
With this in mind, we're going to write a very simple "send-only" MailGun client.
Remember that we're attempting to do as much as we can with just the standard library - this is why we're not importing an existing MailGun client for Go. In our client directory create a main.go file and start setting up our package.
This setup allows us to use the package in multiple projects with different MailGun accounts, we can just pass it around as needed.
I made a brief allusion to the envy package in my Slackbot post it is a very small module which simply gets an environment variable or returns an error.
You could also move the API URL up out of the code into an ENV variable or a const as well if you want.
I figured it would be fun to try deconstruct a random online website and see if I could come up with a programmatic way to abstract the HTML data in a way that could be perceived as useful.
After getting the basic functionality setup and working it was at this point I decided to try experiment with multiple product seed pages.
I had some fun trying to reverse engineer the websites HTML structure and figure out how they were displaying product pages and how to go about abstracting the right product hrefs to crawl and the correct data to be able to obtain and write to a DB.
I was amazed with how easy it was to get up and running with the Colly library - I definitely suggest testing it out but be careful with what data you decide to scrape/store and that you investigate your targets robots.txt file to ensure you have permission to hit their website.
Introducing Multiplayer: code with friends in the same editor, execute programs in the same interpreter, interact with the same terminal, chat in the IDE, edit files and share the same system resources, and ship applications from the same interface!
As part of our interview process at Repl.it (work with us) we have a phone screen where we hop on a Multiplayer session with a candidate and work on some coding problems together.
The fact that it's shared repl allows the interviewer to write test cases for the candidate's program to verify its validity.
We spent a lot of time trying to make the underlying system resources work in multiplayer mode because we think this feature, in the future, might transcend our websites and work with other IDEs and on different platforms.
The latest version of the machine learning software, dubbed AlphaZero, can now also beat the world’s best at chess and shogi – a Japanese game that is similar to chess but played on a bigger board with more pieces.
AlphaGo made headlines in 2016 when it beat the world’s best players at a game long thought too hard for computers to crack.
Then came AlphaGo Zero, which not only out-played AlphaGo but taught itself to do so without ever having seen a human play the game.
Chess- and shogi-playing software are typically given the rules of the game and use a brute-force search to find the best possible next move.
In addition to beating AlphaGo Zero at Go, it can also best leading chess and shogi software that already outperform humans.