While the list of upcoming releases is available on the official RSD website, I thought a quick hack would help me to more efficiently find what I’d like to put on my turntable this year without having to browse each page separately. So if, like me, you want to filter releases (by keyword, type, artist, label, …) and pick and print your selection, go to http://rsd.mdg.io!
It might be due to their availability on Deezer before the full catalogue (hence getting more plays), or because potheads prefer Deezer to Spotify, but I thought it was a fun fact to note. Anyway, enjoy the following performance below, or check the festival album on Deezer!
And, of course, you can listen to them on seevl as well, with top-tracks gathered from iTunes.
I’ve been lucky to participate for the third time in this week-end full of music, tech and energy, and built an obviously not-so-serious hack: seevl hipster.
Do you want to impress your friend who’s into electro-folk, or that other one who only listens to avant-garde metal? Now you can! By logging-in to seevl hipster, you can eventually find obscure artists that match your friend tastes, and show-off on their Facebook wall.
This hack uses the Facebook API to identify your friends’ likes, that are sent to our (so far internal) seevl API, in order to match their top-genres (similarly to what you get when creating a seevl account), then using the API again to suggest musicians, linking to their seevl page for a full listening experience. It’s built using my now-favorite combo: AngularJS + Flask.
It’s summer, time for a short break (well, if you’re a start-up founder, you know there’s no such thing as a real break), so I decided to hack on something different than our upcoming seevl.fm release (sign-up here for the beta!) to change my mind.
The Twilio API is well documented - as well as the Python bindings -, so very easy to implement. For instance, the following lines will create a TwiML to let the user input any one-digit character to play a particular track.
with response.gather(numDigits=1, method="GET", timeout=10, action="/twiml/%s" %(tid)) as gather:
for i in range(1, len(json['tracks'])+1):
gather.say("Press %s to play %s." %(i, json['tracks'][str(i)]['title']))
I got confused by the POST-by-default when accessing a TwiML when passing a phone call: since it queries the existing URL of a TwiML, I’d have expected a GET by default, and a POST only in some cases.
But actually, the painful part happen when accessing the track samples. I first used the iTunes API, before figuring out that Twilio can’t play M4A files. I then switched to the Deezer API - that we’re already using at MDG in variousapps - to get MP3 samples. Everything worked fine until I deployed on AWS, where the script failed as Deezer is not available in the US,where our EC2 box is located. I finally switched to 7Digital and their US store, so the app now works fine – at least I suppose for most artists!
The app landing page is at http://sap.mdg.io, and you can use it at +1 347-329-3425 (unless you call at a time our Twilio credits are down!). If you enjoy using it and have particular needs for your own music discovery app, contact us!
As the first tickets were booked super quickly, I decided to hack a small script to be the first in line when the new batch was out. While others had the same idea, I still want to share my code to showcase the what you can do with the Twilio API in only a few lines of code.
I put the previous script into a crontab running every 2 minutes. It does 2 things:
Check the eventbrite page of the Hackathon and look for the string “not started”. This was the message at that time, but it’s now “sold out”, so can update if you want to run the script yourself for the next batch (if any);
Use Twilio to send a SMS as soon as the page doesn’t contain this string anymore. You could also add a flag to send the SMS only once. Or, like me, your phone will buzz every 2 minutes until you stop the cron.
That said, only a few hours after I put the script online, I received a SMS from Twilio. 2 minutes later, the ticket was in my inbox!
That’s it. 10 lines of Python, an API, and I’m ready to hack. Well, almost. I now need to cover the fees to the Hackathon, and I’m looking for any sponsor that want to help! I don’t know yet what I’m going to build, but I can promise it will be amazing and fun. So if you’re an API-driven and hacker-friendly company, let’s talk!
Wow, it’s been more than a year since I haven’t posted here! In spite of the silence on this blog, lots of things happen – mostly with seevl and MDG with our first client deals. While being busy, I still wrote about tech topics (data, APIs, etc.) on our own seevl’s blog, and answered questions on Quora - a platform that I really enjoy using!
That said, it was time to refresh the blog and my homepage, and I’ve just made the following changes:
This blog is still on WordPress, now using the Responsive theme, making it easier to read it on mobile. You may have seen that we’re also using responsive design for seevl, and there’s much more to come in our upcoming new release -sign-up if you haven’t done it yet!
The new homepage is based on html5up, using a simple python script to translate a JSON file about myself into an appealing HTML5 / CSS3 page, then deploying it on apassant.net. Source is on github if you want to check it, and next steps are to LD-ify the JSON, and add some RDFa markup!
I aim to blog more regularly here, but in the meantime, follow seevl’s blog!