Three months in the new educational paradigm and I’m sold

Image for post
Image for post
Photo by Christina @ on Unsplash

As a lecturer, I was sitting in meetings all summer dreading the start of the new semester. Would we start teaching normally? Would a new lockdown hit before we could even meet our students? The future was uncertain.

Towards the end of the summer, my university made a pledge to deliver at least 50% of the educational content in person, and thus we were informed that at least for the first semester, we would have used blended learning to teach.

What is blended learning?

Blended learning is a fancy term to describe a mixture of teaching modes comprising of in-person teaching, pre-recorded material, offline discussion on digital mediums (in my case text-based discussion on Microsoft Teams) and potentially live-streamed content. This term became popular in the most recent months due to the necessity of going back in class to teach but being unable to resume the entirety of the university activities all at once. …

Image for post
Image for post
Perlin noise image generated with a p5.js sketch written by yasai.

Learning Python with all of the perks and none of the drawbacks

Whether you are an experienced programmer, or you have never programmed before, chances are you have never heard of Processing. Processing is an extremely well-known tool in the field of creative computing and visual arts, but it results in being quite niche everywhere else. Processing is (and I quote from the official website):

a flexible software sketchbook and a language for learning how to code within the context of the visual arts.

In the above quote, Processing is mentioned as both a sketchbook and a language because originally (back in 2001) Processing shipped solely with a custom/simplified version of the Java programming language thus making it both a language and a coding environment. Since then, a lot of things have changed. Processing has grown into a large community supported project with tons of add-ons, video tutorials and external libraries. Amongst these, between 2010 and 2014, a Python Mode was developed. Since then it is possible to actually program in the Processing IDE using the Python programming language, and I’m here to tell you why this is an excellent way to learn and/or teach Python. …

Combining the power of ffmpeg and Vimeo’s API to churn out videos at an incredible pace.

Image for post
Image for post
Photo by Shahadat Rahman on Unsplash

I recently had to solve an automation issue, where the client’s desire was to automatically generate hundreds of videos putting side by side a “base video” with a video picked from a list of hundreds. Whilst this could have easily been done by hand with one big effort, the project was an ongoing one, and the number of videos to generate was growing daily. For this reason, I decided to write a small script using Python and ffmpeg that would automatically generate and upload these videos to the client’s Vimeo channel.

This short article is meant to focus on some specific aspects of automation, video editing and Vimeo’s API, thus I won’t spend any time on the Python basics. I will focus on the few bits and bobs that I found challenging and I think are interesting to share. …

An overview of Medium’s Series feature in late 2020.

Image for post
Image for post
Screenshot take from Medium’s Series video release.

Admittedly a few years late (3 to be precise), I decided to give Medium Series a try. Considering that I grew up with Snapchat and Instagram Stories, I am pretty familiar with the concept and I was excited for it to be ported on a content-focused platform like Medium. So I took advantage of a short laptop-less holiday to whip out my phone and put together my first Series.

Unfortunately, this experience led me to believe that Medium Series is a dead feature, and if not entirely dead, is being slowly sunset by Medium itself. …

Or how to be completely in control of your mac with a hidden and minimal dock.

Image for post
Image for post
Screenshot of my 3-icon setup.

I remember back in 2008, when my family bought our first mac (a base model iMac), how having the dock full of icons was a must. I remember showcasing the entire Adobe Suite (even though I could barely use only a couple of their apps) together with any imaginable browser, the full iWork suite and so on. I wish I had a screengrab of my desktop at the time.

Fast forward 12 years, I have grown out of my 16-year old self and I am rocking a 2015 MacBook Pro. The difference between these two machines? Well, specs aside, I have completely reworked the way I use my mac and, as you can see from the featured imagine, I have an empty (and hidden) dock containing only the Finder icon, the Downloads folder and the Trashcan. How is this setup more efficient than my previous one? As most things, a combination of different tweaks makes this setup extremely fast. …

If you disagree with the title, then you should definitely read this.

