None are on my github and I don't generally share them or even tell people much about them. My whole life I've been using the same software as everyone else but now it's a whole new world where my software is completely built for me. Software is like a wardrobe now and everyone can design their own clothes.
I will share one surprisingly poor experience I had: I asked an earlier iteration of ChatGPT to build a probability model based on the FIFA tournament pools / brackets and current bookkeepers' odds. It made a complete mess of things, not demonstrating any understanding of how qualifiers would be paired up. It offered some case analysis where the cases were poorly defined and overlapping. Plus it got stuck in that obnoxious emoji-heavy Markdown table mode you see in all those GitHub READMEs (which otherwise hasn't been an issue for me). I thought it would be good at this, being a synthesis of basic mathematical analysis (probably following standard techniques) and basic research, but no.
It's so easy to take a body of literature and distill it down into an hour-ish long summary. Listening to an overview of a topic in podcast form is great if I'm making dinner, working out, cleaning, etc. Now that I have young kids it's rare that I can dedicate time to just sit down and read about something.
I think the longest running project has to be “my” heterogenous auto-vectorising compiler language though. Been working on this for ~6 months now, pretty much solidly.
It’ll take serially designed code, find areas for vectorisation, and write all of {single-thread CPU, multi-threaded CPU, SIMD, GPU(s) (SPIR-V, MSL, PTX, WGSL) and special hardware (eg SME)}, then at runtime bind the fastest for the machine the binary is running on, measuring to decide, and caching the measurement. Currently I’m working on letting it spread across networked machines (with installed daemons) as well.
It can take naive serial code and produce a binary that will automatically spread it over the optimal execution style for your environment. It compiles for {mac, windows, Linux, iOS, Android, WASM, others}, and every compiler can cross-compile to every target. It can also sign binaries, and doesn’t require any native-platform tools. Oh, and it’s generally faster than GCC and clang or Swift, apart from x86_64/gnu c++ which is 1.05x the speed of xc - these are across a selection of 19 simple non-parallelising (to make it fair) benchmarks, with a geometric mean. Unless you’re multiplying matrices: xc blows everything away then, x86/gcc c++ is 3.6x slower, clang/arm64 is 320x slower…
The speed is the highlight, but the simplicity is the real win - there’s no GPU setup boilerplate, no complicated annotations on code, no channels to set up and memory barriers to maintain, no cognitive load. It uses (a subset of, you can’t push an object onto a GPU) the same language for everything, and automatically manages all the data hazards. It can do that because the data movement is modelled at the IR/SSA level in the compiler.
Apple introduced ARC (Automatic Reference Counting) which was a huge milestone for ObjC, it removed a whole slew of memory bugs and complicated practices with the compiler stepping in to do it for you. This is “ARC for GPUs”, Automatic Resource Control, allowing data-parallel processing to become just another tool in your arsenal, with the compiler stepping in to do it for you.
Sorry, this is a bit gushing [grin], but I’m inordinately pleased with how well this works :)
A business brain to track tasks, decisions and upcoming events
For coding including firmware
PCB component selection, circuit design and layout
Opportunity scout
Presentations, market research and reviewing legal agreements.
Understanding complex things
It's reduced my time spent on complex reporting from many hours to maybe an hour/week.
This is only one way I'm using it.
I would say that the existential threats are: - biosecurity risks (i.e., AI-assisted development of very effective biological weapons) - a future where humanity becomes a sort of a "pet species" of an artificial superintelligence (humanity would not go extinct in this scenario, but the loss of agency and meaning would be such that I consider it an existential threat)
I'm worried about other risks that I would not define "existential" but are still likely to cause great harm to humans: - large-scale AI-powered disinformation campaigns that could undermine our democracies - the potential of AI for pervasive, automated surveillance, which could lead to an inescapable authoritarian future - autonomous weapons (could become an "existential risk" if at some point we'll allow AI to control also nuclear weapons) - cyberattacks to critical infrastructures - the consequences of widespread unemployment among white-collar workers: social unrest, rampant inequalities... - the consequences of prolonged cognitive offloading on our minds
On a more personal level I would say that AI could automate away some aspects of my job that I deeply enjoy. It's personal, but I think that many people feel the same, and this makes them suffer at various degrees. I'm also saddened by the widespread usage of AI to write texts of any kind, even personal communications, as I feel that the human behind those texts disappears (I acknowledge that, compared to all the other things, this point is minor).