node

node

faried nawaz | @fn@p.node.pk

coffee

Moral lessons from switching to Emacs by Protesilaos Stavrou

re: MPCP, Opcode Pause, length 46

See also: https://github.com/nwholloway/mpcp

The office network would occasionally have periods when latency across the LAN would degrade hideously (several seconds), and then all connectivity would be lost.

The cause of the failure turned out to be computers that hung during shutdown, and the network card would fire out a barrage of MPCP pause frames.

Every device on the LAN receives the packets, and obligingly suspends transmission. One device would even remain inactive even after the source of MPCP pause frames had stopped.

re: MPCP, Opcode Pause, length 46

This question is about Ubuntu, but if you expand the comments, the last one mentions a Chinese Gigabit adapter: https://askubuntu.com/questions/994466/ubuntu-server-flooding-network-with-mpcp-opcode-pause-packets

MPCP, Opcode Pause, length 46

Here’s one you might not have heard of before:

I went out this afternoon and bought a USB-C to Gigabit Ethernet dongle. It has two USB-A ports too, which works great for me (I use an external keyboard and mouse with my work Mac). I plug it into my Mac at home, use it all afternoon without any trouble.

In the evening, I head out to get some coffee. When I return, everyone’s complaining that the internet’s not working. Devices can connect to the access points, but they don’t get an IP address from the DSL router.

I checked the DSL router, and everything looked okay (DSL router’s the DHCP server, too). Restarted the router just in case. Turned my desktop on to look at Unifi’s console, and it showed devices connected/connecting. Maybe restarting the router fixed things, I thought.

Later in the evening, I put my laptop to sleep and went to bed, thought I’d read a book on the kindle. And the kindle shows… no internet! It can connect to the access point, but not get an IP address. Curiously enough, it can get one from the DSL modem’s WiFi (same IP network, but different WiFi network).

After a few experiments, I find out that when the Mac goes to sleep, the dongle floods the switch with MPCP, Opcode Pause, length 46 packets.

A review of one of the central ideas in Red Plenty, a book about using linear programming to optimize a planned economy:

In Soviet Union, Optimization Problem Solves You — Crooked Timber
https://crookedtimber.org/2012/05/30/in-soviet-union-optimization-problem-solves-you/


There’s lots to say about Red Plenty as a work of literature; I won’t do so. It’s basically a work of speculative fiction, where one of the primary pleasures is having a strange world unfold in the reader’s mind. More than that, it’s a work of science fiction, where the strangeness of the world comes from its being reshaped by technology and scientific ideas — here, mathematical and economic ideas.

Red Plenty is also (what is a rather different thing) a work of scientist fiction, about the creative travails of scientists. The early chapter, where linear programming breaks in upon the Kantorovich character, is one of the most true-to-life depictions I’ve encountered of the experiences of mathematical inspiration and mathematical work. (Nothing I will ever do will be remotely as important or beautiful as what the real Kantorovich did, of course.) An essential part of that chapter, though, is the way the thoughts of the Kantorovich character split between his profound idea, his idealistic political musings, and his scheming about how to cadge some shoes, all blind to the incongruities and ironies.

@penguin42 @thomasfuchs in that case, go with Halt and Catch Fire — it’s all fake! but still a lot of fun.

A programming error in the software used by UK airline TUI to check-in passengers led to miscalculated flight loads on three flights last July, a potentially serious safety issue.

The error occurred, according to a report released on Thursday by the UK Air Accidents Investigation Branch (AAIB), because the check-in software treated travelers identified as “Miss” in the passenger list as children, and assigned them a weight of 35 kg (~77 lbs) instead of 69 kg (~152 lbs) for an adult.

The AAIB report attributes the error to cultural differences in how the term Miss is understood.

“The system programming was not carried out in the UK, and in the country where it was performed the title Miss was used for a child, and Ms for an adult female, hence the error,” the report says.

Airline software super-bug: Flight loads miscalculated because women using ‘Miss’ were treated as children

@clacke yes, I use it over nntp.

Rust in the Android platform

In addition to ongoing and upcoming efforts to improve detection of memory bugs, we are ramping up efforts to prevent them in the first place. Memory-safe languages are the most cost-effective means for preventing memory bugs. In addition to memory-safe languages like Kotlin and Java, we’re excited to announce that the Android Open Source Project (AOSP) now supports the Rust programming language for developing the OS itself.

https://jrms-random-blog.blogspot.com/2021/03/a-google-interview-question.html

A Google Interview Question: determine if someone has won a game of tic-tac-toe.

> I expected most candidates to whip off a solution in a few minutes and then we'd move on to the next interview question. To my surprise, fully half the candidates were unable to finish this simple task.

from email:

Prof. Alex (Sandy) Pentland’s keynote speech to the Scotsman 2020 Data Conference:

https://www.youtube.com/watch?v=RQ920kSKvEU

Some background: Pentland’s research group has long been looking at how data can be used to understand how communities thrive —- improving bus routes to better reflect where the people in neighborhoods are going and when is one example —- and he’s looking at data-governance from a people-centric perspective. Part of his idea is that people’s data unions will hold and aggregate their data (just as a credit union holds and aggregates members’ money), and will use it for the purposes agreed to by its members.

He’s got a book coming out, much of which is available online: https://wip.mitpress.mit.edu/new-economy

disease follows people

@emacsen @raucao you can add a custom rule to handle the git clone step. for example, one co-worker’s .drone.yml starts with

---
kind: pipeline
type: docker
name: Deployment to Firebase Hosting

platform:
  os: linux
  arch: amd64

# tell drone not to do the git clone
clone:
  disable: true

# steps executed in order
steps:
  - name: git-clone
    image: alpine/git:1.0.7
    commands:
      - git clone https://bitbucket.org/team/proj-1
      - cd proj-1 && git checkout $DRONE_COMMIT

  - name: setup
    image: node:lts
    commands:
      - echo 'prefix = /data/.npm-packages' > /root/.npmrc
[...]

for the directories you need to build, maybe you can write a script that figures out what changed in the most recent commit, and figure out what to rebuild. run it as a drone step.

it’s too late to make suez canal jokes. that ship has sailed. — not mine

@emacsen i set it up for the co-workers over a year ago. a couple of projects use it heavily (do all deployment through it). one other project prototyped using a mac mini to automatically build unity3d games for iOS, using the mac os native drone runner. they ended up not using it in production, though for logistical reasons, not technical.

the projects that use it use the docker-based drone-runner to make builds or do deployments.

»