DEV Community

Discussion on: Get daily earthquake data from the USGS using Go

Collapse
 
rodiongork profile image
Rodion Gorkovenko

Hi Christopher! Thanks for sharing this - though honestly it is more interesting for me due to data source of seismic events - and because I'm learning Go. Honestly I feel Go (or any compiled language) is a bit overkill for such a task. Especially usage of Json-to-Go looks horrible :)

I'll try this in PHP or Python a bit later, probably - though I suspect if you are scientist you probably tried Python for similar things already :)

Collapse
 
cskonopka profile image
Christopher Konopka

Howdy Rodion! Thanks for the response friend! :) 

I’ve tried in several languages and my preferred language is Go these days. I thought since there are not a lot of creative Go examples, it would be fun to add a few to the world. This post is part of a larger project I’m working on using the magnitude data to construct audio wavetables. There will be a second part to the series where I generate a Csound score and apply the magnitudes to the oscillators as wavetables. Currently, it sounds a little harsh, so I wanted to sweeten it up a little before I posted it. 

May be overkill, but I love Go and when I add concurrency it will make for a cool software instrument. By trade I’m a computer music researcher so I’m always looking for a unique edge to generate instruments, new HCI experiences and audio automation systems. 

Collapse
 
rodiongork profile image
Rodion Gorkovenko

Hi Christopher! Thanks for such detailed response :)

I too feel positive about Go - mainly due to its brief syntax and rich concurrency features. Can't remember other language which has messages "out of the box" besides Erlang, but it is too ancient.

Your example is quite valuable to me to learn :) so I took such a challenge - to rewrite it in scripting language as a demo of how we do this without explicit structs - and then retry doing the same in Go.

The first part is ready. Now I'll go googling for Go way to achieve similar :)

using the magnitude data to construct audio wavetables

Yep, I understand. For scientific reasons Python still may be better as it has tons of useful math/analytical libraries ready. But with Go you of course will have several times better performance (perhaps, 20 times if we mean general python interpreter)... So there are good reasons for Go of course, especially if the bulk of data is huge :)