# Good Reads
*Articles worth reading. Videos worth watching.*
## JavaScript
- stackoverflow.com/questions/72491392/when-do-we-need-to-add-file-extension-when-importing-javascript-modules/72491599#72491599
Explains whether and why file extensions are required on import statements in Node+CommonJS, Node+ES6, and React apps created with CRA.
tl;dr — You need to specify file extensions when running an ordinary script (foo.js) using Node outside of the CRA Babel/Webpack pipeline.
## Linux
- blog.nikitas.link/recording-pulse-audio-sound-while-being-able-to-change-the-volume
## MQTT
- youtube.com/playlist?list=PLRkdoPznE1EMXLW6XoYLGd4uUaB6wB0wd "MQTT Essentials" by HiveMQ
## Python
- pythonspeed.com/articles/alpine-docker-python/
- textualize.io/blog/why-i-founded-textualize/
## Web APIs (REST, GraphQL, etc)
- bessey.dev/blog/2024/05/24/why-im-over-graphql/ ([Hacker News Thread](https://news.ycombinator.com/item?id=40521518))
- htmx.org/essays/how-did-rest-come-to-mean-the-opposite-of-rest/
- htmx.org/essays/spa-alternative/
- intercoolerjs.org/2016/05/08/hatoeas-is-for-humans.html
- techblog.commercetools.com/graphql-and-rest-level-3-hateoas-70904ff1f9cf
- sophiabits.com/blog/why-you-shouldnt-namespace-graphql-mutations
## Web Dev
- ably.com/topic/firebase-vs-websocket
Talks about the pros and cons of Websockets and Firebase, and compares them as transports for real-time communication — while also mentioning that Firebase uses Websockets under the hood.