All posts by rwhite

OS Agnostic

OS Agnostic

by Richard White

2016-03-19

I try to be OS agnostic. I really do. I started out programming DOS PCs back in the day, made the switch to Apple’s Mac in the early 90s, and Apple’s OS X—based on Unix—was my gateway to Linux in 2005. I now have a number of Macs, three machines that run Ubuntu Linux, and two machines with a Windows installation on them.

I try to keep in touch with Windows. I have a few students who run it on their computers, and I try to pretend I support their OS.

It’s getting increasingly difficult for me to do so, given how annoying that OS is.

You Windows people, you know what I”m talking about.

i_hate_windows

Privacy, Security, and Encryption

Privacy, Security, and Encryption

by Richard White

2016-03-12

There are a number of conversations going on right now related to the ideas of privacy, security, and encryption. Three contexts:

  • Do government representatives (NSA, FBI, local police, etc.) have the right to access your personal information–metadata, phone calls, emails, etc.–without a warrant?
  • Does the FBI have the right to compel Apple to create software that will provide government agencies with access to information stored on Apple-manufactured hardware?
  • Was Edward Snowden wrong to make copies of secret documents and share them with journalists, with the intent of exposing what he viewed as government corruption?

All of these conversations are fundamentally concerned with the question of whether or not people have a right to privacy, and how hard the government has to work to “invade” that privacy.

There’s much to be explored here, more certainly than can be covered in a brief blog post. My talking points regarding the subject–my “elevator talk” when the occasion arises–include these:

Just about everyone agrees that people need privacy, and have a right to privacy. This is a documented psychological need–people need time alone, and act differently when they are alone. The United States of America, in its Fourth Amendment to the Constitution, includes federal prohibitions against “unreasonable search,” which has been interpreted to include a wide variety of forms of surveillance.

This need for privacy is not just psychological. Most people feel that financial transactions, including the ones that we all conduct with our own banks, should be protected. Indeed, financial transactions on the Internet *must* be private; if not, the communication structure of the Internet allows for those transactions to be viewed by others, “good guys” and “bad guys” alike.

Our world is digital now, and the means of ensuring digital privacy is encryption. Encryption is simply “math applied to information,” in a way that ensures the information can be accessed only by the intended recipient. Encryption is a means of making sure that things–my bank information, my personal information, my business transactions, my diary–can be private.

Some government representatives, including the FBI and most recently President Obama, are calling for mandated “backdoors” in certain systems that will allow the “smallest number of people possible” access to anyone’s private information.

This point of view is flawed, for two simple reasons:

  1. Exchanging private information is possible, and has been done for years, without computers and/or phones. Requiring a company to place a backdoor in an operating system doesn’t change the fact that any of us can freely exchange messages via that phone that have been encrypted by another means. Encryption is math, and you can’t outlaw math. Ultimately, backdooring doesn’t “protect us from terrorists.” It just violates our rights to unreasonable surveillance.
  2. Providing backdoors in technology fundamentally means that one is building in a means by which normal security mechanisms can be avoided. This system, by its design, also allows untrusted agents to avoid the normal security mechanisms once they’ve obtained the means to do so. There is no way to allow only good guys to bypass security. Bad guys get to use the same bypass.

    (One easy example: The federal government Transportation Security Administration suggests locking your luggage with TSA-approved locks: Your luggage remains secure, but allows them to access your luggage for inspection without having to destroy the lock. Only the TSA has the keys that will open these locks… until they don’t. Now your baggage lock has a backdoor that the bad buys know how to defeat.)

If you’re concerned about the consequences of giving child pornographers, Chinese dissidents, and the Russian mafia access to this same encryption, there’s no way around that. (Or maybe you DO want to protect the Chinese dissidents? You’re going to have to make up your mind.) Those people will need to be dealt with the same way they always have been: legal warrants for wiretaps, legal warrants for reasonable search and seizure. At the end of the day, weakening encryption doesn’t stop the bad guys–it only makes it easier for them to victimize good guys like you and me.

Decipher this secret message and I’ll give you $100.

U2FsdGVkX1+Z8Wx61sOSQghi2ANM0QfXVXJzM7tP5eo=

Other interesting articles on this topic:

Looking Back

Looking Back

by Richard White

2016-03-05

Those of us who use technology, who teach with technology, and who think about technology and its influence on society, enjoy thinking about what’s coming, what might happen in the future.

