I’ve spent a good amount of time making custom edits to ghost which is a fantastic blogging platform, but also a great stepping stone for web development. While the main visuals of The Unknown Artist Hour were put together by a collaborator and I, the structure isn’t too far off the default layout that comes with ghost. It just looks good.
I have used another theme or two while I figured out the best performing and attractive templates, but in the end the original theme only needed a good kick in the pants by a web developer (which was oddly enough just me) to get it running with ajax and steamrolling through pages. Since then I’ve integrated it with the radio station hog-tying some back-end and front-end resources together. However it is the back-end that’s really powerful and that’s where I’ve really been delving into. It was only a little while ago I figured out how to take over the templating engine and since then I was left to my own devices to make something great. Namely to improve the integration between the station and the website.
And that’s how I’ve arrived at artist pages, created right out of the same data used to make requests it was 100% compatible with the templating engine. A dream come true for me because hardly have I ever found a solution to a problem that was meant for the platform I was using. *However* its also nice for the future because the url can hand off the data that was used like a regular api, which is not like the original server behavior at all and is a cheeky addition to my toolkit for the future.
Everything is possible with a good cup of Joe.
Important is timing…in yoda speak…is something I’ve been slowly realizing. It’s not all about scheduling and getting priorities in order, sometimes its simply not screwing up at exactly the wrong moment. There are gaps in everyone’s schedule where priorities start to shift to a new task and focus is lost on x project and moved to y project. I’m definitely not an exception.
In this instance I’m talking about how I deal with the station’s automation. Recently I’ve spent some hefty amounts of time debugging sound issues. Of course while I’m not expecting them all to simultaneously disappear it seems very much like an indefinite process of tripping over one problem, only to discover another. Example Numero Uno: The mixing device I was using previously was generating a significant amount of white noise, and while otherwise functioning properly it made recording voice and instrumentals hell. You may catch some of the oddities if you catch my voice in the stream and hear the weird squeakiness (my best attempt at removing the white noise). Soon after ripping through all possible settings on the mixer it soon became clear that it was the USB device responsible for all the buzz and hiss. The mixer itself was fine, power wasn’t causing a ground loop problem, but connecting it to a computer the way it was intended and designed for was the actual failing point. *Fairly frustrating to say the least* Now after actively avoiding usb based devices I found a replacement, with its own problematic behavior. This brings us to example Numero Dos: My new mixer being significantly more advanced than the previous mixer, does all the audio processing, after which the digital stream is sent back. This bypasses windows audio processing entirely, which occasionally, but not always seems to hang all the audio processors temporarily as it sets itself aside. My software automating the stream does not play nice when its audio device suddenly resets, a problem I’ve been aware of way before I had even purchased the new replacement, but of course I hadn’t really considered that a new device could trigger the problem so consistently. The real issue of course is that automating the station means I’m away. A failure like this means a terrible experience for anyone who would like to listen in, only to find an empty stream.
So right now I’ve now switched my priority of updating and improving the website to keeping watch over the stream. Which is now a juggling act of it’s own with college classes in the way. All of this has of course taught me the importance of timing, like don’t update your equipment in the middle of the week and expect everything to go perfectly. *If the stream is dead, please fire an email at me to let me know!*
I’ve learned several new things this week. One: I have the capacity to come up with awesome ideas and their instant solutions in code Two: I exaggerate a lot. Now I’ve had humbling moments before, but there’s a particular point where a developer faces his code and goes…that was stupid.
Specifically I was show-casing my station to one of my uncles, granted he is older. I know he hasn’t programmed in a variety of languages. However, it doesn’t take much to recognize a problem, specially when it spits into your face. This happened on the newer part of the website I’ve been diligently working on Make A Request and it killed my momentum in a split second. In that moment my show-case became two programmers trying to figure out went wrong. He started counting off what I should do to debug it and I of course was rebounding all of his suggestions: no it’s not this…I can see the code it is fine (but of course it wasn’t) it’s executing and following the flow I’m expecting…
At this point I’m tearing my code apart, in a panic, re-writing every line, checking all the if statements, checking the database. Then the real problem becomes very clear. I had made a literal fool out of myself, nothing was wrong with the code, I had earlier made a massive change to the website, and it wasn’t reflected in the piece of code I was using. I had never gone back to update it, I grabbed the old copy of the code changed one line then all the stress was gone.