Installing Ubuntu on a HP Pavilion laptop

So I decided to install Ubuntu on my daughter’s new laptop, more specifically a HP Pavilion. The choice of this particular laptop was because it looked nice, and had good specs for the money. It was first after the purchase I read all the complaints people have about the weird UEFI implementation on HP laptops. So I started the install process with some worries.

Reading on various forums, people seemed to have been doing all sorts of strange things to be able to install Ubuntu on HP laptops, including modifying the UEFI setup, changing the BIOS, and so on. I recall that on my Lenovo laptop I had to work quite a bit to turn off all the fancy auto-Windows-stuff.

I am not sure if HP has changed something recently or not, but the final procedure was super-easy: I just hit the F9 button on startup and got a normal “old-school” boot selector. Here I chose the USB drive, and the Ubuntu installer fired up.

I have installed Linux (primarily various Ubuntu versions) on a number of laptops over the years, and it is very seldom that I get into problems with drivers. Also this time things went smoothly, everything worked perfectly right after the install. I think it is important to continue repeating this message, because I still hear people saying that it is tricky to get Ubuntu to play with different hardware. True, there used to be driver issues some years ago, but personally I haven’t experienced that in five years or so.

Which Linux version to choose for a 9-year old?

My 9-year old daughter is getting her first laptop. But which OS should she get started with?

I have been using various versions of Ubuntu as my main OS for around 5 years now, currently using Ubuntu Studio on my main laptop. This distro is based on XFCE, a very lightweight yet versatile OS. The reason for choosing Ubuntu Studio over the regular XUbuntu was to get a bunch of music apps by default. I haven’t been able to explore these as much as I wanted to, unfortunately, primarily due to everything happening at our new centre (RITMO) and master’s programme (MCT).

Even though I like Ubuntu Studio myself, it is not a distro I would install on my daughter’s machine. Buying a new computer with Windows 10 pre-installed, one could argue that it would be best to leave her with that. This may also help her to be more familiar with the computers they are using at school, which run Windows 7 at the moment. But the question in the store about whether I wanted to buy some antivirus-software with the new laptop, was enough to ensure me that a Linux distro would be a better choice.

I have heard that some people like distros such as Edubuntu for kids, but it does not seem to be maintained? After thinking about it for a little while, I have concluded that it is probably useful for a kid to learn to use a normal OS. If you compare how things were a decade or two ago, most modern-day OSes are comparably easy to use anyways.

Finally I decided to make it simple, and installed the regular Ubuntu distro based on GNOME. It looks “modern”, has large icons, and is fairly easy to navigate due to the streamlining of menus, and so on.

Creating circular thumbnails in the terminal

Circular pictures (like the one to the right) has become increasingly popular on the web. We have, for example, included circular pictures in RITMO’s annual report, and we therefore also wanted to use circular pictures in a presentation at our upcoming LARGO conference. The question, then, is how to create such circular pictures?

The circular pictures in the annual report are made through a CSS overlay. So if you try to right-click and save one of those, you will get the original rectangular version. It is, of course, possible to add circular thumbnails in the presentation software, using the circular crop function in PowerPoint or add mask function in Keynote. The challenge with these, however, is that you may get into trouble if you move your presentation from one program to another. I often prefer to make presentations in Google Presentation, and there is no such feature there.

The most bullot-proof solution is therefore to create new circular images. This can be done in photo editing programs, such as the circle image function in GIMP. But for a centre of the size of RITMO (50+ people), and with many people coming and leaving all the time, I would rather prefer an automatic solution. I therefore decided to figure out how to do this in the terminal.

It turns out that Imagemagick comes to the rescue once again. Here is a one-liner for creating a circular PNG image from a JPG file:

convert alexander.jpg \( +clone -threshold -1 -negate -fill white -draw "circle 100,100 100,0" \) -alpha off -compose copy_opacity -composite alexander_circle.png

This will take a regular image like this:

and make it into a circular image like this:

Since the original was a 200x200px image, I used the code “circle 100,100 100,0” in the script to ensure that the circle would be in the centre of the image.

The next step was to extend the script to read all the JPG files in a folder and convert them into circular images. This can be done like this (at least on Ubuntu):

#!/bin/bash

for i in *.jpg;
do
  name=`echo $i | cut -d'.' -f1`;
  convert "$i" \
  \( +clone -threshold -1 -negate -fill white -draw "circle 100,100 100,0" \) \
  -alpha off -compose copy_opacity -composite $name.png;
