Greg Parker

1.4K Followers
90 Following
1.5K Posts
Security sharpshooter at Apple

Make sure people know: DONALD TRUMP says airports will stay fucked until Democrats agree to vote for the Women's Disenfranchisement ("save") Act.

Tell everybody who complains about airports, everyone who complaints about gas prices, anyone who complains about anything: Donald Trump HIMSELF will not let it get fixed UNTIL 21 MILLION WOMEN are disenfranchised.

And that they need to strap in and hold steady, because we cannot let that happen.

#uspol #uspolitics #politics #fascism #FuckTrump #FuckRepublicans #FuckTheGOP #FuckAllOfThem

Hey #California, the third-place-polling #Republican governor candidate Sheriff Chad Bianco has just seized 650,000 ballots from Riverside County, under the pretense of a “fact-finding mission” to see if some kind of crime has been committed during the Prop 50 vote—the one that asserts that California can use an older district map for the 2028 map. He did this despite AG Rob Bonta and Secretary of State Shirley Weber’s assertion that his actions were “outside the law”, and despite the fact that Prop 50 passed by a whopping 64%, and that this investigation will do nothing to change its outcome.

Bianco apparently got a judge to sign off on a search warrant, but the article doesn’t say who it was that signed it.

Bianco is a hard-right Trumper, and a frequent proponent of the kinds of voter-fraud conspiracies that drive the far right. He’s showing that he will use the Sheriff’s office to sow chaos in California to help Trump.

He must be defeated at the polls.

https://www.sfchronicle.com/california/article/chad-bianco-ballots-22090730.php

Client Challenge

RE: https://oldbytes.space/@thevowel/116253257354562286

I'll be giving a talk at VCF PNW!

"UNIX V4: History and Recovery"

RE: https://flipboard.com/@bbcnews/top-stories-hc55lmo2z/-/a-jIJitWAxQhuv9V9UK1GRkA%3Aa%3A3199692-%2F0

Our allies felt that they needed to plan for this. Our Allies. Trump needs to be impeached. It’s the only way to start working on rehabilitating our country and, then, the decades-long process of rehabilitating our country’s imagine in the world. 80+ years of goodwill destroyed in 14 months.

Hello Mastodon!

Since this is my first post, I thought I'd share some incredibly niche C++ trivia / pedantry:

For an enum whose enumerators all have the value 0, C++ asks us to imagine a hypothetical integer type with minimal width that can represent 0 (https://eel.is/c++draft/dcl.enum#8.sentence-2). This means we must consider the case where the width is 0. For an unsigned integer type, this gives a range of representable values of [0, 0], and that's the type we pick. But before we can determine that that's minimal, we must also consider a signed integer type with a width of 0, for which we get a range of representable values of [-½, -½]! (https://eel.is/c++draft/basic.fundamental#1.sentence-5) Conveniently that range does not include 0, so we discover that we must use an unsigned integer type to determine the range of values of the enumeration. (We also rule out an unsigned integer type of negative width as that would have a range of values 0 to -½ (inclusive) or smaller, which I think we can reasonably conclude is an empty range despite the parenthetical.)

In any case: if you ever wondered whether a zero-bit signed integer type in C++ can represent only the value 0 or only the value -1, now you know: no, it can represent only the value -½. Truly a marvelous compromise.

Follow me for more brilliant insights like this one :)

[dcl.enum]

Here is another slow expression to demonstrate the disjunction pruning optimization I talked about earlier.

Suppose you declare a variable of implicitly unwrapped optional type:

var x: Int! = ...

The value of x is stored like an ordinary optional "Int?", but a reference to x from inside an expression is presented as a disjunction---the type of the reference is either "Int", or "Int?". If both lead to a solution, we favor the "Int?" choice; otherwise, we get the "Int" choice, and the compiler then lowers the reference to a runtime check.

Now, consider this expression:

let result = x + x + x + x + x + x

It takes the Swift 6.3 compiler a third of a second to type check this expression, and now its instant with recent main snapshots. What changed?

If folks in small cities and towns can’t assemble and protest Republican Fascism, the U.S. will never be rid of it.

Newspaper coverage of the situation in #SantaFe #NewMexico. https://www.santafenewmexican.com/news/local_news/onetime-organizer-of-next-no-kings-march-in-santa-fe-calls-city-fees-for-event/article_1a692563-5058-4536-a4b2-4eb08d99850b.html

Screenshots of paper’s print version in photos.

Do you have an existing Swift codebase depending on native C/C++ libraries like SDL, OpenGL, OpenAL, zlib etc that you want to run in the browser or a standalone JavaScript runtime? Then this pitch is for you! 🚀
https://forums.swift.org/t/pitch-emscripten-target-support-for-swift/85310
[Pitch] Emscripten Target Support for Swift

Swift already runs in the browser today. Using the WASI target with JavaScriptKit and browser-side WASI polyfills, the community has built projects ranging from ElementaryUI (a SwiftUI-inspired web framework) to real-time graphics with WebGPU. The WebAssembly vision document noted that "browser-specific use cases remain to be addressed in a separate document." This pitch proposes adding the Emscripten target (wasm32-unknown-emscripten) to the Swift toolchain, complementing the existing WASI tar...

Swift Forums

In case you missed it - here’s six(!) hours of content from my incredible friends and colleagues today on protecting your apps from memory safety vulnerabilities. It was great to meet up with developers and talk about protecting users!

https://www.youtube.com/live/UZeSyodAszc?si=r8JuKKR7dmSZsZ40

Fortify your app: Essential strategies to strengthen security | Meet with Apple

YouTube

I landed some performance improvements for the Swift type checker recently, and I'm currently finishing up the next set of changes which I hope to merge soon.

There are two main improvements. The first is a new "disjunction pruning" optimization to help skip impossible overload choices, and the second set of improvements concern implicit conversions and the constraints they generate.