# 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.