done

Save the script as circle_image.sh (or whatever else you prefer), make it runable (chmod u+x circle_image.sh), and run it (sh circle_image.sh), and you get a bunch of circular images that you can be used in any program around. Scripting is fun!

Carpentries Train the Trainer

I have spent the two last days at a “Train the Trainers” workshop organized by the Carpentries project. Here I will summarize some thoughts on the workshop, and things that I will take with me for my own teaching practice.

The Carpentries

The Carpentries project comprises the Software Carpentry, Data Carpentry, and Library Carpentry communities, with a shared mission to teach foundational computational and data science skills to researchers. I have taken several Carpentries lessons over the last years, organized by volunteers here at the University of Oslo.

One of the best things about the Carpentry workshops, is that they are very practical. The idea is that you learn some concrete skills, in a hands-on manner. I also like that the workshops are very inclusive. Everyone can participate and in my experience you always find a mix of students, support staff, postdocs and faculty members. It is very rewarding to get acquainted to people outside your regular “bubble”, and it definitely creates a different learning environment than the normal student-oriented semester-long courses. I also think it is healthy for everyone to see professors struggle with the same things as everyone else.

Another great thing about the Carpentries is the focus on short, intensive workshops with a clear focus. This is an example of what I like to call micro-education, as opposed to our regular focus on semester-long courses and year-long degrees. In an ever-changing world, everyone needs to learn new things all the time. I don’t think universities (in general) do enough to meet this need.

Own practice

Inspired by some of the Carpentries courses I had participated in, I decided to develop a carpentry-inspired course myself: Quantitative Video analysis for Qualitative Research. This short workshop is intended as a tutorial for the Musical Gestures Toolbox for Matlab, and was developed with the Carpentries template.

The course material template is but one thing of the Carpentries. There is also a teaching philosophy that I wanted to learn more about. So when I was challenged (and inspired) to become a certified instructor myself, I decided to sign up for the instructor training.

Online instructor training

I am more than averagely interested in new learning methods, so I was curious to see how the Carpentries instructor training was carried out. For the training we were around 20 learners from around the world and two instructors. One of the instructors, Lex Nederbragt, is working at UiO, and he had secured that the six of us that were taken the training from Oslo where gathered in one room on campus. Such a mix of on-campus and off-campus learners is an interesting challenge in itself. Having a sizeable minority of learners being physically co-located creates a different group dynamic than if everyone had been sitting separately.

The video communication was run on Zoom, a platform I have become very acquainted with through the MCT master’s programme. As opposed to Skype, Hangouts, and similar, Zoom consistently works reliably on all platforms (including Ubuntu), and it has great support for handling changing hardware. I have been adding/removing sound cards, headsets, cameras, etc. during Zoom sessions without any issues. Most other solutions would crash or require restarts to make this work.

Another nice thing about Zoom is that allows for creating breakout rooms, which means that a larger group can be split into sub-groups for local discussion. The instructors used this very effectively during the training, splitting us up in smaller groups for exercises throughout the days. The only challenge here was for the six of us sitting physically together. We had to also split up and move into different rooms for these exercises. It worked fine, but it is interesting to reflect on the different experience the Oslo group had from the online participants. Personally I connected primarily with the local Oslo people, and did not interact at all with any of the online participants. I think it might have worked better for the whole group if everyone had been sitting separately. That way we could all have collaborated more easily.

Take-aways

Some of the most interesting things I picked up during the training:

Mental models: It is important to identify the different mental models that learners may use for any given task. These can be used as the starting point for developing better formative assessment, such as creating good wrong answers to multiple choice tests. Rather than just making randomly wrong answers, they should be based on different mental models that one may assume that the learners may have.

Developing skill: Carpentries embrace the Dreyfus model of skill acquisition and the need to move upwards through Bloom’s taxonomy. While I generally agree with this, I often like to start on top of the Bloom pyramid. In my experience, having people feel that they “master” a tool quickly often help in making them interested in learning more about the underlying concepts. Not everyone wants to become software engineers, most people just want to learn enough to solve their problem.

Concept maps: This is a tool to help develop a complete lesson through drawing a picture of someone’s mental model of a domain: facts are bubbles, and connections are labelled arcs. It is particularly important to explain what the relationship is. Planning how different parts of a course is interconnected is very important, but is something that many of us don’t spend enough time on, I think.

