“Words cannot even describe the multitude of design flaws in your body, and yet it is still the vessel of your mind; it is still your connection to this world. Production code is broken, but so is nature.” —@jordanorelli

The Artist and the Scientist

I posit that there are two distinct ways in which people become fascinated by programming.

One way is via high-level languages, web development tools, and visual languages. This “way” in is for people who are more interested in the act of creating with code than coding itself. I call these people the “artist-programmers”: people who don’t care about pointers and arrays, and would much rather fiddle with knobs and buttons than bits and bytes to create something cool. Artist-programmers can trust what is under the hood, and use this metaphorical car to go very far.

On the other hand, some people start programming with coding as the goal. These people learn about the array and are FASCINATED. These people can spend an afternoon messing with pointer indirection and not call it wasted time. These “scientist-programmers” believe that typing, references, and pointers are important to understand – their metaphorical car sits in the garage, taken apart into its components, and yet they are more fulfilled than if they were out driving it without any idea how it works. These programmers usually arrive via C, Assembly, or even hardware.

I think both ways to learn programming are correct, and appeal to different people. One of the reasons I enjoy python as a first language is that it is broad enough to appeal to both types as people. Lisp is great for this as well. Teaching an artist-programmer C++ is going to be a painful process for everyone involved. And teaching a scientist-programmer Mathematica will leave them wanting to know what’s going on inside.

The “programmer-in-fullness”, however, is both an artist-programmer and a scientist-programmer. These programmers are driving the metaphorical car AND have a full understanding of what’s going on inside the hood. They can speed along in a high-level language, but know what is happening on the inside enough to optimize as they write, fix things when they break, and use the right data structures and algorithms without sacrificing time worrying about the details.

Edit: My friend and fellow Hacker School alumnus @jordanorelli provides a great distillation of this idea: “I think the distinction is that I’m driven to learn things because they allow me to create things, whereas many others are driven to create things because in doing so, they learn things. Do you learn to create, or do you create to learn?”

Some thoughts on the types:

Artist-Programmers:

  • Teaching Them:
    • Focus on high level languages and visual languages
    • Focus on process and outcome, not design or implementation
    • Focus on immediate feedback and not worrying about speed
  • As one:
    • Don’t feel bad about using tools and helpers (e.g. Dreamweaver)
    • Aim for large projects that you can use these big tools to complete
  • To become a programmer-in-fullness:
    • Take a course like NAND-to-Tetris, which will allow you to see how the parts all fit together in a project
    • Take an interest in optimization, as far as you’ll still be able to finish your projects
    • Take apart your favorite tool and see how it works

Scientist-Programmers:

  • Teaching Them:
    • Focus on the little things. Pointers. Arrays. Bytecode.
    • Give them an extremely restricted toolset and a slow processor.
    • Start them in on data structures and algorithms fast – they’ll eat it up.
  • As one:
    • Buy books on programming. Implement their examples. Explore hardware organization.
    • Don’t be frustrated by projects that you can’t finish, as long as you learned something in the process.
    • Contribute to larger artist-programmer projects which can use your optimization skills.
    • Don’t mock artist-programmers for using tools. They don’t mock you for not using tools!
  • To become a programmer-in-fullness:
    • Start to use libraries and packages which will allow you to complete projects faster, even if you don’t know what they do at the low level.
    • Focus on optimization less, as long as you still understand what’s going on inside.
    • Work hard to finish projects, as painful as the final sprint is.

And above all, understand that people might come to programming from a different perspective than you. The scale is most likely not binary, either – think of it as a float instead of a bool. And be able to use this knowledge to give people projects that they’ll be interested in and will do well with.

From Manhattan,

–Erty

SSD vs RAID0 for Gaming: SCIENCE!

A while ago, I bought an SSD (128GB Crucial M4) off Amazon, with the idea of putting it in my gaming rig as a “game cache”. My plan was to install my most played games on it, while the rest of my games sat on my current setup – Two 1TB Seagate Barracudas in RAID0. Here’s a cell phone pic of my setup:rigIgnore the awful position of the cable/drive on the new SSD – it’s for testing purposes.

At my current job, there’s a heavy reliance on data to drive decisions, and I decided to do some science here before actually moving my games over. And I’m glad I did. Here’s the data:

sequential random