It’s interesting to take a look back every once in a while to see where we’ve come from. I’ve got a Motorola RAZR sitting in the bottom of a drawer in my utility closet. I’ve got a 1990 Macintosh Classic sitting in the attic, a 2001 Titanium PowerBook G4 in my utility closet, and a 2004 PowerMac G5 Dual Processor sitting underneath my desk at school, all currently unused. (I’ve had many other machines over the years, but these were iconic, and I keep them around for sentimental reasons.)

powermacg5_2cpus_open-100043320-orig

I’ve got a box of floppies with files of mine that I can’t use anymore, EXCEPT on that Classic, because the software companies that created those files, market leaders at the time, went out of business a long, long time ago.

designing_web_usability

I also recently stumbled upon a book of mine from 1999, Jakob Nielsen’s seminal Designing Web Usability. As a fledgling designer at the time—some might consider me still a fledgling designer—I devoured that book as gospel.

designing_web_usability_notes

I found some marginalia for that book that I’d jotted down on a Post-it. At the time, a 17-inch monitor was considered an outrageous extravagance, but Nielsen considered it an investment in one’s productivity, and I made a note to myself to get one. Cascading Style Sheets were new to me, and I jotted down a reminder to create a .css file for the websites I was developing.

It’s almost cute!

Things have changed since then, of course, to the extent that I sometimes question whether or not something as quaint as a printed book can usefully advise on something as dynamic as the World Wide Web. Since Designing Web Usability came out, the number of people using the web has (obviously) exploded: approximately 41% of Americans used the Internet in 1999, compared with 87% in 2014 (Pew Research Center). In 1999, the primary means of accessing the Internet now (smartphones), didn’t even exist. Since the book was published, advertising has changed the way we surf twice, with the appearance of Google’s “AdSense” in 2000, and with the increasing popularity of adblockers in 2015.

The fact that this book is no longer useful is in no way a criticism of its content. At the time it was perfectly relevant, and the web was evolving at a relatively slow rate.

And now? Now, our browser software is updated more frequently than most websites, and books about the current state of the our technological culture, for good or for bad, are in danger of becoming outdated between the time they’re written and the time they’re published. Books produced in smaller batches by smaller, digital-based publishers (see TakeControlBooks.com, for instance) have stepped in to fill some people’s need for printed matter.

But the logical conclusion to all of this seems to be consuming content on the machine or in the browser itself, no? From man pages in the Terminal to FAQ pages on websites, increasingly we learn about how to do thing from the very device that we’re working on. That seems reasonably clear at this point.

Just as with my old computers, I feel affection for my old books. There’s a texture to the pages, and a smell, and an experience, that a monitor, touchscreen or smartphone will never replace. (I gave a candle with the scent of “old books” to a friend for Christmas this year.)

And yet, the vast majority of those old books now occupy the same space in my life as the old technology: I think of them fondly, and take them out to look at once in awhile, but mostly I store them tucked away in a space in my life where they sit, remembered but unused.

Networking, and Staying Social

Networking, and Staying Social

by Richard White

2016-03-01

I’m fortunate to work at a school where the faculty are very collegial. Even where there is occasional departmental or teacher-teacher friction, we tend, by and large, to get along. You might chalk it up to our “Welcome Back” and end-of-year dinner parties… or maybe it’s the post-faculty meeting margaritas that they serve us occasionally. Whatever the reason, I see a lot of personal and professional cross-pollination going on.

This kind of networking requires both time and an individual willingness to be open: to people, experiences, and possibilities. I often find myself locked up with lessons to create, labs and projects I want to design, and always, always, a pile of papers to grade. Finding the space for interactions with others necessarily means setting some of my work aside, at least for a little while.

This past August, for example, I should have been deep into prepping for the coming school year, but two of my English department colleagues had put together a weekend workshop on Transformative Teaching and Learning, to be offered at an open workspace in downtown Los Angeles. It was a great weekend with a diverse group of teachers, and if none of what we did was completely germane to my own subject area, I had the opportunity to reflect on other aspects of my teaching.

Oh, and did I mention the fact that I got to network with some of my colleagues in a stress-free environment? :)

One of my favorite things about networking—in addition to the inherent pleasure of socializing—is the fact that unexpected opportunities often arise as a result. A few months into the school year, one of the English teachers with whom I’d connected at the summer workshop approached me. “Hey, I’ve been asked by the school to write an article about language, and I wanted to talk to you about that.”