Teach as a learner: This is related to using the mindset of a learner when teaching. Acknowledging your faults as a teacher may be a good strategy for helping students learn more themselves.

Never teach alone: I fully agree with this one. Teaching together helps identify learners that struggle with something, and it is a good way to develop better teaching practice with a colleague. The challenge, of course, is that we usually don’t have the resources available for two teachers for most university courses.

Teach slowly: the live coding strategy employed at Carpentries is an effective way of slowing down the teacher, and makes it easier to follow along.

Make and solve errors: live coding also means that errors will have to be handled on the fly by the instructor. There is a lot of learning involved in seeing someone else troubleshoot code, so this should be embraced. I have been live coding as a teacher for more than a decade now, so I am very used to it. But I still remember how challenging it was to get started with all the realtime, public error-handling in the beginning.

Code of conduct: The Carpentries are very conserned about being an inclusive community. Thus the code of conduct is easily available on the web pages, and it is also explicitly mentioned at the beginning of lectures. I think this is something that should be embraced more generally in teaching.

Feedback strategies: There is a very structured approach to feedback in Carpentries:

  • Feedback is delivered in the form of pre-workshop and post-workshop questionnaires. This is useful to learn about the learners’ skills before the course, but also to follow their progression from beginning to end.
  • Minute cards are used before lunch with the focus on writing down one positive thing and something that could be improved.
  • 1up-1down evaluations are used to receive oral feedback from each of the learners.

Stick-it notes: We didn’t use it during the instructor training, but the use of stick-it notes is another “feature” of Carpentries. When carrying out tasks, learners put a yellow stick-it on their laptop when they are done, and put a read if they have questions. This is an efficient way of ensuring that people are on track or have problems.

Summing up

All in all it was very interesting to take part in the instructor training. I have been doing many different types of teacher training over the years, but this one was by far the most practical and hands-on. As such, it fits nicely into the Carpentry philosophy: provide hands-on tools for real-world problems.

I am looking forwards to developing and running my own Carpentry-courses in the coming years, and I am also quite sure that I will use several of these methods in other teaching as well.

Workshop: Open NIME

This week I led the workshop “Open Research Strategies and Tools in the NIME Community” at NIME 2019 in Porto Alegre, Brazil. We had a very good discussion, which I hope can lead to more developments in the community in the years to come. Below is the material that we wrote for the workshop.

Workshop organisers

  • Alexander Refsum Jensenius, University of Oslo
  • Andrew McPherson, Queen Mary University of London
  • Anna Xambó, NTNU Norwegian University of Science and Technology
  • Dan Overholt, Aalborg University Copenhagen
  • Guillaume Pellerin, IRCAM
  • Ivica Ico Bukvic, Virginia Tech
  • Rebecca Fiebrink, Goldsmiths, University of London
  • Rodrigo Schramm, Federal University of Rio Grande do Sul

Workshop description

The development of more openness in research has been in progress for a fairly long time, and has recently received a lot of more political attention through the Plan S initiative, The Declaration on Research Assessment (DORA), EU’s Horizon Europe, and so on. The NIME community has been positive to openness since the beginning, but still has not been able to fully explore this within the community. We call for a workshop to discuss how we can move forward in making the NIME community (even) more open throughout all its activities.

The Workshop

The aim of the workshop is to:

  1. Agree on some goals as a community.
  2. Showcase best practice examples as a motivation for others.
  3. Promote existing solutions for NIME researcher’s needs.
  4. Consider developing new solutions, where needed.
  5. Agree on a set of recommendations for future conferences, to be piloted in 2020.

Workshop Programme

TimeTitleResponsible
11:30WelcomeIntroduction of participantsIntroduction to the topicAlexander Refsum Jensenius

11:45Open Publication perspectivesAlexander Refsum JenseniusDan OverholtRodrigo Schramm
12:15Group-based discussion:How can we improve the NIME publication template?Should we think anew about the reviewing process (open review?)Should we open for a “lean publishing” model?How do we handle the international nature of NIME?
12:45Plenary discussion
13:00Lunch Break
14:30Open Research perspectivesGuillaume PellerinAnna XambóAndrew McPhersonIvica Ico Bukvic
15:00Group-based discussion:What are some best practice Open NIME examples?What tools/solutions/systems should be promoted at NIME?Who should do the job?
15:30Final discussion
16:00End of workshop

