Musings on the year 2020, quitting the music profession, and looking ahead to things that last

Just like that, the final days of the year are upon us. When the quarantines and lockdowns began in March, nobody had the slightest idea just how long they would stretch, and here we are. For me, though, it was a year of upheaval from the very start: in January, after a whole year of hemming and hawing over the decision, my mind was fully made up to quit New York and pursue a different life from the one I had been living. 

Once the decision was final, things happened quickly and abruptly: by the end of February, my possessions were reduced to two suitcases, a backpack, and a balikbayan box, and before I knew it, I was on a plane bound first for Incheon, then Manila. I was too frazzled to bother with proper goodbyes; no going-away parties or anything. I’m all too used to these international partings of ways, and New York is especially transient anyway; people come and go without much fuss—and deep down, perhaps I was convinced that this was only a temporary detour, and that sooner or later I’d be back.

Naturally, life has a way of complicating things. The effects of the coronavirus outbreak were already evident as I was traveling back to the Philippines—both the Airbus A380 and the slightly smaller jet on which I flew were comically empty, and Incheon Airport during my early-evening layover was the least busy that I’d seen it. (At the time, South Korea had the most coronavirus cases of any country outside of China.) But it wasn’t until 11 days later, when the WHO officially declared COVID-19 a pandemic, that the seriousness of the situation fully occurred to me. Within weeks, normal life as we knew it was shut down all over the world, and my former city, New York, was the pandemic’s new global epicenter.

The timing of things as they unravelled was not lost on me: after years of trying to “make it” as a musician in New York, I quit—and almost overnight, the performing arts industry evaporated. Lincoln Center, Carnegie Hall, Broadway, all closed. Although a sense of validation that I made the right decision at the right time offered an initial cheap thrill, this move was a long time coming indeed, and part of a broader question over which I have agonized for the better part of a decade.

I’m one of those unfortunate creatures to whom, despite all appearances, the question concerning careers has always been utterly confounding. I happened to settle for a spell on music, because, whether it has more to do with talent or hard work (though certainly a combination of both), I’m quite good at it: good enough to get extremely generous scholarships, attend festivals around the world, study at Juilliard, live and work in New York, and ultimately avoid what would have been a dreary, corporate, apolitical life of trudging through hours of Metro Manila traffic everyday. Yet, as it happens, sooner or later one comes to learn that being good at something is no guarantee that one can and should make a career out of it—or, to put it another way, it takes more than being good at something to be successful at it.

As long as talent is part of the equation, at some point one begins to entertain notions of calling, passion, or any other name by which we call that vague sense that one is meant to be doing a particular thing in life. The flip side is that one also develops a sense of not being meant for other things. I can see now how much of a disservice I did my younger self by believing that I was no good and could never be good at mathematics, thereby closing myself off to studying economics, the sciences, engineering, or programming (although I always enjoyed computers). On the other hand, I had an imagined mandate to double down on “softer” pursuits: I dabbled in filmmaking, theatre, creative writing, philosophy, and even took an interest in law, until settling on my favorite of them all, music. My natural “talent” validated this choice, as did a string of apparent successes that were to follow but would not last very long.

The career musician faces unique contradictions. The craft itself, whether playing an instrument or composing, is so inward-facing, requiring extended, concentrated, and solitary effort; at the same time, one must face outwardly and publicly if they hope to get any kind of material reward. Mastery of craft and optimizing for reward are quite separate tasks, both requiring enormous amounts of effort, yet the relation between them is not so straightforward. True masters may very well end up languishing in poverty if not merely obscurity, and who would deny that the world is full of successful hacks? The latter fact often fueled my own bitterness: I resented people who I thought rightly or wrongly were less skilled than me, but had more professional success. In truth, such things are par for the course: I never doubted my own skill, but I was not good at “marketing” myself, and I hated, even avoided, trying to get attention. 

