Blog Archives

Dear StackExchange: Will You Be My Valentine?

With all due respect to my partner, I am totally in love with StackExchange, the network of Q&A sites that began with StackOverflow and, over the last few years, has blossomed into one of the best communities I have ever seen on the interwebs.

I don’t say things like that lightly. I mean, I’m one of those grumbly old jaded “get offa my lawn, you!” people who has been working and building things on the web for a really long time (18 freaking years, if you’re counting at home). I’ve kept my distance from discussion/Q&A forums and listservs in recent years for a few reasons, boiled down to these: a lot of people are jerks, and a lot of people don’t even try to help themselves—both of these factors just waste everyone’s time, effort, and goodwill, and those are things I let affect me far more than I should.

But given the new year (always a good time to start new things), time on my hands after quitting my job, and a deep desire to get back to my roots (firmly planted outside of academia), I decided to commit time to becoming a good community member at StackExchange. Since I follow both Jeff Atwood (@codinghorror) and Joel Spolsky (@spolsky) on Twitter and have read/enjoyed/learned from each of their blogs for a long time, I figured if there was going to be any network that I embedded myself within, it was going to be one that they started.
Continue reading

Thoughts on Code Year, Codecademy, and Learning to Code

By going one click away from this post you’ll see that I’ve spent the last twelve years writing books specifically geared to the newbie coder—be it someone who wants to learn the markup language of HTML, the style sheet language of CSS, the query language for relational database systems, the client-side programming language of JavaScript, or the server-side programming language of PHP (or, in fact, all of them together). As I wrote a few weeks ago, learning from tech books is not dead. But it’s not the only way to learn; straight up learning from a book doesn’t work for everyone, and certainly not every tech book pays attention to pedagogy (I do, with the help of all of my editors who keep me honest).

Then again, neither does every online learning environment. Do any?

Continue reading

"Everyone’s a Coder Now": a presentation at 4Cs

A couple weeks ago I presented at the 4Cs (Conference on College Composition and Communication) as part of Session H18: “Writing text, writing code, writing connections”. My co-panelists were the lovely and talented Annette Vee and Brian Ballentine, and the panel was chaired by the inimitable Dennis Jerz. We had a good turnout—something like 25 people, and not all of them were our close personal friends (!!).

Here’s the panel intro:

An underacknowledged relation of composition and rhetoric is code studies, the critical examination of source code that comprises computer software. Yet the expertise we have in pedagogy, rhetoric, speech acts and narrative offer potential contributions to this new field. This panel plumbs the connections between two important means of communication—written text and written code—to update our understandings of composing with computers. We map productive inroads to code studies by way of rhetoric, Speech Act Theory and narrative theory and collectively argue that code is already central to the discipline of composition and rhetoric.

Here’s the abstract for my part (I was first up):

Continue reading

Intro to Programming Bootcamp at THATCamp New England

I had the daunting task of doing a Bootcamp session at THATCamp New England in which I tried to “introduce programming” to an audience I did not know ahead of time. SO. MUCH. FUN. (seriously!)

Here’s the “official” session description:

To participate in this session, no previous programming experience is required — and in fact none is assumed. Additionally, you won’t ”learn to program” in any particular language. Instead, you’ll learn several of the foundational elements of programming, see examples of these elements in a few languages, take a look at various types of digital humanities projects, discuss how programmatic elements work within those structures, and (finally) we’ll think about how to put these pieces of knowledge together to design an application of your own. There might be some programming-on-sticky-notes involved.

Here’s the slidedeck I ran through for the first two-thirds or so of the session:

My Yale PDP 2010 Presentation

Below is the text that I read at The Past’s Digital Presence: Database, Archive, and Knowledge Work in the Humanities, a graduate student symposium held Feb 19 & 20, 2010. I was lucky enough to be selected as one of the 24 presenters in the eight sessions held on Saturday. Before the sessions we were given the treat of wonderful talks by Jacqueline Goldsby and Peter Stallybrass, and after the sessions the closing roundtable featured Rolena Adorno, Ed Ayers, Willard McCarty, and George Miles. These esteemed scholars didn’t just pop in for their talks and then leave—they were with us in sessions, asking questions, learning stuff along with everyone else. They all seemed like incredibly nice people (and those I spoke to directly I know are incredibly nice people).

I was speaker #2 on a panel called “Theorizing the Digital Archive” with Stewart Campbell (Columbia) who presented “Eugène Atget and the Digital Archive” and Alexandre Monnin (Paris 1 Pantheon-Sorbonne) who discussed “What is a Tag: Digital Artifacts as Hermeneutical Devices”. Our panel was moderated by the esteemed Jessica Pressman (Yale) who is just super cool.

Although the title of my talk (no slides, just talking) was “Toward a Realization of the n-Dimensional Text” but as I told some people, the secret title was really “Archives: Ur Doin it Wrong”.

Links are included in the text below for anyone who finds them useful. I use [emphasized text in brackets] for more info; it wasn’t spoken or anything like that.

Continue reading

Thanking and Donating to the Developers Who Make Everything Possible

A few weeks ago I read with interest the post “Is WordPress A Thankless Community?” and my immediate reaction was “probably so, but no more than any other.” Then I lamented my cynicism and remembered my own hypocrisy. It wasn’t a good day.

