Video

Error message

  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in _menu_load_objects() (line 579 of /var/www/drupal-7.x/includes/menu.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/drupal-7.x/includes/common.inc).

Five Years of Economics from the Top Down

Published by Anonymous (not verified) on Sat, 27/04/2024 - 10:43pm in

My how time flies. As of April 11th, 2024, I’ve been blogging for five years. To celebrate, I thought I’d engage in some obligatory navel gazing.

Why blog?

I started this blog on a whim. In the spring of 2019, I was one year post PhD and busy publishing pieces of my dissertation. It was about as much fun as licking sandpaper.

The problem, I now realize, is that I hate academic writing. Although academic prose may be the orthodox dialect of science, it’s also the surest way to kill the intrigue of scientific inquiry. Science is full of wrong turns, heated debates, huge breakthroughs, and foolish mistakes. In short, science is like a courtroom drama. But the academic presentation of the drama is the equivalent of legalese … dry and unreadable.

What’s odd, though, is that in 2019, I didn’t know that I hated academic writing. Instead, I thought I disliked writing itself. You see, for seven years of grad school, I’d leapt into new research, delighted by the tendrils of data that led to unexpected places. But when it came time to write up the results, I felt mostly dread.

In hindsight, the problem was that I hated writing like an academic. Grad-school training had me convinced that writing should be self important, needlessly complicated, and utterly humourless. So when I started blogging, I had an immediate sense of relief. Instead of writing tortured prose, I could write honestly about what I thought. It was hugely gratifying.

To be sure, I still find writing difficult. Often, I struggle for hours (sometimes days) to express an idea clearly. But while this churn is frustrating, the reward of clear communication is worth it. When the idea is finally on paper, crystallized in a form that (I hope) the average person can understand, I feel like I’ve crafted something worth sharing.

Alternatively, if I’ve done something scientifically foolish (which I’m sure I have), I’m proud to do it boldly and clearly.

The joy of writing research notes

Besides enjoying the tone of blog prose, I like that blogging is a way to resurrect the ‘research note’.

A century ago, scientific papers were concise affairs. A scientist would discover something interesting. Then they would write a short research note that said ‘here is something interesting’. The published note would have minimal references, and a only a cursory nod to other literature. In short, the paper was the equivalent of a modern blog post.

Over time, though, the requirements for a formal scientific paper grew more onerous, especially the need to conduct a literature review. The result, as Figure 1 shows, was the persistent rise of the phrase ‘literature review’ in written English.

Figure 1: Scientists, thou shalt review thy literature.

To be sure, reviewing what other people have said about a topic is good scholarship. And there is certainly a place for well-crafted reviews of past thinking. (In a dissertation, for example.) That said, requiring every scientific paper to have an exhaustive ‘literature review’ is frustratingly redundant.

What’s also redundant is the need to funnel science through academic publishers. These organizations are essentially vampires that suck 30% profit margins out of publicly funded research. We don’t need these monsters. Science is a public good, and it can be conveyed swiftly and easily through the public internet.

In short, blogging is an easy way for scientists to document their work without the burden of formal publishing. So if you’re a young scientist (or even an old one), I’d encourage you to think of blogging as the best way to convey your research.

Blogging as note taking

Now to some obligatory life lessons.

During my masters degree, I once had a committee member bombard me with criticism of my thesis. After several minutes of onslaught, he noticed that I wasn’t taking notes. The meeting did not end well.

Now the truth was that I thought the committee member’s points were fairly silly, and hence, not worth writing down. But the flip side is that I’ve always been bad at taking notes. I had no system then, and I have no system now. I just read stuff and remember whatever my brain happens to remember.

That said, I now realize that blogging is how I take notes. It was Cory Doctorow who tipped me off to how this works. (It’s what he calls the memex method.) The idea is that no matter how great your system, note taking on your own computer tends to devolve into entropic decay. You take notes. Then you forget about them. Repeat.

In a sense, the problem is that when you write notes solely for yourself, there’s no pressure to be coherent. Unfortunately, my experience is that it’s the pressure to be coherent that makes notes memorable. Because blogging is public, it forces a moment of reflection before you write something down. It’s this reflection — driven by the implicit threat of public scrutiny — that staves off the entropic decay of personal note taking. Or at least, it does for me.