E: RAID are the same raid drive – no difference, but two data collection runs, since the numbers were much more inconsistent. I had programs running on that drive while testing, meaning there’s a lot more noise. To do actual science I would run a lot more tests, but I feel that my results were good enough to make decisions on.

G: SSD is the SSD with two different stripe sizes: 4kb and 32kb. I believe the 4KB performed better because some cursory research showed that the drives are manufactured to be used with a 4kb block size, which makes sense.

Data was collected using Roadkil’s Disk Speed under light system load.

The interesting result is in the sequential/random difference on the RAID. In sequential reads, the RAID actually comes out faster than the SSD except at the 64kb read size. I believe this is because I have the RAIDs striped at 64KB, with 64KB blocks, and I must be hitting some sort of strange misalignment at exactly that size.

However, the RAID drops to basically zero (<1MB/s) when performing random read, while the SSD loses no speed at all. This is, of course, the main reason for getting an SSD.

Now, as far as I’m aware, games actually optimize for sequential read, since that’s how most hard drives are going to load them. What this means, as far as I can tell, is that I would actually be hurting my game performance by moving my games over to an SSD.

I’ll edit this post, after I play some Skyrim+HD Textures on the SSD and check if the load speeds feel any better.

Also: if anyone more experienced with hardware has any suggestions, I’m all ears!

From Brooklyn,

–Erty

 

One Letter at a Time

The other day, I saw the following brain-teaser posted on Reddit:

tumblr_lcev8fTt341qbjttfo1_500along with the claim that “Startling” is the only 9 letter word where you can remove one letter at a time and still have a word.

Let’s see if that’s true using IPython and a long list of words from http://www.mieliestronk.com/wordlist.html

[ed. note in 2018 – this link expired. I’m not quite sure where it went. Sorry!]It turns out that there are seven words of length 9 that match this property,  and one word of length 10: “Splittings” (actually an incredibly relevant word to this problem).

Just goes to show: don’t believe everything you read on the internet 😉

The Broadcast Problem

In which I ramble on for a while before concluding nothing. You’ve been warned.

Snapchat and Facebook

Snapchat is quickly becoming my go-to communication tool for sharing moments with close friends. There’s a certain intimacy to it: just you and your chosen few recipients get to see the picture for a short while. It’s a way to show off your interesting life without inconsiderately clogging up others’ newsfeeds. A way to send photos of yourself drunkenly wearing a lampshade without worrying about your boss or parents seeing it.

It’s a broadcast medium with a specific range. However, you don’t know who else got a copy of the snap as well. The question this blog post poses is: Is it impolite to not respond to a snapchat? Let’s take a look at some similar media.

Facebook – for me – is becoming a place to share memes and interesting internet finds, not moments from my life. It’s broadcast is powerful – without carefully choosing your settings, it’s easy for your photos to become globally available. Any of your friends (which these days includes parents, coworkers, and random business contacts) can go through your photos. There are ways to tailor your security but they’re often obtuse or difficult to get at.

Posting on Facebook is a broadcast with a large range. You assume that everyone’s friends can see a given post. If someone doesn’t specifically mention you, there’s no social penalty for not commenting on or “liking” a post.

SMS, IM (incl. Facebook Chat), and Email are direct message systems. When you get one, the assumption is that you are the only recipient unless it directly says otherwise. These more direct forms of communication create a one-on-one channel between the sender and recipient that have social weight – not replying to one is rude.

Broadcast and Direct Message

When choosing whether to reply to messages, people consider how direct the original message was. This metric, “replies”, is important in the social media world – especially that of dating applications – because it measures how much interaction users are having.

My cursory research for this article doesn’t turn up much in this realm of prior research, so I’m going to go ahead and make an unfounded claim based purely on my own observations: The more direct a message, the more likely a person is to respond. A somewhat spammy marketing article boasts a 50% response rate to Twitter DMs where they use the username in the message. That’s crazy good.

Why is a DM so much better than just an @-mention? While DMs do require the users to be following each other (meaning there’s already an element of trust), a DM is also only visible to the messagers. If I get an @-mention on Twitter I’ll only respond if I’m particularly in the mood to or if I have something to say about it. If I get a DM I’ll at least make a note to reply to it later.

