For those you that don't know, our high school is involved with the FIRST National Robotics Competition. The competition was very professional-looking. Most of the robots were supported by large sponsors, and were built in the most professional manner. Some of the robots looked as if they were never touched by a student's hand. Still, our robot ended up being pretty sweet, but it didn't exactly do what we wanted it to do. Despite a few minor complications, we were able to play some great defense. Other than that, though, we were kind of bad. We were unable to score effectively. What I Learned: The simple machine wins. The machine with the most simple design was in 1st place. Who would've thunk it?
Late in 2016, I began development on a lightweight, isomorphic WebSocket library for Node.js called ws-wrapper . Today, this library is stable and has been successfully used in many production apps. Why? What about socket.io ? In my opinion, socket.io and its dependencies are way too heavy . Now that the year is 2018, this couldn't be more true. Modern browsers have native WebSocket support meaning that all of the transports built into the socket.io project are just dead weight. On the other hand, ws-wrapper and its dependencies weigh about 3 KB when minified and gzipped. Similarly, ws-wrapper consists of about 500 lines of code; whereas, socket.io consists of thousands of lines of code. As Dijkstra once famously said: "Simplicity is prerequisite for reliability." ws-wrapper also provides a few more features out of the box. The API exposes a two-way, Promise-based request/response interface. That is, clients can request dat...
Comments