Newspapers and Writing

Journalists, it seems to me, have two main jobs:

  • Discover and report the news accurately and
  • Write up the results of their investigations in a clear and easy to understand way.

It’s no secret to Irreal readers that I think they’re failing significantly in the first. In most cases, the best you can hope for is that they’re ignorant of the subject they’re reporting on and that they’re too lazy to educate themselves. Sadly, it’s depressingly common for them to also corrupt the journalism enterprise by pushing preferred narratives regardless of what the facts say. Having the facts wrong—for whatever reason—is not new. In 2002, Michael Crichton, author of The Andromeda Strain, Sphere, and Jurassic Park among many others, spoke about this in a famous speech where he coined the term Gell-Man Amnesia Effect. The TL;DR is that you shouldn’t believe anything you read in a newspaper; they almost certainly have it wrong.

But at least they can still write. Right? Maybe not. Branko over at Substack has an article that asks,“When did writing in major newspapers become so bad?” Once you come to understand their failures on the first aspect of their job, you probably stop reading the papers as much so you might not notice their failures on the second. Until someone like Branko points it out.

Not all newspaper writing is as bad as the examples that Branko gives but some is and it makes you wonder what they’re teaching in J-School these days.

Update [2021-03-13 Sat 14:19]: Deleted superfluous “to.”

Posted in General | Tagged | Leave a comment

Red Meat Friday: Python Is Not a Great Language

Robin Thomas says that Python is not a great programming language and offers 11 reasons why it isn’t. Reaction was swift and virulent, proving he might have been on to something when he wrote, “Pythonists have a bit of a superiority complex.”

I haven’t used Python in many years but I was very fond of it when I did. This was before Python had any real traction and when I recommended it to others the response was always, “But Java.” I think, in retrospect, I got the better of that argument but, on the other hand, I don’t write in Python anymore.

I think it’s probably true that Python, while great for small or proof-of-concept projects, doesn’t scale well to larger efforts where performance is a concern. But, again, I’m no longer a user so my opinions may be uninformed. Those of you who know what you’re talking about can duke it out in the comments if you’re inclined.

Posted in General | Tagged , | Leave a comment

Google and the Petro Curse

The Google graveyard of services is a familiar Internet trope that describes Google’s habit of sunsetting popular services. It’s infuriating. Seemingly everyone has a story of some app they depended on that Google killed. The smart money no longer adopts new Google services, fearing that if they do, the hammer will fall as soon as they come to depend on it.

David Heinemeier Hansson has an interesting post on why this happens. He says that Google is like those countries that are oil rich and build their economy on the oil industry. The result is that this distorts and corrupts their economy. As Hansson says, why invest in other industries when riches are literally gushing out of the ground?

Google has its own version of petro riches: advertising. Hansson says that 30% of online advertising flows to Google and brings it 40 billion dollars a year. The problem is that whatever else Google does is just noise as far as income is concerned so they have no incentive to stay the course with anything that doesn’t directly benefit advertising. If it doesn’t contribute to the mining and sale of users’ data, Google eventually loses interest.

I found Hansson’s argument persuasive. It explains Google’s behavior in a simple and convincing way. Not everyone agrees. Some of the reddit comments on the post are supportive but others take exception. The two basic arguments contra Hansson are that (1) Google is not isomorphic to a Petro State so the whole argument fails, and (2) Hansson is evil/stupid/something-else-I-don’t-like so anything he says must be false. The first objection fails to understand the concept of analogy. The second is a common fallacy that imagines truth is dependent on who speaks it.

Happily, you get to make up your own mind. The only other argument I’ve heard is that Google closes down apps because they’re evil. That’s an emotionally satisfying explanation but probably has little to do with reality.

Posted in General | Tagged | Leave a comment

Happy 48th Birthday, Dark Side of the Moon

It’s that time again. As we do every year on March 10, Irreal is celebrating the anniversary of the release of Pink Floyd’s Dark Side of the Moon, one of the best and most successful albums ever produced. I’m aware that the actual release was on March 1st but for reasons lost to the mists of time, Irreal has always celebrated it on March 10th.

This year’s selection from the album is “Time.” Along with “Money” from last year, it’s one of the two cuts from the album that were hit singles. Of course, the best cuts, by far, are “Brain Damage/Eclipse,” which you can see the band perform in 2019’s post. Sadly I couldn’t find a live version of “Time” with the original band so you’ll have to make do with just the audio. On the other hand, it’s the remastered track from the original album.

Update [2021-03-13 Sat 18:39]: I just found a live version of the band performing “Time.” Enjoy.

Posted in General | Tagged , | Leave a comment

The Most Vital Language

Kontra has an interesting question:

I’d say C because so much of our infostructure (the Internet, operating systems, and much else) depends on it. A close second would be COBOL. That’s an old language that few if any Irreal readers have ever used but there’s still tons of software using it, especially banking and financial software.

Despite some other suggestions in the thread—Javascript, for example—I don’t think any other languages come close. Note that the question is not what language is “best” or most popular. Just, in effect, what language is most vital, today, for our civilization.

Posted in General | Tagged | Leave a comment

Query: Emacs on the M1

It’s time for me to upgrade my MacBook Pro. I don’t usually upgrade this soon but my current laptop has the horrible butterfly keyboard and there are flickering problems both with Emacs and other apps.

