Here’s the second I’ve been learning of five Primus songs in my list to do by the end of August – Jerry was a Racecar Driver! One of Primus’ more popular songs. A nice and easy exercise in volume swells, and a crazy solo that jumps in and out of scale like it doesn’t care, in order to work with a crazy bassline.
I’ve always been a big fan of Larry Lalonde’s playing style and how it so cleverly accompanies Les Claypool’s challenging and unique basslines in most of Primus’ songs. I recently decided to learn to play five Primus songs in order to develop a greater appreciation for this style. The first of these is John the Fisherman. Not a difficult song, really, and fun to play. A great one to get started with!
This is also the first video with my beautiful new Ibanez RG-3120 guitar!
Earlier at the start of this month, I began the second Programming Languages course (Part B), offered by Prof. Dan Grossman of the University of Washington. I had done the first course a few months ago and found it very beneficial when it came to my understanding of some functional programming concepts and idioms, the notion of elegance in programming and good programming practices in general. It also really helped me formalise much of what I had come across in relation to Functional Programming, and approach the adoption of this style of programming more systematically in my own day-to-day programming projects. After nearly two months of having done that very interesting and challenging course, and having felt that a good bit of it had sunk in I decided to take on this second one.
The goals of this course were three-fold:
- To allow one to apply some of what was taught in the first course in the context of Standard ML (SML) to a new programming language, namely Racket.
- To introduce features of Dynamically Typed programming languages through Racket, and compare these in contrast with those of Statically Typed programming languages, such as SML.
- To understand the inner workings of a language interpreter by implementing one for a very simple hypothetical programming language in Racket.
I won’t be going into much details about the learnings of this course yet. I plan to do so in a couple of months when I’ll be done with the third and final course in this module and I will have had the chance to re-visit the contents of the first two courses to gain a better overall perspective.
In the meantime, here’s the certificate I was awarded for completing it.
I wasn’t so taken by this song when I first heard it, but I revisited it while warming myself up for the release of Tool’s Fear Innoculum last year, and somehow got really hooked onto it, so much that I ended up learning how to play it. This is the first video I’m posting with my new PRS SE Mark Holcomb Signature Edition electric guitar! I play it in the guitar’s standard tuning – Drop C.
Having been curious about Functional Programming for a while now, and tried incorporating features of the paradigm into my own work with Python, I decided to give the first (Part A) of the three-part Programming Languages course module on Coursera. The module is meant to systematically introduce one to various theoretical concepts of programming languages, while having a special focus on Functional Programming. This first course (Part A), which I recently completed with a score of 98%, illustrated said concepts with the help of Standard ML – a Functional-style language.
It was excellently designed course, and also quite challenging. Apart from spending time on introducing the very basics of SML early on, it covered some very interesting concepts such as Pattern Matching, Function Closures, Partials, Currying and Mutual Recurstion. The programming assignments really made sure you understood what was covered in the course material, and the course-handouts were thorough and clear. There was also a strong focus on the matter of programming style, with the instructor commenting on what he considered good/poor programming style while covering the various concepts. We were marked on the style of our submissions too.
It’s just been confirmed that four of us from Moodagent – Reinier de Valk, Pierre Lafitte, Tomas Gajarsky and I, will be attending ISMIR 2019 in Delft (The Netherlands). This year, two of my colleagues from Moodagent will be presenting their work at ISMIR:
- Reinier will be presenting his paper, titled “JosquIntab: A Dataset for Content-based Computational Analysis of Music in Lute Tablature” in the main conference.
- Tomas will be presenting his paper, titled “Reinforcement Learning Recommender System for Modelling Listening Sessions” in the Late-breaking session of the conference.
Do stop by at these posters to learn more about these interesting topics!
Two years ago, I successfully passed the RSL Awards Rock School Electric Guitar Grade 6 exam with a distinction. Since late last year, I have been preparing for the Grade 7 exam. As I’m no longer living in the UK, my guitar tutor Nicolas and I decided that I would do a mock exam over Skype that he would assess and give me a score, unofficially. We did this yesterday evening, and I’m very pleased to say that I passed the exam. And as per Nick’s assessment, it was a “strong performance” and I received a score of 88 out of 100 which is just short of a distinction. Of course, this is not an accurate assessment given the constraints we were under but it’s heartening for me to know that I obtained a score that is a certain pass.
I hope to appear for the next, and final Grade (Grade 8) in the Electric Guitar track in the next year or two. And, as in my previous RSL Awards post, here are YouTube videos of the three songs I chose to perform in the exam…
It’s been about four months since I wrote here about leaving Jukedeck. So after a nice long break, I’m very pleased to share that I’ll be joining Danish music streaming startup Moodagent on the 17th of July, 2019. While the streaming service itself is new and hasn’t been launched yet, the company Moodagent A/S that owns it has been around for nearly two decades having built several products around their core technology for analysing musical content. You may have even come across their first music app on your Nokia phone back in the day! You can read all about them on Wikipedia, and find out more about the Moodagent streaming service on their website. I hear they’ll be launching it very soon!
I’ll be working in the Machine Learning team of the company as Senior Research Scientist on the design and development of their content organisation and music recommendation systems. I really look forward to the new beginning in Copenhagen and to learning a lot of new things from working on an area that’s still quite new to me. And also travelling around beautiful Europe!
I finally decided to get myself familiar with
pandas while working on a recent side-project related to recommender systems. When I got started with it, I was still stubborn that I could achieve most things I needed to do in relation to data pre-processing with Python modules like tools like
scipy. True as that may be, I found myself spending way too much time writing routines to process the data itself and not getting anywhere close to working on the actual project. This was very reminiscent of the time a few years ago when I got immersed in writing code to manually compute gradients for various neural network architectures while getting nowhere in developing a music prediction model before finally deciding to make my life easier with
theano! And so, this seemed like the perfect time to get started with learning
In the past I’ve found that, especially when it comes to learning useful features of new modules in Python, a hands-on and practical approach is much better than reviewing documentation and learning various features of a module without much of an application context, so I started looking around for such tutorial introductions to
pandas. In the process I came across two invaluable resources that I thought I’d highlight here in this blog post. These really aren’t much, but gave me a surprisingly thorough (and quick) start to employ pandas in my own project.
Kaggle Learn has a bunch of very well-organised and basic introductory Micro-courses on various Data Science topics from Machine Learning, to Data IO and Visualisation. I get started with the Pandas Micro-course which proved to be the ideal starting point for someone like me that had never used the module previously. This can be followed up with some of the other micro-courses, such as the one on data visualisation or embeddings which help one understand various concepts better through application. In fact, it’s what I’m planning to do as well!
Pandas Exercises on GitHub
So the Pandas Micro-course was a great starting point, but still left me wanting more practice on the topic as I still didn’t feel totally fluent. It was then that I stumbled upon a fantastic compilation of Pandas exercises on GitHub by Guilherme Samora. So I cloned the repository, loaded these exercises up on Jupyter Notebook and got down to solving them one after another! This really did help with getting more fluent with the rich set of tools that Pandas has to offer.
By the time I was done with Guilherme’s exercises (only a couple of days after starting with the Kaggle micro-course), I felt ready to apply my newly acquired
pandas skills to my own project, and to discover more about the module through it. There certainly were plenty more resources that a quick Google search returned, but none appealed as much to me at a first glance, as the two I finally went with.
I’m sure I have only scratched the surface when it comes to useful
pandas learning resources, and I’m very curious to hear about those that others have found useful, and why, so that I can look them up as well! So do feel free to share them in the comments below.
As some of you might already know, I have been volunteering with a few of my peers in India to promote awareness about Music Technology in the country through the Music Tech Community – India initiative. Upon my suggestion, during the past months we had agreed upon and planned to begin a new blog post series that would contain interviews with individuals engaged with Music Technology in India, or elsewhere but who are from India. We hope that readers of this blog post series will have much to learn from the experiences of these individuals and that this will help them gain valuable insights into the field and inspire them to shape their own careers in the future.
I’m very pleased to announce today that we just published the first post in this series on the website! It is an interview with an active member of the community and a researcher applying Information Retrieval techniques to Indian classical music – Ajay Srinivasamurthy. During the weeks that preceded the publication of the post, we got in touch with Ajay who kindly offered to take part in this initiative. You can read what Ajay had to say during the interview in the blog post.
I believe this is a great start, and I look forward to more of such interesting chats in the future!