The other nice feature of blog-based note taking is that it makes your ideas easily searchable. All modern website builders come with full-text search that is generally better than what you get on your computer. Add the fact that your public blog will be crawled by search engines, and you have a built-in recipe for indexing your ideas for future reference.

Don’t write SEO spam

Now to some obligatory advice about blogging. First up, don’t write SEO spam.

Some backstory. When I started blogging in 2019, I quickly learned that business bloggers were obsessed with ‘SEO’ — search engine optimization. The idea was that you should write content that catered to certain key words — words that would get you ranked highly on search engine results. I thought SEO targeting was stupid then, and I continue to think it’s stupid now.

The difference is that today, we know that SEO bullshit is ruining the internet. SEO is a way to game search engines — a way to place vacuous, ad-driven clickbait at the top of search results. The consequence is that if you search for something on the modern web, you have to sift through a mountain of useless spam. Unfortunately, the popularity of large language models has only made things worse, vastly increasing the ability of internet enshittifiers to churn out SEO swill.

If you’re starting a blog today, take no part in this enshittification industry. Write for humans, not search engines.1

Search-engine traffic is over-rated

Speaking of search engines, there’s a common assumption that search-engine traffic is the route to internet success. But for the most part, it’s not.

Think of search engines like the tourist industry. Some websites are the equivalent of Hawaii — a place that depends on tourist traffic for its survival. Such sites are almost always selling something, and their content caters to the lowest common denominator. But other corners of the internet are like a great local restaurant — places that thrive mostly by word of mouth.

A science blog (like this one) will invariable land in the second category. Sure, some people will stumble upon it by chance. But most of these tourists will eat one meal and never come back. The real audience for your science blog are the readers who become ‘locals’ — the ones who read your stuff regularly.

Now the truth is that building a community of ‘locals’ is a tough slog. There’s no shortcut other than to keep at it. Sure, the odd post may go viral. But my experience is that this short-term traffic has almost no relation to long-term readership.

For example, when captain Elon Musk tweeted a link to my post on the Dunning-Kruger effect, it created a boom of tourist traffic. But almost all of the visitors ate a single meal and never returned. (That’s probably a good thing. If a Musk-bro liked my research, it would suggest that I’m doing something wrong.)

To summarize, while you’re ignoring SEO, forget about targeting search engines as well. Write for the group of engaged readers who like what you do.

Blogging is dead. Long live blogs

Now to some obligatory reflection.

The funny thing about ‘blogging’ is that the term itself has long been an anachronism. Named after a contraction of the phrase ‘web log’, the ‘blog’ arose in the late 1990s as a kind of online diary, devoted to the minutia of everyday life. But by the mid 2010s, this way of blogging had been mostly killed off by social media. What survived were ‘blogs’ that focused on issues of public importance. Science communication flourished, as did web writing about all kinds of niche topics.

By the 2020s, people continued to declare that ‘blogs’ were dead. Meanwhile social media had so thoroughly killed off traditional journalism that reporters were fleeing to the blogosphere in droves.2 Of course, these journalists rebranded their blogs as ‘newsletters’. But potato, potahto. Call it whatever you want … my point is that self-published, internet-hosted writing is alive and well.

Thoughts on the future

Now to some obligatory speculation about the future of this blog. What’s in store? The short answer is more of the same. I’m going to continue to do research that interests me, and I’ll continue to write about it on the internet.

That said, lately I’ve been thinking about the massive rise in audio and video content on the web. Part of me dislikes this content, as it’s prone to gimmickry and meaningless pyrotechnics. But another part of me realizes that it fills a huge void. The truth is that often, it’s easier to get knowledge from a talking person than from a word-laden page. For example, I’m an avid consumer of YouTube talks about astrophysics. Usually, the talks are accessible in a way that scientific papers are not.

Turning to my own work, I try hard to make my research accessible. But my guess is that by virtue of it being written only, I’m excluding a (potentially large) group of people who’d prefer to have audio-visual versions of my posts. The problem is that pontificating on video is not my thing. I think slowly. So if I appear eloquent in print, it’s because I’ve agonized over my choice of language. Give me an open mic, and I’ll mostly sound like an idiot.

