Wealth inequality and falling interest rates

Anna Stansbury and Lawrence H. Summers wrote a paper for the American National Bureau of Economic Research this month, titled: The Declining Worker Power Hypothesis: An Explanation for the Recent Evolution of the American Economy. You can buy a PDF version for $5.

Rising profitability and market valuations of US businesses, sluggish wage growth and a declining labor share of income, and reduced unemployment and inflation, have defined the macroeconomic environment of the last generation. This paper offers a unified explanation for these phenomena based on reduced worker power. Using individual, industry, and state-level data, we demonstrate that measures of reduced worker power are associated with lower wage levels, higher profit shares, and reductions in measures of the NAIRU.

As an aside, I had to check what NAIRU was. According to Investopedia:

The non-accelerating inflation rate of unemployment (NAIRU) is the specific level of unemployment that is evident in an economy that does not cause inflation to increase. In other words, if unemployment is at the NAIRU level, inflation is constant. NAIRU often represents the equilibrium between the state of the economy and the labor market.

Tyler Cowen from Marginal Revolution quoted Larry Summers and Anna Stansbury’s responses to the paper, where they draw a connection between wealth inequality and falling interest rates. Emphasis added.

If corporate profits are so high, how is this consistent with the persistently low demand postulated by Summers’ “secular stagnation” hypothesis?

Secular stagnation as we think of it is the product of a rising gap between the desire to save and the desire to invest (which, in an IS-LM type framework, would push down the neutral real interest rate).

Falling worker power redistributes income from lower and middle-income people to the rich. The rich have a higher propensity to save. Thus, falling worker power increases the desire to save relative to the desire to invest. Rising inequality has been posited by several authors as a contributor to the declining neutral real interest rate (see e.g. Smith and Rachel 2015). Under this view, secular stagnation is exemplified by low private return to capital investment – but, in a noncompetitive world, this may or may not be the same thing as an abnormally low profit rate or capital share.

This is also why stimulus spending is most effective being targeted at people at lower income levels. It’s not just the most ethical thing to do, it will have the most immediate economic impact.

Rubenerd Show 410: The apothecary coffee episode

Rubenerd Show 410

Podcast: Play in new window | Download

25:23 – Not knowing a place till you leave it, the fascinating triangular windows of the old Belle Vue in Singapore, faded knock-off Lego blocks, Albert Einstein’s travels, finding new coffee shops, apothecary tables, government posters, a 1990s-era glass foyer, and a borderline rant on my butterfly Apple keyboard. Recorded early May 2020.

Recorded in Sydney, Australia. Licence for this track: Creative Commons Attribution 3.0. Attribution: Ruben Schade.

Released May 2020 on The Overnightscape Underground, an Internet talk radio channel focusing on a freeform monologue style, with diverse and fascinating hosts; this one notwithstanding.

Subscribe with iTunes, Pocket Casts, Overcast or add this feed to your podcast client.

Shinjuku station in Fate/Grand Order

Speaking of Japanese trains! I was farming Fate/Grand Order quartz yesterday, like a gentleman, and came across this Shinjuku train station setting:

Screenshot from the game, showing a train indicator sign.

The circled red M would be the Tōkyō Metro Marunouchi Line. Maybe the green square could be the JR Yamanote Loop Line, and the blue bar could be the Chūō Main Line. The others I’m not sure about; there isn’t a purple JR line serving that station, or a circled T line on the Tōkyō Metro or Toei Subway.

Custom tab completions in oksh

A chat with @zoomosis made me realise that I never talked about oksh’s tab completion, which is half the reason I use and spruik it as a daily driver shell.

For a recap, I moved to oksh on my Macs and BSD boxes so I could keep roughly the same .kshrc config on each machine I own, even my ancient nostalgia boxes. FreeBSD notably doesn’t include a Kornshell, but macOS and NetBSD do. oksh adds a couple of nice features, while still being fast and lightweight.

oksh’s tab completion is the other reason. Using set statements you can define tab completions for commands you specify. I like to keep these in a separate file, and reference it in my .kshrc:

[ -f ~/.oksh_completions ] && . ~/.oksh_completions

The syntax is simple. Here are some common FreeBSD commands:

set -A complete_geli -- attach backup configure detach
set -A complete_iocage -- create destroy fetch get list rename restart set start stop
set -A complete_pkg -- clean info install lock search unlock update upgrade
set -A complete_pkgin -- autoremove avail install full-upgrade pkg-info remove search update
set -A complete_zfs -- clone create list receive send set snapshot
set -A complete_zpool -- create export import scrub set

Because it’s a shell script, you could do this for SSH hosts:

_SSH_HOSTS=$(awk '/^Host/{ print $2 }' ~/.ssh/config)
set -A complete_mosh -- $_SSH_HOSTS
set -A complete_scp -- $_SSH_HOSTS
set -A complete_ssh -- $_SSH_HOSTS

And for services:

_SERVICES=$(ls -1 /etc/rc.d/)
case `uname` in
        _SERVICES="$_SERVICES $(ls -1 /usr/local/etc/rc.d/)"

There’s a lot you could configure here, and I’ve probably only scratched the surface.

NetBSD used to default to csh

I suppose it makes sense, but I never thought about it:

csh(1) (‘C’ shell): This was the standard user shell until NetBSD 4.0, it supports filename completion (‘set filec’ and use the ESCAPE key) but does not support command line editing.