Image for post
Image for post
Photo by Anastasia Zhenina on Unsplash

I am not a developer.

There, I said it! I am not a developer and I am writing an article on the importance of shipping documentation with your projects. Why is a non-developer writing about developer-like things, you might ask. Well, it turns out that even though I don’t consider myself a developer, I have been coding for almost 8 years now and due to the “creative coding” environment I have been in, I have had loads of encounters with different programming languages.

As you may have read from my previous articles (and from my tagline) I am a PhD in Music Technology with a fervent passion for coding and technology. This, over the years, led me to adopt many different programming languages as tools for a creative goal. I have dabbled in Processing (Java), Max MSP, Pure Data, Javascript, Python, JUCE (C++), Unity (C#) and probably others that I’m forgetting. Most of the mentioned languages above I can barely use or remember, others are in my daily toolset, but no matter my level of understanding of the framework, the language, or the project, there is almost always a connecting thread. …

Image for post
Image for post
Photo by Gabriel Benois on Unsplash

Or how to convert a 380+ people conference to an online medium in less than 3 months.

During this pandemic, we all had to adapt to an online work environment. Some people had to transition entirely to a “smart working” situation, others were brought to adapt and embrace hybrid solutions. As I previously explained in my “Remote Teaching: Do’s and Don’ts” article published a few months ago here on Medium, I had to convert the entirety of my Computer Programming class to remote delivery. Luckily (or unfortunately), this was not the only thing I had to convert.

Since 2018, a colleague of mine and I have been prepping for hosting a big conference in the field of music technology: NIME. After the news of the pandemic, we realized that all the preparation work we had done to host the conference at our institution would have been in vain. Considering that the conference had already gone through paper submissions and peer review, though, we felt compelled to try to keep the ball rolling and not shut it down. For this reason, on March 25th we publicly announced that this year’s NIME conference would be held entirely online. …

A step-by-step guide on how to perform simple machine learning tasks in Max using the ml.lib package.

Image for post
Image for post

Machine learning has been a hot topic for quite some time, with words like “artificial intelligence”, “neural networks” and “deep learning” getting used everywhere to describe the cutting-edge nature of projects and the so-called intelligence of the systems. The misuse of these words doesn’t take away from the fact that machine learning can be a really interesting and powerful tool to implement in our systems. In this article, I’m going to outline how machine learning classification algorithms can be used in the Max environment via the ml.lib package. I’m going to use the step-by-step nature of this article to describe and explore some basic aspects of machine learning and the analysed algorithms, without being too technical! Finally, even though this tutorial is going to use Max and the ml.lib package available from the Max Package Manager, the same steps can be followed on Pure Data installing ml.lib …

Image for post
Image for post
Photo by Jonathan Farber on Unsplash

Homebound because of the quarantine? Here are 5 ways to make sure your podcast keeps thriving.

I’m pretty sure that if your podcast is a well-established one, you won’t need any advice on how to make sure that the home setting won’t degrade the quality of your episodes. But what if your podcast relies entirely on interviewing people in loco? What if your co-host can’t come to the studio anymore? And last but not least, what if you haven’t started recording your podcast yet and you’re taking advantage of this quarantine to give this side project of yours a kick? …

Image for post
Image for post
Photo by Caspar Camille Rubin on Unsplash

How to improve your online teaching content

Due to my recent appointment as a Lecturer in Digital Media Technology teaching between Birmingham (UK) and Wuhan (China), I started developing online content almost a month before the pandemic exploded. This gave me a bit of an advantage when it came to redefine my teaching methods, and as I was asked by my university to share insights with members of staff, I decided to transfer the acquired knowledge in this short Medium article.

I am going to cover a mixture of technical tips regarding hardware and software and content tips more focussed on how to make sure your classes will work online. …


Niccolò Granieri

Lecturer in Digital Media Technology, PhD in Music Tech and all-round tech enthusiast based in Birmingham. Currently: DMT Lab, formerly: Integra Lab

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store