jwz

jwz

By
Download on the App Store

jwz episodes

  • Brunch Edging
    "It was tricky, but..."

    A metal fork drags its four prongs back and forth across the yolk of an over-easy egg. The lightly peppered fried whites that skin across the runny yolk give a little, straining under the weight of the prongs. The yolk bulges and puckers, and finally the fork flips to its sharp points, bears down on the yolk and rips it open, revealing the thick, bright cadmium-yellow liquid underneath. The fork dips into the yolk and rubs the viscous ovum all over the crispy white edges, smearing it around slowly, coating the prongs. An R&B track plays. [...]

    Everything is sexually suggestive now because on most platforms, for years, being sexually overt meant risking a ban. Not-coincidentally, being horny about everything is also one of the few ways to get engagement on those same platforms. At the same time, legislators are trying to make everything "pornographic" illegal or impossible to make or consume.

    Cakefarts walked so that your eggs could be runny.

    Previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously.

    0 min
  • Welp, mediamtx glitches out, too
    1. After the mediamtx stream was up for ~16 hours, OBS started doing the thing on the right. Disconnecting and reconnecting fixed it, but my check-volume.pl script did not detect it and so could not auto-reset it. Any ideas on either how to make it never do this, or how to detect it?

    2. What does this mean and how do I make it go away? "WAR [HLS] [muxer live/live] segment duration changed from 1s to 2s - this will cause an error in iOS clients".

    3. Is there any reason to try to get hlsVariant "lowLatency" working instead of "mpegts"? What are the downsides? (Besides that check-volume.pl doesn't understand that format.)

    4. Other annoyances.

    Previously.

    0 min
  • DNA Lounge: Wherein the Legacy Business program is under the axe
    DNA Lounge is one of the many San Francisco businesses who are a part of the "Legacy Business" program. Besides getting a fine looking plaque, and making it harder for a future malicious landlord to turn a nightclub into a Pottery Barn, one of the immediate, tangible benefits of the program is that it pays part of our rent every month.

    Welp.

    We just got this email from SF Heritage:

    Hello D6 SF Legacy Businesses,

    It has come to our attention that Mayor Lurie is proposing cutting the Legacy Business Program Manager position in his 2025-2026 and 2026-2027 city budget.

    Program Manager Richard Kurylo has expertly stewarded the Legacy Business program since its inception in 2016 and has been one of its biggest champions. Likely most of you have worked directly with him during the process of applying to the registry, have received his updates and assistance in navigating city programs, or have just chatted with him at one of the Heritage Happy Hours we co-host with the Office of Small Business.

    We are asking you today to help advocate for retaining this important position.

    At SF Heritage, we are concerned that the elimination of this position and the distribution of the important work it does to the workload of other city employees will diminish and limit one of San Francisco's most successful and popular programs. The Legacy Business Registry benefits every corner and community of San Francisco and fuels economic vitality. This is a program that deserves more support, not less.

    Please take a moment to send an email to your supervisor, copying the members of the board serving on the Budget and Appropriations Committee, and Mayor Lurie:

    D6 supervisor Matt Dorsey: [email protected]

    Budget and Appropriations Committee:

    Connie Chan: [email protected]
    Matt Dorsey
    Joel Engardio: [email protected]
    Shamann Walton: [email protected]
    Rafael Mandelman: [email protected]
    Mayor Daniel Lurie: [email protected]

    Ask them to retain the legacy Business Program Manager position in the two-year budget. Your voices are powerful in demonstrating the importance of a dedicated staff member for the Legacy Business Program, and its value to longtime small businesses like yourselves.

    Thank you,

    Kerri, Woody, and the SF Heritage team

    As you are probably aware, the priorities of Mayor Danny Bluejeans and D6 Supervisor Dorsey are and have always been:

    1. Arresting the homeless;
    2. Increasing police overtime budgets;
    3. All other considerations secondary, crew expendable.

    So this isn't entirely surprising. But drop 'em an email, won't you?

    0 min
  • The ICE agents disappearing your neighbors would like a little privacy, please.
    After taking four people into custody at SF's immigration court, ICE wanted The Standard to conceal agents' faces.

    "I have a request to ask if you would consider blurring the faces of our officers and agents," ICE spokesperson Richard Beam wrote Wednesday. "Out of a concern for the safety of our personnel I wanted to simply ask." [...]

    The Standard declined to comply.

    Previously, previously, previously, previously, previously, previously, previously, previously, previously, previously.

    0 min
  • Superfund CEOs
    Lead pipes? Pfffft! Netscape Cancer says "hold my beer."

    Toxic Origins, Toxic Decisions: Biases in CEO Selection:

    We examine how selection bias in CEO promotion amplifies risk-taking, using prenatal exposure to pollution as an exogenous shock to individual risk preferences. CEOs born in future Superfund sites are more likely to be promoted internally, suggesting firms reward observed success without recognizing underlying risk tolerance. These "Superfund CEOs" excel in internal roles but pursue riskier external policies once promoted-leading to greater volatility and weaker performance. Our results suggest firms may systematically mistake luck for skill in promotion decisions, filtering for high-variance risk-takers whose traits only become problematic when decision-making shifts to exposed, irreversible domains. In short, Superfund CEOs display performance with essentially lower mean but higher variance.

    Previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously.

    0 min
  • RTMP / HLS segment corruption
    Dear Lazyweb,

    When my internal video encoder machine relays its RTMP stream to the external public server, MPEG glitches get introduced, and I would like to know how to fix that.

    I am hoping for answers from someone who actually understands how RTMP transports and reconstitutes MPEG frames, or who knows how to take these TS files apart and identify why they are glitching.

    (I shouldn't have to say this but I do: If your suggestions are more along the lines of, "Have you tried changing this magic number in the config file?" without a coherent theory of why, then your suggestions are almost certainly unhelpful. Likewise, "Why don't you just..." ← not the question I asked.)

    Details:

    • Both machines are running nginx-1.17.10 and nginx-rtmp-module Feb 2022.

    • Internal machine runs OBS 31.0.3 streaming to rtmp://localhost/live/

    • Internal nginx rtmp is configured like so. Notably, hls_fragment 10s, hls_playlist_length 30s.

    • External nginx rtmp is configured like so. Notably, hls_fragment 6s. Why are they different? I don't remember. At some point I thought that seemed to improve... something.

    Here are some example TS files covering approximately the same time range from the internal and external streams. The the internal ones play fine; the external ones contain glitches.

    The first handclap happens at around 6s in the internal stream, and 3s in the external, so if you plot the segments on a timeline, it looks like this. Asterisks indicate glitches. They don't correlate well to segment changes in either the internal or external streams.

    = 00 ext 1: 1748393053750.ts | 01 | 02 = | 03 int 1: 1748393056339.ts | | 04 | | 05 | = 06 ext 2: 1748393061627.ts (handclap) | | * 07 | | * 08 | | * 09 | | * 10 | | 11 | = 12 ext 3: 1748393066847.ts = | 13 int 2: 1748393066342.ts | | 14 | | 15 | | * 16 | | * 17 | = 18 ext 4: 1748393073414.ts | | 19 | | 20 | | 21 | | 22 = | 23 int 3: 1748393076343.ts | = 24 ext 5: 1748393079981.ts | | 25 | | 26 | | 27 | | * 28 | | * 29 | = 30 ext 6: 1748393086982.ts | | 31 | | 32 = | * 33 int 4: 1748393086341.ts | | * 34 | | * 35 | = * 36 ext end | 37 | 38 | 39 | 40 | 41 = 42 int end

    Another thing that I don't understand, which is probably unrelated: when I pack these TS files into an MP4 with:

    ffmpeg -f concat -i concat.txt -c copy out.mp4

    the audio de-synchronizes by like half a second. Why?

    Previously, previously, previously.

    0 min
  • Today in "Now you have two problems" news:
    If you want a picture of the future, imagine a boot stamping on a human face forever a spicy autocompleter submitting software changes to a regular expression parser.

    Also, you can't block it. As Kyle Reese reminded us, "It absolutely will not stop -- ever -- until you accept its pull req̷̩̓u̸̾͜ḙ̶̈s̶̫͑t̶̙͒."

    Previously, previously, previously, previously, previously, previously, previously, previously, previously, previously.

    0 min