I promise this isn’t going to be a “kids these days!” post, but I do think there’s a generational aspect to all this. We read lists like Wired’s “100 Things Your Kids May Never Know About” and the annual Beloit College Mindset List that lists the “cultural touchstones that shape the lives of students entering college” for that year. At least I always read that list because I often teach freshmen and need to know how many of my jokes are going to fall flat that semester (answer: most of them).

But the point of bringing up age is to note that in the U.S at least (and this info is from a Pew study), Generation Y (18-32yo) is the largest group of adults online (30%), and somewhere around 90% of all people aged 12-24 are online. That 12-24yo group accounts for most of the activity in Web 2.0 and social networking spaces—using tools, creating blogs, customizing their internet experience. [alert! grand sweeping generalizations follow!] For those 12-24 year old users—a category which I should note that Facebook founder Mark Zuckerberg fit into until a few months ago—this stuff has always been free, they don’t have the same sense of the history of the web and the developer ethos that some of us have, and the dot-com boom and bust pre-Web 2.0 is nothing but a Wikipedia article and certainly wasn’t something they lived through as working adults. This is the age of user generated content, consumer generated media, and crowdsourcing; remember that the 2006 Time person of the year was “You.”

So it comes as no surprise to me that “You” (or “Us”) sometimes forget—or maybe never realized—that the tools that enable us to do all those things online, customized the way that we want, are created by individuals.

Continue reading

Continuing the Conversation: More on Digital Humanities Theory and Praxis

After I wrote my post about going from industry to academia, Barbara Hui followed up with a great post on her own path. In her post, Barbara shifted our discussion from trading war stories about industry life to actual theory and/vs praxis in Digital Humanities. For the purposes of the conversation, she categorized three types of DH scholars:

1. Some DH scholars don’t create any digital tools themselves at all, but rather, for example, read and theorize about literature that has been written in the digital medium, and/or that references the digital medium in some way. (pure theory)

2. Other DH scholars don’t theorize at all, but instead, for example, might have a background in a “practical” discipline like Library and Information Studies (or a humanities degree they have “left behind”) and now work on creating digital reference or archival tools for use by humanities scholars. (pure praxis)

3. Yet others do a mixture of both: for example a literature and media studies scholar creates a new media mapping platform to serve as a multi-purpose tool for both teaching and theorizing about city-spaces. (theory + praxis)

She then asked a series of very good questions: “Which of these scholars is the most authentic DH scholar? Or is DH all of these things? Is the DH scholar who can’t/doesn’t write code a true DH scholar? Or should she instead be called a literary and/or (new) media theorist?”

Continue reading

unedited thoughts on students knowing (or learning) how to code

I just wrote a fairly lengthy email response on the TECHRHET listserv that starts to get at the response I’ll eventually write to Kirschenbaum’s Chronicle piece from January about humanities students learning to program. This e-mail is just about markup, not programming (and yeah, I totally make that distinction), and is in response to a very specific question. It’s unedited and refers to things not here, but I still think has valuable info. Or thought-provoking info.

Continue reading

Avoiding Repetitive Markup (aka using include files)

A student in my ENGL/DTC 356 class, came to office hours one day and asked a good question that wasn’t even related to an assignment—it was just something she wanted to know how to do because she could see a need for doing it. I note this because what she asked is something that people who are actually in web development as a profession seem not to understand—how to make it so she didn’t have to use the same HTML over and over again for things like menus or headers or footers, because what if she wanted to change something? Wouldn’t she have to make those same changes over and over? Yes. Yes, you would. And that is annoying and a waste of time. So, kudos to Marci for asking that sort of question.

I scribbled some things on paper and sent her along her way, but that wasn’t a very thorough explanation. Hopefully this post will be a better one.

I’m going to talk briefly about:

  • a server-side include (SSI) solution
  • a server-side scripting (such as PHP, ASP, JSP) solution
  • a client-side solution (JavaScript)
  • a client-side solution (IFRAME)

These are in no particular order, especially given that my preferred method of doing this is a PHP-based server side solution. Also, this is not comprehensive information; it will be enough to get you started and should be enough to get you to ask a smart question if you need to.

Continue reading

Asking Questions the Smart Way (in tech)

I am currently co-teaching (with Dr. Kristin Arola) ENGL/DTC 356: Electronic Research and the Rhetoric of Information. We are asking our students to do things with technology they aren’t used to doing, and thus (and appropriately) we are often answering tech support types of questions. I am happy to answer questions because, well, it’s what I do, but mostly I like answering questions because it shows that the students care at least a little bit about what they are doing or being asked to do. I think we all know that “caring” is not often the case in some classrooms.

Questions, for the most part, have been good ones—either specific enough that we could answer them quickly, or honest enough (as in “I have no idea what I’m doing, or the terminology to use, so can I just show you?”) that spending the time doesn’t feel like wasted time. Being the long-time geek that I am, I immediately thought of assigning Eric Raymond’s “How to Ask Questions the Smart Way”—although the earliest date on this is 2001, I swear a version of this has been around longer, like from the days of USENET and a world connected through majordomo-controlled mailing lists. But that’s neither here nor there—I’m just showing my age.

Because we’re gearing up for a fairly technical final project in that class, I thought I would point out some of the finer points of this piece. I also encourage all the students to read it in its entirety, especially if they plan to go on in a related field.

Continue reading