Insert confused looks here from the Physics/Computer Science teacher.

Language?” he said. “As in computer languages?” You’re a Computer Science guy, and I want to talk about language from a very global perspective!”

Huh. I’d never thought of that.

Next thing you know, I’m minding his infant daughter at a nearby pub while he grabs a couple of beers for us, and before long we’ve launched into a conversation on the role of language in various contexts.

And a month or two later, I found myself mentioned in his feature article in the school’s semi-annual publication:

Lighting up about language: Authoring across the curriculum

by Nathan Stogdill, in the Oak Tree Times, Fall-Winter, 2015

… Richard White sees a similar form of authorship in his AP Computer Science classes, where students create their own programs through syntax and conventions of coding languages. Like seventh-graders writing haiku or ninth grade math students telling the story of their solutions, his students have an outcome in mind and must work within the constraints of a specific language or instruction set to achieve that outcome. But there is creativity within those constraints, and the outcome is not assumed. Sometimes when the program is run, it does the unexpected. These surprises are exciting moments for White and his students: Like authors discovering new meanings through the process of writing, they find that they have created new things that they never intended, and they are able to learn from them.

Nathan makes me sound a lot smarter than I am, but I never turn down free publicity…!

Teachers tend to get pretty busy, and it’s easy to find one’s self spending a lot of time alone, frantically trying to keep up with our obligations. We take our jobs seriously, and we have high expectations, of our students and ourselves.

I believe that taking a little time off, however, benefits us in important and unexpected ways. Take a moment today or tomorrow to put your grading down, get out of your classroom or office, and stop in for a chat with someone. Go visit someone’s classroom for a few minutes. Check in with one of your admins.

You never know what might happen as a result!

140 Characters Is Not Enough

140 Characters Is Not Enough

2016-02-28

by Richard White

I’ll confess right here, I’ve only really ever been a lurker on Twitter. I’ve got a couple of accounts there, and I follow a few people, and appreciate the spontaneous ebb-and-flow of some conversations, memes, tropes, movements, and revolutions.

I’ve also watched in horror as a hashtag “blows up” while the Internet—bored, and starving for something, anything to frenzy-feed on—zeroes in on a statement taken out of context, an offhand comment that unknowingly became co-opted as a sound-bite for someone else’s rant or cause célèbre.

I love the Internet and its nearly perfect ability to act as a vehicle for a truly democratic and representative communication tool… and Twitter has come to embody the very best and worst of that communication.

At least part of the problem has to do with the simple fact that 140 characters, the limit on the length of a Tweet, is just enough to present a statement, and not nearly enough to provide context, support, or any significant development of that idea.

Taking things out of context isn’t a problem unique to Twitter, of course, but the 140-character limit of the medium practically demands it.

A quick, easy example: It’s not uncommon to hear a teacher at my school say of their students, “I love my students.” I have said, in chiding my students for a momentary lack of attention, said something along the lines of, “I love you guys, and I want good things for you. Let’s get back to work, shall we?” Is it a surprise to hear that teachers love their students? Of course not. Is that something that could be taken out of context on Twitter?

Ummmmm, yeah. Of course it can.

Another example of risk, as quoted by Audrey Watters in her op-ed piece Is Twitter the Best Online Source of Professional Development?:

Steven Salaita, for example, had his tenure-track position at the University of Illinois Urbana Champaign rescinded after the university disproved of his tweets in support of Palestinians.

As Bonnie Stewart argues, “The threat of being summarily acted upon by the academy as a consequence of tweets – always present, frankly, particularly for untenured and more vulnerable members of the academic community – now hangs visibly over all heads…even while the medium is still scorned as scholarship by many.” While there are efforts to encourage educators and students to participate in the public sphere, via tools like Twitter, it’s clear that there are also risks in doing so, particularly if what’s being said fails to conform to certain “community standards” or certain notions of “civility.”

I have actually used Twitter on occasion, including several sessions acting as a “Twitter correspondent,” and have had a couple of my tweets removed by the person who was responsible for making sure those messages were in keeping with the guidelines of the organization. It was an interesting experience, to see my work edited in such a fashion, and it was a great reminder (if one was needed) that others read tweets and interpret them as they will. (For the record, I didn’t find anything offensive in those tweets, but it wasn’t my account I was tweeting under, so I accept the edits.)