That said, I’ve noticed a trend in which bloggers record themselves reading their own posts. This approach does interest me. Still, my posts are typically data heavy, and charts don’t translate well into audio. So what to do?

Looking to the future, I’m toying with making audio versions of my posts that come with embedded slides. (So basically, a YouTube slideshow.) This approach appeals to me because I could make some whizzbang code that automates the slideshow from the figures that are already in my posts. Then I’d just have to record myself reading the text that I’ve already written.

Anyway, in the near future, you may find audio/video versions of my work that accompany the normal text version. Perhaps you will find it useful.

Thanks for reading

This ends my anniversary trip gazing at my own navel. Regular programming will resume soon, with an upcoming post about the Jevons paradox.

To everyone who reads this blog, thank-you for joining me on this scientific journey. If you have the means, the best way to support my work is by becoming a patron. And the second best way is to recommend the blog menu to passing tourists. Some of these folks may become regulars!

Support this blog

Hi folks. I’m a crowdfunded scientist who shares all of his (painstaking) research for free. If you think my work has value, consider becoming a supporter.

member_button

Stay updated

Sign up to get email updates from this blog.

Email Address

Keep me up to date


This work is licensed under a Creative Commons Attribution 4.0 License. You can use/share it anyway you want, provided you attribute it to me (Blair Fix) and link to Economics from the Top Down.

Notes

  1. As Cory Doctorow puts it, “No one reads 2,000 words of algorithm-pleasing LLM garbage over an omelette recipe and then subscribes to that site’s feed.”↩
  2. More precisely, it was socially media ad-tech that killed off traditional journalism. As Facebook became a content aggregator, it sucked up the ad revenue that would have gone to newspapers. Google did the same thing, translating its search monopoly into an ad-tech monopoly. So while people may still read newspapers, for the most part, businesses no longer advertise in them.↩

The post Five Years of Economics from the Top Down appeared first on Economics from the Top Down.

Video: Israel targeted SIX international aid groups that had shared their coordinates

Published by Anonymous (not verified) on Fri, 26/04/2024 - 4:31am in

Groups hit repeatedly when IDF knew where they were, killing aid workers and their families

A still from the NYT video shows a traumatised aid worker

A New York Times investigation has revealed that at least six international aid groups working to help starving Palestinians in Gaza were targeted by Israeli forces – hit despite having repeatedly shared their locations with the Israeli military. Doctors Without Borders (MSF) from France, Medical Aid for Palestinians (MAP) based in the UK, the US International Rescue Committee, Anera from the US and the Red Cross/Red Crescent from Switzerland were all hit, along with the well-known repeat attack on three World Central Kitchen (WCK) vehicles spread across a 2.4km distance.

The analysis of photographic evidence and communications between the groups and the IDF has been published today. The IDF claimed that the WCK attack was a ‘mistake’ and admitted that the WCK workers had reported their locations and movements as requested to – but the attacks on five other groups also known to have communicated their positions establishes what was already clear: the attacks were intentional.

Some of the attacks targeted the aid workers’ homes, killing them and multiple family members including children. Watch below:

The UK continues to arm and assist Israel, despite several British citizens being among those murdered. Israel has slaughtered well over forty thousand civilians since 7 October, mostly women and children, and is starving two million more. The country is on trial for genocide before the ICJ, which has repeatedly ordered Israel to stop killing and starving Palestinians.

If you wish to republish this post for non-commercial use, you are welcome to do so – see here for more.

Are Presidents Above the Law? Donald Trump thinks presidents...

Published by Anonymous (not verified) on Fri, 26/04/2024 - 12:21am in

Are Presidents Above the Law? 

Donald Trump thinks presidents should be allowed to commit crimes. Rubbish.

Trump claims that quote, “A PRESIDENT OF THE UNITED STATES MUST HAVE FULL IMMUNITY” from prosecution for any crime committed while in office. His lawyers even claim that a president could be immune from prosecution for having a political opponent assassinated.

Trump says anything less than total immunity would quote, "incapacitate every future president.” Baloney. It would incapacitate him! He’s the only president who’s been criminally charged with trying to orchestrate a violent coup on January 6th, 2021.