With these direct messages, there’s a social stigma to not replying since it means you got the message but chose not to respond. With a broadcast, it’s always easy enough to claim that it was lost in the sea of other broadcasts. In most apps, there’s no way to verify that a specific friend saw a broadcast message.

Snapchat sits in the awkward in-between here. You can see if a friend has opened your message. But Snapchats are also often sent to large groups of users at the same time. Let’s investigate further.

Public and Private

Voice to text is far faster and more accurate than typing on my soft keyboard, but I choose to fat-finger my way though the words because speaking out loud broadcasts what I want to be private. The people around me aren’t interested in my mundane texts, and I find it as impolite as talking on a cellphone to say them out loud. These are private messages – not because they’re risque, but because they’re not interesting to anyone else.

You can’t tell who else a Snapchat has been sent to; when you get one, there’s no way to see how public or private that information is. Especially with very interesting Snaps, (“Hey look at me doing this cool thing”), I assume that a large portion of the sender’s contact list just felt a buzzing in their pocket.

Facebook is “public”. IM, Email, SMS are private. Snapchat is… kind of both?

Conclusion: Does Snapchat Bridge or Widen this Gap?

In my opinion, Snapchat is a broadcast and not a direct message, so it doesn’t warrant a response. Greta, my fiancee, argues the opposite – each snap appears as a direct message despite its actual dispersal. So… who’s right?

Per my warning at the beginning of this post, I don’t know, and I would love to find out. For Snapchat users: do you feel obligated to reply to snaps?

What kind of messages should people be obliged to respond to?

Povio: On its way to cool

An open letter to the developers of Povio including some hopefully constructive and totally unsolicited feedback about the user experience.

1. Povio is cool

I heard about Povio through Hacker News and immediately installed it. It’s new. It’s humble. It solves the problem of people sharing useless stuff about themselves. I can ping the people I’m interested in, and I feel good when people ping me for a photo of myself. As a member of their target demographic, I’m hooked.

Really – I like the app and I want to see it succeed. The rest of this article is my thoughts on how to accomplish that, mainly directed toward the developer(s) but also as a way to open up a conversation about modern app development, privacy, and heteronormativity.

It solves what I call the “broadcast problem”. Basically the idea that some forms of communication are “broadcast” (snapchat, facebook) and others are direct (texting, skype) and it’s sometimes easy to confuse the two. You can read my thoughts on the broadcast problem if you’re so inclined.

2. Povio needs to not be a dating app for straight white men

The video for Povio features mostly a good looking female who is Povio’d (new verb!) by a male friend and they end up getting ice cream together, or something. Whatever – sex sells, and especially to the coveted 18-24 year old male. But there’s also a problem here, which is that Povio needs to attract people of all genders and backgrounds if it wants to be successful.

In my opinion, if Povio tries to be a dating app like tinder, it’s going to fail. It will turn creepy and the vast majority of users will abandon it. I worry that it’s already on its way to this. Here are the users that are added automatically as friends:

2014-03-24 22.37.26

!!!???

All white, and seriously: Miss Hotty?!

Either Povio will change this, or they’ll lose a lot of users who aren’t heteronormative white males. Even if, at best, it’s based on your facebook gender, race, and “looking for”, which is almost a neat idea for user acquisition, but still gives me a bad feeling about the app.

3. Povio has a neat UI with unintuitive UX

Povio’s UI and graphic design: Clever.

Povio’s UX and command structure: Obtuse.

Let’s say I want to unfriend a user. (I actually had to reach out to the devs on twitter to figure this one out). Expected: I long-click on the user’s list item and get options. Nope – long click does nothing. I click on Best Buddy’s face. Nope – a close up of his profile pic.

2014-03-24 22.37.33

What is he so smug about?

Turns out it’s as simple as single-tapping the list item. But it took me a good 5 minutes and a twitter conversation to figure that out. And who wants to see a large version of their friend’s profile picture?

2014-03-24 22.38.19

Finally.

Suggestion: Use the standard long-press for options. Remove the click-to-open-profile-pic action. Get some user testing and work on having a really intuitive user experience.

4. Povio needs to have the ability to turn on strict privacy settings

Yep, just like I suspected. Been on there for 10 minutes, and already getting friend requests from creepy guys I’ve never heard of. I would only use this with close friends. —natasham25

