HN user

deviation

924 karma
Posts1
Comments131
View on HN

My problem with these types of apps will always be that most software it interacts with will unfortunately be designed without accessibility in mind.

I've trialed a handful of these mouse-less programs before and I always run into the same hurdles.

E.g. where one or more of my apps have sliders which I can't interact with using clicks instead of drags (so I can't interact with it at all), or needing to click things like my MacOS dock, or even resize a window.

Sure, I can explain - it's a little complicated, but I maintain a small-ish catalogue of ~1000 positions for the following topics:

- Checkmates-in-one - Checkmates-in-two - Defensive technique (avoid checkmate/material loss) - Winning material - Endgame patterns - etc (~5 more)

... That I got by scraping the Lichess database, favoring common patterns that appear within +- 600 of my current Elo.

From there, I have Claude build me a script to convert each of those positions into a .png, then create me a deck with all the cards, et voilà. The front of the card is the position, the back is the best move in that position with a small explanation.

Every ~2-3 months when I see that most of the cards have matured (according the the Anki spaced repetition scheduler, I build a new deck around my new Elo.

I also play a lot. Prior to ~1000 rating I got away with spending 90% of my time in Anki and 10% playing online games, but lately it's been pretty 50/50. In higher ratings, playing real games tends to translate into wins more effectively for me.

For studying openings, it's almost the same thing, but the back of each card is the book move for my opening + the name of the opening the opponent chose.

I use Anki to learn French, Chess openings/tactics/techniques, to unscramble letters for scrabble, for Pub Trivia... The options are kind of limitless.

As a mid-30s guy who has well passed the neuroplasticity of his teen years, it's a godsend for me.

To echo the author's thoughts though, I can't prove empirically that I learn more effectively using Anki (or spaced repetition) than other methods... Only anecdotally. I have a shockingly poor memory, but now I'm B2 certified in French and an ~1800 Elo on chess.com .

Do I still forget things all the time? Yes.

My buddy has some vision impairments, and I remember training a much older of YOLO's models to detect objects/enemies in Terraria for him. It worked very well.

I then tried trained it on a lot of sample images from a 3D point & shoot game, and was quite disappointed in how it performed.

Has anyone else experimented with it recently? How does this suit as a base-model for training custom classifiers? And with hardware growth in the last ~5 years, is it suitable to run in parallel with games which are graphically intensive?

How do you handle apps that don't have great accessibility support?

Hell - after installing, it shows a slider to help adjust the label size of each element - but I can't slide it because (surprise) Homerow doesn't support horizontal slider elements like this.

I also can't highlight text on the screen etc.

Struggling to find a usecase for Homerow that isn't just navigating chrome or my filesystem.

I manage a component of an internal compute product which serves ~a billion idempotent use-cases per quarter and I can confidently tell you that you're incorrect.

What I haven't been able to teach AI is the full distributed nature of the system, how we progressively roll out each service (about ~30 unique ones) when we push updates -- and how to read, write, and review my code while keeping all of this in-context (because believe me, if it's not in-context, it is useless to me). Don't get me started on all the containers, K8s configs, endpoint naming conventions...

My entire stack covers bare metal, virtualisation infrastructure, storage infrastructure... I could go on. At a certain scale, it doesn't matter how fast you write something, but if what you're writing is bulletproof.

Jumping in here with relevant experience - because you're absolutely right.

In 8th grade (~16 years ago) my substitute biology teacher organised a "Water drinking competition" poised to elevate our understanding of stomach capacity, etc.

Two of us went to hospital, and ~5 (including myself) had to take multiple days off of school and recover.

It's very dangerous. He lost his job.

Not sure it's completely accurate. I played a standard queen's gambit accepted, took black's queen which it immediately blundered, then tried to move my queen from c5 -> e5 and the game ended immediately showing:

  *Illegal Move*
  You Lose.
  Game over.
A little disappointed, since it's of course a valid move.

Here's all the telemetry:

1. Telemetry to dirac.run/v1/event — Sends machine ID, token usage, model info, events, errors (first 500 chars), and platform info. Hardcoded API key. Defaults to opt-in (setting is "unset", not "disabled").

