Alex Clemesha wrote a blog post back in 2009 that points to 3 elements of the Python ecosystem that I’ve made part of my toolbox that if you haven’t read, is worth a read: “Tools of the Modern Python Hacker: Virtualenv, Fabric and Pip”. I’m pretty sure that without these 3 (and Jenkins/Hudson), recent projects of mine would have been far more complicated to accomplish with teams that have been variable in size from day to day. They reduce complexity, and like Maven on the Java side, I wouldn’t want to do a project in Python without them now.
“Change by Us Philly” recently launched in beta, part of the “Change By Us” effort started by “CEOs for Cities”, “Local Projects” and “Code for America” and is funded by The Knight Foundation and The Rockerfeller Foundation. It describes itself (and lives up to it!) as “an online marketplace for community projects that allows you to share ideas for making the city better, and to turn those ideas into projects that have real impact. From tools to network and manage events to helping you connect with local resources, the site supports a number of ways to get involved.” Check out the ideas posted, get involved in making one happen, or share your own.
For more on getting involved with the site, check out OAPCivicFusion on Google Groups.
John D. Cook, in a short, poetic post, describes how experts end up where they started, as beginners, and why, in his blog post “Coming full circle”. A few folks in his comments thread make the connection with Zen’s concept of “Shoshin”, the Beginner’s Mind, and it does, but I hear echoes of another journey just as strongly.
YouTube: “The Hero’s Journey / Monomyth”
Actually, this post will feature a few reads and resources for you that are part of a theme – the need to change K-12 education to face the realities of today and tomorrow, instead of preparing them for a world that has already turned. To do so will require children to gain a working understanding of the use of, and creation of, software. This is as important today as reading, writing and mathematics and it helps provide invaluable tools to build on, and strengthen, those foundational parts of children’s education.
Google Edu serves a terrific resource for educators and students that brings together many of these concepts – “Exploring Computational Thinking”. The lesson plan includes Python exercises that help illustrate computational thinking while strengthening math skills.
Why this is important
Over 10 years ago Lawrence Lessig exclaimed, “The Code Is the Law”, and in a series of articles, presentations, and an influential book spread the idea among the digerati, but interestingly enough, those outside of technology didn’t adopt the idea as a truism.
Douglas Rushkoff recently released his most recent book, “Programed or be Programmed” that took the concept further and declared a course of action for future educators.
Kevin Slavin: Kevin Slavin: How algorithms shape our world:
Matthew Ericson of the New York Times (and former co-worker of mine) put together slides of his recent presentation at AIGA Pivot. The presentation must have rocked because the slide deck, while short on details, is rich in thought provoking: PDF.
For a recent example from his team, check out today’s interactive on the Euro debt crisis.
One of the highlights of Bob Martin’s recent TDD class at Comcast was watching him use tests and a set of transformation patterns to evolve and transform code to eventually achieve its aims. By using a set of refactorings he called Transformations, you not only get to something that works, it will be easier to maintain, modify, and use.
Tim Bray: “DMR, 1941—2011”
A post to mark the passing of someone not so well known outside of technology, that should be, because so much of what they use today is founded upon his work. We owe so much to him.
Jean-Baptiste Queru, on his Google+ profile, posts a poetic and doozy of a post, “Dizzying but invisible depth”:
Today’s computers are so complex that they can only be designed and manufactured with slightly less complex computers. In turn the computers used for the design and manufacture are so complex that they themselves can only be designed and manufactured with slightly less complex computers. You’d have to go through many such loops to get back to a level that could possibly be re-built from scratch.
Once you start to understand how our modern devices work and how they’re created, it’s impossible to not be dizzy about the depth of everything that’s involved, and to not be in awe about the fact that they work at all, when Murphy’s law says that they simply shouldn’t possibly work.
For non-technologists, this is all a black box. That is a great success of technology: all those layers of complexity are entirely hidden and people can use them without even knowing that they exist at all. That is the reason why many people can find computers so frustrating to use: there are so many things that can possibly go wrong that some of them inevitably will, but the complexity goes so deep that it’s impossible for most users to be able to do anything about any error.