Make sure people know each other on Facebook, Google Contacts, or something. Have an option for anonymous friend requests to require a three-digit password. Photo apps like snapchat already toe the “creepy” line and enabling users to lock down their profile is the best way of combating this.

Allowing “creepy guys” to anonymously ping people is only going to reinforce the “dating app” vibe.

 5. Povio shouldn’t show me who pinged my friends

A) I don’t want to see how popular they are compared to me.

B) Nobody wants to see all of the people pinging their S.O.

It’s rare that someone enjoys the feeling of “sharing” a friend. Especially a S.O. or more. I pinged my Fiancee and was surprised to see a list of all the other people who had also pinged her. I’m not a jealous guy – who she sends Povios to is not my business. But I know more jealous types probably wouldn’t be happy to see those names, especially if they’re potential rivals. It also creates the feeling that you didn’t just get a special picture created and shared just for you.

Who is this guy anyway?

Not making me feel unique, here.

6. Povio is awesome for shy and boring people

Not a criticism!

Povio makes it really easy to ask your friends to include you in their life. As long as it’s easy enough to ignore a ping (with plausible deniability for ignoring it) from someone you don’t want to share with, I think there’s great potential here for an app that allows people to ask “hey, what are you up to” without feeling inclusive.

Snapchat is for broadcasting cool events. I get snaps from some people a LOT more than I do from others. I only send snapchats when something interesting or exciting is going on. To send a snap, you have to feel like you’re doing something worthy of taking up someone else’s ten seconds.

Povio solves that by allowing me to request my friends’ presence when I’m bored and lonely, and therefore makes me feel more social and wanted. I can get pings from friends and be inspired to set up something cool to take a picture of.

Epilogue:

Povio is up-and-coming and I hope the best for it. Based on the reactions of my non-immersed-in-the-tech-world friends it has a lot of potential and I can’t imagine it’s userbase is less than viral already.

With a few tweaks and fixes, I think Povio will quickly become a household name.

From Brooklyn,

— Erty Seidel

Edit: Povio’s creator has responded to this post:

P.S. – Shameless self-promotion: If you liked my writeup, know that I’m currently looking for work!

Terminal_’s Rules of Game Development: A retrospective

Terminal_ is a game that Evan Conway , Max Feldkamp, Mike Gold, Julian Delfino, and myself worked on during the winter of 2012-2013. I’ve since left the project, but I believe that Evan and Max are carrying it forward despite having day jobs. That winter, I had the role of Product Manager, and came up with the following “helpful suggestions” to guide our development. I was chatting about game design with my friend Matt Davis, and decided to write up these rules so that they might be helpful to others.

The rules:

  1. This is not a workstation
  2. This is not a sim game
  3. Playtest Playtest Playtest
  4. Our drill is the drill that will pierce the heavens!
  5. Early optimization = death
  6. What is it really about?

1. This is not a workstation

Our early ideas for Terminal_ revolved around the player interacting with the game solely through a computer terminal. The problem with this is that we kept having ideas about implementing existing *nix tools and commands (like top, grep, etc.) in our game. I wrote rule #1 to remind us that the game was not a workstation, and that anything that didn’t contribute to the player having fun was just a distraction.

Takeaway: Focus on fun, not functionality.

2. This is not a Sim Game

We were constantly skirting Bottom-Up Game Design, basing the fun on the idea that the player was interacting with a terminal, instead of focusing on the challenges of level and puzzle design. Retrospectively, this is probably the biggest problem that we had. Our game was cool, it had a great atmosphere, but it didn’t have anything that was actually fun and engaging for the user.

Some games *are* sim games, in which case you can totally ignore this rule. But remember that sim games are only fun because they’re not exactly the thing that they’re trying to simulate. Otherwise they would be just as boring as that actual thing. If that makes sense.

Takeaway: Focus on fun puzzles and levels, not accurate simulation

3. Playtest Playtest Playtest

The Terminal_ team would get bogged down by arguments over the best way to implement a feature. When this happened – and I was usually one of the offenders – I would bring down the force of rule #3. Implement it one way, then playtest it. If it doesn’t work, try the other.