2. Feature flags from dirac.run/v1/event/decide — Polls every 60 minutes with your machine ID. Always enabled, independent of telemetry opt-out. No way to disable without code changes.

3. Web tools route through api.dirac.run — Web search and web fetch tools proxy through Dirac's own API server, sending your request content plus system headers (platform, version, machine ID).

4. Model list fetches — Calls OpenRouter, HuggingFace, Groq, etc. for model listings even when using the Anthropic provider.

Paste this bad-boy into your console and watch the real expert play:

(function () { "use strict";

  // ── CONFIG ──────────────────────────────────────────────────
  const AUTO_RESTART = true;
  const RESTART_DELAY = 800;   // ms before auto-restart after death
  const MUTE_SOUND = true;     // silence during autoplay
  const SIM_FRAMES = 350;      // max frames to simulate per check
  // ────────────────────────────────────────────────────────────

  let running = true;
  let totalGames = 0;
  let botBest = 0;
  let scores = [];

  if (MUTE_SOUND && typeof snd !== "undefined") snd = false;

  function wouldHitTarget() {
    if (st !== 1 || !bl || !bl.orb) return false;

    var targets = [];
    for (var i = cWI + 1; i < Math.min(wl.length, cWI + 3); i++) {
      if (wl[i] && !wl[i].caught) targets.push(wl[i]);
    }
    if (targets.length === 0) return false;

    var ta = bl.angle + bl.dir * Math.PI / 2;
    var nw = wl[cWI + 1];
    var spd;
    if (nw) {
      var ddx = nw.x - bl.x, ddy = nw.y - bl.y;
      spd = Math.max(4.5, Math.min(7.5, Math.sqrt(ddx * ddx + ddy * ddy) * 0.038));
    } else {
      spd = 5.5;
    }

    var x = bl.x, y = bl.y;
    var vx = Math.cos(ta) * spd;
    var vy = Math.sin(ta) * spd;

    for (var f = 0; f < SIM_FRAMES; f++) {
      vy += 0.06;
      vx *= 0.995;
      vy *= 0.995;
      x += vx;
      y += vy;

      for (var t = 0; t < targets.length; t++) {
        var dx = x - targets[t].x, dy = y - targets[t].y;
        if (Math.sqrt(dx * dx + dy * dy) < targets[t].radius + 20) {
          return true;
        }
      }

      if (y > 2500 || x < -400 || x > W + 400) return false;
    }
    return false;
  }

  function autoRestart() {
    if (st !== 2) return;
    var go = document.getElementById("game-over");
    var rp = document.getElementById("revive-popup");
    if (go) go.classList.add("hidden");
    if (rp) rp.classList.add("hidden");
    document.getElementById("pause-btn").style.display = "flex";
    document.getElementById("sound-btn").style.display = "flex";
    st = 1;
    init();
  }

  function tick() {
    if (!running) return;

    if (st === 0) {
      handleTap();
    } else if (st === 2 && AUTO_RESTART) {
      totalGames++;
      scores.push(sc);
      if (sc > botBest) botBest = sc;
      console.log(
        "Game #" + totalGames +
        " | Score: " + sc +
        " | Jumps: " + jmp +
        " | Combo peak: " + cc +
        " | Bot best: " + botBest
      );
      setTimeout(autoRestart, RESTART_DELAY);
      setTimeout(function () { requestAnimationFrame(tick); }, RESTART_DELAY + 50);
      return;
    } else if (st === 1 && bl && bl.orb) {
      if (wouldHitTarget()) {
        release();
      }
    }

    requestAnimationFrame(tick);
  }

  window.stopBot = function () {
    running = false;
    console.log("Bot paused. Call startBot() to resume.");
  };

  window.startBot = function () {
    if (running) return;
    running = true;
    console.log("Bot resumed.");
    requestAnimationFrame(tick);
  };

  window.botStatus = function () {
    var avg = scores.length
      ? (scores.reduce(function (a, b) { return a + b; }, 0) / scores.length).toFixed(1)
      : 0;
    console.log(
      "Games: " + totalGames +
      " | Best: " + botBest +
      " | Avg: " + avg +
      " | Running: " + running
    );
  };

  console.log("=== STARFLING AUTO-PLAYER ===");
  console.log("Controls: stopBot() | startBot() | botStatus()");
  requestAnimationFrame(tick);
})();