But my takeaway from that experience and the experiences of others (see How One Stupid Tweet Ruined Justine Sacco’s Life, and Too Many People Have Peed in the Pool for two examples), is simply to not use Twitter. I have a number of other communications tools that I am free to use with friends, family, and co-workers, and I have no need to recruit followers, nor to deliver pithy, entertaining, or even useful comments to the universe.

Some educators may find that tweeting is a rewarding experience, and I absolutely do enjoy reading the tweets of some of my colleagues. For myself, however, I find the personal / professional risk of tweeting to be unacceptably high.

One last warning, courtesy of Catherine Garcia, published on August 25, 2015 at TheWeek.com:

Former MLB pitcher and current ESPN baseball analyst Curt Schilling was reprimanded by the network after posting a questionable meme on Twitter.

On Tuesday morning, he tweeted a meme featuring an image of Adolf Hitler with the words: “It’s said only 5-10% of Muslims are extremists. In 1940, only 7% of Germans were Nazis. How’d that go?” Schilling added his own commentary, the Los Angeles Times reports, writing, “The math is staggering when you get to the true #s.” He deleted the tweet 10 minutes later.

Not long after, ESPN announced he would no longer be covering the Little League World Series. “Curt’s tweet was completely unacceptable, and in no way represents our company’s perspective,” the network said. “We made that point very strongly to Curt and have removed him from his current Little League assignment pending further consideration.” Schilling returned to Twitter to take responsibility, writing, “I understand and accept my suspension. 100% my fault. Bad choices have bad consequences and this was a bad decision in every way on my part.” The lesson here is simple: Don’t use Twitter.

Do you use Twitter? Do you use it in your capacity as an educator? In which direction does the Risk/Reward balance tip for you?

Communication Breakdown

Communication Breakdown

by Richard White

2016–02–21

It’s not just an awesome song by Led Zeppelin—it’s a topic that has become of some concern in my teaching, particularly as more channels of communication have opened up.

A quick inventory of communication devices that I access during the course of a school day includes my mobile phone, my Apple watch, and my work phone (which doesn’t ring very often, thankfully), and most heavily, my computer, which is the focal point for most of my chatter.

But the channels that have access to those devices are truly astounding, and literally impossible for me to reasonably monitor. My “communication feeds” include:

  • mobile phone calls
  • texts (monitored with mobile phone and computer)
  • emails (6+ accounts continuously monitored with mobile phone and computer)
  • personal calendar (continuously monitored with mobile phone, computer, and watch)
  • websites (3) I maintain for students in my own classes
  • other websites related to my profession, including the one you’re reading right now
  • the school’s internal website
  • the school’s attendance interface
  • work calendars (4 separate ones): daily, junior and senior test calendars, homework calendar
  • work calendars (2 separate ones, for students, posted on course websites)
  • SFTP software (Panic’s Coda, for updating websites)
  • RSS feeds
  • Facebook (monitored rarely, almost never used for outgoing communication)
  • Twitter (monitored occasionally, almost never used for outgoing communication)
  • Skype / Google Hangouts / GoToMeeting (used on an occasional basis)
  • GitHub for storing repositories
  • Presentations (LibreOffice’s Impress, Microsoft’s PowerPoint) for delivering content to students and peers
  • Terminal windows open on the computer (multiple), which require a whole sub-section themselves:
    • to-do list
    • ssh sessions to the server maintained for computer science classes
    • text editors, for grabbing notes in an “Evernote” fashion
    • git version control for software projects

You are probably in a similar situation. If you don’t have as many websites or Terminal windows as I do, I’ll bet you more than make up for it with the time on Facebook (you can admit it—I won’t judge you) or the time you spend enjoying your family. Let’s face it: we’re all busy.

One of my challenges as a hybrid teacher is developing in my students the ability to manage some of these channels. My students keep up with the most important elements of class via the website or the school’s course calendar, but even then, I email them on a semi-regular basis to remind them of especially important items. And students in my computer science courses submit assignments to a server, a new channel for them that some of them occasionally struggle to manage.

Our students are young and adaptable, but also easily distracted. As we ask them to incorporate new channels into their lives—subscribe to my Twitter feed! Watch this YouTube video for my flipped class!—are we helping train them for other classes, for university, for work? Or are we tempting them with more distractions?