There’s A/B testing on websites, and really, data is an amazing way to make sure that your game is fun and playable. Valve knows this. They playtest each level over and over and over, making radical changes to the puzzle design until they get something that is fun and challenging, not frustrating or obvious. Portal 1 is a great example of this – listen to the developer commentary especially to see how many times they reference changing something because of playtests.

Takeaway: Data trumps opinion 99% of the time.

4. Our Drill is the Drill that will Pierce the Heavens!

If you don’t recognize this quote, you need more galaxy-sized robots in your life.

#4 was a reminder to not give up on the game, even when things were tough. We watched Gurren Lagann together as (mostly) a team at college, so whenever we were feeling down about the slow progress of our game, we would shout this at each other to remember that this game was achievable through hard work.

We obviously didn’t end up making the game, but I attribute that mainly to the fact that we only had 5 weeks to work, an ambitious schedule, and no clear person in charge to make final decisions about what went in the game.

Remember – you’re making something new, and even if the idea has been done before, you can do it better, or different in ways that are fun. Flappy bird is an idea that has been around forever, but Nguyen did things just right to make a worldwide sensation.

Another thought on this: Pare your game down to the minimum viable product. Get that done. Then expand on it until you have all the functionality you want. Whether you have a public beta is up to you, but despite your ability to pierce the heavens, you need to set realistic goals for the size and experience of your team. Once you’ve created something fully, you’ll be better prepared to embark on a larger project next time.

If you do fail, focus on the ways in which you’ve grown throughout the project, and the lessons learned for your next project. Then pierce the heavens next time.

Takeaway: Don’t give up on a game. If you run into trouble, see what you can cut. If you do fail, focus on the things you learned so that you can succeed with your next project.

5. Early Optimization = Death

I was chatting with Evan about one of his games recently – a dungeon crawler with a very innovative “sense” system. What you see, hear, smell, etc. in each room is passed through messages, and these messages also affect the wandering monsters. Nobody likes a room that reeks.

Evan was worried about the performance of iterating through all of the monsters and messages on each frame. He was beginning to consider alternate data structures and optimizations for the problem.

I fall prey to this all the time. The problem with this kind of thinking is that it quickly leads to spending more time working on the code than it does working on making the game fun. And really, there were no performance problems here, or in the similar problems we faced making Terminal_. This ties in to rule #3 – once playtesting has determined that something isn’t optimized enough is when it’s time to go back and rewrite it to be more efficient.

Or, if you have extra time and hands at the end of the project to make sure that your program will run on older PCs. Otherwise, just ship it, and work in the performance tweaks through patches later.

Takeaway: If you’re worried about performance, you’re probably wrong unless something actually isn’t performant.

6. What is it really about?

Especially in strongly-aesthetic games like Terminal_, knowing what your game is actually about is an important step toward putting reason behind your choices.

Even Flappy Bird has a “really about”: it’s about minimalist, fast gameplay. Nethack is really about exploring complex, programmatically generated dungeons. Amnesia: The Dark Descent is about atmosphere, memory, horror, and helplessness. Portal is about an insane AI testing you on puzzles which require you to think in a different topology.

What was Terminal_ about? I’m not sure. We kinda failed at this one because I think everyone on our team had a different idea.

Know the central themes of your game, whether you can describe that in a few words, a few sentences, or even an essay. Then, when someone proposes a new feature, you can really ask yourself and your team: does this fit into the theme?

Feel free to edit this theme as you go along, but when you do, check to make sure everything in your game still works toward creating something whole.

Takeaway: Have one idea about the themes of your game.

Happy Birthday, Greta Dohl

For those of you who are offended by sappy love things on the internet, I’m not sorry, because it’s totally up to you to keep reading this.

Greta,

I’ve known you since we were two new faces on a path in the woods, you: fourteen, northwoods, energetic. Me: sixteen, wandering, timid. I was fascinated by your charm, charmed by your energy, and energized by your presence. Before I joined the theater program at Conserve to be with you, I remember sitting outside the auditorium being bored out of my mind but hoping so much that you would walk by outside and I could say hello to you.

You couldn’t go to dances and I was terrified of your parents. I would sit in the gathering space and sneak glances at you from across the couches where we – the couch monkeys – gathered. You preemptively turned me down before I asked you to the Haloween dance. I remember being upset, but at the same time happy, because you had acknowledged that I existed. It sounds kinda creepy now but when you’re in high school that’s the kind of thing that happens. I asked you out three more times, according to legend. I remember only two of them but I’m sure we’ll be telling people it was seven times eventually for the sake of a story.