Another contradiction: despite the ubiquity of music, and the fact that there is scarcely anybody who doesn’t enjoy it, opportunities to get paid to create it are so scarce that one can continue to receive recognition without it ever translating into any kind of financial stability. The “abundance mindset” promoted by overly enthusiastic business types doesn’t quite apply here. William Deresiewicz, author of a recent book called The Death of the Artist, points out that the impressive array of low-cost technological tools presently available to artists drives the narrative that there has never been a better time than now to be an artist, yet those same technological tools have driven the price of “content” to nothing or almost nothing.

Nobody really goes into music hoping for financial stability, but who doesn’t want it? Anxiety about my long-term financial prospects was always just under the surface throughout my student and early-career years, even as I gained one accolade or experience after another: a prestigious commission, a performance with a big orchestra, a good review in a major newspaper, whatever. In fact, these things became to me the trusty drug that masked my anxiety.

Fortunately for me, a prospective immigrant to the US, the immigration system encouraged this sort of behavior. After exiting Juilliard with a shiny master’s degree, I immediately received a commission from a major American orchestra. I remained in New York and took up an administrative position with an arts startup that just kept me afloat as I went about my composerly business, but also provided incredible networking opportunities, including international travel and hobnobbing with important people. This was all enough to get me membership into a class of non-citizens whose residence in the US rested entirely on “extraordinary ability” in the arts and sciences. The standards are far higher (and more arbitrary) than to which any American citizen is subject. And the government has no tools with which to evaluate artistic work, so instead it must rely on credentials, affiliations, awards, press, and endorsements. I had them and was addicted to them: they feel great, and each time gives one a powerful sense, whether it’s true or not, that one is fulfilling some kind of greater purpose, something meaningful and beyond fleeting earthly concerns, like money. 

This is all well and good up to a point; who’d blame an impressionable 20-something for attempting a different, more unusual, and more exciting sort of existence, even if it meant forgoing stability? But people cannot be static throughout the course of a life (and anyone who is might want to do some serious thinking). Certain personality traits may surface as others tone down; priorities change, and so do external circumstances. As one gets older, they might find that feelings of validation, purpose, or meaningfulness are, in truth, just as fleeting as a paycheck—or that perhaps they’d rather just have a paycheck and forget everything else. 

All the while, I could never shake off the feeling that I wanted to do something else, that I never wanted to be a professional musician in the first place. I longed to get out of my own head and do something practical and more “useful.” This feeling was present from the very beginning, sometimes barely an itch, sometimes quite urgent, but otherwise always just bubbling and simmering. It wasn’t merely a feeling too: all this time, I continued to dip in and out of various side interests in the hope of finding something that would stick. I imagined various scenarios: I could get a PhD in some other discipline, I could go to law school, I could go to a coding bootcamp. It is difficult for me now to discern whether all this had more to do with financial anxiety or with genuinely being in the wrong place, or perhaps a combination of both—all compounded further by the observation that the act of creation itself is rarely enjoyable and more often tedious and agonizing. “I don’t enjoy writing but I enjoy having written.” At any rate, it was failing to sustain me both spiritually and materially, and it was making me unhappy.

And when I lost momentum, when I became tired of churning out piece after piece for little reward—when I broke out of the self-abusive cycle of thinking that if I just stuck to it a little longer, my big break was right around the corner—there was nothing under the surface to come to light but anxiety, which turned into self-loathing. My administrative job eventually fizzled out too, as is usually the case with any arts-adjacent endeavour. But the coup de grace turned out to be the very thing that was once my ticket to a fabulous New York existence: my immigration status prevented me from venturing outside my designated area of ability. I couldn’t even become a barista (not that I’d be a good one). I was forced to be not only a professional musician, but an extreme careerist. So, just in time for the pandemic, I left.

*

The difficulties of this year have driven many of us to serious reflection about our lives, priorities, things that work and don’t work, things that truly matter. In such events, one who has “been around the block,” as it were, might find it difficult to feel as if one has “grown” at all in life. On the contrary, one gets a sense that they know far less than they ever thought; that they are far less wise, far less impressive, far more broken, and far more vulnerable to forces beyond human control.