I pose this question as I consider whether or not to introduce them to Slack, a team-based online communications tool that has taken the tech industry by storm. (I’m not just trying to be cool: Slack has the potential to give my students access to their instructor and each other, so questions can be answered sooner rather than later.)

I ask these questions as I develop curriculum for an Advanced Topics in Computer Science course that will leverage GitHub for distribution of class materials and for submission of coursework.

I consider these questions as I write this blog post at the computer while a large pile of important work—grading my students’ most recent test—sits over on the coffee table, waiting for my attention.

Where do you lie on the communications spectrum? I’d be interested to hear…

SCaLE14x

21-24 January 2016

This weekend, the Southern California Linux Expo came to Pasadena. I’d met my brother Kevin at SCaLE 12x at the LAX Hilton two years ago, but the convention had outgrown that hotel, and a tech-friendly Pasadena councilmember thought that bringing them here to the Pasadena Convention Center would be a good idea.

It was. There were 3000+ hardcore geeks who descended on the town for the weekend.

You know it’s a Linux convention when the nervous nerd walking on the sidewalk looks up at you, takes note of your event badge, and actually says ‘hi’ to you.

On Saturday, Jan 23, eleven students from Polytechnic School—M Yen, K Callero, M Flannery, G Hashimoto, C Hicks, D Magsarili, J Wong, M Xu, C Strassle, M Berke, and J Lang—attended the event, including the SCaLE Youth Track, various other sessions, and the Expo. We learned about the Open Source movement in general, Linux in particular, and met some great people.

It was awesome.

Since the Expo:

  • I’ve been contacted by multiple parents saying how much their kids enjoyed the event, and asking for further info/opportunities like this.
  • I’ve been in email contact with Tom Callaway about a new CS course I’m writing.
  • I appear to have stumbled into a mentoring relationship with a local teacher-in-training with whom I struck up a conversation while leaving Callaway’s talk Sunday morning.

Photo Jan 23, 14 55 47

Southern California Linux Expo comes to Pasadena

Photo Jan 23, 13 15 43

The Hewlett-Packard Pavilion

Photo Jan 23, 11 43 04

Poly student, hoping to win a penguin

Photo Jan 23, 14 18 11

Roaming the Expo

Photo Jan 23, 14 26 29

Poly students grill the System76 representative

Photo Jan 23, 14 18 04

Poly students getting the sales pitch

Photo Jan 25, 16 40 27

Mr. White’s swag

We’ll definitely be back.

Welcome Back (to me!)

Hi, everybody.

You’re forgiven for not hanging around to see how things have been going here. I’ve been gone for far too long, but I’ll plead “Real Life Happens” and let it go at that. I’ve been extraordinarily busy, and happily so, with a long list of things that I’ll be sharing with you over the course of the next couple of months.

This includes:

  • Teaching an overload the first semester of the school year, during which half of my classes were Physics and half were Computer Science;
  • The development of a new Computer Science curriculum for my school, Advanced Topics in Computer Science.
  • The slow-but-steady consideration of what direction Technology and Computer Science programs will take over the course of the coming years (as far as I can tell, anyway).
  • A reconsideration of the primary topics of interest for this website/blog.
  • A consideration of the “Own Your Own Domain” movement.
  • A consideration of Content Management Systems / Static Site Generation
  • A discussion concerning Edward Snowden
  • Rumination on Twitter and email as communication media
  • A report from the field regarding a student field trip to a Linux conference in southern California.
  • And other topics too numerous to mention.

We’ve got lots to do, eh?

Let’s get started! :)

Gettin’ all Responsive

Gettin’ all Responsive

Richard White

2015-08-26

One of my projects this past summer was to convert most of the websites that I have to a *responsive* design: a single HTML file, with it’s accompanying CSS, will format the content of the webpage in a manner befitting the dimensions of the browser window that’s viewing it.

The browser window dimensions are part of the story, but the real reason you want to do this is to accommodate the different types of devices that people are using to view your site on. Increasingly, tablets and phones are responsible for a surprising amount of web traffic, and the responsible web designer wants to satisfy those visitor with content that is easy to view.

Is this a thing?

How much traffic is mobile-based? Well, here are the results published by Jon Gruber of Daring Fireball for visitors to his own site.

most-important-mobile-vs-pc

For my own LearnAPphysics.com, 68% of my visitors still come in using a desktop browser of sorts, but that means almost a third of them are using a tablet or phone of some sort. It’s in my interest to make their experience a good one.

