Feeds:
Posts
Comments

Archive for the ‘Uncategorized’ Category

The latest trend seems to be reading what the rich and powerful read. I regularly peruse these lists of recommendations and occasionally an interesting title catches my eye. The Sixth Extinction by Elizabeth Kolbert is one of those books.

For a while now this book has been in my ‘highly parallel reading queue.’ This is to say that my usual method of reading consists of a bookshelf of a hundred or so books that I’m somewhere in the midst of reading. From this bookshelf, a subset of about 20 find their way to a smaller bookshelf. These will be read randomly a chapter or so at a time until I’ve worked my way through them and have to reload from the primary bookshelf. Occasionally, as with my last reviewed book, I’ll do a cover-to-cover in a burst, but that is the exception. I’ve got some books that I’ve been reading for the better part of 30 years (75% footnote material).

Needless to say, by the time I’ve finished a book there has been a fair amount of reflection and integration that’s taken place. The material in The Sixth Extinction is fairly heavy stuff. It’s not that the science is particularly difficult or that the writing requires you to keep a tablet handy for side exploration (I love side exploration). The thing is that if you have a decent understanding of the history of the planet (so far as we have come to understand it) and appreciate the impact that man can and does have on the biosphere, then by the time you finish the book, you’ll come away with a sense of profound sadness.

I’m a fan of John Brunner‘s work. He had a way of making the large scale personal. He also had a habit of killing off all his main characters within the first ten pages of his books (yes, this is a bit of hyperbole). In many of his works there is a sense that things aren’t going to work out, but you keep pulling for the hero anyway.

The Sixth Extinction is a methodical tour of the effects of the age of man (Anthropocene epoch). It takes us around the world, unblinkingly moving from one die-off in progress to the next. It puts a face and a context to each creature we’re introduced to. If the books thirteen chapters were made into a season of television, it would be the most stunningly depressing series ever. Whereas Carl Sagan‘s Cosmos appealed to our better nature and James Burke‘s Connections left us asking if we were any more than cogs, The Sixth Extinction ends with rats inheriting the Earth.

This may all sound like a bit of a downer, but it’s one of those mirror books that is a distinct departure from all the wishing that we lived back in 1950’s America or how can we become millionaires by eating the same breakfast as Warren Buffet or Mark Zuckerberg. We need to read books that show us the big picture. Otherwise, what’s the point of it all?

Many books on bad situations leave us with a call to action. Realistically though, the damage has been done. The question is one of how long it will take for all the dominoes to fall. For the vast majority of people, asking them to look further than their tribe is near unto impossible. Asking people to consider the planet, therefore, represents an intractable problem.

Read the book, if for no other reason than to come away with a greater appreciation of the impact of man on the planet.

Read Full Post »

The thing about teaching a class is that it can’t actually be done. You can only teach an individual.

I’ve been teaching since I was in middle school. Hard to believe, but true. That effort, to teach my younger sister (by six years) how to do addition was an utter failure. My next major outing was to create a one week segment for my 12th grade physics class on black holes, including a test. I believe that one fared better, although I don’t believe my endeavor to expose my classmates to then cutting edge cosmology was necessarily appreciated.

Throughout college, I was a TA and grader for various CS classes. I spent a summer a the Nature and Conservation director at a Boy Scout camp and two summers teaching programming to teens. By the time I entered the professional arena, I knew teaching (tech transfer) was in my DNA.

A decade ago, I worked for a company where teaching C++ was part of the job.

Fast forward to my current position. I’ve had the opportunity to create and present Modern C++ (C++14) training within my company. This has come in two flavors, one to jumpstart them into C++ (C developers) and one to bring them up to speed on the start of the language (C++98/03 developers). Both classes have about 15 hours worth of material.

The first challenge in teaching modern C++ is that of linearization. C++ has a wonderful breadth. Unfortunately, It can be challenging to present the material in such a way as to be both meaningful and at the same time not resort to appeals to Oz-ian “pay no attention to the man behind the curtain.” My success in this area I attribute to years of exposure to the materials of James Burke.

The second, far more interesting challenge, is hitting that Goldilocks zone where everyone is learning. Even when teaching C++ to C developers, there will be those who immediately take to its conceptual frameworks and there will be those who probably never will. It would be easy to cater to the former and simply write off the later as Luddites. Alternately, one could obsess on the later group and end up boring the former to tears. A fundamental balance can be achieved by using labs which build upon a coherent problem and lead the student to embrace ever more abstract aspects of the language.