I never thought about ear-training!

My listening comprehension for Piano has always been lacking. A deck of piano sounds that map to actual notes (or even chords) might do wonders for it...

My current decks are as follows - I spend about an hour in total reviewing/learning them all, daily:

- 5000 most common French words

- 5000 most common French sentences (following the Alex Crompton method: https://www.alexcrompton.com/blog/how-to-learn-a-language)

- English GMAT Vocabulary List (to keep my English sharp)

- Unscrambling 5000 English Anagrams (to practice unscrambling for Scrabble or other similar board games)

- Some machine learning concepts & algorithms relevant to my day job

- Some distributed systems concepts & algorithms relevant to my day job

I've been pretty obsessed with FSRS in general (tldr: https://github.com/open-spaced-repetition/awesome-fsrs/wiki/...) It's a fantastic new-ish scheduler for spaced repetition - basically a machine learning model which adapts to you, and schedules flash (or anything, really, it's an algorithm) cards according to how well you are personally performing - surfacing data like retention, stability, recall, etc. It's a massive jump over previous "learning algorithms" like

For the past 60d I've been using Anki (a flash card program) and it's FSRS setting to learn my French deck (5000 most common French words) and I'm absolutely zooming. I can already follow a fair chunk of conversational French.

I've also been using the same system to learn Chess more deeply (endgames, tactics, openings) through Chessable and a few other websites that offer FSRS. It's levelled up my chess game a lot

Basically - the thing that hooked me was the data. Being able to see how many cards I've reviewed, how many cards are at 90/80% retention, the stability of every piece of that knowledge, the decay rate, etc... It's really cool.

I really liked the article, but food for thought: is a transformer that offloads computation to python really that different from Python code being read and then executed by a compiler?

Both examples are of a system we created to abstract most of the hard work.

I think a more important concept here is that the term "AI" has a lot of built-in assumptions, one of which being that it is (or will be) super intelligent, and so folks like the author here think (correctly) that it's important for the AI to be actually doing the work itself.

I know it's semantics, but Apple has never actually marketed their Air products as lighter than their Pro counterparts. The 11" variant is ~460g.

Gemini 3 Deep Think 5 months ago

I'm impressed with the Arc-AGI-2 results - though readers beware... They achieved this score at a cost of $13.62 per task.

For context, Opus 4.6's best score is 68.8% - but at a cost of $3.64 per task.

It's true. Usually, the first time you see Everest is from the Everest View Hotel (a small hike up from Namche Bazaar) -- so around day 3, depending on your speed -- and then once or twice more on the approach to Gorakshep.

From there, you either hike up the Kala Patthar view-point which has that famous panoramic view of Everest, basecamp, and all the surrounding peaks... Or you trek around the canyon and begin the approach to EBC itself.

I always love reading about Nepal. I've been a handful of times, for various short climbs and for some far longer 30+ day expeditions.

If you're reading this and need a short escape from life, I really recommend looking into doing the trek to EBC. It's extremely accessible (and cheap), and I've personally seen people as young as 8 y/o and as old as 80 y/o doing it and having the time of their lives.

I've been all over the world. Antarctica, climbing in Pakistan, trekking through the Middle East... Nepal was one of my first adventures and remains one of my favourites.

To stay on topic... Teahouses can be found along every route through the mountains. Most of my fond memories are in teahouses, where you get to sit, have a black tea, and reflect on just how beautiful the people (and the mountains) are. It's also a great opportunity to meet people from other cultures. I'll always remember the Russian's who bought me a beer after climbing Island Peak, the cards I played with some kids in Samagaun... I could go on.

Go visit Nepal!

Uncrossy 6 months ago

I love it. My bets are on that this idea will be stolen and turned into some micro-transaction plagued app on store before the end of the week.

I think it's important to be distinct here... These "Space DC" companies are not showing up on some Techy-Shark-Tank (or walking into VC meetings) with a promise to investors that they have an established strategy which will pay off.

IMO, they are just answering the question: "If we pour 100B into R&D, could it have a reasonable chance at succeeding?".

For Nvidia (or these other massive companies) the investment is chump change.