Regret is unavoidable to the extent that we are free to make pivotal choices that close off other possibilities. When things don’t go our way, we are free to imagine those other scenarios that might have materialized had we only chosen differently. It seems useless to me to suppress imagination—it is the same thing that precisely allows us to carve ways out of hopeless situations. I regret the amount of time I’ve spent chasing a music career; I can imagine various possibilities in which I would have advanced much further in some other more rewarding pursuit, while continuing to do music as a hobby. But the scheme of things is so arranged, whether by accident or divine purpose, that there is no going back in time—our mistakes have to be fixed in the present. And those qualities in oneself that any serious musician nurtures are the same ones that will serve me most in whatever future pursuits I choose: patience, resilience, discipline, precision, imagination.

Music offers one of the great consolations of earthly life, as far as I’m concerned, but it cannot be overstated that making music and making a career out of it are quite separate things that may even conflict with one another. The former sees music as an activity, the latter as a product to be sold (but for which nobody wants to pay). This distinction is key to understanding the disproportionate effect on the performing arts industry of the pandemic and our responses to it, which certainly problematizes some of our assumptions about the place of the music profession in a functioning society. The dichotomy between “essential” and “non-essential” work has been frequently emphasized; in the wake of social distancing measures, music jobs were among the first to go, so what does that tell us? Yet who believes that the arts are actually non-essential to human existence?

Whoever thinks the arts non-essential, they say, ought to consider the amount of time they’ve spent in quarantine watching movies, listening to music, or streaming theatre on the internet. Precisely the point: art as activity is almost as natural to us as breathing air. But when, as product, it is abundant and easily accessible as it’s ever been, who’s going to pay for it? Who pays for air? We do not live in a world where things are always as they should be. Artists should be able to make a living from their work; but since they can’t, what are we going to do about it? 

There is much moaning and wailing too about the present existential threat to our biggest institutions of the arts: the symphony orchestra, the opera, the theatre, even the conservatory. They maintain the few jobs in the arts industries that are “real” jobs; they project cultural power and prestige, by which we have collectively always been more impressed than art itself. But even in normal times, these institutions cater mainly to very specific demographics, and stay afloat by the skin of their teeth. It is not that they offer nothing valuable or “essential” to society, but that the arts, whether they make any money or not, can and do flourish far beyond their confines and influence. Even when the last professional artist on earth is dead or bankrupt, who wouldn’t wager that art will continue to be made, and perhaps emerge out of unexpected places?

Some of the problems of the artistic profession might be solvable; some might not be worth solving. At any rate, any lasting solution would probably involve large-scale economic fixes—far beyond my pay grade to contemplate here. I am a mere nobody who has seen greener pastures and moved on. We all wish to belong; we go where we are wanted and needed. I have seen many talented friends and colleagues go on to law, medicine, technology, business, and other pursuits—I celebrate it each time because we want and need artistic minds in these industries. I suspect they have the potential to do far more for the artistic profession than another unhappy, underpaid artist, full of unfulfilled promise, who doesn’t know when to give up.

*

I start a new job after the holidays. Not music. To be sure, the space to prepare for a new career (and ruminate endlessly) in the last ten months of the pandemic has been an enormous blessing. I would not have managed it without the inexhaustible support of family. As I look ahead to a new year of changes both for myself and for many others, I can’t help but think of the things in life that last, expressed so fully in family ties—ties that transcend material and generational lines—and the need to nurture them if one wishes to live a life beyond serving only self-interest. Received privilege is no less outside of our control than the lack thereof; if we are so blessed, we are obligated by the knowledge that our blessings are not self-created to extend the same to others as far as we are able.

Because I’ve now allowed myself that option, someday I may find myself in the position of having to guide a talented young person under my care who is interested in an artistic career. I don’t imagine I’ll be that supportive. But I value freedom too much, and I’ve been there: anyone with talent and inclination will feel bound by duty, almost with some kind of religiosity, to take their chances—fine, as long as they don’t go into debt, and they understand that it’s their own choice (whether anyone at college age has the capacity for this kind of discernment is another matter entirely). If it turns out to be a mistake, the only way to correct it is to assume responsibility for that choice. At any rate, when they find that they’ve made a complete and desperate mess of things, as young people are wont to do, I would want to be able to help them out of it as I myself have been helped. 

