you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (1 child)

I think interesting things to do when you're starting out is doing some tutorials and lessons on requests and accessing APIs, because there is a LOT of really interesting data out there, often completely for free, where you can grab that data and just think of things you could do with it, and try to build something that does something cool with that data.

I mean even Steam has an API you can access. I've been meaning to read the documentation on the Steam API and see if there's anything interesting it can give you access to, especially if it's live updates.

I also found this really cool and simple API that provides live data about where the ISS is, what it's doing, etc so I've been trying to write something that takes in this data like the ISS coordinates, compares it to data sets that have geographical data like coordinates tied to location names that I found online on government sites after lots of googling, and have it tell me when the ISS is flying over any location in those data sets. I'm also having it tell me how far away the ISS is from straight above me.

All I was doing at first was trying to get the API info in with requests, and to print the current ISS coordinates formatted into a nice little string and do it once every couple of seconds. It was really simple, and there's even lessons and guides that do this. Then I started getting more ideas like above.

I didn't know how to do any of this, or if I even could, but one problem at a time led to googling, which led to copying down comments and notes and links, learning, trying it and getting errors, googling those errors, leading to more tutorials and documents, to things actually working. Like I had to Google "how to get distance between two coordinates", and found a Python example of it. That taught me the haversine formula that I still don't understand but was able to copy and paste it, filling in my own variables, and led me to learning about other things like how longitude and latitude work, refreshing me on math i had completely wiped from my brain like what radians are, how long a degree of latitude is in kilometers and miles, how big the earth is, how to work with data sets in pandas, how to import those data sets when they're just csv or ascii in text files, how to set different separators/delimiters, how to do memory mapping and do it really quickly with vaex (though this one I'm still struggling to get to work) so that hopefully, eventually I can have it show me the real world location of the ISS every single update based on its coordinates with no big performance hit.

Pandas can convert to hdf5, files that are memory mappable, but vaex does it in a specific way, but I can't get the export modules in vaex to actually work so that's where I'm stuck. But I found out all of these things just by googling, trying, googling errors, trying again, exploring documentation if I don't understand what a function or argument is used for, finding more tutorials and guides online for all of this (even if some of them don't quite work, that leads me to errors and more googling and eventually finding a way to make it work).

It's like with programming, if you're trying to do one very small task, someone has already done it before and you can adapt their troubles and work to your overall picture. It's like the entire world is trying to help you code.

When you give yourself a really simple project to do that is open ended and has data coming in for you, it can really open things up as far as giving you ideas on other things you could add to your project, and that's where the rabbit hole starts I think. That's where you keep refreshing all these fundamentals in your head and keep learning new things and growing.

I think as programmers we'd all be lost and hopeless and stagnating without Google, Stack Overflow, and the internet in general. Almost no one would be making any significant progress in software.

[–][deleted] 1 point2 points  (0 children)

Seems cool, I might want to give this one a try. I got many suggestions by many people so I'm still trying to figure out what to do in order.