Background information

The following sections present some more information about the topic, including current state of affairs in the field.

What is Open Research?

There are numerous definitions of what Open Research constitutes. The FOSTER initiative has made a taxonomy, with these overarching branches :

  • Open Access: online, free of cost access to peer reviewed scientific content with limited copyright and licensing restrictions.
  • Open Data: online, free of cost, accessible data that can be used, reused and distributed provided that the data source is attributed.
  • Open Reproducible Research: the act of practicing Open Science and the provision of offering to users free access to experimental elements for research reproduction.
  • Open Science Evaluation: an open assessment of research results, not limited to peer-reviewers, but requiring the community’s contribution.
  • Open Science Policies: best practice guidelines for applying Open Science and achieving its fundamental goals.
  • Open Science Tools: refers to the tools that can assist in the process of delivering and building on Open Science.

Not all of these are equally relevant in the NIME community, while others are missing.

Openness in the NIME Community

The only aspect that has been institutionalized in the NIME community is the conference proceedings repository. This has been publicly available from the start at nime.org, and in later years all publications have also enforced CC-BY-licensing.

Other approaches to openness are also encouraged, and NIME community members are using various types of open platforms and tools (see the appendix for details):

  • Source code repositories
  • Experiment data repositories
  • Music performance repositories
  • MIR-type repositories
  • Hardware repositories

The question is how we can proceed in making the NIME community more open. This includes the conferences themselves, but also other activities in the community. A workshop on making hardware designs openly available was held in connection to NIME 2016 , and the current project proposal may be seen as a natural extension of that discussion.

The Problem with the Term “Open Science”

Many of the initiatives driving the development of more openness in research refer to this as “Open Science”. In a European context this is particularly driven by some of the key players, including the European Union (EU), the European Research Council (ERC), and the European University Association (EUA). Consequently a number of other smaller institutions and individuals are also using the term, often without thinking very much about the wording.

The main problem with using Open Science as a general term, is that it sounds like this is not something for researchers working in the arts and humanities. This was never the intention, of course, but was more the result of the movement developing from the sciences, and it is difficult to change a term when it has gotten some momentum.

NIME is—and is striving to continue to be—an inclusive community of researchers and practitioners coming from a variety of backgrounds. Many people at NIME would not consider that they work (only) in “science”, but would perhaps feel more comfortable under the umbrella “research”. This term can embrace “scientific research”, but also “artistic research” and R & D found outside of academic institutions. Thus using the term “Open Research” fits better for the NIME community than “Open Science”.

Free

The question of freedom is also connected to the that of openness. In the world of software development, one often talks about “free as in Speech” (libre) or “free as in Beer” (gratis). This point also relates to issues connected to licensing, copyright and reuse. Many people in the community are not affiliated with institutions, and receive payment from their work. Open research might have a close connection with open source, open hardware and open patent. This modern context for research and development of new musical technologies are also beyond academia and must be well planned in order to also attract the industry as partners. How can this be balanced with the needs for openness?

FAIR Principles

Another term that is increasingly used in the community is that of the FAIR principles, which stands for Findable, Accessible, Interoperable and Reusable. It is important to point out that FAIR is not the same as Open. Even though openness is an overarching aim, there is an understanding that privacy matters and copyright issues are preventing general openness of everything. Still the aim is to make data as open as possible, as closed as necessary. By applying the FAIR principles, it is possible to make metadata available so that it is openly known what types of data exist, and how to ask for access, even though the data may have to be closed.

General Repositories

There are various “bucket-based” repositories that may be used, such as:

What is positive about such repositories is that you can store anything of (more or less) any size. The challenge, however, is the lack of specific metadata, specialized tools (such as visualization methods), and a community.

There are also specific solutions, such as Github for code sharing.

As of 2018 a new repository aimed at coupling benefits of the aforesaid “bucket-based” approach with a robust metadata framework, titled COMPEL, has been introduced. It seeks to provide a convergence point to the diverse NIME-related communities and provide a means of linking their research output.

Openness in the Music Technology community

Looking at many other disciplines, the music technology community has embraced open perspectives in many years. A number of the conferences make their archives publicly available, such as:

There are also various types of open repositories and tools, including:

Best Practice Examples

  • CompMusic as a best practice project in the music technology field 
  • COMPEL focuses on the preservation of reproducible interactive art and more specifically interactive music
  • Bela platform