Furthermore, we cannot afford to outsource answers about what will make us personally happy and content. Real life is difficult and complex—both the image of the successful but unhappy business type and that of the passionate artist of meager means but happily living out their true calling are illusory, sold to us by forces whose interests are not our own. I’m skeptical now of callings, and I know for a fact that the thing known as passion is flaky and untrustworthy. I would discourage careerism as well. It seems far better to strive with care to master a craft, whether music or something else entirely, and to allow oneself the means to do so: when everything else fails, mastery lasts, and the effects of having mastered something reverberate across other areas of life. 

A year ago, on Christmas Eve, I was received into the Eastern Orthodox Church after what seems to me now a hasty catechumenate (the traditional period of instruction of converts to Christianity). I have not at all learned to be a good Christian, but it has influenced my thinking all year about the things that truly last. I see now the understated wisdom of the old practice of memento mori—the remembrance of death. Indeed, the events of the present year have reminded us anew of the comical fragility of human institutions, politics, and life itself. If we are fortunate, some aspects of us survive death and remain through family and community. Some, through influential work or some other means, achieve the thing commonly known as “greatness”—still, it seems not enough merely to strive toward such lofty things. In Christian belief, monarchs and peasants both, whether they have lived greatly or quietly, will find themselves at the end of time equal before the “dread judgment seat.” What remains then? What about ourselves will we find to have lasted? I imagine one might be surprised.

If I have sounded harsh anywhere here about artists, well, anything I have to say about the matter is colored by my own disappointments; so make of it what you will. But there’s one thing I admire about genuine artists: they boldly forgo power, putting themselves entirely at the mercy of something else that may or may not one day return that power tenfold. Some of us are indeed powerful, but much more often we artistic types have no influence, no money, no following, nothing “essential” about what we do. None of it is ideal. But I admit this is not the kind of thing that makes me worry about whether the arts have a future. 

In the last several months, I’ve taken more frequently and intently to my instrument than I have in many years. Not quite many hours a day, but enough to learn new pieces with some regularity. I haven’t written much of anything myself (in fact, I’ve lost almost all interest), but have played a lot of Mozart, Haydn, and Beethoven. Nothing progressive or groundbreaking in the things I enjoy—they are a source of consolation, a chance to get into someone’s head other than my own. I decided long ago that I’d never be a concert pianist, and now it looks as if I’ll never be one of those career composers too. I intend to spend the next few years or more attempting to master another, more practical craft. But my instrument, the thing that started it all, will remain mine for the rest of my life. After everything has collapsed, music remains.

Thinking and rethinking

In these days of uncertainty it seems I’m rethinking every aspect of my life. Why shouldn’t this website be an exception? I know I said earlier that I wanted to limit this blog to my coding pursuits, but now that sounds boring. Code is not boring—but in the end, it is a tool, a means to something else, and I’m always far more interested in “the big picture,” as it were. Expect more writings here of an eclectic nature.

NiceFeed: Updating all subscriptions at once (And, picking up Python)

Per my earlier post, I had a nice break last week from working on NiceFeed while my internet was unusable. However, the plan to stay away from my computer turned out to be a miserable failure, and I decided instead to learn Python. I used Python Projects for Beginners: A Ten-Week Bootcamp Approach to Python Programming by Connor Milliken except instead instead of 10 weeks, I gave myself one. Of course, the real test is what to do with it now—I’d been planning to learn Django and pick up some backend skills, but the chapter on introductory data analytics really got my wheels spinning… We’ll see.

Anyway. A NiceFeed user emailed me about possibly adding an option to update all subscriptions at once. Up to this point, the closest thing I had was a background worker (via WorkManager) that cycles through all existing subscriptions but only updates one subscription every 15 minutes. If it finds any new content, it posts a notification displaying the most recent entry found. Needless to say, if a user has many, many subscriptions, it would take a long time for a full cycle to complete.

