This was in the works for most of the fall semester, but I can finally announce that my You Can’t Outrun Your Daydreams has been released on Volume 1 of MUSLAB’s Complex Planet album.
From back in September:
Kyle
MUSLAB International Electroacoustic Music Exhibition is pleased to inform you that your work has been selected to participate in the Phonographic co-production – MUSLAB- Cero Records PLANETA COMPLEJO.
This is an opportunity that we offer to people who have passed the curatorship process and who have chosen the option to participate in the selection for co-production CDs.
Your work as a composer offers an interesting perspective to our musical community, since it combines research and artistic creation proposing a personal aesthetic. Therefore, it fits perfectly with the general interests of the exhibition.
The COMPLEX PLANET exhibition includes a selection of different sound, video art and photographic works, where our different cultural identities are analyzed through the relationship between endemic social processes and globalization. The proposal is based on the fact that a fundamental characteristic, which enables evolution in nature, not only in biological contexts but also in social and cultural ones. Thus, both the endemic and global factors are a guarantee of evolution and adaptability that has to do with the importance of diversity.
Receive a cordial congratulations from the MUSLAB team.
Here’s a copy of the cover of the three-volume set:
Complex Planet/Planeta Complejo is available on all streaming platforms, online at http://www.cero-records.com/release/muslab-planeta-complejo-vol-1·2·3/, or if you’d like a physical copy, I have some left.
Hey! Tape Piece is making the rounds, and will be performed in Belfast next April!
Dear Kyle,
I am pleased to inform you that your submission “Tape Piece” for the Listening Rooms strand of the open call has been selected for the Sonorities Festival Belfast 2024 programme.
Please confirm that you are still happy for your work to be featured in the festival via email to [email removed] by no later than 4pm Thursday 2nd November GMT, 2023.
Once you confirm your participation, please contact [name removed] to confirm your technical requirements.
Finally, many thanks for your interest in our festival, and for sending us such engaging work.
Regards,
Sonorities Team
Dear Kyle Vanderburg,
Your paper “Inspiration/Perspiration: Creating a Map of the Music Composition Creative Process” has been selected for programming as part of the 7th annual ROCC conference at the University of North Georgia.
All participants must register for the conference.
The conference is scheduled for October 27 to October 29, and the program booklet will be sent electronically after the event. Congratulations and we look forward to an engaging conference this year.
Research on Contemporary Composition Conference
This will be fun! I haven’t had a presentation or performance in Georgia yet (but I did drive up from Jacksonville when I was there this spring for CMS).
You may know that I’m addition to my work as a composition instructor at NDSU and my work as a composer, one of my side gigs is web development—I write software (Liszt) for running schools of music. So of course, one of my composing tasks is maintaining a website where people can buy my music. And to make that happen, you kind of need some sort of shopping cart.
For the past several years, I’ve used a great shopping cart platform called Snipcart to handle the shopping part of my websites, both at KyleVanderburg.com and at NoteForge. It’s kind of a drop-in solution: include some code, and as long as your “add to cart” buttons are coded right, they take care of everything. It’s $10 a month, and they package up all the purchasing information and send it off to Stripe, my payment processor.
Recently though, Snipcart has been unable to charge my card for the monthly subscription. When I’ve pressed for diagnostic information, they’ve pointed me to Stripe, and I figure if I’m going to have to deal with Stripe anyway, why not save $10 a month and build my own shopping cart?
First off, I started off with some things that helped out already:
So with those constraints, the first thing I need are a couple of databases, one for the “cart” and one for “cart items.” Cart doesn’t need much more than some sort of identifier, while cart items need fields for cart id, item, and quantity. (It occurs to me on this write-up that there might be a way to build this without a Cart database, but too late now).
Next up, we need a cart page on the website to handle all the cart functions. I decided to program it in PHP because I’m faster at that than writing it with JavaScript. The first time the cart page (let’s call it cart.php) is loaded, it creates a Cart database record, gets a Globally Unique Identifier (GUID) and writes that GUID as a cookie to the user’s browser. (I considered using HTML local storage or PHP sessions, and cookies seemed like the easiest.) Liszt just generated GUIDs for every table row anyway so that’s easy.
In pseudocode: (Note: none of this is actually production code, but it’s close enough to explain it)
<?php
//Generate Cart ID if not set.
if(empty($_COOKIE['NoteForgeCart'])){
$cart->build(); //This will create the record and the GUID.
setcookie("NoteForgeCart",$cart->guid,time()+60*60*24*30,"/"); /* expires in 30 days */
$cartid=$cart->guid;
}else{$cartid = $_COOKIE['NoteForgeCart'];}
?>
I opted to use url constructions like cart.php?addItem=myAwesomeScore to manipulate the cart. This requires that every change to the cart cart involves a page reload, but the code is lightweight enough to where I’m not worried about performance. I could have written this in JavaScript and done some sort of Ajax call but…this was faster. Oh and of course instead of myAwesomeScore, I’m using the GUID of the product we’re adding.
<?php
//When we're adding items
if(isset($_GET['addNewItem'])){
$row = $product->getByGUID($_GET['addNewItem']);
if(!empty($row)){
//Add to Cart
$cart_items->build();
$update['cart']=$cartid;
$update['item']=$_GET['addNewItem'];
$update['qty']="1";
$cart_items->update($update);
}else{
//Invalid Product ID
echo "Invalid Product";
}
}
?>
From a user interface level, this means that product links can just be to cart.php?addNewItem=guid. Some css styling to load that page in an iFrame in the drawer I mentioned, and it’s an easy implementation.
Retrieving cart contents is easy since we can just do a database query for all the rows in the Cart Items database with a certain cart I’d. That code goes on Cart.php last.
<?php
foreach($cart_items->getByCart($cartid) as $cartitem){
$item=$product->getByGUID($cartitem['item']);
/* display cart items here, prettily */
}
?>
Deleting a cart item is easy to work out: a button which loads cart.php?removeItem=item reloads the cart and removes that row from the database.
<?php
//When we're deleting items
if(isset($_GET['removeItem'])){
$cart_items->getByGUID($_GET['removeItem']);
$cart_items->delete();
}
?>
Adding an item to the cart that’s already in the cart proves a challenge. When an item is added to the cart, the cart contents needs to be loaded to see if that item is already on the cart, and if so, to increase the quantity by one. This requires some additions to the addNewItem method.
<?php
$contents = $cart_items->getCartContents($cartid);
if(in_array($_GET['addNewItem'],$contents)){
//Item In Cart, Update Quantity
$cart_items->getSingleItem($cartid,$_GET['addNewItem']);
$update['qty']=$cart_items->row['qty']+1;
$cart_items->update($update);
}
?>
Changing quantities poses the next problem. A simple way would be to include a text field for quantity, and then add a handler for when it changes, to make a database update. That was a little more complicated than I wanted it to be. I considered + and – buttons, but if the page reloaded every time, it would be obnoxious for large quantities. I considered +1, +10, and +100 buttons, but that seemed similarly awkward. I opted for + and – buttons that ask the user how much to add or remove from the cart.
The next challenge is the actual checkout process. We need an intermediate page between cart.php and Stripe to format the data—something like cart-process.php. This will package the cart in a format that Stripe understands and pass it off to Stripe. Since the cart ID is just in a cookie, we can use that. This takes a bit of time to figure out the nested arrays, but the Stripe documentation (and the Stripe errors in the Apache logs) are well-written.
Once you can get Stripe to catch the data, you’re home free.
There’s a lot of things I haven’t sorted out in this quick and dirty process: shipping prices, whether products need to be shipped, taxes (though I think Stripe is doing that for me)(I figured that out since this write-up), digital assets, and so on. Snipcart used to automatically send out download links for digital goods, and I think I’ll just have to not have that for a bit.
I’ve been using a GitHub project to track everything, here’s what that looks like:
There’s some room for improvement, but it’s not bad for several hours of worth over the weekend to save $120 a year by writing 200 lines of code.
This code will (hopefully) go live later this week.
I’m pleased to announce that I’ve had two items selected for the College Music Society central conference this coming March! My Reverie of Solitude for stereo fixed media, and a presentation on The Mess of Music Composition (which I first gave at the Aspen Composers Conference a few years ago) will be on the program in Wichita. Notification follows:
Dear Kyle Vanderburg,
The CMS Program Committee would like to thank you for submitting your proposal, “The Mess of Music Composition” in response to the CMS 2023 Central Conference – Call for Oral & Poster Presentations. I am very pleased to let you know that your work has been selected for presentation on the program.
It is our policy that all composers, presenters, co-presenters, panelists, and collaborative pianists must hold current membership in CMS and must register for the event no later than Thursday, February 9, 2023. The registration form is available on the conference website. As only the primary submitter receives this message, please share this link with any collaborators involved in your presentation and make sure they are aware of this policy.
If a co-presenter or panelist is from a profession other than music (e.g., lawyer, librarian, medical professional), they may be exempted from the membership and registration requirements; however, it is your responsibility to communicate with us right away regarding such participants so that we may verify their exemption. Performers of works by CMS composers are not required to register unless they plan to attend conference sessions in addition to the concert in which they are performing. In this case, they are expected to pay the full registration fee accordingly.
Please look for further correspondence regarding the date and time of your presentation. Please recall that according to the rules of the Call, you have agreed to present on any day of the conference. We regret that we cannot entertain requests for specific dates or times.
I congratulate you on your acceptance and look forward to your participation!
Sincerely,
Hannah Christine Weaver
Chair, Program Committee
2023 CMS Central Conference
Several things that are bouncing around my head these days:
First off, let’s talk about the summer schedule. Hopefully this will be a productive working summer. But in between that work, some interesting projects:
For ten days in June, I’ll be in NYC to help run the New York City Electroacoustic Music Festival (NYCEMF). I don’t have a piece on the festival this year, I’m just working. That should help me get my mixing, troubleshooting, and gaff-taping fix for the year.
The first week in July, I’ll be teaching Audio Technology at the International Music Camp. Lots of firsts for that one—first time at the International Peace Gardens, first time teaching at IMC, first time using Cubase…
At the beginning of August, I’ll be presenting a paper on composition program curricula at the Aspen Composers Conference. A few days later, I’ll be teaching a seminar on recording technology at NDSU’s Music Education Summer Symposium.
Next: Social media. Ugh. I’ve never really liked it. I feel like I always have to be “On” to use it—as in, everything I post has to be amusing or witty or something more than “I’m eating a sandwich.” I’ve long suspected that it’s the cause of most of our recent societal problems. As I teach freshmen every year, my believe that being constantly catered to by algorithms isn’t healthy. And my recent reading list hasn’t helped things.
Dave Eggers, The Circle
and the sequel that I’ve bought but am too scared to read: The Every
David Heinemeier Hansson’s articles on how it’s hard to escape being ordinary in a connected world and how growing apart and losing touch is human and healthy. That last one really makes you think.
Those led me to this fantastic and fantastically-titled article in the Atlantic: Why the Past 10 Years of American Life Have Been Uniquely Stupid.
Now, I haven’t gotten out the tinfoil hat and I’m not saying that I agree with everything I’ve just listed. But these things have been on my mind for a while.
This is part of a larger thing I’m going through right now, where I’m realizing that I don’t have to be good at everything. I’m not good at contributing to social media (and consuming it isn’t good for me) and that’s okay.
I’m not good at email either, but that’s a project and a story for another day.
This leads me to my third thing—the scarcity mindset. This came up in Beyond Talent earlier in Entrepreneurship this spring, and it struck the students (and me) differently than usual. For much of grad school and my early academic career, I’d say “Yes” to whatever project or job came my way. And this never really stopped—even though I have full-time employment and several side projects, every time I see a job posting I think “OOH! I could do that too!” Not “instead.” “Too.”
Diversification and risk management are good things, but there’s a point of diminishing returns where you’re spread too thin. I just need to calm down and focus on the plates that are already spinning.
OOH! Or I could go back to school to become a CPA!
It’s turning out to be a busy semester! I’m teaching a couple of new-to-me classes—Music Research and Bibliography for the grad students and the Symphonic Literature for both grads and undergrads. These are paired with my normal Music Entrepreneurship, the bassoon part of Woodwind Methods II, and a studio of 13 composers.
Let’s talk about performances. I’ve recently updated the calendar, here’s what’s in store!
February 13: Kelly Burns, Cassie Keogh, and Tyler Wottrich premiere my Letters to the Poetry Editor that came about from my work with the NDSU Press.
March 5-6: We’ll present Letters to the Poetry Editor at the College Music Society Central Conference in Omaha. I’ll also be presenting a paper on composer workflow.
The next weekend, March 11-12, I’ll be in Oklahoma for the College Music Society South Central Conference, where Tempest in a Teakettle will be performed.
March 24-26, I’ll be in St. Petersburg, Florida for the Contemporary Art Music Project’s CAMPGround22, where Tape Piece will be performed.
April 21-23, we’re hosting a new music festival at NDSU, including a couple of concerts as part of our Unity concert series, and then a student and faculty (that’s me!) composers’ recital on the 23rd.
May 1, the NDSU Faculty Woodwind Quintet will play Course of Empire as part of the Fargo Moorhead Symphony Orchestra chamber series.
May 8, the Fargo Moorhead Area Youth Symphonies will premiere my One Sows for the Benefit of Another Age.
Oh, also at some point this semester, the New Rockford-Sheyenne High School Band will be premiering the new Steam Powered Rocket in New Rockford. I’ll update the website and the blog when I get that date.
Hope to see you at one (or several!) of these!
Things I learned and/or did this year:
I had some writer’s block earlier this year. After completing Shindig for horn choir, I flailed a lot from about March to August. I think part of it was the workload from taking classes and teaching a full load across two campuses. But another part of it was that I spent mid-to-late part of the semester designing, proposing, and planning a composition program at NDSU.
Our composition degree has been approved and accredited, and we started our first students this fall. And as an extension of that, I’ve joined NDSU full time.
Does the world really need another composition program? Probably not. I attended a paper this summer about the overcrowding in the composition world, and especially in the time of COVID, the opportunities seem to be dwindling.
Does the region need a composition program? Yes. Looking at professional undergraduate (Bachelor of Music) degrees, ours is the first in the Dakotas. There are four in Minnesota, one in Montana, and one in Manitoba. It gets better the further south and east one goes. But new music opportunities are, well, not numerous up here.
Of course, at many schools, students interested in composition can take composition lessons within the context of the BA or BS in Music. My intention is that having a collection of degree-seeking composers will give us the ability to do several things we wouldn’t be able to do within the context of a BA or BS, such as produce more composer opportunities and resources for the region. Things such as a new music concert series, Dakota composer residencies, a student-run music press to experiment with self-publishing, and assembling materials for high school students interested in composition.
NDSU is an interesting place to do all this. We have a named and endowed School of Music within a comprehensive STEM-focused Land Grant university, which puts us in an ideal place for both collaboration and outreach. We already have a full range of academic music programs from the BM to the DMA. Our undergraduate music curriculum already requires Music Entrepreneurship which intersects with the university’s entrepreneurship initiatives. And NDSU is already quite new music friendly, with the annual Fissinger Composition Contest, the new Pilafian Composition Contest, and regular performances of works by living composers.
So looking at the reality of the new music scene in North Dakota and what the future of music composition might be like, we’ve tried to make the degree as flexible as possible. Composers have to know a little bit of everything, so we’re having them do the same instrumental or vocal performance requirements as our BA/BS students do. Proficiency on piano, conducting, counterpoint, advanced theory, and instrumental arranging, of course. But then we’re also opening up a chunk of electives for the degree, giving students the opportunity to gain some additional specialization or marketable skills. This might include taking some of the music methods classes to learn how to play all the instruments. Or taking on a certificate or minor through the college of business, such as Entrepreneurship, Accounting, Business Administration, Management Information Systems, or Community Development. Or pursuing minors in Creative Writing, English, or Theatre Arts. Or there’s the certificate in Publishing.
The hope is to twofold: To create resources and opportunities for composers in the Dakotas, and to create a composer incubator which gives students the tools they need to be successful musicians in the region and the world.
Oh and that writer’s block finally lifted. I have a new song cycle of hilarious poems by Mark Vinz that are getting the finishing touches soon, to be premiered in February.
The more I’ve composed, and the more I’ve taught music, the more I realize that there’s just so much interesting stuff out there to learn, a lot of which intersects with music composition. Psychology of creativity, business administration, critical theory, aesthetics, higher education administration–these are all things that sound terribly interesting.
Cassie’s work at NDSU affords me a half-tuition waiver, so this spring I decided to become a bison. An entire degree seemed like a bit much given the rest of my workload, but some of our graduate certificate offerings seemed like a good place to start. The most logical, I reasoned, was the graduate certificate in Publishing, which is offered through the College of Arts, Humanities, and Social Science working through the North Dakota State University Press. Even though NDSU’s press is a literary press, the business side of things and the publishing process would be the same as it is in music publishing. After all, everything I know about publishing music is from 1) trial and error or 2) things I read on the internet.
I had to check my transcript, but even though I defended my dissertation in May of 2014, the last seated class I took was Dr. Ken Stephenson’s Bartok, Prokofiev, Chicago in the summer of 2013. So, seven years after being a student, here I am again, this time with experience from the other side of the classroom.
So we’re over halfway through: here’s how it’s going. For starters, it’s the first time I’ve been in a class in a while where I haven’t been in charge. This is great, in some ways it’s like a mini-vacation in the middle of the day. Make no mistake, it’s real work. But it’s nice to follow instead of leading for a bit.
There’s a ton of reading:
It looks like a lot, but it doesn’t seem like a lot. Maybe part of it is because it’s real, actual work. These are live projects. The poetry acquisitions project will result in us picking one of those books of poetry to publish. The novel will be printed with my edits. The advance review copy needs someone to proofread it. Everything we do in class matters.
My graduate project for this class involves creating an online music publishing boot camp.
This has made me think of quite a few things, to come later.