Question for the coders among us

Skip to the bottom

  • @scottlake Mar 2022

    I don’t code much. Languages I have learned over the years: Apple Basic, Turbo Pascal, Fortran 77, HP Basic, Matlab, VBA.

    I’m an engineer looking for a change in jobs. Presently the lead test engineer for the F-15 Next Generation Ejection Seat. Sounds exciting but it’s 99.9% document editing and 1% testing.

    I see lots of engineering jobs where I live where one of the roles is to write Python scripts for automation of test equipment functions.

    I want to teach myself Python with a project and goal.

    My goal: make a new Jukebox for FAWM.

    I think one of the reasons many FAWMers don’t get many listens or comments is down to a lack of a streaming jukebox that can handle all of the different types of hosts of music, or lyrics only posts that have always gotten chump change.

    Question is this: does Python allow use of API libraries that might include file players or reading aloud of text? I learned how to use APIs when I learned VBA about 15 years ago.

    Question: is it insane to think that I could do this in a year while learning a new language?

    Question: is there anyone else that would like to collab on this goal?

  • @scottlake Mar 2022

    *0.1%

  • @sherrylynnlee Mar 2022

    I don't know the specific APIs off the top of my head but python is a pretty mature programming language and I'm sure there are modules to facilitate this. The main issue you might have is accessing the APIs for the hosting platforms. Some platforms may not have an open API, so integration might not be trivial in those cases.

  • @tcelliott  Mar 2022

    @bunnyhero had that jukebox for a long while. I think you can find his FB account through the links on FAWM (or following links from those links, I forget.) That might be one possible resource.

    Obviously, I'm hoping that a jukebox will be part of the massive FAWM rewrite, but I'm not sure that matters much in your attempt to get something both sooner and to learn the language.

  • @scottlake Mar 2022

    @tcelliott I appreciated @bunnyhero and his jukebox that worked for a time. I gave up FB cold turkey in 2020 due to it’s being an engine for discontent and discord and disinformation from all angles. I’m probably thinking too large for a learning project but without a big goal often I don’t attempt the smaller goals; kind of like writing 14 songs in a month requires the first song and then the second, big journey requires a first step and all of that true philosophy.

  • @siebass  Mar 2022

    If you already know other languages, python is not a huge lift. It is fairly simple and effective at getting things done. I don't think it would be too heavy of a lift to learn and work on for a year as a goal (for example, start with getting FAWM hosting, then soundcloud, then others), assuming that all the output stubs are there that you would need in the website code itself. Probably a convo with @burrsettles. I bet you could do it.

  • @berty38  Mar 2022

    If you want to make the jukebox something that runs in a browser, Python might not be the best way to go. Probably javascript? Python web apps would require you to run something off a server (e.g., using Django) or run a local server (e.g., SimpleHTTPServer), whereas a javascript app could run directly in the client's browser. Though if you're imagining a Python program to run locally that would pull audio from the various APIs, then it would work fine. But then it'd be a pain to broadly share with the community.

  • @majormajormajormajor  Mar 2022

    Sounds like a cool project though well out of my league. As for JS top to bottom? Could be done with Node and Mongo or something... despite the love I have for it, I still feel like JS is not a great choice for any serious application. I can see making it entirely client side, and depending on what the various APIs offer you could likely cobble something pretty cool together, but if you expect it'll grow and feature requests come rolling in, you're gonna need a backend and scaling it will be a problem IME. It's been ages since I built a full stack project in JS so who knows

    As for python, recompiling drove me nuts working on a Django webapp, but it came to me broken and it may well have been the architecture that caused it to be so fussy

  • @johnstaples  Mar 2022

    @scottlake, as @berty38 said, if you want this to be web-based (and why wouldn't you?) then Python may not be best. You'd need something like Pygame library and that likely won't be available in a shared hosting environment (assuming you are not going to want to invest in a server at this point).

    Or, if your primary goal is to learn Python as a career move then setting up a server locally and spending the year creating your jukebox/mp3 player as well as several other apps for a variety of experience seems like a great way to proceed.

    Personally, if I wanted a FAWM jukebox I'd set up a basic Wordpress site and buy a pre-built mp3 player with playlist built in and mod that to suit my needs/wishes. But now you're talking PHP and I dunno if that language fits your career plans.

    As an aside, very interesting coding experience you have! I created my first commercial code using BASICA for the original IBM-PC! It was a horrible experience as I think we had only 65k to work in and had to stuff multiple lines of code on every available code line!

    I then "graduated" to Visual Basic where I created an advanced stand-alone product for calculating path outage for point-to-point microwave radios. This was an amazing experience as I had to integrate gigabytes of USGS terrain mapping data for use in locating obstructions along a radio path. This single product paid the bills for several years!

    I loved Turbo Pascal back in the day! What a great product from Borland.

    Fast-forward to the mid-90s when I switched to programming websites using HTML, CSS, classic ASP, Access databases and Javascript. Although ASP is outdated now that was a powerful web platform. I created many online eCommerce stores long before today's modern systems took over.

    I finally switched to PHP when I moved over to Wordpress development. PHP is very powerful and there are so many in the community who give away great code that you can learn from and build upon.

    Ahhh, programming memories!

  • @scottlake Mar 2022

    @johnstaples my coding experience ebbs and flows as needs present themselves. Learned apple FP basic basics because my dad was a school teacher and he could bring the one Apple II computer home over Christmas and summer breaks. Turbo Pascal is what I learned for top down programming in HS. Then I spent many years as an intern and test engineer where Rocky Mountain Basic helped me do my job as an automotive engineer. After about 5 years out of college I decided to go back for my masters and Purdue engineering school was deep into Matlab. Finally got a great 2 week course in VBA at General Motors. Haven’t done anything website specific.

  • @tseaver  Mar 2022

    @scottlake as a long-time Python developer (25 years now), I'd say you can definitely do what you want in Python. If you want the player to run *in the browser* (i.e., with no intermediate server), you have more barriers to jump.

    If just capturing links to songs (along with host server type) is enough, with the player rendered using a JSON-over-HTTP query: dead easy.

  • @scottlake Mar 2022

    @tseaver I like to hear dead easy. Maybe I will do this just as an app and if it works offer it out there for others to tweak for their own purposes. I know I did a lot more listening and commenting when there was a better way to just stream along

Leave a Message. Log in to FAWM or sign up first...