Static photo album creator

I’ve published a utility for creating a static photo album (no server-side stuff, just HTML + photos) given a folder of photos: https://github.com/fadend/go-photos.

I was inspired to do this because in looking for costs to cut, I decided to stop paying for Photobucket. Whatever you used to find under https://s114.photobucket.com/user/dfaden (broken link), you can now find here: https://revfad.com/photos/photobucket/.

Just a week or two ago, I grimaced when talking about using Go, but I actually quite enjoyed working with it this time. I realize that this code is far from being as elegant or true to Go best practices as it probably should be. (I’d love to hear your suggestions on how to improve it.) That I enjoyed it even while struggling a bit makes me look forward to diving in further. (I did use Go at Google but with wide enough gaps between usage that I had to relearn it a bit each time.)

One reason I thought of Go for this is that I remembered its standard library having pretty good support for image processing. However, at least from what I can tell, that doesn’t extend to resizing or extracting EXIF info. But that led me to try using some external libraries, and I was really impressed with how smooth that is.

One big TODO if I go further with this would be to refactor/add some unit tests. My bad. However, I think Python (or C++) may be easier for some of the next image/photo-related projects I have in mind.

Edit: Also let me add a pointer to my brother Jeremy’s code for an album server here: https://github.com/jbfaden/albumServer


Comments

2 responses to “Static photo album creator”

  1. Jeremy Faden Avatar
    Jeremy Faden

    I’d be interested to see what this code looks like. I’ve been playing with my “AlbumServer”, the Java web application that I used before Google Photos was a thing.

    1. Thanks, Jeremy! Added a link to your server code above. You can see the full Go code for my thing here: https://github.com/fadend/go-photos/blob/main/album_main.go (at least until I get around to refactoring).

Leave a Reply

Your email address will not be published. Required fields are marked *