Hello!

Welcome to the blog. The traditional reverse-date-oriented feed of essays and such are below, but I've also started working on some material that kinda wants to be gathered together in a non-blog format--more like collections of written resources brought together. So, before wandering through the blog list, maybe you're looking for patterns reimagined or Speaker Tips? Or check out the "Sections" menu above for a list of some of my favorite blog posts over the years. Of course, the Archive has the complete chronological list, most-recent to oldest (2005!). Thanks for reading; at some point, I'll get comments (Disqus) turned on here again, but that's a TODO for now.

On Avoiding Foolish Opinions

Bertrand Russell (the philosopher) had some thoughts on how to hold strong opinions loosely.

18 October 2024

(I came across this quote from Russell, and liked it so much I thought I'd just copy it verbatim over to my blog. Obviously I'm not the author--I'm not nearly this eloquent.)

(Via The Basic Writings of Bertrand Russell)

If the matter is one that can be settled by observation, make the observation yourself. Aristotle could have avoided the mistake of thinking that women have fewer teeth than men, by the simple device of asking Mrs. Aristotle to keep her mouth open while he counted. He did not do so because he thought he knew. Thinking that you know when in fact you don’t is a fatal mistake, to which we are all prone. I believe myself that hedgehogs eat black beetles, because I have been told that they do; but if I were writing a book on the habits of hedgehogs, I should not commit myself until I had seen one enjoying this unappetizing diet. Aristotle, however, was less cautious. Ancient and medieval authors knew all about unicorns and salamanders; not one of them thought it necessary to avoid dogmatic statements about them because he had never seen one of them.

Many matters, however, are less easily brought to the test of experience. If, like most of mankind, you have passionate convictions on many such matters, there are ways in which you can make yourself aware of your own bias.

If an opinion contrary to your own makes you angry, that is a sign that you are subconsciously aware of having no good reason for thinking as you do. If some one maintains that two and two are five, or that Iceland is on the equator, you feel pity rather than anger, unless you know so little of arithmetic or geography that his opinion shakes your own contrary conviction. The most savage controversies are those about matters as to which there is no good evidence either way. Persecution is used in theology, not in arithmetic, because in arithmetic there is knowledge, but in theology there is only opinion. So whenever you find yourself getting angry about a difference of opinion, be on your guard; you will probably find, on examination, that your belief is going beyond what the evidence warrants.

A good way of ridding yourself of certain kinds of dogmatism is to become aware of opinions held in social circles different from your own. When I was young, I lived much outside my own country in France, Germany, Italy, and the United States. I found this very profitable in diminishing the intensity of insular prejudice. If you cannot travel, seek out people with whom you disagree, and read a newspaper belonging to a party that is not yours. If the people and the newspaper seem mad, perverse, and wicked, remind yourself that you seem so to them. In this opinion both parties may be right, but they cannot both be wrong. This reflection should generate a certain caution.

Becoming aware of foreign customs, however, does not always have a beneficial effect. In the seventeenth century, when the Manchus conquered China, it was the custom among the Chinese for the women to have small feet, and among the Manchus for the men to wear-pigtails. Instead of each dropping their own foolish custom, they each adopted the foolish custom of the other, and the Chinese continued to wear pigtails until they shook off the dominion of the Manchus in the revolution of 1911.

For those who have enough psychological imagination, it is a good plan to imagine an argument with a person having a different bias. This has one advantage, and only one, as compared with actual conversation with opponents; this one advantage is that the method is not subject to the same limitations of time or space. Mahatma Gandhi deplores railways and steamboats and machinery; he would like to undo the whole of the industrial revolution. You may never have an opportunity of actually meeting any one who holds this opinion, because in Western countries most people take the advantage of modern technique for granted. But if you want to make sure that you are right in agreeing with the prevailing opinion, you will find it a good plan to test the arguments that occur to you by considering what Gandhi might say in refutation of them. I have sometimes been led actually to change my mind as a result of this kind of imaginary dialogue, and, short of this, I have frequently found myself growing less dogmatic and cocksure through realizing the possible reasonableness of a hypothetical opponent.

Be very wary of opinions that flatter your self-esteem. Both men and women, nine times out of ten, are firmly convinced of the superior excellence of their own sex. There is abundant evidence on both sides. If you are a man, you can point out that most poets and men of science are male; if you are a woman, you can retort that so are most criminals. The question is inherently insoluble, but self esteem conceals this from most people. We are all, whatever part of the world we come from, persuaded that our own nation is superior to all others. Seeing that each nation has its characteristic merits and demerits, we adjust our standard of values so as to make out that the merits possessed by our nation are the really important ones, while its demerits are comparatively trivial. Here, again, the rational man will admit that the question is one to which there is no demonstrably right answer. It is more difficult to deal with the self esteem of man as man, because we cannot argue out the matter with some non-human mind. The only way I know of dealing with this general human conceit is to remind ourselves that man is a brief episode in the life of a small planet in a little corner of the universe, and that, for aught we know, other parts of the cosmos may contain beings as superior to ourselves as we are to jellyfish.

Book Review: Data Structures and Algorithms in JavaScript

A review of the book.

07 October 2024

No Starch Press sent me an early access/review copy of the book "Data Structures and Algorithms in Javascript", by Federico Kereki. If there's two sentences that summarize the book, it's these two from the Introduction: "The book deals with two basic concepts in computer science: data structures and algorithms. It follows a structure similar to university curricula and adds examples taken from coding challenges and interview questions, using them to discuss the relative advantages and disadvantages of specific algorithms and data structures." In other words, it's exactly what it purports to be, and that's a good thing.

Book Review: Art of ARM Assembly (Vol 1)

A review of the book.

23 September 2024

No Starch Press sent me an early-access e-copy drop of the book "The Art of ARM Assembly (Volume 1)", by Randell Hyde, an author whose previous books on x86 assembly are on my shelf, and I'm enthusiastically suggesting you go buy a copy when it comes out.

Book Review: Effective C (2nd Ed)

A review of the book.

20 September 2024

No Starch Press sent me a copy of the book "Effective C (2nd Ed)", by Robert C Seacord, and overall, it's not bad, though I don't think it lives up to the "Effective" moniker established by Scott Meyers three decades ago.

Book Review: Strange Code

A review of the book.

12 September 2024

No Starch Press sent me a copy of the book "Strange Code", by Ronald T Kneusel, and honestly, they had me at "esolangs". But more than that, the book opines on reasons why studying programming languages, including their esoteric kin, is a useful and productive endeavor.

Book Review: Dead Simple Python

A review of the book.

11 September 2024

I bought a copy of the book "Dead Simple Python", by Jason C McDonald, and I have to say, this is my new go-to book for book recommendations on learning Python.

Manager Antipatterns

Many companies make the same sorts of mistakes with their managers, over and over again. If they were software designs, we'd call them antipatterns.

29 August 2024

Ever had a manager who was clearly smart, but had no idea how to manage? Or one of those managers who was "laterally promoted" over from a team that was radically different from what your team did? There's a whole host of mistakes that companies often fall prey to with respect to those they have leading teams, and I thought it a good idea to collect them into one place, under the umbrella heading of "manager antipatterns". (Because "antipatterns" sounds better than "often-repeated mistakes that we really should have learned from so that we don't make them again, and yet...".)

A Java Language Cumulative Feature Rollup

Every listed new feature since Java8.

28 August 2024

I found myself asking myself the question, "What's every new feature Java has introduced since the last time I really cared about new Java language features?", and didn't find an easy answer via Google. So, I decided to create that list.

Book Review: The Nature of Code

A review of the book.

20 August 2024

No Starch Press sent me a copy of the book "The Nature of Code", by Daniel Shiffman, and I have to say, it's a lovely piece of work, both figuratively and literally.

The R-and-D Spy Team

What is an R-and-D spy team?

12 June 2024

There are four different kinds of R&D teams, each with very different actions and goals, and each with very different outcomes. The success of the team often depends on aligning the activities of the team with the intended goals, and it's actually quite reasonable for a company to have two or more teams, each operating independently and towards different ends. In this post, I explore the Spy Team.


Older posts are available in the archive.