You held my hand in the woods. I nearly died. Iana made fun of you for confusing me.

One of the happiest days of my life is the first day we kissed. I remember it like a movie in my head. You were sitting on the couch watching Mulan with Mara and Ben and maybe some other people. I was in some odd position that put my head on your soulder. Our cheeks touched accidentially and then not accidentially and then we kissed and I still remember exactly how it felt and how the light looked through the glass and the texture of your shirt and the feeling in my stomach and the feeling of the couch cutting into me but I didn’t care.

We broke up for the summer but spent so much time talking on the phone that it wasn’t really like we were apart.

We fell in love walking through the woods 6 years ago.

Greta, you inspire me and give me purpose – thank you for allowing me to be a part of the latest third of your life. Happy 21st birthday!

From Brooklyn,

–Erty

Reflecting on my English Major

I wrote this paper as part of my English Capstone Experience, which I enjoyed immensely.

If you’re attending Lawrence and thinking about an English Major, you might find it interesting. I’m proud of the voice and style.

It’s also something I want to reference in my next post, so I figured I’d put it online first so I can link to it.

Despite the overwhelming urge, I haven’t edited this since it’s original inception on the date stated.

Erty Seidel
2012-11-15
IHRTLUHC

English Capstone Experience

Three years ago, I wandered on to Lawrence campus as a lonely, confused freshman who had decided to study English and Computer Science. I had enjoyed writing in high school, achieving various accolades, and so I thought that it might be a good, creative, worldly major to offset the hard quantitative world of computers. In fact, I had already completed a 50,000 word “novel” during National Novel Writing Month, so I thought I was pretty cool.

Well, I am soon leaving the Lawrence campus as a not-quite-so lonely, not-quite-so confused senior. I have somehow made it through ten terms of English and Computer Science, and stand now on the precipice of graduation, with a solid foundation in the two subjects, and a foreboding sense about exactly how much I don’t know about them.

Which is a lot, but that’s okay.

Earlier this year I was pleasantly surprised – no, shocked! – to learn that Advanced Creative Writing can be taken as a capstone course. I was resigned to taking another course about analysis of texts, which I have never been keen for, yet have found myself quite practiced at. My goal as a freshman in the Lawrence English department was to take Creative Writing: Fiction, and then Adv. Creative Writing: Fiction, and do only as much mucking about with Shakespeare and Milton and Dickens as was required of me. My schedule had so far blasted my dreams of taking the lesser class, so learning that I could switch into the Adv. version was as though the god of Lawrence had descended, kissed me on the cheek, and said, “you know what, you’re alright.”

I digress. What I mean to say is that the Adv. Creative Writing course is the capstone of my English and Computer Science experience at Lawrence, mainly because it was the one goddamn course I’ve wanted to take in the department. I didn’t dislike my other courses, and some of them (Modern Drama, for example, which I’m sure I’ll extoll the virtues of in a page or so) were downright mind-expanding. But it was really the creative outlet that writing allows that I’ve been seeking.

Let’s start at the beginning.

The first English class I took here was Literary Analysis. If I recall correctly, we spent a lot of our time studying Virginia Woolf, whom I had already studied for some time – my best paper from high school was a treatise on Woolf’s Mrs. Dalloway written in the style of Woolf. Yet it was nonetheless a fun course. Bowles taught it, so we had a distinctly feminist slant (again, which I was used to from high school), and I enjoyed the reading. My favorite reading from that course, actually, was a play called “The Pillowman”. I turned in a paper on the play, done in the style of the author, which I am particularly proud of. I liked it because it was contemporary, it was dark and new and deep.

I should mention that writing papers in imitation of an author’s style is, I think, one of my strengths. For this paper, I have chosen to write in my own voice.

Forward! To a Survey of Postcolonial Literature, with Professor Kohr. A fine class, although particularly difficult. Heart of Darkness was exciting at times, and dull at others, and I pulled from it a sense of narrators – the story is told by the author about a man telling a story to his shipmates who may or may not be asleep – which resonated with me for the first time. That was important for my writing, since it’s essential for any author to understand unreliability in storytellers.

Major British Writers, with Bowles again – more Woolf. Major American Writers with Barrett; Transcendentalism et al. How I got through high school without having read Thoreau and Dickinson is a mystery to me, but I didn’t find them particularly interesting. I think if I had taken Modern Drama first thing freshman year, this all would have made a lot more sense. Alas.

The English Novel was my next stop. My most vivid memory from that class is mixing up “Pamela Andrews” – the protagonist of the novel, with “Pamela Anderson” – who is decidedly NOT Pamela Andrews. The shame still haunts me to this day. Someday I will work that into a story and it will be hilarious.

I also learned in that class about character development versus plot development. I saw how the novel was a big step toward contemporary writing, where the psychology of the characters becomes the focus – change in a person over time – and development of plot beyond just conflict between protagonist and antagonist. I had seen these novelistic traits before, but this was the first class that had ever really caused them to resonate with me.

Renaissance Drama was, with no offense to Bond, probably the most boring class I took here. Honestly – he did his best and always brought energy to class, but I had no desire to learn the material. My girlfriend of six years had just moved to California (she’s back now!) so my morale was a bit low at the time.

Spring term of sophomore year I took 18th century literature with Barnes, which was probably the most sex-laden class I have ever attended. We read 18th century pornographic novels as the repertoire, and it was… exciting? I certainly gained knowledge of how to write a sex scene, if that ever comes up in my writing career.

Mm, yes.

Junior year, that is to say, last year, I took only one English course. Modern Drama, with Prof. Dintenfass.

Dintenfass is old, wise, crotchety, and was probably crafted out of Zeus’ left over lightning. On the very first day, he asked us where the word “Drama” comes from. Woosh! Off we were on a magical journey through the ancient Greek theater. Swoop! We were given – for the first time in my career here – a solid overview and timeline that encompassed the authors that we were going to learn about in class.

Dintenfass was the kind of guy who was not afraid to lecture on English material. One of the main points of modernism is that there are infinite ways to interpret something, so he would give us some of the more accepted ideas, while allowing us to figure out others on our own. He would tell us what people thought about things – especially what he thought about things – but acknowledged that sometimes we would be more right than the Ph.Ds. That class, for the first time in my career here, felt not like a book club, but like a good old-fashioned class that taught me not only what the canon was of the time, but also what people thought about it.

And in my spare time, I looked up Dintenfass on the internet. “Writers Write,” had been his motto when he had been teaching Creative Writing here at Lawrence. (This was, as well, a time when he was allowed to chain-smoke through each lecture.) Everyone says that the trick to writing is writing, but I realized then that the trick to any craft is to practice it. Not just, “Practice makes perfect,” but really a sense of understanding that the only way to get good at something is to work at it, which is something that Creative Writing requires. There is no secret formula except hard work and dedication to the craft. This expands even into my studies of Computer Science – the only way I am going to succeed in that field is to practice computer science.

Dintenfass’ class was the first one where we took Modernism, killed it, and pinned it into a cardboard box with its wings displayed so that we could try to figure out what it is. We dissected what it meant as a movement and as a genre, using the plays of the era as the magnifying lens through which to do so. Almost every class session changed my mind on some subject, and expanded my view of the world. It goes without saying that I wrote him a glowing end-of-term review.

Finally I arrived, quivering with excitement, on the doorstop of Adv. Creative Writing. A class that pulls from all prior experience, English, Computer Science. Life. My writing is informed by my attention to the world and nothing else. I have begun to attend to my voice – the one that high school teachers tell you that you haven’t found yet – and make it my own. The class was incredibly useful in showing me what worked and what didn’t. What flowed and what crashed.

I have yet to take Shakespeare with Bond in the Spring, so my English career here is not at The End, but it is nearing The End, which is in itself something quite literary and profound. For me, Adv. Creative Writing is that End, since it represents my goal – to take a course in Creative Writing at Lawrence and gain instruction of how to do that elusive thing that all writers do, which is to write, and write a lot, and someday hope to begin writing well. Reading helps, too. I cannot discount the books that – at the time – I had to trudge through to achieve a grade. Without them – even Eliot’s Middlemarch – I would not have the solid foundation of language, vocabulary, structure, and ideas from which to construct my own prose.

–Erty Seidel

(From the 2170 to Boston)