Greg Wilson Angel: "People who don't care about anything will never understand the people who do."
Hamilton: "Yeah, but we won't care."
Dec 27, 2015 Maybe I Actually Am An Engineer
The following exchange (lightly edited) took place on Twitter a few days ago: Titus Brown: bash is disastrous for pipelines! very hard to rerun entire analysis from bash script. Titus Brown: I want/we need dependency management in scientific computing workflows & pipelines. bash doesn't provide. Lorin Hochstein: I am always saddened at the poor state of scientific workflow tools. Isn't that why we invented computers? Konrad Hinsen: We use completely inadequate tools and notations for computational science. Titus Brown: nothing personal, but I'm wary of you & Greg Wilson when you make comments like this. Titus Brown: you're not wrong,...
Dec 18, 2015 Why I Teach (Revisited)
When I first started volunteering at the University of Toronto, students occasionally asked me why. This was my answer: When I was your age, I thought universities existed to teach people how to learn. Later, in grad school, I thought universities were about doing research and creating new knowledge. Now that I'm in my forties, though, I've realized that what we're really teaching you is how to take over the world, because you're going to have to one day whether you like it or not. My parents are in their seventies. They don't run the world any more; it's people...
Dec 11, 2015 Teaching in Cambridge
I ran a three-hour class on teaching as part of EuroSciPy in Cambridge this summer; the video is available online.
Dec  6, 2015 My Literature Problems
Problem #1 A couple of years ago, I put together a bibliography of research into the software engineering aspects of scientific computing. I'd now like to find all papers published in the last five years that reference anything in the existing bibliography. As far as I can tell, though, the tool I want doesn't exist: I can ask for references to a particular paper, but there's nothing that will take a set of several hundred, grow the reference graph, and sort by relevance. If you know of something, please give it a try and let me know how it does:...
Dec  6, 2015 Just Keep Swimming
I had a conversation a few days ago with a young colleague who said (basically), "Nothing I do ever seems to take off the way your projects do." Coincidentally, Dan Luu's What's Worked in Computer Science landed on my screen just a couple of hours later. In it, goes through a list that Butler Lampson made in 1999 and points out that, "...every Yes from 1999 still Yes today, seven of the Maybes and Nos were upgraded, and only one was downgraded." It's inspiring to see that good ideas do win in the end, but still a bit disheartening to...
Dec  6, 2015 How the Year Went
I wrote a post on New Year's Day about things I probably wouldn't do this year. Here's my score card: Turn Software Carpentry into a book: nope, didn't get to it (though we did publish our lessons). Turn the instructor training course into something other people can read and understand: huh—it actually happened (kind of). Finish any of the fiction I've been working on: nope. I tidied up Beneath Coriandel (again), but it still needs major surgery to fix some gaping plot holes before it's worth publishing, and I didn't touch the others. Write a textbook: nope. Start playing the...
Nov 29, 2015 Does the Stage Create the Actor?
A lot of coding workshops have sprung up in the last ten years, ranging from one-day events to teach people the basics of HTML to months-long internships designed to turn participants into professional programmers. Having just had yet another stranger solve yet another problem for me on Stack Overflow, I'm wondering: to what extent are Stack Overflow and similar sites responsible for the creation of these workshops? SO is a way for people without degrees and other certifications to show what they know; without it, would people be quite so keen to take part in unofficial training?
Nov 28, 2015 Exaptation and the Future of Software Engineering
Back in the 1980s, we knew that software engineering was going to become mathematically rigorous like electrical and civil engineering. Where they used calculus to figure out an antenna's gain and whether a dam would stand up, we would use logic and discrete mathematics to prove that programs were correct. That obviously hasn't happened, and isn't going to any time soon1. However, I think software engineering actually is going to be mathematized over the next few years. It's just not going to be the discrete math that we expected; instead, it's going to be statistics, and instead of proving programs...
Nov 22, 2015 How I Handle Email
These are a couple of folders in my personal mail account: and these are a couple of folders in my work account: That comes to about 120 messages a day, every day of the week, and those are just the ones I bothered to archive. Here's how I manage it: Always do an hour's work in the morning before checking email at all. Don't leave email running in the background: turn it on, do a sweep (below), then turn it off. If you want to send an email in the middle of some other task, leave yourself a note in...
Nov 20, 2015 Advances
Alfred North Whitehead once said that civilization advances by extending the number of important operations which we can perform without thinking about them. I've recently realized that something similar is true of organizations and email: the surest sign of how far Software Carpentry has come in the last 12 months is that I now only need to respond to forty or fifty of the Software Carpentry-related messages that land in my inbox every day, rather than all 200 or so. It's actually quite wonderful.
Nov 16, 2015 Catch and Release
Edible fish are getting smaller every year because we catch and eat the big ones, taking the genes for large size out of circulation. This has been going on for centuries; each generation grows up thinking that their increasingly-impoverished ocean is normal because they never had a chance to see what it used to look like. As I was writing up this list of projects for Software Carpentry, and revising this talk, I started to wonder if was why so much of academic research and Silicon Valley alike seems so... small. Universities and corporate research labs are supposed to be...
Nov  9, 2015 Daddy, Why Don't You Ever Laugh?
We were eating dinner last Friday night when my daughter asked me, "Daddy, why don't you ever laugh?" Coincidentally (or perhaps not) I had just finished reading Jesse Noller's post A Lot Happens, in which he said: You can't be emotionally all in on everything. You can't make another 24 hours appear to be "present" for everything... I stole time and ran my emotional credit card like it was limitless. I stole time from my family, from work, from everything. In a companion piece written a month later, he showed the price of being "all in" by turning this classic...
Oct 23, 2015 Our Stairs
Oct  9, 2015 Teaching in the Large
Acccording to Wikipedia, the terms "programming in the large" and "programming in the small" were coined by Frank DeRemer and Hans Kron in 1975 to describe two very different approaches to creating software. Programming in the small is where everyone starts and most people remain: with code that is small enough for one person to understand. By contrast, programming in the large describes the construction of systems that need to be engineered as collections of subsystems. I wonder if it's possible to make a similar distinction between teaching in the small and teaching in the large. I don't mean "teaching...
Sep 26, 2015 Plus Ça Change
I gave this talk at SciPy'06. A few things have changed since then, but it's suprising how many haven't: Higher productivity still gets more people into the room than correctness or reproducibility. "How to publish" was as absent then as it is now. (Figuring out what to teach about publishing science in the 21st Century is pretty close to the top of my to-do list these days.) I'm still an awful graphic designer. The biggest thing I notice, though, is that there was no mention of how to teach. It would be another three years before I encountered the literature...
Sep 22, 2015 Goodbye, Dad
At the end, you think about the beginning. I remember being at the beach one summer, seeing my dad dive into the lake off a log boom and thinking, "I didn't know he could swim." I remember him laughing 'til he cried as we drove down to Victoria listening to a sketch on CBC Radio about two out-of-work English teachers turned bank robbers arguing over the wording of the hold-up note. I remember him trying to explain what "squared" and "cubed" meant one warm summer evening, and the smell of his cigarettes, and how he gave me piggy-back rides up...
Sep  6, 2015 Unwritten and Undone
Every few years, I indulge in a bit of sympathetic magic by writing reviews of books that don't actually exist in the hope that it will inspire someone to write them. Previous versions written in 1997, 2003, 2009, and 2014 led to Beautiful Code, Making Software, The Architecture of Open Source Applications, and most recently 500 Lines or Less, which is now in early release. Writing these wish lists has helped me figure out what I think our field needs and how best I could contribute to it. While most of the books I've described in the past are still...
Jul 20, 2015 Git as GOTO
I am not a fan of Git. While some people may find it intuitive, I consider it one of the most complicated programs I have ever tried to teach. Some of that complexity comes from its inconsistent command syntax and needless jargon, but I realized a few days ago that there's a deeper cause. To explain it, I have to go all the way back to March of 1968, when Edsger Dijkstra's article "Go To Statement Considered Harmful" appeared in Communications of the ACM. In it, Dijkstra argued that arbitrary use of the GOTO statement led to programs that were...
Jun 19, 2015 Their Names Were
Cynthia Hurd was a public library manager. Clemena Pickney was a church pastor and state senator. Ethel Lee Lance had worked in the church for years. Depayne Middleton Doctor had worked for the government before retiring. Sharonda Coleman-Singleton was a speech language pathologist and part-time pastor. Daniel Simmons Sr. was a retired pastor from another Charleston church. Myra Thompson was there to attend a Bible group. Susie Jackson had belonged to the church for years. Tywanza Sanders was just 26, and graduated from university two years ago.
Jun 14, 2015 Reverse Engineering CSS
Software Carpentry's lessons are written in Markdown, then transformed into HTML using Pandoc which is styled using Bootstrap with a bunch of custom styles layered on top. For a bunch of historical reasons, we translate Markdown that looks like this: > ## Learning Objectives {.objectives} > > * Learning objective 1 > * Learning objective 2 into sections that look like this: <section class="objectives panel panel-warning"> <div class="panel-heading"> <h2 id="learning-objectives"><span class="glyphicon glyphicon-certificate"></span>Learning Objectives</h2> </div> <div class="panel-body"> <ul> <li>Learning objective 1</li> <li>Learning objective 2</li> </ul> </div> </section> We'd like to simplify the HTML we generate to be: <blockquote class="objectives"> <h2>Learning Objectives</h2>...
...more
comments powered by Disqus