Two years ago I started learning the Go Programming language. I’m not a professional dev and so couldn’t devote as much time to it as I would have liked, but I did continue to learn and got better at it. One of the issues I outlined in the post linked above from 2 years ago as I was beginning, was that I didn’t find a Go web framework I liked, but https://gobuffalo.
The Bibliothèque nationale de France (BnF) has opened APIs for a number of services, including their Gallica digital library, which contains 4.3 millions of documents: digitized books, maps, photos, musical scores, etc. from the collections of the BnF and partner libraries. I thought it’d be a nice little project to do a small set of client functions for those APIs: I’d practice Go, and familiarize myself with the APIs. So I started doing that.
Following an experiment with the Google Cloud Speech API, and another with the Azure Vision API, I continue my experiments in Machine Learning for archival materials with Machine Box. I read Machine Box founder’s Mat Ryer’s post about How (he) built an image proxy server to anonymise images in twenty minutes and based my expriment on his. He uses an image, detects a face in it, removes it and passes the modified image on.
Following an experiment with the Google Cloud Speech API, where I tried to extract information from sound files - transcripts of speech, keywords, etc. - I thought I’d try another Machine Learning API, with the same overarching goal but a different project. The overarching goal is still to use the Machine Learning APIs provided by such internet giants as Google or Microsoft and try to somewhat automate the treatment of archival and library material.
This past year, we’ve heard a lot about the progress of Machine Learning algorithms and that got me thinking. Libraries and archives have a lot of sound files around, which can’t be easily used: for the most part, if you want to know what’s in them you either have to listen to them, or hope that an archivist did and provided the necessary metadata, which is quite time consuming, and there’s a lot of backlog around…
This is a short post to document how I deployed my Hugo static website to Google Firebase hosting. I do not cover Hugo itself: see their Quickstart guide. You need to install Node.js first, as it is required by the Firebase CLI, which is then installed from the terminal using: npm install -g firebase-tools You can now connect your local machine to your Firebase account: firebase login will open a browser window and ask you, using your Google credentials, to authorize Firebase.
TL;DR: It’s a great language, a good choice to learn programming in general; there’s great documentation available, and it’s detailed. But in part because the Go community doesn’t view frameworks favorably, it can be hard to move from grasping the details to working on a fully fledged project. I’m not a programmer, i.e. I have not had any kind of formal training in Computer Science; nor do I work as a developer.