Trump wants to turn the U.S. president into a supreme ruler — who is not bound to the same laws that everybody else is — the very antithesis of the bedrock values this country was founded on. A president shouldn’t be above the law.

In reality, this is all part of Trump’s plan to avoid accountability. He wants to gum up the legal system to delay his federal trial until after the 2024 election. If he really believed he was innocent, wouldn’t he want to have a trial as soon as possible?

Just as bad, the Supreme Court is abetting his plan by dragging its feet.

Trump’s criminal trial in the January 6 case was supposed to begin in March. But now, it’s on hold until Trump’s immunity claim is resolved by the Supreme Court. Who knows how long that will take?

The high court could have ruled on Trump’s immunity claim immediately — which Special Counsel Jack Smith asked it to do last December. Instead, the Supreme Court accepted Trump’s request not to expedite a ruling. Trump’s immunity claim then went slowly through the lower courts, which, not surprisingly, found that, no, presidents DO NOT have carte blanche to commit crimes.

The Supreme Court then had another chance to expedite a ruling on this, but it took weeks even to set a date for arguments.

The Supreme Court can move quickly when it wants to. When Trump appealed Colorado’s decision to keep him off the state ballot, the Supreme Court rushed to get a ruling out before the Colorado primary. Shouldn’t the court move with the same urgency on Trump’s immunity claim? Otherwise, Trump’s January 6th trial may not be decided before the presidential election.

Voters are entitled to know before casting their ballots whether they are choosing a felon for president.

Israeli captive in Gaza says IDF has killed 70 captives and shames Netanyahu

Hersh Goldberg-Polin, a US-born Israeli, wishes his parents a good Passover – and says Netanyahu and his far-right government should be ‘ashamed’

A US-born Israeli held captive in Gaza has said on video that Israel’s military has killed seventy of his fellow captives and that Israeli PM Netanyahu and his far-right government ‘should be ashamed of yourselves’.

Hersh Goldberg-Polin, a 24-year-old Californian-born Israeli taken captive on 7 October, went on to tell his parents that he loves them and hopes they somehow manage to have a happy Passover:

Goldberg-Polin, who at 24 years old will have served in the Israeli military, has lost part of his left arm, presumably under fire on 7 October last year, although it is unclear from what he says whether he was wounded by Palestinian fighters or by Israeli forces. It is now well known – admitted by the IDF and freely discussed by Israeli newspapers, though still ignored by UK media and politicians – that Israeli helicopters and tanks killed ‘immense’ numbers of Israeli citizens under the IDF’s ‘Hannibal doctrine’ of killing potential hostages. His performance is passionate, but it is, of course, unknown whether he was speaking under duress.

Relatives of Israeli captives killed in Gaza have also accused the Israeli military of killing them; the IDF is known for sure to have killed three hostages who had escaped, stripped to show they were no threat, and were calling out in Hebrew, while waving a white flag, for soldiers not to shoot. Israel is holding around nine thousand Palestinian hostages, who have been arbitrarily detained and imprisoned without trial. The EU is calling for an independent investigation of the hundreds of executed Palestinian captives currently being unearthed behind Al Shifa hospital after Israel’s raid there. Israel has murdered more than 40,000 civilians, mostly women and children.

If you wish to republish this post for non-commercial use, you are welcome to do so – see here for more.

Video: thousands gather for Gaza at Columbia as professor condemns uni’s ‘day of shame’

History professor Christopher Brown describes scandal of university president setting riot police on peaceful anti-genocide demo and condemns craven congressional testimony

Thousands have again gathered on the lawns of Columbia University in New York, despite the attempted repression of the university’s management and the New York police – where they heard speeches from faculty members as well as students against Israel’s genocide in Gaza and the authorities’ attempts to silence them:

Despite the state’s aggression, which has included the use of riot police and state troops in various locations – and the shameful demonisation of peace protesters by politicians and pro-Israel lobby groups willing to collude in Israel’s war crimes, mirroring the tactics used in the UK – the protest movement is growing and the US public is increasingly aware and condemning of Israel’s mass murder of Palestinian civilians, mostly women and children.

If you wish to republish this post for non-commercial use, you are welcome to do so – see here for more.

Rekindling the Spirit of Innovation

Published by Anonymous (not verified) on Thu, 25/04/2024 - 2:39am in