In the case of my modern C++ for C++98/03 developers class, I take an entirely different approach. With them I use a progression from changes in the language, to important element of the standard library, to useful Boost bits and finally to the contributions made by the GSL. Within this progression, I give attention to each feature or class using a presentation / discussion format. Unlike the jumpstart class, I can’t use the labs to modulate the pace of the class. Each group I teach will progress at their own pace. (I limit my class size to about 20). In this advanced class, I also find myself researching answers to specific, real-world issues that the students are encountering. I then fold these results back into the materials I present.

As with any modern company, there is a mix of platforms under development. This has necessitated my doing a bit of bounds checking to be sure that the materials I present will work in a Visual C++ / gcc / VxWorks world. With the advanced class, I present not only the modern (C++14) methods (with a bit of C++17 previews), but also the pre-C++11 mechanisms as not everyone has the luxury of constantly upgrading their tool chains.

Overall, it has been an enjoyable experience. One I’m sure I’ll be repeating in the future.

Note: As a nod to an interesting Stanford professor (Mehran Sahami) and in the voice of Starfire, I have taken up the habit of “the throwing of the candy.”

Read Full Post »

In the dim days, dinosaurs roamed the Earth. Okay, not that far back.

In the American West of the late 19th century, if you wanted the latest technological wonder needed to make your life easier, there was one place you’d go … the blacksmith. Why? Well, the smith had both the equipment and the skills to produce just about anything out of metal. (Our expectations of technology was a bit lower by ¬†today’s standards.)

On the face of it, the things you needed to set yourself up as a blacksmith were fairly minimal.

  • Fire
  • Metal
  • Water
  • Tongs
  • Hammers
  • Chisels
  • Anvil

Of course all the tools in the world a pointless without the skills needed to use them effectively and efficiently.

Of the items on the list, the outlier is the anvil. It is the foundational piece of equipment second only to fire in importance.

Interestingly, this fairly humble object is used to the production of stunning pieces of metalwork.

For some time after the arrival of Europeans to North America, anvils were shipped from the Old World. Eventually, the infrastructure was sufficient to allow the production of anvils locally. Bringing the cost down significantly. Still, they were expensive. Likewise, if you wanted a blacksmith, you brought one over.

To become a blacksmith, you apprenticed with a blacksmith. At the end of your apprenticeship, you would be given either money or tools. With your tools and skills and after purchasing your own anvil, you could now go and ply your trade making everything from spoons to fences to lanterns.

For me this history has a special significance. When I started on my journey of working with software development, computers were million dollar investments. Access to them was restricted to a few highly trained individuals. I had the opportunity to study under one of those who was present at the beginning of the computer era. I watched the development of the computer from big iron to something you wear on your wrist.

Throughout there has always been the computer and keyboard with which I craft software. Long gone are the days of stacks of dollar bill sized, hole-ridden cards. Now my anvil could be lost in a stack of magazines. Strangely, that US$20 anvil of 1850 would cost about US$700 in 2016, about what you’d pay for a run-of-the-mill laptop or the iPad I’m composing this post on.

Like that anvil, I can take my tools with me anywhere. Like the blacksmith, the quality of my  work and the words of my employers and colleagues speak for me. Likewise, my tools and skills need constant sharpening and care.

I have seen many fads come and go. Throughout the basic skills are always applicable. When teaching, I try to emphasize that there are no shortcuts to mastery. There seems to be a great willingness to build software today by assembling large chunks of other people’s work. While this may lead to a functional product, it does not make you a better developer. To become a better developer you must understand how the pieces work. I’m not saying that you must build everything yourself, merely that given time that you could. This is the distinction between a technician and a technologist. The former can be trained in short order by the latter.

It seems that in an age when we want everything on a global scale, we believe that the quality of the craftsman a price that must be paid. In reality, scale need not sacrifice quality. The missing piece of the equation is time. The old adage of fast, cheap, good; pick two; is quite real. Quality takes time. If you’re seeking quality, keep you’re eye out for those who have their own anvil.

Read Full Post »

There appears to be a relationship between me moving and not adding entries.

That being said, I’ve just completed reading Richard Nisbett’s book, Intelligence and How to Get It: Why Schools and Cultures Count.
The message is fairly simple, “you can’t improve the IQ of children by mandate.”

Okay, that’s really simplifying things. There’s much more nuance in the text. Nisbett provides many many examples of failures to improve educational outcomes via our typical big hammered mass production techniques. As with most well crafted things, the best product comes from the individual and personal attention. You only get so far with the Walmart approach.

There are no revelations here, merely support for those things that should be fairly obvious to anyone who takes the time to look at the problem. Not a bad read.

Read Full Post »

%d bloggers like this: