Coding and Activism

One of the coolest  things about working a nine-to-five job is that I get a lot of time on weeknights and weekends to work on projects that previously got shunted aside.  The example I’m going to give here is drawing. I used to draw ALL of the time. If I wasn’t doing something else. (I had way too much time in high school). Anyways, when I hit college, I had much less time, energy, or motivation to work on anything but school work, so my drawing habit and associated skills fell to the wayside.

However, now that I have time to kill and a Fiancee to encourage my traditionally-creative habits, I’ve been doing a lot more doodling, especially in a cartooning style, and that has resulted in a new website under my purview ( I’m hoping to update more than once a year (almost done for 2014). I also have a ton of art books now in my collection, and a few sketchbooks that always accompany me. I’ve even been able to apply my newly re-found artistic abilities to work presentations, to pretty positive responses.

If you want to see, here’s one of the rough sketches I’ve done as a conceptual short.


Rough draft

§179 · July 9, 2014 · Art, Personal · (No comments) · Tags: , , , ,

I wanted to be a writer when I grew up (also, a doctor, a detective, a professor, the president, et cetera). I loved writing, I loved learning about writing, and I was convinced that my first novel would be published before I was 15 years old. Now, pretty much the only creative writing I do is on this blog, or to a smaller extent, slam poetry. I always try to have my fiancée read over these posts before I send them to the world, and the comment I get back consistently is “too many commas”*.

A comma is used for many different reasons: lists, parentheticals, asides,  etc. I was taught that wherever you would pause in speech, a comma would be appropriate. I pause frequently in speech, so I apply commas liberally. Everyone seems to have a problem with that. I realize that my comma placement may not be orthodox, but I don’t even notice doing it. I write as I think or as I speak, and I pause a lot in both.

A comma isn’t even my favorite punctuation mark. Semicolons are, hands down, my faves, but commas are what I use most frequently. They’re so useful in conveying every sense I want. I am sorry if I have offended anyone with my wanton usage.

*My fiancée would like to point out that she has no personal problems with commas.
§164 · December 29, 2013 · Personal · (No comments) · Tags: , ,

I was told I could be anything I wanted to be when I grew up. Then, as I grew older, that limitless opportunity became significantly more limited. You have to have a well-paying job. You can’t work as an artist. You can’t work as a novelist or a musician. You can’t be in a creative field; there’s no money in it. You have to work at places you don’t want to work, or places that will suck your soul. The American dream is to have enough money to stop working, not to enjoy the work you have. By the time I hit high school, I knew that I couldn’t ever be in a creative field; I’d die penniless on the street. I couldn’t compose for movies: I wasn’t good enough, I wasn’t trained enough. I couldn’t do anything practical; I’d better just be a professor, and live in the world of academia. At least there I could continue whatever passion I had while being minimally interrupted by students and classes. At 13, I already knew that a job meant misery so you could have enough money to do what you actually loved.

But now that I do work in a field that I actually love, I’ve realized that this conception of work being a soul-crushing place is not only devastating to a young psyche; it’s also wrong. The people who are most satisfied in their careers are the people who incorporate their hobbies into it, or the skills they have that may not be related to their field. And creative thought is necessary for all innovation, not just in the classic arts. We teach that rational thinking, left-brained approaches to things are how you get jobs and keep them, and to an extent that’s correct. But the leaders in every field are the ones who think laterally, outside of the predefined box, who take risks and rise up again from failure. And they are the ones who love what they do.

I’ve been tutoring at a low-income elementary after-school program, and the biggest theme I hear from my students is how boring school is. Looking back on it, school was terribly uninteresting, except for a few teachers who went to great lengths to redefine how things should be taught (thanks Dr. Gerlach and Ms. Domencic). Learning is a fascinating venture inherently; we like knowing more about the world around us, seeing more patterns, making more connections. We learn about ourselves every day and about our friends and family. I love learning, and I would venture that everyone loves learning, even if they don’t associate the concept with the word.

School isn’t about learning.

School is about fitting in and knuckling down. It’s a lot of work that you don’t see the need for. It’s about respecting authority. I don’t think any of these things are bad qualities. We teach kids the trade skills they need to survive in society; respect, hard work, and the ability to do things they really don’t want to do. Standardized tests, large classrooms, and low-funding make it difficult for schools to focus on every child’s creative potential, so we need to find what we can do to help, be it through tutoring or donating money to school systems, or funding education reform. We all have a role to play, and we can’t just expect teachers to pick up all of the slack. It’s everyone’s responsibility to show people that it’s okay to be excited by learning or doing math or dancing or anything else.

We all have the potential to be teachers. So let’s go teach.

§153 · December 14, 2013 · Education · (No comments) ·

What astounds me the most about the perception of computer programmers is how difficult people think coding is. This might be a little bit of a betrayal to my kind, but I’ll let you in on a little secret: it’s not difficult at all.

That’s not to say that anyone can program. It certainly takes a certain type of thinking to be able to program, and a lot of people have a lot of trouble adapting to that mindset, but as a computer scientist, I can tell you that coding is pretty easy.

The reason that half of us got involved in computer science was because we were lazy. As a kid, did you ever want a robot that would do your homework for you? A programmer is the person who actually made that happen. Although, usually it wasn’t a robot, but rather, a calculator programmed to perform equations for us. And maybe, most people wouldn’t consider laziness taking twice as much time to learn how to program a TI-83 than to just do the 30 interest calculations we were assigned, but in my eyes at least, it was very much a way of getting out of work.

That’s the funny thing about computer science. It might be ten times more efficient to do things by hand, but the idea of such a menial task is painful. So, we take ten times as much time to complete the same task, but by teaching a computer to perform it. And it seems like we’re taking the lazy way out to us. We could justify it with future time saved, but realistically, we do this even for one-time occurrences. I have coined a term for this type of “laziness” : “preemptive procrastination”. We are trying to save time in the future by working hard now. The added bonus is, we get to learn a little more about coding along the way, and because coding is a type of teaching¹ and you remember most what you teach, this is still effective at teaching the concepts we are trying to save time on.

I think this is labeled as laziness because we are not accomplishing the tasks that were set forth in the way that was expected. Any deviation from this path is not putting in the hard work expected, and therefore lazy. And programmers tend to have very little attention spans for busy work, which is why so many high school calculators have interest, quadratic, and line equations programmed in. There may be something to be said about the benefits of repetitive exercises, but in my opinion, if a computer can do it faster than I can, then I think that computer deserves a chance to prove itself.

1. In my opinion, at least

I really don’t like the television show, “The Big Bang Theory”. As a mathematically minded person, I dislike the entire ethos of the show; it perpetuates a stereotype of smart people being unable to function in common society. I know that I’m in a bit of a minority in this regard. For people who identify with the “nerds”, it offers them a chance to see a representative of their social group on television. For everyone else, I understand they appreciate the humor of the show. I do not like the show. For one thing, there are not enough women to in any way stymy the “fake geek girl” stereotype. But mostly, I think that most intelligent people out there are not completely socially awkward, and it’s a disservice to portray them as such. This though, makes me a traitor to the concept of nerd, because I assume that communication skills are more important than passion and intelligence.

I am very concerned about fitting into society. My girlfriend, who is an actor, can strike up a conversation with literally everyone and have them be interested. Who doesn’t love talking to a future movie star? I, on the other hand, am concerned about the way I will be treated if I wax poetic about computer science or human-computer interaction. I try always to not talk about work or side projects, unless they hold some sort of interest to the people I’m talking to. I am afraid of being socially awkward, so I only talk about the things that don’t qualify as “nerdy”. I try much too hard to be cool, and when I meet someone who is less concerned about societal acceptance, I have a strange, half-jealous, half-judgmental reaction. “They are the reason ‘nerd’ is an insult,” I’ll think to myself¹. But really, I am the reason, or at least a part of it. I am pretty good at fitting in, and I should be the one talking not about how nerds can be more accepted, but how society can be more accepting.

John Green, of the Vlog Brothers, has great quotation, widespread on the internet:

“…nerds like us are allowed to be unironically enthusiastic about stuff”

I think that this is a great way to redefine social awkwardness. Unabashed excitement about something that might not be exciting to someone else is one of the surest ways to make someone more interested in a topic. I know that, as a student, I wanted to learn more when the teacher was excited about the material, and I think that, as a tutor, my students learned better when I conveyed how thrilled I was by computer science. What I want to see, in myself, as well as in the world in general, is less of a focus on fitting in and being cool, and more of a focus on accepting outliers in society. I want the world to appreciate the “unironically enthusiastic” as people with valuable input, not as outcasts. And I want to be a part of the movement to make that happen. John and Hank Green, consider this my official registration as a nerdfighter.

1. I really dislike the terms “nerd”, “geek”, “dork”, et cetera. I use them with quite a lot of guilt. I think, in general, I don’t really like the reclaiming of negatively connotated words, at least in my life. But, I understand that people can redefine a word in their own vocabulary so that it causes less mental damage when it’s used negatively. Certainly, most of my friends (as well as myself) considered “weird” a compliment growing up, and still do.


When I was a kid, I had my whole life planned out. I would write my first book before I was 15, become a doctor by 25, and be sitting in the White House as soon as I was old enough. This dream went through several revisions, and an eventual complete scrapping when I decided to pursue computer science. I’m not sure if I gave up dreams of being a doctor because I didn’t have a specialty that I wanted to be involved with, or if people discouraged me along the way, but at age twenty, I have no novel and I am out of school with degrees in mathematics, East Asian studies, and computer science, but not bio or chem or some sort of pre-med track. I have never looked into medical school. Healthcare, it seemed, was a lost dream.

Yet here I am now with a company that supplies half of the hospitals in the country with medical software. This was certainly an unexpected turn, but not an unwelcome one; it’s challenging and useful work and I’m excited to be involved in an industry that doesn’t focus primarily on entertainment. But as I attend more classes geared towards getting me up to speed with the state of healthcare providers and organization today, I have been experiencing waves of what could be vaguely described as regret combined with nostalgia. It’s as if I am seeing an alternate universe, where Kip Price became a skilled doctor instead of a computer scientist. What would have happened if I hadn’t given up on my childhood goals?

Dan Bee published a great post about wanting to be an astronaut and actually growing up to be one. I’m taking a slightly different route. I’m doing something I love that helps the type of person I once wanted to become. And I’m much happier for doing so. I think, as a kid, you don’t really have a good idea of what kind of jobs are out there, beyond the ones you see every day, or read about in kids’ books. I think if little Kip could meet me now, I’d be pretty proud of what I’ve accomplished and the life I’ve staked out. Plus, who knows? Maybe I’ll hit the president milestone yet. And there’s always time to finish that novel, or go back to school for medicine. For now, I love my work, I love programming, and while I want to do everything that ever existed, I think coding will do for the time being.

§129 · September 7, 2013 · Uncategorized · (No comments) ·

I had a conversation with my mentor the first day of work at Epic that went somewhat like the following:

Mentor: So what are your side projects?

Me: Oh, I’ve been working on some typography and a visual website editor (etc)

Mentor: Oh, you’ve been working with the HTML5 canvas? I’ve been fooling around with it too


                  You know, this is really the test they should give programmers. “What are your side projects?”

And he was completely right. It’s important to be judging programmers on actual ability, as you don’t want to pay someone to do a shoddy job. But a computer science education is pretty common these days, and companies like Epic, Google, and Facebook, to name a few, are looking not for the people who just know how to code quicksort, but the people who simply cannot get enough coding in their life. There’s the added advantage that people who conceptualize, design, and program their own project are the people innovating down the line; it’s the trifecta of computer science.

College doesn’t really prepare you to be the type of developer who wants to be developing millions of different things simultaneously. I don’t think it’s just the type of person you are, though, either. I know a lot of proactive motivated people who wouldn’t ever do a project that was just for fun, and I know even more who would much rather work on something on the side than their work. I think it has to do with how comfortable you are recognizing problems, and how much confidence you have that you can fix them. And mostly, I think, it takes time and it takes passion, and both are pretty precious. Programming multiple things at once is a little like reading seven different books at the same time, and it takes an immense amount of concentration to be able to do that.

With those caveats, I think programming something on your own time is not only the most perfect way to learn computer science, but also the best way to instill a love of programming. The first time you write a little bit of code on your calculator to avoid memorizing the quadratic equation, or the first game you write for your phone, or the first word processor you write that knows all of your commonly used words so you don’t have to type them out: those are the projects that you will remember for years. Those were the challenges that you overcame for yourself, not for an assignment or for a job. And when you realize that you can write anything that you want to write, it’s hard to go back. So next time you think, “wouldn’t it be great if this did something else?”, I urge you to try to make it happen. It might be the most influential decision you make on your general happiness and satisfaction.

§125 · September 4, 2013 · Code, Education · (No comments) · Tags: , , , ,

It is two days until I start work at Epic and I think it’s about time that I talk about the job that will be occupying my life for the next couple of years (at least).

Epic, unlike what a lot of people assume by knowing me, is not a gaming company. While I programmed games for more than a decade, I decided this year that I’d rather be working on projects that make a difference in society, or make lives better in a way that is not entertainment focused. So, I decided on Epic.

Epic is a software company that built a system to organize healthcare. We build systems that allow doctors to more easily process patient data, cut down on paperwork by being integrating patient history into our system, and try to prioritize the way information is presented about the patient. We are actively trying to improve the efficiency of doctors, nurses, and other healthcare professionals so that their focus is with the patients instead of finding and processing medical records. Around half of the hospitals in the US use Epic and they recruit from the same pool as Google and folks.

I will be a software developer, ideally with the nursing part of the program, as I most frequently hear complaints about that part of the system. I’m looking forward to the opportunity to increase my general software engineering skills, as well as the opportunity to do some real good with my code. And, Madison is a hotbed for education reform, so I’m trying to get my foot in the door there as well. People keep telling me that I will be worked harder than I ever have been, but really, people told me that with a triple major in three years, so I’m not as concerned as I might be. Hard work is not a problem, only work that I’m not proud of, and I don’t expect that to be a issue here. I’m looking forward to Tuesday and all of the excitement it will bring.

§124 · September 1, 2013 · Code, Personal · (No comments) · Tags: , , , , , ,

As the summer draws to a close, I have become more and more aware of how much time I waste. There are a variety of reasons that I have not accomplished as much as I would have liked; I’ve been working full-time, I’ve been trying to make the most of my relationship while it is not long-distance*, and I’ve taken some time just to replenish my energy. The big time suck, though, is sleep.

I am tired of sleeping.

I hate wasting time and sleeping is the prime example of my wasted time. I spend five to eight hours lying in bed, thinking about things that I either won’t remember, or will bother me for the remainder of the day. Who though that this was a good idea? All other forms of basic human needs have the potential for multitasking; you can code as you eat, you can think as you shower, consciousness can always be used, no matter what you are doing. And I know I’m being absurd by being upset that I’m wasting time by sleeping, but wouldn’t it be great if I could practice guitar as I snored?

Despite spending massive amounts of time lying around in bed, I still have managed to complete a number of tasks.

  1. I can now play the bass guitar. An impulse buy that was well worth the money.
  2. I understand a decent amount of American Sign Language. My significant other and I have been teaching ourselves and it seems to be going pretty well. We can usually have silent conversations for a decent proportion of a meal.
  3. I have more connections in the education field.
  4. I’ve written many slam poems and perfected a few, including one that might be used in a couple of years as a proposal.
  5. I’ve written some of a graphic novel-influenced tutorial on coding.
  6. I’ve been writing music again (and a musical!)
  7. I’ve been playing guitar on the daily, more when I can. I now can play a lot of silly songs.
  8. I’ve started voice training, in order to be able to sing the harmony lines I can hear in my head real-time.
  9. I’ve been writing stories or essays almost daily. I’ve been letting people read said essays.
  10. I’ve been web developing like a fiend. Several websites in the works, and I now can do some pretty nifty things with javascript and css that are really kind of obscene in their simplicity.
  11. I know at least several dozen Swahili words. This is mostly because it is my job to know several dozen Swahili words. But still, I could probably make a proper fool of myself if I ever visit a Swahili-speaking country.

Certainly, this summer hasn’t been wasted, but as the end approaches, I’m starting to overthink how much time I spend doing simple things. And I have decided that 35-56 hours a week wasted on sleep is unacceptable; that’s just gotta stop, starting today. And, if I’m still capable of coherent thought, it will be a success.

*(although this isn’t wasted time, just redirected)
§116 · August 6, 2013 · Personal · (No comments) · Tags: , , , ,

I’m currently working at Carnegie Mellon University, with their Language Technology Institute (LTI) department, and it’s proving to be more of an interesting experience than I had first imagined. This is the third year I’m working with CMU, the second time in a full-time position, and so in theory, the experience would be relatively the same. There are a couple of big differences though. This time around, I’m not a freshman still living at home, with next to no experience. Instead, I’m leading the team of people who used to be me. For another, I’m no longer content to use the tools that people tell me I should be using just because I’ve been told to. There’s a lot of room for improvement in the tools used by linguists, and I want to be helping with that improvement. But perhaps most importantly, I don’t think of programming as a job anymore. I think of it as a path to creativity, no matter what I’m using it for, and that path requires certain tolls. I’m much more conscious of how my work can be used in the real world, and more conscientious about building helpful resources for people other than myself. Documentation, commenting, that all plays a role, but my biggest challenge to myself is to be building tools that are useful outside of the theoretical fields I’m building it for.

Natural Language Processing is one of those fields where I can’t quite make up my mind about its usefulness. Certainly, having programs that can automatically translate, correct spelling, use correct grammar, etc, are long-term investments that seem to pay off. But, in terms of what I want to be achieving, it seems awfully…ivory tower-esque. Academics are excellent and I’ll never be one to dismiss scientific and mathematical research, but on a personal level, I wonder sometimes whether this is the right path to reach my goals. Certainly, computational linguistics work is something I greatly enjoy, and I actually have an excuse to study languages. But, in terms of education reform and human-computer interaction, maybe I’m involving myself in the wrong field.

This is a temporary position, lasting only until the end of August, whereafter I will move to Epic Systems, so I might be overthinking this a little much. But, after three years of being immersed in the world of academics, I think I’m becoming a little disillusioned with the overlap of research and implementation. To be fair, that is allowing me to take steps to build tools that (I think) will make comp linguistics a little more accessible to people who would like to be building practical systems (for example, one of my projects is building a translation model that can deal with languages that it has never encountered before). And working at Carnegie Mellon is a resumé booster to be sure, which will in turn allow me to get positions that I like and feel useful in. So for now, I will be happy that I am increasing the intercommunicativity of the world, and that my job continues to challenge me as a programmer.