The last few days were pretty good. I built a bot for tracking amazon sellers which came up in a discussion with a former colleague. Also I finally built a tool for easier watching of streams.
The background is that streaming sites like justin.tv or twitch heat up my laptop a lot. It’s noisy, takes up CPU and RAM – so not really great. Thankfully, there’s the livestreamer module and software which allows you to stream streams for these sites to VLC. Less lag, less CPU and RAM usage. Perfect.
I got a bit annoyed that I had to go to, e.g. justin.tv and look for a stream and copy its URL into the terminal to start livestreamer. Therefore, I decided to program a small piece of software for that.
It’s super simple. It consists of the back end which requests the stream information via the justin.tv API which is then filtered and outputted by bottle. The rest is written in HTML and JS. It basically just displays all streams, and allows for favorites.
When I press a watch button the program starts livestreamer and therefore VLC. Simple and it works.
I really have to thank bootstrap for existing. Without I wouldn’t even bother programming something like this. But it’s pretty great and takes away a lot of pain I had a few years ago. It even handles image resizing for responsive designs.
The more I work with front end stuff the more I tend to write JS instead of handling output on the server. Thanks to jquery & co it’s so easy to handle ajax and DOM manipulation. And disconnecting the output and the server is the right way to do it, imho.
My servers mainly just act as REST APIs. The rest is handled by JS. The problem is of course if you don’t have JS active or available. The advantage here is that none of my software is popular or used by many people who have problems with JS.
And it’s pretty great. You can push the data into JS and do whatever you want with it – in your browser. Render it, filter it, mark it, whatever. I think it’s freeing. You no longer have to write functions on your server for every small thing. Instead you can take your favorite JS library and quickly implement the features there. I think it feels more robust.
I think my love for the client – server model came from using Linux for a while. There’s tons of software which offers a core and different UI. From command line, ncurses, wxwidget, GTK, …, to web interfaces. I thought that this was ingenious. Provide the functionality but let the user decide how to use it.
But, like I said, I’m far from an expert on the topic. Front end development isn’t exactly my thing. I enjoy the JS part to some degree but CSS styling and fixing the details aren’t for me. It has to be good enough. For me that means, it should run in FF and Chrome. If it does, I’m happy.