Tags 

Video

What happened to the excitement of creativity?

The Case Against RFK Jr.RFK Junior is not who you think he is.It...

Published by Anonymous (not verified) on Wed, 24/04/2024 - 4:11am in

The Case Against RFK Jr.

RFK Junior is not who you think he is.

It pains me to say it, but he is a dangerous nutcase.

He claims to want to heal America, but his vision for our future is tainted by his endorsements of hateful conspiracy theories – and the fact that he is being funded in large part by donors aligned with Donald Trump.

It’s time to lift the curtain on a campaign based on false, irresponsible, and self-contradictory claims.

RFK Junior repeatedly promoted a right-wing conspiracy theory that chemicals in the water are turning people gay or transgender.

He suggested COVID-19 was a bioweapon, mysteriously designed to spare Jewish people.

[RFK Jr.: “COVID-19 is targeted to attack Caucasians and Black people. The people who are most immune are Ashkenazi Jews and Chinese.”]

He’s spent years spreading anti-vaxx lies.

And in his 2021 book, RFK Junior alleged, with no plausible evidence, that Dr. Fauci performed genocidal experiments, sabotaged treatments for AIDS, and conspired with Bill Gates to suppress information about COVID-19.

These are not the words of someone who is serious about leading – let alone healing – this country.

As someone who once worked for his father, RFK, and admired his uncle, JFK, I’m disturbed to see RFK Junior speak this way.

RFK Senior would never have suggested that a deadly virus was targeted at certain races. And as president, JFK signed the Vaccination Assistance Act in order to, “achieve as quickly as possible the protection of the population, especially of all preschool children.”

If not for his illustrious name – and role as a potential spoiler – RFK Junior would be just another crackpot in the growing pool of fringe politicians.

It’s no coincidence that he shares top backers with the likes of Donald Trump and Marjorie Taylor Greene — or that Trump allies Roger Stone and Steve Bannon encouraged him to run in the first place.

But the Kennedy brand is political gold, and it could pull away just enough sympathetic voters to tip the race toward Trump.

Democracy won by a whisker in 2020. Just 44,000 votes in Arizona, Georgia, and Wisconsin decided the outcome. If RFK Junior — or any third-party candidate — peels off just a fraction of the vote from Biden, while Trump’s base stays with him, they will deliver a victory to Trump.

If Junior had any respect for the principles his father fought and ultimately died for, he would withdraw his candidacy. Immediately.

Video: Falter falls apart – CAA ‘cross the road’ boss bails under scrutiny and challenge

Published by Anonymous (not verified) on Tue, 23/04/2024 - 6:51am in

Gideon Falter doesn’t appear to have had a good day.

As Skwawkbox reported earlier, ‘Campaign against Antisemitism’ (CAA) chief executive Falter’s claim that he had been prevented by police from crossing a road after just happening to ‘come across’ a pro-Palestine march looks to have fallen apart after a huge volume of eyewitness, photographic and video evidence emerged challenging the veracity of the claim. Falter appears to have fallen apart too in at least one interview.

Under relatively mild challenge from Sky News’s Kay Burley – and confronted by some facts from Palestine Solidarity Campaign’s Ben Jamal – Falter flapped and then said he didn’t want to discuss the issue with Jamal any further. Burley, to her credit, cut him off when he tried to complete his propaganda without being scrutinised or challenged:

Sky News subsequently deleted its earlier video of Falter’s claims – whether in reaction to his performance in the Burley interview is not known.

Falter’s CAA group has been shown to have taken large amounts of funding from a ‘quasi-governmental’ Israeli organisation and featured prominently in the campaign to take down then-Labour leader Jeremy Corbyn.

Falter himself has been shown to have made false claims of antisemitic speech on at least one occasion – leading to the prosecution, conviction and unanimous acquittal on appeal of a Foreign Office official. His claim about Saturday’s events fuelled calls for the banning of pro-Palestinian marches and the removal of Met Police Commissioner Mark Rowley – who just happens to have previously refused the demands of right-wing, pro-Israel campaigners and politicians for the marches to be banned.

If you wish to republish this post for non-commercial use, you are welcome to do so – see here for more.

Sky deletes its video of Falter claiming he was only trying to cross the road

