David Chisnall (*Now with 50% more sarcasm!*)

@david_chisnall@infosec.exchange
2.7K Followers
87 Following
7.1K Posts

I am Director of System Architecture at SCI Semiconductor and a Visiting Researcher at the University of Cambridge Computer Laboratory. I remain actively involved in the #CHERI project, where I led the early language / compiler strand of the research, and am the maintainer of the #CHERIoT Platform.

I was on the FreeBSD Core Team for two terms, have been an LLVM developer since 2008, am the author of the GNUstep Objective-C runtime (libobjc2 and associated clang support), and am responsible for libcxxrt and the BSD-licensed device tree compiler.

Opinions expressed by me are not necessarily opinions. In all probability they are random ramblings and should be ignored. Failure to ignore may result in severe boredom and / or confusion. Shake well before opening. Keep refrigerated.

Warning: May contain greater than the recommended daily allowance of sarcasm.

No license, implied or explicit, is granted to use any of my posts for training AI models.

is anyone aware of metrics about the longevity of Fediverse instances by size? I read a diatribe today about how Lemmy/threadiverse is too centralized, lobbying for people to participate in communities on smaller instances. It’s also a common bit of advice given on places like Reddit that people should join small mastodon instances or self host. I think at some level the mastodon guidance has disenfranchised a lot of people who ended up on instances that went belly up, many of which were smaller. But not exclusively so. I think it’s a lot more problematic in the threadiverse for a few reasons: first, most of the software does not permit account migration; second, when the instance that a community resides on goes away, that community effectively goes away along with the future ability to participate in it. Said another way, I think threadiverse users have a vested interest in picking both instances and communities hosted on instances that have some staying power, at least with how things work today. Perhaps there are better ways to structure things so there is much less reliance on an instance, but that clearly is not the case today.

I have this intuition that small instances tend to be set up as somewhat noncommittal hobby projects. Now I’m not advocating that things should be more centralized, just that the way things are seem to create a lot of challenges for the lay person who just wants to use the threadiverse and have it just work.

Anyhow, that’s just today’s shower thought.

Has the AI bubble burst? Wall Street wonders if artificial intelligence will ever make money

(By Clare Duffy, CNN, 2 Aug 2024)

https://edition.cnn.com/2024/08/02/tech/wall-street-asks-big-tech-will-ai-ever-make-money/index.html

<- nope, still inflating, still empty

Has the AI bubble burst? Wall Street wonders if artificial intelligence will ever make money

There’s been one big question on the minds of Wall Streeters this tech earnings season: When will anyone start making actual money from artificial intelligence?

CNN

The CHERI Alliance is all about bringing the computing world together to adopt CHERI security technology.

We’re a mix of industry partners, open-source contributors, researchers, and governments, all working to make CHERI more accessible and widely used.

Check out who’s already on board: https://cheri-alliance.org/member/

We’ve got active working groups tackling everything from software porting to system integration and standards - all helping the community adopt and build with CHERI more effectively. Take a look: https://cheri-alliance.org/who-we-are/working-groups/

Curious? Keen to get involved? Here’s how to join us: https://cheri-alliance.org/memberships/

#CHERI #CyberSecurity #MemorySafety #InfoSec

Members Archive – CHERI Alliance

CHERI Alliance
Huh, clang 21 and gcc support C++ constexpr expressions that generate strings as arguments to asm routines. Who is going to write a typesafe constexpr assembler in C++?

This was a terrible idea. I've done literally no work and am now watching pandas buggering about on a swing

Giant Panda Cam
https://explore.org/livecams/panda-bears/china-panda-cam-1

Giant Panda Cam - live stream from China | Explore.org

Giant Panda Cam at the Gengda Panda Center in China shows live video of pandas eating and socializing.

For folks that use Ninja to build things:

I've noticed that very few people (especially in CI, where it's really useful) set a richer NINJA_STATUS line than the default. This is what I use:

NINJA_STATUS=%p [%f:%s/%t] %o/s, %es

It gives build lines like:

21% [1044:1058/4837] 8.0/s, 130.514s Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopUnrollPass.cpp.

This has the percentage complete, then the number of build steps started and completed out of the total, the average number of build steps done per second, and the elapsed time, before the build line.

Seeing the number started and finished separately is not very useful during most of the build, but it's really useful near the end, when I can see if the final link steps are actually finishing, or are all stuck. The number per second is useful to give me some idea of how long it will take. The elapsed time is useful for when I forget when I started it, and mostly useful for logs to see how long things worked. It's also useful if I want to see in CI logs how long the build bit took.

In the last few years has auto complete got
Butter
Wurst
Poll ends at .

This is the worst code I've had to write for a while. Because xmake 3.0.0 was released with no call for testing and broke things, our dev container now installs the package and then applies a patch to the installed files to add a bug fix that fixes the regression from 2.9.9.

Please will someone write a good build system? And by 'good' I mean:

  • Is designed from the ground up for building abstractions.
  • Has no rules that are not replaceable.
  • Supports modularity so that rules can extend it in good ways.
  • Uses Lua or some other sensible programming language for extensions.
  • Has clear, simple, declarative syntax for describing the build.
  • Has a well-defined model for execution order.
  • Supports non-file dependencies.
  • Is maintained by someone who thinks that breaking downstream is probably a bad thing and not just a thing that happens when you release new versions.

So far, zero of the build systems I've looked at (xmake, build2, buck2, cmake, and so on) meet all of these requirements. And I really don't want to write a new build system tool.

Confused as to how this translates to “Windows is shit, use Linux” to some people. But I’m quite literally using Linux and MacOS.

This isn’t an OS issue, it’s an issue of us allowing non-native applications to be the norm, allowing technology monoliths to dictate if an application works on a given day.

Dictating performance. When something ran slowly we used to re-home it onto faster hardware or upgrade components. Now we have “no matter how fast your device is, you’re gonna get shit performance”.

Waiting a second or more for an action to complete may be acceptable to some, but it’s a problem we solved around 2002.

You should probably revert to the previous version.

Advice I really don't want to receive from a project that manages its own package repository and has deleted the packages from the previous version.

×
@antifaintl I wonder how many will see this meme and assume it's hyperbole.
@antifaintl comparing grok to skynet is an insult to skynet. please don't.
@earthshine Who do we apologize to, though? @skynet?
ARE THEY GOING TO SEND SOMEONE TO THE FUTURE TO DEAL WITH US???