I like their vision, though, this is compelling to me:
> What if it was easier to for a team to work together than it is to work alone?
It generally _is_ easier to work alone with git. UI and DX experiments feel worthwhile. lazygit and Magit are both widely used and loved, for example, but largely focus on the single user experience.
Then in System Settings set "swipe between full-screen applications" to "off" in Trackpad settings under "more gestures" so that BTT's shortcut applies instead of the system-level one.
Works well. No extra software needed if you already have BTT, which is worth the money for me purely for "alt+drag a window from anywhere" style window movement. That setting is buried deep under BetterTouchTool Settings → Window Snapping & Moving → Moving & Resizing Modifier Keys: https://cleanshot.com/share/mnF9xBkW
I tried both. BetterTouchTool does support the no-animation left/right space actions, but on my machine InstantSpaceSwitcher felt a bit snappier for actually moving between spaces, so I kept that for my keyboard shortcuts for previous/next space and direct jumps to a specific desktop. I still use BTT for Mission Control / spaces preview. So for me the final setup is: InstantSpaceSwitcher for fast space switching, BTT only where it still adds something.
that is weird, BTT's space switching should really be instant when used via keyboard shortcuts. (Developer of BTT here)
One advantage of BTT's current implementation is that it still allows you to move windows to the next/previous space while dragging them and simultaneously executing the "Move Left / Right a space" action. In that case there will be an animation but it will at least work.
I like that BTT lets you tune the swipe gesture sensitivity too (Settings → Trackpad → Swipes). I made it more sensitive (0.15) and swiping between Spaces feels very snappy.
Also great from the same developer BetterSnapTool. This is always the first software that I install on my Mac as it allows me to move windows around with keyboard shortcuts. There's many others doing that but I have a license already and only use these 5 key mappings.
- Which models in the list are the best for my selected task? (If you don't track these things regularly, the list is a little overwhelming.) Sorting by various benchmark scores might be useful?
- How much more system resources do I need to run the models currently listed at F, D or C at B, A, or S-tier levels? (Perhaps if you hover over the score, it could tell you?)
`codespeak build` — takes the spec and turns it into code via LLM, like a non-deterministic compiler.
`codespeak takeover` — reads a file and creates a spec from it.
You can progressively opt in ("mixed mode") so it only touches files you allow it to (and makes new ones if needed).
Pros:
- Formalised version of the "agentic engineering" many are already doing, but might actually get people to store their specs and decisions in a concise way that seems more sane than committing your entire meandering chat session.
- Encouraging people to review spec and code side-by-side at a file level seems reasonable. Could even build an IDE/plugin around that concept to auto-load/navigate the spec and code side-by-side like their examples: https://codespeak.dev/shrink-factor/markitdown-eml. If tokens per second for popular models continues to improve, could even update the spec by hand and see the code regenerate live on the fly, perhaps via `codespeak watch`.
- Reduces the code you have to write by 5-10x. Largely by convincing you not to write it any more. Our graphics cards write the code for us in this timeline and many people are even happy about it.
- As models improve, could optionally re-run `build` against the same original spec. (Why do that if the output already produces the intended result and the test suite still passes? Presumably for simpler code. Or faster output. Or lower memory use. Or simply _different_ bugs.)
- Moves programming back toward structured thinking backed by a committed artifact and a solid two-word command you can run, instead of actively having conversations with far away GPUs like that's normal now.
- Could theoretically swap out the build target language if you grow to trust the build process to be your babelfish/specfish. Kind of Haxe with Markdown.
Cons:
- Seems to be gated by their login, can't bring your own model?
- Suspect the labs can all clone this concept very easily. `claude build` and `claude spec`?
The idea of a non-deterministic 'build' command had me cringing at first. But formalising a process many are using anyway that currently feels pretty sloppy perhaps isn't so terrible.
If nothing else, writing `build` is a lot quicker and maintains a whisker of self-respect. At least compared to typing, "please take this spec and adapt the Python accordingly" followed 2 minutes later by, "I updated the spec to deal with the edge-case you missed, try again but don't miss anything this time".
> I think we can do much better than chat interfaces if we're willing to put in the design and engineering work. We can still use large language models, but we can build much better interfaces to them.
Love this premise. The 'semantic code tree' is pretty compelling, and the meme categorisation example does a great job of curating the large collection.
Surely it's different every time you load the project, or every time you add a file, though, due to the non-deterministic nature of the models? The author doesn't mention it, but I suppose you could cache initially generated categories and ask it to assign new files to them unless they're distinct.
> In 56% of eval cases, the skill was never invoked. The agent had access to the documentation but didn't use it. Adding the skill produced no improvement over baseline.
> …
> Skills aren't useless. The AGENTS.md approach provides broad, horizontal improvements to how agents work with Next.js across all tasks. Skills work better for vertical, action-specific workflows that users explicitly trigger,
TIL they somewhat resurrected Google Music and raised the limit (I think it was 20k on that). I used Google Music for years because it seemed like only Spotify and them figured out reliable caching on mobile, other services when I'd lose signal they'd give up trying to stream... even noticing recently apple music is not super reliable with that.
https://www.mathacademy.com/ is a great combination of structured learning across an incremental skill tree with practise problems to prove to yourself that you understand. It’s a big commitment but helped me go from “hasn’t done any math for a while and probably missed some basics” to much more comfortable. You can do the self-test to pick a starting level and work up from there.
As with many things you basically have to sit down and do the work, though, you’re not going to get better just by inhaling books and videos. MA isn’t a fun/gamified learning platform like Duolingo, the ‘fun’ comes from putting the work in and seeing yourself improve. For me it went from a grind initially to something I enjoyed doing.
https://www.geogebra.org/ is also worth exploring for its novel visual approach, but is much more rudimentary, less challenging, and less deep than MA.
I second this. Mathacademy is great and there is no way OP would be able to just jump into university-level math courser without re-learning prerequisites, considering they said that they forgot most of the school-level math.
I third MathAcademy. I graduated high school >25 years ago with almost no math skills and had a major struggle with the math prerequisites for my CS degree ~15 years ago. I've been wanting to get into higher math recently, so a few months back I started hitting MathAcademy heavily. Its structure and modularity is exactly what I needed.
> Its structure and modularity is exactly what I needed.
Through great effort, I completed Mathematical Foundations I & II. I talked about it a bit here [1][2]. If you read through MathAcademy's methodology and reasoning, it's incredibly strong [3], but in practice I never felt confident in my understanding or execution, everything felt quite discrete and I didn't understand the relationships or purposes of what I was doing. I kept going because I was getting better, and because people online who were quite good at math said not to try too hard to understand things fully at first, since the abstraction level of math is so high.
The weeks before finishing MFII, my motivation was higher than ever. The day I finished, I felt nothing, and in the following weeks I decided that it was time to let it go for now.
I think MA is good. I've never done so many exercises in my life, and although I wasn't super confident, I was far better at math than I'd ever been. But I think MA probably needs a lot more multi-part exercises so you understand what you're doing and where to use things. I feel like I learned "Discrete Math", but in the sense that all the lessons were discrete and I couldn't draw connections between them.
(I'm actually set to complete Mathematical Foundations II next week, after completing Mathematical Foundations I recently.)
Thank you for your comment. I had a very nontraditional path to engineering, even in an era of self-taught programmers, and I feel a lot of pain and despair and bitterness and, uh, a vicarious feeling of disappointment, I guess... so discussing this sort of journey does me some good.
> I feel like I learned "Discrete Math", but in the sense that all the lessons were discrete and I couldn't draw connections between them.
Very reasonable takes. I think you're spot on. I do have a lot of trouble with the abstractness and disjointedness of it. I'm hoping that repetition will improve it. So far I'm still struggling with the same things I struggled with in college - combinatorics, for whatever reason, just seems to slide right out of my brain.
By "modularity" I meant that I could squeeze in 10-15 minutes here or there without having to commit multiple hours to a single concept, and that I could take a day off without destroying anything, but that's probably connected to the "discreteness" you mention, without a holistic, oceanic kind of cohesion or connectedness.
I'm actually working on a project now, an educational site that's kind of along these lines but focused on areas of CS I've always struggled with - Lambda Calculus, Type Theory, Lisp, that sort of thing. I think I have some good ideas. I hope I come up with more, because I definitely want to build a rich mesh of knowledge rather than a catalog of disconnected facts and tools without any underlying meaning.
https://docs.gitbutler.com/cli-guides/cli-tutorial/rubbing
I like their vision, though, this is compelling to me:
> What if it was easier to for a team to work together than it is to work alone?
It generally _is_ easier to work alone with git. UI and DX experiments feel worthwhile. lazygit and Magit are both widely used and loved, for example, but largely focus on the single user experience.
reply