Published by Anonymous (not verified) on Tue, 23/04/2024 - 5:55am in

Page now gives 404 result after overwhelming evidence challenging claims emerged

As Skwawkbox reported earlier today, ‘Campaign against Antisemitism’ (CAA) chief executive Gideon Falter’s claim that he had been prevented by police from crossing a road after just happening to ‘come across’ a pro-Palestine march looks to have fallen apart after a huge volume of eyewitness, photographic and video evidence emerged challenging the veracity of the claim.

Falter, whose CAA group has been shown to have taken large amounts of funding from a ‘quasi-governmental’ Israeli organisation and featured prominently in the campaign to take down then-Labour leader Jeremy Corbyn, has also been shown to have made false claims of antisemitic speech – leading to the prosecution, conviction and unanimous acquittal on appeal of a Foreign Office official. His claim about Saturday’s events fuelled calls for the banning of pro-Palestinian marches and the removal of Met Police Commissioner Mark Rowley – who just happens to have previously refused the demands of right-wing, pro-Israel campaigners and politicians for the marches to be banned.

And now Sky News, which had run hard with the false claims and the ensuing narrative, has deleted its video of Falter’s staged stunt. Footage and photographs shot by bystanders strongly suggest that Falter was at the site of the march for some time before the incident – and that he was there with bodyguards and had already tried to disrupt it, a stark contrast with his narrative that he had just bumped into the march on his way home from synagogue.

While emails containing the link will still show a preview of the original content, clicking through to the link leads to a ‘404’ ‘page not found result, as the combined screenshots below show:

It will be interesting to see whether the rest of the so-called ‘mainstream’ media follow suit, or leave up the misleading video and claims despite the flood of contrary evidence.

If you wish to republish this post for non-commercial use, you are welcome to do so – see here for more.

Evidence, eyewitnesses challenge Falter’s claims he was stopped for just crossing road

Published by Anonymous (not verified) on Mon, 22/04/2024 - 11:18pm in

Apparent campaign to discredit pro-Palestine marchers – and remove police commissioner who won’t ban marches – undermined by evidence and eyewitness accounts, including one from before Falter complained

Gideon Falter, pro-Israel chief executive of the so-called ‘Campaign Against Antisemitism’ (CAA), made headlines last week when he posted a video claiming that he had been stopped by the Met Police for simply trying to cross a road, on his way back from synagogue, during a pro-Palestine protest on the grounds that he was visibly Jewish.

Falter and his supporters have used the claim to demonise peace protesters as a threat to Jews – and to demand the resignation of Met Police Commissioner Mark Rowley. Coincidentally, Rowley has refused calls by right-wingers to ban pro-Palestine marches.

But eyewitnesses – including Jewish bystanders – and photographic evidence appear to contradict Falter’s claim. Importantly, one account of the actions of Falter and an entourage with him was posted before the ‘scandal’ became a thing – and describes Falter with a security detail clearly creating an incident:

Other bystanders saw the same – and added that the group had been around for a while, trying to disrupt the protest:

The bodyguard can be seen in video footage of the incident shot by photographer Tom Bowles:

A group consisting of a Holocaust survivor and descendants of Holocaust survivors, who were on Aldwych Road only a few metres away from Falter’s stunt, contacted Skwawkbox with their account of events and their significance:

It has been widely reported that Gideon Falter, chief executive of the Campaign Against Antisemitism, was threatened with arrest when he approached a pro-Palestine demonstration on 13 April in the Aldwych area of London.

Mr. Falter is reported to have said that his interactions with police officers “show that the Met believes that being openly Jewish will antagonise the anti-Israel marchers and that Jews need protection, which the police cannot guarantee. Instead of addressing that threat of antisemitic violence, the Met’s policy instead seems to be that law-abiding Jewish Londoners should not be in the parts of London where these marches are taking place. In other words, that they are no-go zones for Jews.

We are writing to disagree strongly with these claims. This is because throughout his interactions with the police we were standing only a few yards away from him, yet we experienced nothing but warmth and solidarity from the pro-Palestine demonstrators and not a hint of antisemitism.

