Musicologist and Senior Drupal Developer, Lullabot
Sea Grant Non-Indigenous Species Project
C#, ColdFusion, VB6
Accessible public information
Teaching kids to code
IVAN STEGIC: Hey everyone! You’re listening to The TEN7 Podcast, where we get together every fortnight to talk about technology, business and the humans in it. I’m your host Ivan Stegic. In this episode of the podcast, Dr. Matthew Tift. Someone whom I’ve admired for quite some time and with whom I’ve been lucky enough to work with for a short period of time on a project a few years ago. Matthew’s a senior developer at Lullabot and the host of the podcast Hacking Culture, which is about free software and the art of hacking. Matthew, it’s my pleasure to welcome you to the podcast.
MATTHEW TIFT: Thanks Ivan, for that generous introduction.
IVAN: You’re welcome. It’s all true though, right?
MATTHEW: (laughing) Absolutely.
IVAN: So, I wanted to start out with your birth, if I could. Where did you grow up?
MATTHEW: I grew up in South Minneapolis in Minnesota, and I think I was born at the University of Minnesota and lived in South Minneapolis until I was about eight years old, until the time that my parents moved out to the suburbs, but I have spent most of my life in Minnesota. And that’s where I am now, out in the suburbs of Minnesota, near my parents.
IVAN: (laughing) So, you’re near the suburbs of Minnesota. So, you’re still in a city?
MATTHEW: No. I’m in the suburbs.
IVAN: Oh, you are in the suburbs.
MATTHEW: In the western suburbs.
IVAN: Oh, I see. I see. By a lake, I would assume? We have a lot of lakes in Minnesota.
MATTHEW: Yes, I’m very close to Lake Minnetonka and I walk by that lake quite frequently.
IVAN: I’ve recently started walking around the lake here in the city during meetings. I found that it takes me about an hour to leave my front door, walk around the lake and come home. So, if I have a one-hour meeting that I can be on my phone with, I try to do that with walking. Are you doing the same thing?
MATTHEW: Exactly. I know that I can walk to Excelsior, Minnesota during my meetings and sometimes I get to go to the library, other times I go to the book shop or even grocery shopping, depending on the type of meeting. And, other times I’ll just walk around in the woods if I have to be talking more and I need it to be quieter. But that’s one of the fantastic benefits of working from home.
IVAN: I agree. Ever since TEN7 started doing it last year full-time, it’s been certainly a new experience to try and do it and work from home 24/7 but still have the kind of personal interactions that you end up having in an office environment. I think all in all it’s for the best. I can’t imagine going back to working in an office.
MATTHEW: I feel the same way. It’s been 10 years for me now, working at home. My oldest daughter is starting high school in the fall, and every morning for school, since she’s been in kindergarten, I’ve been able to walk out to the bus stop with her and my other daughter. So, I’ve been doing that for about nine years. It’s one of the many benefits that I like to cite when I’m working from home that I go out to the bus stop, pick them up from the bus stop, make dinner at home, and I get to make every class party and play and all kinds of fun school stuff over the years. It really has been a wonderful gift to have that.
IVAN: Do you think you’ll be walking her to the bus stop now that she’s in high school as well?
MATTHEW: I don’t know. Each year I keep thinking she’s going to be embarrassed. My wife goes out there as well, because she works from home too, and I keep thinking one of these years she’s going to say she doesn’t want us to come out with her, but I guess we’ll see. I don’t know. I purposefully have not asked or pushed the subject. I just keep going until she says, “You don’t need to come out with me anymore.” Which I expected to happen years ago.
IVAN: (laughing) Well, hopefully she’s not listening to this podcast, so she won’t get any funny ideas. (laughing)
MATTHEW: I’m not sure. She might be listening. She’s in the other room. But I think she’s currently editing videos for her Instagram feed.
IVAN: Wow. Well, you mentioned that you’ve been working from home for the last 10 years. So that would put us back to 2008. I know for a fact you haven’t been at Lullabot for that long, so you must have been working from home even prior to that?
MATTHEW: Yes, that’s correct. When we moved back here shortly after my second daughter was born, I had my job at the Wisconsin Public Radio, and I had other job offers to move back and work in an office in Minnesota, but luckily Wisconsin Public Radio didn’t want me to leave, and they allowed me to work from home when we moved from Madison, Wisconsin to the Twin Cities in Minnesota, and that has been a really lucky thing. It was something I never really had imagined could happen, or would happen, but it just kind of all worked out.
IVAN: Yes, you’ve been a proponent of working from home for a very long time. In fact, when we first met, I was trying to get you to work for TEN7 for a while. In fact, I remember when we still had an office you would come in one or two days a week, and I honestly always felt like I was asking you to do something you really didn’t want to do. But, I think secretly I was wondering how we could all be doing what you were trying to do full time.
MATTHEW: Yea. That was actually not a terrible thing for me to be able to get out of the office and work in somebody else’s office for one day or part of a day each week, and it was nice to be able to, sort of, juggle my schedule and get my work done when I needed to, but still be able to go downtown and see people and have face-to-face interactions. A lot of my coworkers at Lullabot pay to have an office. I shouldn’t say a lot, there are a few, and I’ve always thought that was a little bit odd, but I do understand that it is nice to have that day-to-day human interaction, and I don’t know if I would be working from home this long if my wife also was not at home, and my kids weren’t also around. I could see how that would get to be maybe a little bit more wearing on day to day basis, if it was just me by myself out here in the suburbs. [laughing]
IVAN: By a lake, with the woods around. [laughing] I think I agree. I think I’m in a similar situation, that I have my wife at home and my kids are at home now as well, now that the summer is in full swing. I think struggling with isolation and being at home alone certainly pushes you to either having a regular place to go, or even a coffee shop or a library visit, at least once a week. I know that’s certainly things that people do, especially at TEN7 and I’m sure at Lullabot as well. I want to go back to your mention of Madison and being at Wisconsin Public Radio. It feels like a natural fit given that you have a history of musicology and code that you would be at a public radio station. So, talk to me about how you ended up at Wisconsin Public Radio. Were you doing Drupal? Were you doing music? What was the impetus to be there?
MATTHEW: Well, that is a complicated story, but I guess the main reason is I needed to start supporting my family, and I was in graduate school. So, I was finished up with all of my course work, my master’s degree and then my course work for my Ph.D. and then just working on my dissertation after taking my comprehensive exams. So, there’s this period when you’re in graduate school, when you kind of shift from being a student, where you’re going to classes to where you’re just working on research. And, that gives you some flexibility which can result in long periods of people finishing their dissertations.
IVAN: Some people.
MATTHEW: Some people. But in my case, it gave me a little flexibility, so I could shift from having a student income, I guess, to have a “real" job. I had been supporting myself through graduate school by being part of a project called the Sea Grant Non-Indigenous Species Project, and it seems strange, but it was basically, we created a website that had a whole bunch of information about non-indigenous species, and I did research for that and automated the process of finding information about non-indigenous species. And, this was the kind of thing that people had to do before Google (laughing), if you could believe that. Back when I started there, people were using things like Dogpile to do searches.
IVAN: Ah, Dogpile. And who was the other one. Was it AltaVista? No. There was another one, Metacrawler, I think. I remember using those.
MATTHEW: I can’t remember the different names – Yahoo Search – I guess.
IVAN: (laughing) So, the description of the project seems biology or ecology related. That’s not music.
MATTHEW: That’s correct, but it is a department that needed somebody that had technical skills, and I guess I convinced them that I could do that, or I could do research. I don’t know why they hired me, per se, but it worked out pretty well. That was a position that offered a small stipend, but it paid for everything, all of my course work and so I didn’t have to pay anything for graduate school. That was the big thing. That and health insurance. We had a strong union back then, and we didn’t even have to pay any copays or anything like that.
IVAN: Wow.
MATTHEW: So, I had this job getting a stipend, and I needed a real job. Wisconsin Public Radio was actually across the street from the music school on the University of Wisconsin, Madison campus. I originally applied there for – get this – a “sales” position. (laughing)
IVAN: (laughing) Really?
MATTHEW: Really!
IVAN: Wow. That’s like the antithesis of open source, right?
MATTHEW: I don’t know.
IVAN: Well, I mean, I guess sales is, you’re selling services not products maybe, but I guess I can’t even imagine you as a sales guy.
MATTHEW: So, I don’t even know if sales is quite the right term. Nonprofits use the term development or fundraising.
IVAN: Advancement.
MATTHEW: Yes, advancement. Now at Wisconsin Public Radio, they needed people to go out and essentially sell people on the value of supporting Wisconsin Public Radio, and just getting those mentions where it has these announcements that sounds like ads, which are actually called underwriting, and they don’t have calls to action, and they don’t have all these other things where they say, “Support for Wisconsin Public Radio is brought to you by such and such company.” And, it just mentions support. I’m getting off track because I applied for that job and they had two openings and they didn’t give me the job, and they let me know I was third on their list, and they said, “Look for other jobs.” So, I thought ok, I like the idea of working at a place doing music. Then they had another job opening up which was called, it was a traffic position, (laughing) which is a job sort of scheduling the things that go on air. Scheduling underwriting, for example, and that was what this job was. So, I started that job, and I realized immediately that it was totally paper based. It was really ripe for becoming an automatic job—I can’t think of the right word right now.
IVAN: So, digitized right?
MATTHEW: Digitized, yes.
IVAN: Automated.
MATTHEW: Yes. Rather than people literally turning in sheets of paper, hand-filled out, I made web forms and I made fillable PDFs and things like that. So, suddenly we didn’t have to keep file cases. But what I ended up doing was really working myself out of that job. I got on another interview committee for somebody that was what they call the "database manager” at that time, managing a SQL server, and after our first meeting is said to my boss, “You know what? I think I can do this job and my job.” She said, “What? How would we do that?” Well she ended up figuring it out, so I started doing this other job and my job. They taught me how to do VB6 programming.
IVAN: Wow!
MATTHEW: And I taught myself SQL server, and I learned ColdFusion and I started learning all these other technologies like Csharp.net and Flash and ActionScript and upgraded things to VB.net or something like that – upgrading VB6 code.
IVAN: To VB.net and Csharp.net? I have some history of that too. I feel your pain.
MATTHEW: The fun thing about this one is I started doing that job, and that too seemed to be a job that I could automate. People needed things. I created processes for them. I wrote these little executables that they could stick on their Windows machine and they just ran, and then suddenly that job wasn’t needed anymore, and then I said, “You know, our website at Wisconsin Public Radio that’s on ColdFusion, really needs to be upgraded.” Everybody said, “Duh, it needed to be upgraded five years ago.” So, for years I have kind of been pushing “We should try Drupal. We should try Drupal.” Eventually they decided that would be a good idea, “We should try Drupal.” And then sent me to DrupalCon and back in San Francisco, and we had hired a development firm to help us launch one of our national programs. It’s called TTBOOK, To The Best Of Our Knowledge. So, I think we launched that site on Drupal back in 2009 or 2010. So that’s how I came about Drupal, was because I kept working myself out of jobs and eventually I thought this web development thing seemed a lot more fun than writing executable code for Windows machines.
IVAN: So, you had a history of Windows based naturally proprietary closed source software writing in an organization that was for the public, and you basically worked yourself out of two jobs, but at the same time you were pushing for Drupal. Why Drupal? Why were you not pushing for WordPress or Expression Engine? Or something else?
MATTHEW: That’s a good question. I remember at the time I had started reading some of these early books on free software and what that all meant, and I knew that it should be something that was free and open source. I didn’t use the term free software at that point, I thought of it as open source. And at the time I thought that that just made more sense for a public radio station to be using open source software, and there seemed to be a lot of other universities and public radio stations using Drupal, so it was really kind of an easy sell because at the time Minnesota Public Radio was using Drupal, I think, and WNYU and some other stations. I can’t remember actually how far back some of these go, but I would go to all of these meetings of other technologists in the public media world, which means public radio and public television, and there were some people using Drupal, but specifically what we liked about Drupal was that this national show TTBOOK, it was difficult to find episodes. So, just the idea of putting audio on the web was still kind of new back in 2008 or 2009, and they wanted to be able to take their hour long show, cut it into segments, add all these taxonomy terms so they could be searchable and findable, so they could either listen to the whole episode or parts, and really Drupal seemed like it was well suited to that task in ways that WordPress or Expression Engine wasn’t. Plus, it just seemed like the motivation that a lot of people had to use Drupal in those days, which is still strong now in education and non-profits was very appealing and very attractive to lots of my coworkers at Wisconsin Public Radio.
IVAN: Were you the only person who was driving Drupal? Or did you have people you were able to band with? Not bandwidth…but people you were able to band with?
MATTHEW: Yes. That was kind of a complicated thing as well, because the good thing about TTBOOK is they had raised money to pay for a development firm to help us build TTBOOK. So, for that particular project, we partnered with Gorton Studios, which is actually here in Minneapolis. Or, was here.
IVAN: Was, yea.
MATTHEW: Was. Gorton Studios is no longer…or maybe it still is.
IVAN: I don’t know that it is.
MATTHEW: Anyway, we worked with them and that seemed to be such a successful project, that we would go around to public media conferences talking about what we did. And then, the people at TTBOOK, all their conversations with other people saying “We want that. We want our site to be searchable, so people could find our content. We want our audio on the web. We want it to do this, that and the other thing.” So, it was kind of this model site for a while for a lot of stations, and then eventually we decided let’s do all of WPR.org and then they started hiring other people to help. We hired another Drupal developer. We hired somebody else who was basically like Director of Digital, or something like that, for more of the…I can’t exactly remember the titles that they had, but it was people involved in determining how we could have a digital presence. I mean that was a new thing at a public radio station that had been around since the early 1900’s.
IVAN: So, it sounds like you decided to go to Drupal, found some people that shared the same vision, raised some money, hired an agency, had a successful project, saw that there was value in these things you were building, and then it kind of just spiraled from there.
MATTHEW: Yes.
IVAN: When you were in the process, in the weeds, while you were doing this, did you ever think that you might take components and parts of what you were building, and make it generic enough that anybody else would use it?
MATTHEW: Yes, and we actually did that. I pushed for it. There were a couple of modules that I made early on that I knew I wanted to contribute back to Drupal. Part of my motivation came from when I went to my first DrupalCon, which was again, in San Francisco. I remember Drupal went from being this faceless website technology to Oh my gosh, these people are having so much fun. This is so unbelievably unlike academia, this is awesome. And, the week while I was in San Francisco learning Drupal, meeting people, I was tweeting about it constantly, and I remember some of my friends saying, “You know, I still like you Matthew, but I’m just going to warn you. I’m going to unfollow you for a while because I don’t want all Drupal all the time.” [laughing] So, I was having a lot of fun. Then, when we created TTBOOK, I think one of the modules that we came up with, that I think Gorton Studio did most of the development, Ronin wrote a lot of it, it was called something like “media playlist.” It was a module that allowed people to go click through the site, and then find audio of what they wanted and then add it to a playlist and then play through those. I’m not sure if they’re still using it or not. Again, this is awhile back now, but I’m going off my memory. I think that module, obviously it’s got to be out there somewhere, and I’m not sure if that’s the correct name, but…
IVAN: It is. I was able to use the power of the Google. [laughing] It looks like it’s still out there. It looks like there’s a release candidate for version 7. It’s out there.
MATTHEW: Oh, wow!
IVAN: You have nine commits and Ronin has four. But basically, it says exactly what you described—adds playlist functionality onto the media module.
MATTHEW: Ok. I have closed all of my browsers and other things, so, I’m purposely trying to not do that, so I’m impressed [laughing] that those facts are all correct. Or, I should say I’m surprised.
IVAN: So, I personally think that our public institutions in the United States should be more open and more information should be available to the public, because at the end of the day the government is the people, and we own that information, and so we should have access to that information. And, I’m just so proud and amazed that you’ve been part of an organization like Wisconsin Public Radio that wanted to contribute back source code and wanted to provide the work that they’d invested in to others so that they could be reused. And that’s certainly something that’s near and dear to my heart. So, I’m happy to see that that was something you were involved in.
MATTHEW: Yea, it’s been fun. Those days it was really kind of my passion to go around to these conferences and, I did things like a Drupal developer clinic where I talked to other stations about we use it and kind of show people that. Spend the whole day trying to teach other developers why they might consider using Drupal, and be on panels, and just talking to people about what we did with TTBOOK. We did webinars and things like that, because this was all kind of innovative. I had been part of another group in public media, and the name is escaping me right now, but it was a free software advocacy group that had tried to do similar things, that they came out with a custom CMS called something like “public media manager” or something like that. We were all big open source advocates. We were working together. We were trying to create solutions for things that other stations could use. We wanted to create these reusable components. So, for example, somebody would make a python script that used the NPR API and did interesting things showing where people are listening, or some sort of data, or something like that, that they could get as an NPR [National Public Radio] member station. So, we would do these kinds of things, but they were really kind of technology specific. And after being part of that group for a while and realizing that, well they’ve built this great custom CMS that was used at North Country Public Media, and the desire was to have other stations use it, but it really ended up just being a custom CMS for this one station, as far as I know. What Drupal seemed to offer was this more generic platform that offered a lot of the same functionality, and it created a good place where anybody using Drupal, not just public media, could use this—for example, this playlist module. And, that was the thing that kind of made me think Ok, this is a good sort of platform that we could try and collaborate on. And since other stations picked up using Drupal, National Public Radio is using Drupal, American Public Media, Public Radio International, the list goes on and on. If you look online there’s lists of all the public media stations that use public radio. It’s been, I think, good for public media to have this as a collaborative platform. I feel like that was kind of a fun thing to see grow over the years, and it’s good to see that that continues to expand.
IVAN: You talked about how you would have webinars, and how you’d be part of panels, and how you tried to educate people about Drupal. And, I’ve seen in the last couple years you’ve been speaking a lot about teaching kids how to code, and so it seems like your focuses kind of changed a little bit in that regard. Is that something you’re passionate about right now and you will be continuing to do that? Tell me more about the teaching kids to code work that you’ve been doing.
MATTHEW: That’s been a lot of fun too. That has been a project where I volunteered to help out with an hour of code day at my kids’ elementary school. The school tried to have something for all of these kids, ages K through 6, and I thought, How the heck are they going to teach kindergarteners coding? But once I started helping out with these different hours during the day, and seeing the kinds of things that we could do, I just saw that these kids loved what they were doing and that you could teach coding principles even on iPads with things that, to me, look like four each loops, or something like that, but for the kids it’s just rearranging little characters on the screen.
So that started out, and then I started teaching a coding class at that elementary school, which started out as a class to teach, I think we used Minecraft, and then me and this other guy taught using a type of Minecraft, it was like an extension or something called Bird Brain and we were able to program these little robots called Finch Robots. The kids loved doing that because these fifth graders, we could make the robots drive around in a maze, or use all of the different sensors, or make them follow a line, or draw patterns, or that kind of thing. So, there was that aspect of it. And alongside that the school district where my kids go to school, the Minnetonka School District, started an initiative that they called Tonka Codes which has been a really innovative initiative where they wanted to have coding in the curriculum K through 12. So, I ended up on this group called the Tonka Codes design team and did a lot of free software advocacy there, but that has been a project that is continuing to roll out. It started out in the elementary schools. So now in the Minnetonka School District K through 12 there’s some aspect of coding that is integrated in the curriculum, and I’ve done a couple of other podcasts discussing this, and I have other talks, so I don’t know if I want to get too much in the weeds on that, but I’ll just say it’s been I think real key in our district to have this in the curriculum. So, there’s three different kinds of ways that kids can learn to code. One is what they call extracurricular, which is after school or before school. The other is co-curricular where they have something that’s like, instead of lunch they go to coding, and then there’s curricular, which is where it’s actually a part of the classroom.
So Minnetonka’s done a great job of doing that, and I think that’s important because not all kids have access to these awesome other programs that are mostly extracurricular. That in other words, if you want to be able to do something like one of those classes I mentioned after school, you need to have a parent that has the ability to come and pick you up, or to change your bus schedule, or to drive you somewhere, or to buy you something, like if the class requires a Raspberry Pi, or something like that. So, giving kids the opportunity to learn coding has been really fun and some other kids at the high school started a Tonka Coder Dojo. It was a student-run chapter of this “coder dojo” group. So, I helped out with that as well which was an interesting experience, because with all these things that I’ve taught, like when we would post this Finch Robots class, for example, it would just fill up within minutes of sending the email. Then we’d say “Ok, well can we double it? Alright, maybe we can have two kids per robot or something.” We’d find ways to allow more kids to come in, but they would always fill up right away. And, with the “Tonka Coder Dojos,” the same way where, if it’s like Saturday mornings at the high school, and then there would be one class to teach Android development, one for HTML, one for Minecraft coding, all these other topics, never really Drupal by the way, because kids don’t think Drupal’s cool. But, what would be interesting is when these parents would always show up and they would say, “Oh, uh, I didn’t know it was full,” and they would drop their kids off with us. [laughing] Oftentimes the kids didn’t actually want to be there, they would rather just play Minecraft than do Minecraft. I realized there’s quite a few more parents that kind of would push it on their kids, than kids necessarily that wanted to do it. So that’s been interesting. Another funny story was the parents would sign their kids up as instructors. [laughing] They would say “Oh, the students are filled, I’ll have my kid be an instructor.”
IVAN: No skill to be an instructor. The work that you did with those kids, the curriculum itself, is that open source? Can other school districts use that?
MATTHEW: The knowledge around it is definitely something that they are sharing. Eric Schneider is the Asst. Superintendent for Instruction for Minnetonka schools. He has been out talking about what they’re doing and encouraging other schools to do that. I’ve been on a podcast with him, it was a Lullabot podcast I think, talking about this. So, all of the approach in how we did that, they’re definitely sharing. Some of the projects that they do are shareable. I think a lot of it is actually proprietary, and I haven’t been as involved in some of the day-to-day stuff recently, so I don’t know just how much of what they’re doing is shareable. I do know that there’s a project that definitely is focused on open source if schools are interested in that. There’s a book called The Open School House, I think that’s what it’s called, and that’s all based on using free software in public schools, and it’s written by a guy out east that has converted his whole school to using, I think Linux laptops, so I think he shares a lot of the more technical details of how to do it with free software. His name is Charlie Reisinger.
IVAN: We’ll link it in the show notes on the web. So, this seems to be one of the things you’re passionate about right now. Are there any other things that you’re passionate about right now? I guess we haven’t had a chance to talk about your musical background as well, and I don’t even know what a Ph.D. in musicology is. So many questions still remain. So, let’s talk about your passions right now outside of the kids coding that we just talked about.
MATTHEW: That’s an interesting question because of, sort of in general, I’m suspicious of this feeling of being passionate about anything. I tend to look at these different activities while I’m doing them and say, “Is this useful for me? Is this useful for other people?” And if the answer is yes to both of those questions, then it seems like something good to do. Lately I have been interested in a different kind of activity. I don’t know if I’ve mentioned this to other people, or if you were getting at this, but I’ve been interested in something called “live coding.” Live coding is essentially creating music with code.
IVAN: I was going to ask about violin phase performance. Is this related to that at all?
MATTHEW: Yea, so a little bit, sort of musically I guess you could say. It’s from the same lineage. When I was in college, for my senior recital I performed a piece called “Steve Reich's Violin Phase” where I recorded myself playing the snippet and then I looped it. It used to be done with tape back in the sixties, but I did it on my computer, of course, like my Mac ll or something, and I looped it and then I would play it and gradually phase it just a part of a note ahead, and then keep playing with myself over and over again and it creates this really interesting, constantly changing, repetitive sound. It’s kind of difficult to explain, but it’s basically just music that’s looped over and over, and then you're kind of playing with it. This actually has a score. You can play it as a string quartet and there’s other ways. But with that particular performance I did it with my computer. I always thought that was a unique piece.
It’s kind of fun to be able to use the computer, and use my violin. Live coding is similar to that except it's infinitely more possibilities, because I’ve been using this program called TidalCycles or “Tidal” for short, and it’s written in Haskell which is a real sort of computer sciencey geeky language. But, what I’m able to do with that is to play notes on the computer, sort of sculpt sounds, and loop them into cycles that are repeated over and over, and then sort of add to that. What I really like about live coding is that there is no score, there are no works. It’s really all about how I’m feeling in this moment and playing around with sound. So, it’s not the kind of thing I’ve done any performance with. Although a lot of people do. It tends to be a lot of people that do what they call Algoraves. So, it’s algorithmic music, and they do it at raves, and it’s this fascinating combination of making music with code and living in the moment. It kind of combines all of these passions of mine, and I’ve found that it actually informs a lot of how I understand my day job doing Drupal work.
So, that probably is a surprise to most people who would hear me say those words, but what I’ve understood now is, that live coding is all about being in the moment, writing code that’s going to execute right now. I don’t necessarily know what it’s going to do. I might have an idea about it, but it’s all about being ok with that. In our day jobs, when we’re writing Drupal code or other code for clients, we’re writing for the future, in essence. We’re writing for specification. We’re writing code to do something eventually. We’re going to pass it up the chain, it’s going to be edited, it’s going to be tested, it’s going to be run through the wave process and everything else. So, there’s always the sense of I’m doing something for another time. So, live coding has given me a different perspective on how I do my work, and how I understand and go about my day-to-day activities thinking about how much am I actually enjoying writing this code for Drupal, right now, and noticing those moments and thinking What are the situations that led to me sitting here, delighting that I got my alter hook functioning correctly? or whatever the case may be. It’s been a real fun process learning about live coding, and one of the interesting side notes is that there’s a lot of academics involved in this. So, there’s a ton of academic literature that’s been coming out over the past decade or so, since I finished graduate school, examining this practice. I’m currently reading a book called The Oxford Handbook of Algorithmic Music and its getting to be more of a thing, although it’s still more popular in Europe than here in the United States, but it’s been the area that I’ve been exploring quite a bit recently, because it feels like it’s a beneficial practice to engage in the way of coding, where you’re enjoying it in that moment—right then.
IVAN: It seems quite related to the idea that the journey is more important than the destination. And that living in the moment and trying to experience the moment right now, could be disconnected from what the result is. That’s a really interesting take on code. It never dawned on me that fundamentally every code, snippet or project that we’re a part of as an organization is building something that we'll execute in the future, that we’re planning for in the future. And, even though you’re writing that code now, you’re not really enjoying it, or using it maybe ever, because a client’s using it, or a user is interacting with something on the web. So, to hear you describe that process, I’ve not heard of that before. That’s really interesting. How would you say the algorithmic music, because it’s music that you’re creating right? The output is sound?
MATTHEW: Yes.
IVAN: How does that sound differ from the sound that has been tweaked and produced, and an artist went in a recording studio and they tried something, and it didn’t work, and they tried it again, and they finally got that thing they wanted, and then that becomes the memorialized song that everybody knows. How does that thing differ or has is it similar to what is coming out of the speakers when you’re live coding?
MATTHEW: There aren’t any particular rules around live coding, so it can really be lots of different things. Somebody who does live coding where they might, for example, sculpt that perfect sound and that rhythm and that beat, they might, for example, take all of that code and then go do a performance with that as a starting point and maybe just tweak a few little things. That might be a little more similar to the process of creating a musical work and then sharing it. Now, in live coding, another view is that you should always start with just something simple and then develop it. So, in that case then, you don’t know where you’re going. There’s various ways that people use recording studios, but generally speaking it boils down to people either experiment with stuff for a while until they have something cool, and then they go into the recording studio and try to perform it, or they play around until they get that perfect thing, and then they try to figure out a way to perform it, when they want to play it for someone else. So, the live coding bit could be done either of those ways. People could definitely use the live coding tools and know exactly what they want to do throughout that performance, but in general there’s this algorithmic component to it, where there’s all of these different ways of transforming the sound and you sort of develop a toolkit. But you don’t exactly know what it means to say, “I’m going to play this sound one eighth of the speed. And now I’m going to play it 64 times or 500 times the speed of what it was before.” You can’t always anticipate exactly what that will sound like, or what would it sound like to suddenly add something that every third beat changes by a quarter of a beat. So, in a sense, the algorithm as it changes becomes the accompaniment, that you as an individual are playing, sort of, with the algorithm. That's the accompaniment. That’s the other musician. Now, there are other ways of doing live coding where you’re working with someone where maybe they’re doing visuals and you’re doing live coding. In the manifesto for live coding, they project their code on the wall in the venue. And the venue could be an orchestra hall, or it could be a school, or it could be a rave at 2:00 in the morning. All of these are ways that people do live coding. There’s interesting TED talks on this on the web and what not, but in general there’s lots of different ways that people do it. It’s really fascinating to me that it can take on a real musical sound, or it can just really take on an interesting sound aspect. What I personally like the most is not trying to do anything, but more like seeing Oh, what happens when I do this? And what’s my reaction to that? Oh, that sounds weird. Ok, I think I want to change that. Or that sounds really neat, I think I’m going to just listen to that for a second. So, there’s this aspect of cultivating present moment awareness that I haven’t found with many other activities other than say meditation.
IVAN: Yea. It strikes me as being similar to being a DJ. I talked to Lex on the podcast a few episodes ago, and he’s been tweaking and playing sounds and extending them and compressing them, and we talked about it as music that you distort and play and create an experience for someone else. There seem to be quite a few overlaps between what we discussed in being a DJ and what you’re describing.
MATTHEW: Yes. One of the big differences would be in the process. So, the result may sound similar to a listener, but a lot of the people that are sort of tweaking sounds are turning knobs. They’re using different synths, they’re combining maybe even physical machines in their rack. Live coding is really focused on the actual writing of code.
IVAN: Amazing. Can you give us one or two resources online that we should look at? If you have any off the top of your head, besides the Wikipedia entry? (laughing)
MATTHEW: (laughing) There’s a website called toplap.org and this is a place that has the manifesto for live coding, and it lists a whole bunch of the other live coding languages that exist. It has lots of information basically about live coding. The language I’ve been using you can find out more about at tidalcycles.org. So those are a couple of resources that come to mind. But, I think if you start at TOPLAP you can find out quite a bit of information about what live coding is. I guess I’ll stop there.
IVAN: (laughing) Yea, you could probably go down the proverbial rabbit hole on that.
MATTHEW: Yes.
IVAN: Are you using open source everywhere in your life, or have you found that there are certain things you just simply can’t do using open source software?
MATTHEW: There are things that I cannot do using open source software in my job.
IVAN: In your job, ok. What are they?
MATTHEW: Well, for example, people unfortunately these days use Slack to communicate, and up until May of 2018 I could use HexChat and use their IRC bridge to connect to Slack channels via a free software client like HexChat or IRC client. But, Slack discontinued that particular integration, and now I’m forced to use Slack. There are lots of situations where people have Google calendar invites, or Google Hangouts, or they want to do a Skype meeting. All those kinds of things require proprietary software. But whenever I have the choice I never choose proprietary solutions if possible. So, it takes some work, for example, to continually maintain these things and try and do the things I want to do using software. There are lots of websites where if I’m visiting that on my machine that doesn’t run proprietary JavaScript, the web looks quite a bit different if you can’t do that.
Another one is my kids. They want to use stuff, and at one point my daughter really wanted to do her editing on Adobe Audition or something, and I could not find a free software alternative. She diligently tried some other things. She just said, “I just can’t do the stuff I want to do,” so I ended up having to install Windows on a machine [laughing], Linux on it. I don’t want to interfere with somebody else’s happiness for my own desire to write code that is free for everyone to use.
IVAN: Well, I admire that about you Matthew. You’re one of the few people I know who really try to live their principles in the free software community. I’ve tried it myself, and it’s hard, and I feel like it’s a process to me, and I don’t know that I’ll ever be able to get to 100% free software usage myself. I’ve tried to cut down on use of Google Drive and have my own san and tried to use things like Open Cloud. And I have a Synology as well so I’m using its software, but it’s certainly a process and trying to shift out of some proprietary solutions that you already have, when it’s just so easy to use, is difficult as well.
MATTHEW: Sometimes it’s better. There’s a technology for file syncing called “Syncthing.”
IVAN: You’re the one that told me about that. I’ve seen that. It’s REALLY good!
MATTHEW: It’s really good. At one point the Android client stopped working, but I needed to get some other stuff done, so I moved some other things over to Dropbox and I just thought, Wow, this is really limited. I can’t do the stuff I want to do. Then Syncthing got fixed. So occasionally I try these other things, but it’s not like it’s always better.
IVAN: (laughing) Well, thank you so much for spending your precious time with me and with being on the podcast. I really appreciate it.
MATTHEW: Thank you for having me on Ivan. It’s been fun.
IVAN: You’re Matthew Tift on Twitter. That’s @matthewtift. On https://www.drupal.org/ you’re @mtift and your podcast Hacking Culture is @hackingculture, also on Twitter. You’ve been listening to The TEN7 Podcast. Find us online at ten7.com/podcast. And if you have a second, do send us a message, we love hearing from you. Our email address is [email protected]. Until next time, this is Ivan Stegic. Thanks for listening.