The new hotness, of course, are the M1-based MacBooks, which run faster and cooler than the Intel versions. My one hard requirement is that it run Emacs; it’s a deal breaker if Emacs doesn’t run without (M1-based) problems. This site indicates that Emacs does run on the M1 but the MacBook Pro is a significant investment that would be effectively useless to me if there are problems running Emacs.

So I’m asking the knowledgeable Irreal cohort for advice.

  1. Are any of you running Emacs on the M1?
  2. If so, are you running in native mode or emulation?
  3. Are there any performance or other problems?
  4. What version of Emacs are you using?

If you have any wisdom on Emacs and the M1, please leave a comment. I’d be very grateful.

Posted in General | Tagged | Leave a comment

Data Leverage

Over at the MIT Technology Review, Karen Hao has a seemingly promising article with the enticing title How to poison the data that Big Tech uses to surveil you. I read the article with great anticipation hoping it would provide me with some actionable strategies for striking back at adtech.

Sadly, that didn’t happen. That’s not really Hao’s fault, though. Her article was a report on this paper by Vicnet, Li, Tilly, Chancellor, and Hatchet. The paper is more of a theoretical discussion of the issues and although it does discuss some strategies, those discussions are general and not really actionable. If you want to read the paper and aren’t interested in extending its research, you can skip Section 2 on related work. It adds nothing interesting and is full of academic speak that makes it tiresome to read.

Despite its practical shortcomings, the paper does provide a useful framework for thinking about the problem of data abuse. The authors’ first useful concept is that of “data labor.” The idea is that when users provide data to adtech as a result of their normal Internet activities, that data should be thought of not as “exhaust” but as labor on the part of the users to produce it and that, therefore, the users are entitled to some sort of remuneration.

The problem is that users are essentially powerless with respect to the large data aggregators. The paper offers three “data levers:”

  • Data strike: a refusal to provide data for the offending entity.
  • Data poisoning: providing false or misleading input to poison their data and interfere with machine learning.
  • Conscious data contribution: providing your data to a competitor. For example, switching from Google to DuckDuckGo.

I was really hoping for some specific strategies but the framework the authors provide does give us a useful way of thinking about the problem.

Posted in General | Tagged | Leave a comment

Clojure and Scheme Compared

As I’ve said before, I’m sometimes tempted to take up Clojure but have always been put off by its reliance on the JVM. Last year, Mike Zamansky posted a couple of videos (1, 2) on using Clojure for the Advent of Code challenges that nudged me further towards giving Clojure a try.

Enter Peter Bex with a comparison of Scheme and Clojure. That seemed just what I needed to help me decide if I really wanted to invest time and effort in learning Clojure. It turned out that his post did, indeed, help me make up my mind.

One of my impressions from casual observation of Clojure code is that there’s more syntax than most other Lisps. For example, contra the “too many parentheses” crowd, I like that parentheses are essentially the only grouping deliminator in Common Lisp and Scheme. Less syntax is, in my opinion, one of the real strengths of Lisp. Bex agrees that Clojure does, indeed, have more syntax than other Lisps and that that’s not always a good thing.

The TL;DR of Bex’s post is that Clojure is—for the most part—a well designed language but there are definitely warts. For instance, you can optionally separate items in a list with commas (rather than just white space as in other Lisps) but that means that a new notation is now required for unquote in quasiquotes. Since using commas as separators is optional and little used, whatever benefit they provide is outweighed by the problems they cause. Similarly, the syntax for the let operator is different for no apparent benefit.

There are other gotchas. Take a look a Bex’s post for the details. My conclusion is that although Clojure is a nice language there are enough negatives that I’m still not convinced it’s worth the effort. Doubtless the intersection of the Clojure community and Irreal readers will explain the errors of my ways to me. And, really, I look forward to hearing from them because I’m still open to changing up my mind.

Posted in Programming | Tagged | Leave a comment

Red Meat Friday: Offend a Programmer

How to offend a programmer with a survey:

You gotta admit: It is offensive. The proper survey would have been

  • Emacs
  • Vim
  • VSCode, Atom, Sublime, or other bling-centric editor
  • Eclipse, IntelliJ, or other pushbutton app generator
  • Nano, Notepad, or other toy editor
Posted in General | Tagged , | Leave a comment

Brown M&Ms

Do you know the story of brown M&Ms? It’s one of my favorite stories both because of the cleverness it reveals but also because of—at least according to conventional wisdom—the unexpected source of that cleverness. The short version of the story was that the rock band Van Halen used to put in their concert contracts that they must be provided with M&Ms backstage but that no brown M&Ms were permitted. The typical reaction from the band when they found brown M&Ms was to trash the dressing room and possibly cancel the concert.

Most people put that down to spoiled rock star misconduct and dismissed it as typical behavior from the breed. The thing is, all this was purposeful behavior meant to solve a serious problem. Van Halen was one of the first bands to stage elaborate shows with huge amounts of complicated gear. Some of the venues they played at couldn’t accommodate that gear so their contract spelled out precisely what was required. Many venues didn’t bother reading the contract, though, so dangerous things like collapsing stages occurred. The prohibition of brown M&Ms was a test to see if the concert organizers had, in fact, read the contract. If the band arrived to find brown M&Ms, they knew they could expect other problems.

Over at Effectiviology they have a great article on the brown M&Ms story. They give more details on the Van Halen aspect but also consider how the concept can be applied to situations Irreal readers are probably more familiar with than being a rock star. It’s an entertaining and informative read and very much worth a few minutes of your time to read.

Posted in General | Leave a comment