Our group was “openly Jewish” in that we all wore placards saying that, as descendants of Holocaust survivors, we oppose the ongoing genocide in Gaza. Indeed, one of us, Stephen Kapos, is a child survivor of the Holocaust who was interviewed by Sky News at the time.

Every major pro-Palestine demonstration in London has included a large Jewish bloc which has received nothing but support and warmth from their fellow demonstrators. Claims that these protests are no-go zones for Jews are completely untrue.

Yours Sincerely,

Haim Bresheeth (son of two survivors of Auschwitz)
Mark Etkind (son of a survivor of the Lodz ghetto and Buchenwald)
Stephen Kapos (survivor of the Holocaust in Budapest)
Peter Kapos (son of a Holocaust survivor)
Yosefa Loshitzky (daughter of survivors of the Holocaust in Poland)

A Holocaust survivor and descendants of Holocaust survivors, photographed during Falter’s altercation with police

An image of the entrance to Bush House on Aldwych Road shows how close the group (red) were to Falter (blue) during the incident

A set of photos posted by another bystander shows the Holocaust group and Falter, confirming how close the ‘openly Jewish’ peace demonstrators were to Falter’s supposed ‘no-go zone’:

Falter had told the Times that he simply ‘came across’ the Palestine protest and tried to cross the road ‘as the front of the march got to us’:

At Aldwych, we came across the pro-Palestine protest and we started to cross the road as the front of the march got to us. Suddenly I felt hands on me. I looked around to see a police officer who was shoving me onto the pavement.

This was contradicted by the photos taken of him and his group before the march got there – and by subsequent responses and video clips from others who were there, including a Jewish police officer:

Few if any UK ‘mainstream’ media outlets have covered the contradictory evidence, of which the above is only a small selection.

Gideon Falter has been found at least once to have made untrue accusations of antisemitic conduct. In 2009 he accused Rowan Laxton, a Foreign Office official of shouting ‘F***ing Jews’ in response to incidents in Palestine, leading to Laxton being convicted of ‘racially aggravated public disorder’. The appeal court judges, however, unanimously agreed that Laxton had not said any such thing:

Last year, he was also filmed driving a van ‘very close’ to pro-Palestine protesters and tried to get police to force them to move because ‘they are obstructing the highway’ – as the footage showed other vehicles moving freely past:

According to Electronic Intifada last year, the CAA – which has taken ‘credit’ for forcing the Unite union to ban book talks and film showings exposing the weaponisation of antisemitism to attack the pro-Palestine left – is or has been funded by an Israeli ‘quasi-governmental’ group:

the CAA has been given almost half a million dollars by the UK partner of the Jewish National Fund, Israel’s quasi-governmental settler-colonial agency.

The donations were hidden in obscure Charity Commission documents uncovered by our research. In an email to The Electronic Intifada, the CAA confirmed it had been in “past receipt of donations from JNF UK” but denied current JNF funding.

“JNF UK has never exercised or sought to exercise any influence over our activities,” the CAA claimed…

…In 2018, the CAA declared in its accounts disclosed to the Charity Commission that a donation of almost $220,000 had come from a “related party.”

This amounted to nearly half of its income for that year.

Funding a “crisis”

The following year, the CAA declared that $230,000 had come from a similarly undisclosed “related party.”

The 2019 figure amounted to 20 percent of its income but 60 percent of its expenditure.

In 2019, JNF UK declared expenditure of the exact same amount as the donation declared by the CAA that same year.

JNF UK paid $230,000 “for grants provided to a UK charity, which has a trustee who is also a trustee of JNF Charitable Trust.”

According to its website, “JNF Charitable Trust” is simply the official name of the JNF UK charity and they “are the same” group.

The 2019 JNF UK accounts also stated that in 2018 it had made a donation of almost $220,000 to the same unnamed “UK charity.”

Skwawkbox approached the CAA for comment, providing examples of the above counter-evidence and details of the Rowan Laxton incident. The group had not responded by the time of writing.

Update: Sky News has now published a 13-minute video of the entire interaction between Falter and the police – and, unlike Falter’s edited version, it shows the officer telling Falter that he had already observed him trying to provoke the pro-Palestine protesters and was not falling for Falter’s ‘disingenuousness’:

If you wish to republish this post for non-commercial use, you are welcome to do so – see here for more.

Pages