Some of my machines had NetBSD prior to version 4, but at the time I didn’t really understand the difference between all the different *nix shells one could use. All I knew was my professor telling me to use ksh so I could get command line history and tab completion… but then, didn’t csh do some of this?

I got pretty good at tcsh from using FreeBSD and early releases of macOS, and can still recite the set/setenv lines I had in my dotfiles for it. But I run ksh everywhere I can now, specifically oksh from the OpenBSD project. Using pdksh on NetBSD on the weekend made me feel right at home.

(As an aside, you really owe it to yourself to try oksh, especially if you come from the Linux world and either assume bash, or immediately reach for it from packages when trying another *nix. It’s pretty cool, especially how you can extend its tab completions. That’s for another post).

I know the whole thing about csh programming considered harmful, but dare I say I found scripting in it easier than the Bourne shell family too. Maybe it was down to not hitting many edge cases, and delegating to Perl when things got complex enough to warrant functions, etc.

Costa Rica recognises marriage equality

It’s some welcome good news in the fog, and announced by a President on Twitter no less! Translated from Carlos Alvarado Quesada’s original Spanish:

Costa Rica officially recognises equal marriage. Today we celebrate freedom, equality and our democratic institutions. May empathy and love be the compass that allow us to get ahead and build a country where all people fit.

Imagine having a leader who spoke like that.

It’s Alive! Brussel sprout kimchi

Play Brad Makes Brussels Sprout Kimchi | It's Alive | Bon Appétit

Brad’s It’s Alive! videos have been such a wonderful ray of sunshine in these troubled times. Claire’s videos too, now that I think about it.

Let’s spread the love together… bon appétit!

Netatalk3 Mac file sharing on NetBSD

This is the latest installment of my unintentional NetBSD for FreeBSD users blog post series! This is the minimum viable process to get netatalk3 on NetBSD, assuming you’ve configured pkgin:

# pkgin install netatalk3
# cp /usr/pkg/share/examples/rc.d/netatalk /etc/rc.d/

Normally I back up any package-provided configs to a .orig file first, but there’s a example config in /usr/pkg/share/examples/netatalk you can restore from.

# vi /usr/local/etc/afp.conf
==> ksh: /usr/local/etc/afp.conf: not found

Whoops, head is still in FreeBSD land.

# vi /usr/pkg/etc/netatalk/afp.conf

And set up to start:

# echo netatalk=YES >> /etc/rc.conf
# service netatalk start 

On FreeBSD I separate my rc scripts from the base system in /usr/local/etc/rc.d. NetBSD guides on the official wiki and on forums say to just use /etc/rc.d, but let me know if you’re a NetBSD user and think I should do something similar.

And special thanks to hauke for maintaining netatalk3 on pkgsrc.

Ships classed as trains for a 1960s database

This was such a great story, and one I’m sure British developers all know about. Does the above look like a train to you?

I was reading the history of TOPS, the Total Operations Processing System developed in the late 1960s and used most successfully with British Rail. The Wikipedia article for the system stated:

One oddity was the inclusion of British Rail’s shipping fleet in the system as Class 99.

I had to look that up further. Sure enough, on the British Rail Class 99 article:

The British Rail Class 99 was a fleet of ferries or train ferries, most of which were owned by Sealink, that carried rail vehicles between Britain and mainland Europe.

And specific to TOPS:

When British Rail implemented the TOPS system [ed: noooooo!] for managing their operating stock, these ships were incorporated into the system in order to circumvent some of the restrictions of the application software. This allowed them to be counted as locomotives while carrying railway vehicles in the same way as a normal locomotive would haul a train.

I’ve heard first-hand stories of people doing similar things to SAP :).

It’s a brilliant hack. What’s a railway ferry but a larger locomotive conveyance pulling a train through water? From the software’s perspective, they have timetables, arrival and departure “stations”, depos, drivers, and maintenance windows. Thesedays the attached GPS might succumb to a conniption fit if it saw a train bobbing and moving around like that; it could unintentionally flag entire oceans as needing track maintenance.

My last post talked about bridges. I’m sure the system had to be reworked when the Chunnel opened. That would have been a pun with greater pulling power had that not been a tunnel.

Photo by Barry Lewis on Flickr.

Quick FreeBSD bridge when your switch is full

(This has turned into an unintentional week of NetBSD posts, which given the rude detractors on Twitter earlier this week I quite like. With hindsight maybe I should have served the bridge from the other machine to learn how to do it on NetBSD for the first time!)

What do you do when you’ve run out of Ethernet ports on your tiny homelab switch? Bridge the second Ethernet port on your Microserver and connect it to the first port on your second one. Five minute job, and it just works.

/etc/rc.conf on the FreeBSD Microserver:

ifconfig_bge0="inet <IP already configured> netmask <netmask>"
ifconfig_bridge0="addm bge0 addm bge1 up"

And yay! ifconfig on the NetBSD Microserver:

bge0: ...
    media: Ethernet autoselect (1000baseT full-duplex,master)
    status: active

I’ve been researching 2.5/5GBASE-T so have been reluctant to buy a new Gigabit switch with more ports. But I doubt I could afford a 10G switch right now anyway. Either way, this works in the meantime.

I should probably upgrade the FreeBSD Microserver to 13-CURRENT to try out Kristof Provost’s performance improvements.