me code good somedayHello. My name is Dylan McNamee.
I care about about Science, Math and Engineering education ...It's been great to see enrollments and popularity bounce back from their lows in the mid-to-late 2000's. My hope is that people pursue careers in these areas out of a sense of wonder and enthusiasm -- and not because "that's where the money is."
Encouraging diversity in STEM is important to me. Three of my sources of inspiration (on that front and beyond) are Claire Evans, Vi Hart and Emily Graslie. Of course, there are less visible heroes being role models and leaders just doing their thing all over. Yay!
Things I've done towards this: in Winter 2008 I organized a math circle in my daughter's school. In 2010 I volunteered to help OMSI reach out in this area. The project I helped with became Design Zone. In 2011 I started a "math club" after school on Fridays. Other parents and I help the students use the Khan Academy, MIT's Scratch, play math-y board games and other activities (like Modular Origami and Hexaflexagons) - it is well-received, and amazingly well attended.
Since retiring from Galois, Inc. in mid 2016, I have been writing a CCC-licensed Book about Cryptography, Math and Programming. I'm targeting it at 9th - 12th graders, and have had some encouraging early feedback.
From 2017-2019 I was a visiting professor of computer science at Reed College. I had a great time learning and teaching amongst an amazing community.
Inspired by my return to teaching, my next project is to write a CS 200-level textbook that uses the Rust programming language. I think systems programming languages (like C & C++) are a great way to begin to understand how computers work under the hood, and are the right tool for implementing many critical systems. However, in the 21st century, I think Rust is a much safer tool to build critical systems. Figuring out how to bridge the gap between CS 100-level Python expertise and Rust is my current challenge. It's been fun already!
My blog is where I'm recording works in progress, and is updated more often than this website.
As part of our efforts to help slow climate change, my family has two electric vehicles - one for jaunts around town, and another for long-distance trips. We also pay our utility an extra amount to prioritize renewables (which in Portland is hydro and wind power). We're also being more intentional about air travel (by making sure our carrier buys offsets, for example).
I am sympathetic with the author of this blog post, "Promise of change without changing at all: The electric car as a talisman of false hope" - just changing what kind of vehicle we commute in is not sufficient to affect climate change. However, not doing at least that is giving up. For our part, my family rides bikes for most of our daily business. We have also reduced our meat consumption significantly. I'm not advocating everyone do the same, but it's made a lot of sense to us. I do advocate that everyone be intentional about their choices.
I Think Video Games Are Important
Demos I gave:
Here's a link to balldroppings
Here's a link to Bridge Construction Set
I Enjoy ProgrammingI'm currently head-over-heels in love with Rust. It's the systems programming language I always wished I had. Manual memory management with compiler-checked safety is a revelation. The Rust community is also really helpful and welcoming. I also want to learn Kotlin, and rewrite Cheap Impostor (see below) in Swift.
I wrote Cheap Impostor because I wanted to make booklets, books, and magazines out of PDF files I created myself, as well as from web pages and downloaded manuals, etc. I learned that "imposition" is a prepress process that consists of reordering pages and n-upping them so that larger sheets of paper can be sliced and folded and turned into books or magazines. Cheap impostor does a simpler version of this, just 2-up, but it does do either books or magazines. I decided to release it shareware, and the response has been very gratifying.
I love software toys, the paragon of which was the original SimCity. Kapwing is a simple pure-java toy I wrote, inspired by balldroppings, but more controllable. Right-click on a paddle to control which MIDI note and channel a ball collision causes. I haven't touched it in a long time. I apologize for the fullscreen-only interface. On MacOS X, it used to make sounds by default, but now you have to right-click on a paddle and change the MIDI device.
Things I think are coolI'm in constant wonder about how amazingly powerful todays computers are. Every time I pick up my laptop I feel the power of an entire recording studio (including every synthesizer ever made), a 1983 arcade plus games that would be unimaginable back then, a supercomputer capable of simulating complex systems, and a workstation with every development tool and language I've ever dreamed of (plus many I'm not imaginative enough for yet). It's daunting and thrilling at the same time.
The spirit of creative mayhem in Phrack and 2600 magazines lives on in the wonderful new PoC||GTFO online magazine. This latest issue is both a bootable Operating System and a readable PDF file. I love that each article both shows you something amazing (like an MBR/PDF polyglot), and then teaches you how to do it yourself.
Work to eat, eat to live, live to bike, bike to work
I like to ride bicycles. I love my custom Vertigo cross bike. I think Portland, Oregon is a wonderful place to live (but I fear many of its recent immigrants don't love it for the same reasons* I do).
Two sad passings
My father, Gerry McNamee, died in June, 2009. Since he had friends and family all over the world, many of whom couldn't join us in La Grande for his memorial service and wake, here is a modest online memorial. My step-dad, Charles Warren, died in July 2013. His memorial in Eugene was a wonderful gathering of friends and family. I miss them both greatly.
Footnotes* an example is folks who come here from over-developed regions, see huge "opportunities" for development, and lobby to change our hugely successful urban growth boundary