We want the app to be able to update all subscriptions in one move. This means quickly looping through every one of them, each time requesting the subscription URL, identifying any new content, and saving it to the database. To do this, I created a new CoroutineWorker class that does the following:


private val repo = NiceFeedRepository.get()
private val feedParser = FeedParser(repo.networkMonitor)

override suspend fun doWork(): Result {
    val feedUrls = repo.getFeedUrlsSynchronously()
    if (feedUrls.isEmpty()) return Result.success()

    for (url in feedUrls) {
        val currentEntryIds: List<String> = repo.getEntryIdsByFeedSynchronously(url)
        val feedWithEntries: FeedWithEntries? = feedParser.getFeedSynchronously(url)

        feedWithEntries?.entries?.let { entries ->
            val newEntries = entries.filterNot { currentEntryIds.contains(it.url) }
            val entryIds = entries.map { it.url }
            val oldEntryIds = currentEntryIds.filterNot { entryIds.contains(it) }
            repo.handleBackgroundUpdate(url, newEntries, oldEntryIds)
        }
    }

    return Result.success()
}

From there, it’s simply a matter of feeding it to WorkManager, which I’ve set to run the worker once a day. I’ve also added the option (via Snackbar message) to run the worker whenever new subscriptions are imported by OPML, since OPML only imports minimal feed data, without any entries. Now we are that much closer to a standard feature of most respectable RSS readers. I find that I enjoy “background” code like this much more than designing and creating the user interface… Hence, I’m still undecided as to whether I should also add a button to allow the option of running the worker whenever the user wants, rather than just on schedule. Thoughts for another day.

FizzBuzz, part 2: A fancier way

Piggybacking off my earlier post, because I have an obsessive personality I couldn’t help thinking of fancier, if more convoluted, ways to write FizzBuzz. I didn’t like the fact that I had to write the modulo operation and “Fizz” and “Buzz” more than once each. I came up with many variations of the code below (once again, in Kotlin):

val map = mapOf(3 to "Fizz", 5 to "Buzz")

fun main() {
    for (i in 1..100) {
        val fb = StringBuilder()
        map.forEach { if (i % it.key == 0) fb.append(it.value) }
        println(if (fb.isEmpty()) i else fb)
    }
}

Here the code uses a map (a set of key-value pairs) to establish the required relationships: 3 to Fizz, and 5 to Buzz. The outer loop, counting 1 through 100, is the same as before. We initialize an empty StringBuilder, and then start a second, inner loop that goes through each of the two aforementioned key-value pairs in the map and checks it against the current number i. If the operation returns true (that is, i is a multiple of the key of the current pair in the map), the value of the pair is added to the StringBuilder. So, if the operation returns true for the first key-value pair, we get “Fizz.” If only the second, “Buzz.” If both times, we get “FizzBuzz.” And each of these words appear in the code only once. Finally, we check if the string is empty in the end, and if so we just print the current number.

I could just as easily have done string concatenation by first assigning an empty string to a mutable variable (var fb = ""), but for reasons I don’t yet entirely understand, StringBuilder performs better, especially when loops are involved. In a program this small though, nobody will notice… I think?

Another beauty of this approach is that if we wanted to, we can change the rules very easily. We can add a third key-value pair to the map, maybe 7 to “Fuzz,” or use a different map entirely without rewriting anything else. Okay, I’m done with FizzBuzz now, moving on.

NiceFeed: An update, and taking a break

Due to current widespread disruption of internet services in the Philippines, I am taking a short break from NiceFeed through the end of the month, and plan to use the time to… stop staring at my computer screen all the time. But I’ll try to address somewhat urgent issues should they arise. 

Just today, a user wrote me about a crash in Android 6.0. I found the cause to be a few image resources that were mistakenly not accessible to API level 23 and below. Sometimes you get caught up in getting things right in all the obvious places, while big mistakes happen where you didn’t expect. After much fighting against my internet connection, I managed to roll out a quick update. It should be out on Google Play in a few days.