How do you make a site responsive?

The technical solution to making a website responsive is simply to include some additional code in a CSS file that describes how different `div`s on the site should behave under different conditions. Perhaps the `header` div will be left-justified on the wide screen of a desktop browser window, but that same `div` will be centered in the smaller width of a cellphone screen. A graphic that fits nicely onto the landscape view of a desktop might not appear at all in the cellphone version of that same window. All of these options are defined by the CSS file.

How do you design a responsive website?

Well that’s the real trick, isn’t it? This HybridClassroom.com website uses a WordPress template that I’ve selected, and there’s a simple interface that allows one to enter text in, and that text then is populated in the fields of the template. I don’t have to do much work beyond writing the text itself.

But the template itself isn’t responsive. WordPress almost certainly *makes* a responsive template that I could use for this site, but I haven’t yet found it and installed it here. Maybe I’ll do that after I get done writing this blog post. ;)

If you’re “rolling your own” website—highly recommended if you have any inclination at all—then you have the power to design your site however you wish, and you already know that design is an incredibly deep and complex topic. But maybe you’ve been doing that, and you’re ready to jump into trying to adapt your design so that it will work on a mobile device?

You could, but it’s far easier to follow Google’s advice and create a new webpage from scratch, in a “mobile-first” vertical design that leverages a smartphone’s portrait mode. Once you’ve done that, you can rearrange the pieces to fit a more standard landscape desktop browser model.

That’s exactly what I ended up doing with most of my websites, and I’ve been very pleased with the results. You can check out the work at LearnAPphysics.com or crashwhite.com/apcompsci. Load either site up in your desktop browser and try resizing the window until it is as small as it will go. You can also visit the sites on a smartphone and compare what you see there with what you see on your desktop machine.

Welcome back for another school year! And now, I’m off to find a responsive template for this website!

Inspiring Students

INSPIRING STUDENTS

2015-03-07

by Richard White

Earlier in my teaching career I worked at a high school that had a depressingly low rate of its graduates going on to college. It’s the desire of every teacher to encourage students to continue their learning, and while that doesn’t necessarily mean college for everyone, for most people it should. Encouraging my students to apply themselves and to strive for something big was a noble challenge, and an exhausting one.

At my current school, I have the benefit of getting to work with a different population, and one that is almost always appreciative of the advantages that they’ve been afforded in life. In addition to taking full advantage of the opportunities they’ve been given, some of them push even farther, and in so doing, inspire me to be better myself.

apcs_project

A couple of days ago, I received this email out of the blue from a student who’d graduated last year:

Hi Mr. White!

In my CS106A lecture right now, and we’re learning about passwords. Reminded me of that one time you spent physics class telling us to back up our hard drives and how to make passwords :) hope everything’s going well at Poly!

The next thing I did, of course, was search for the website for Stanford’s CS106A course to see how what they were doing compared to what I do in my own CS courses, and three hours later, I’ve got some new ideas to consider for how I run things next year.

It wasn’t this student’s intention to provide me with an opportunity to reflect on what I’m doing—she’d just wanted to say hi, and I appreciated that and responded in kind. But it was the perfect excuse for me to see what my former students are moving on to, and to reflect on how I might better prepare them for what awaits after they leave my care.

Another example: a current student has been working with me for a couple of years now, and after enrolling in his second computer science course in as many years, he approached me about the possibility of helping him with an idea he had for a Python program that would:

  1. allow him to enter the title of a song
  2. search YouTube for a recording of that song
  3. automatically download that song to his computer

There is certainly the possibility of making something like this happen, but it’s a bit beyond his (and my) skill set at this point. I couldn’t help him with this particular project… but I could prepare a couple of smaller programs that might provide some first steps along that path. I spent an hour or so setting up a Python program that would automatically send an email to someone from his Gmail account, and another one that checks a NOAA webpage to identify the current temperature, and then reports that temperature back to whomever is running the program.

These are relatively small programs, but for a new programmer, they’re the first step in writing code that interacts with the world outside his/her own machine. And thanks to this student’s request, I’m considering including a small project on this very thing as part of my own Introductory Computer Science course.

Teaching at my current school is a refreshing change from the days when I had to lead my students through classes that they had difficulty appreciating. Now, it’s often my own students, current and former, leading me in my ongoing goal of becoming a better teacher.

I’m lucky to be able to work with these young men and women.