Also, the app has just been added to the IzzyOnDroid repo for the benefit of users outside the “walled garden”—as it has been described—of the Play Store (thanks for picking it up, IzzyOnDroid!). I appreciate the handful of users who have been trying out my app and taking the time to let me know of any issues or suggestions.

FizzBuzz: An intermezzo

Scaring myself with the revelation that many would-be developers ostensibly cannot write FizzBuzz, I became anxious to know if I would pass the test. The task is to write a program in as few characters as possible that will print the numbers 1 to 100 each on a new line, except multiples of 3 become “Fizz,” multiples of 5 are “Buzz,” and multiples of both 3 and 5 are “FizzBuzz.” As it turns out, the solution is nice and short in Kotlin:

fun main() {
    for (i in 1..100) { 
        println(when {
            i % 3 == 0 && i % 5 == 0 -> "FizzBuzz"
            i % 3 == 0 -> "Fizz"
            i % 5 == 0 -> "Buzz"
            else -> i
        })
    }
}

The overall logic is simple enough, just a plain old loop through 1 to 100 and conditionals to determine what to print. But I had to think for a second to remember the modulus operator… Here it means that when i is divided by either 3 or 5 and the remainder is 0, then it is a multiple of 3 or 5. I wonder if there’s an even more concise way to do this.

The when conditional makes things neat, instead of nested if/else if statements. i % 3 == 0 && i % 5 == 0 needs to come first, or else the program will print “Fizz” as long as i is a multiple of 3, regardless of whether it is also a multiple of 5. And so on. Another thing is that if i weren’t pressed for characters, I would maybe write "$i" in that else branch instead of just i to be consistent with the preceding branches, which all result in strings. But this appears to be a non-issue.

In the beginning was the Hello World

I have a friend who is a foreign policy expert who started out his career in theater. He’s always saying, “Everything I know about foreign policy I learned in the theater.” Someday I want to be able to say everything I know about software development I learned from music. Even at this stage the intersections are pretty obvious: logic, creativity, architecture, scalability, the balancing act between making end users work as little as possible and implementing complex features (either because they are needed, or… just because you can), etc., etc.

I enjoy personal, stream-of-consciousness writing but I want to keep this blog strictly about my coding projects. So this is the only bit of a background I will give for now: I picked up Android development early this year (around the time coronavirus started becoming a thing) and was instantly hooked! My weapon of choice is Kotlin. I’m not quite new to programming in general; I’ve had many false starts since I was a wee lad and my education in music included a considerable technological component (such as CSound and especially the visual programming environment Max/MSP), though I quickly became bored because I found myself not that interested in the musical results. Instead I devoted myself to large orchestral pieces—where I learned everything I know about managing a complex, jumbled mess of a project from start to finish and shipping it (literally, shipping like 50 or so instrumental parts to an orchestra), hoping you didn’t make one mistake in one part that could derail the whole thing. Kind of like programming, except with software you’re allowed to constantly release updates.

Anyway. Last week I released my latest app NiceFeed for open testing on the Google Play Store. NiceFeed is an RSS feed aggregator and news reader. I know RSS is an old, “undead” technology and there are already many similar apps out there, but I haven’t been too interested in many of the similar top-downloaded ones on offer. This is not intended for power users, we already have Feedly, etc. for that, but for people like me who want something nice to look at and won’t make them work too hard. I’ve had a lot of fun, as well as many frustrations, working on this app over the summer months and learning as I go. If anybody at all comes across this blog, I would love it if you could give the app a try (Android only for now… sorry!) and let me know what you think, maybe even open up an issue on my GitHub

Future posts here will be about continued development of NiceFeed, trying to solve issues I come across, etc, as well as other Android projects as I start them. Everybody says to blog as you learn, so I’m taking the bait. In the future I may also write about some other languages and tech stacks I’m interested in. I have my eyes on Flutter, as well as Python and Django. I also dabble intermittently in Arduino. Until then… banzai!