HNHacker News
TopNewBestAskShowJobs

david_allison

2,123 karma · joined June 21, 2020

maintainer @ AnkiDroid

https://github.com/david-allison

gmail: davidallisongithub

Sponsors: https://github.com/sponsors/david-allison/

https://opencollective.com/ankidroid

submissionscomments
david_allison··on Petition to stop Google from restricting sideloading and FOSS apps
Hi, developer of a top-rated app in the Play Store [AnkiDroid].

What do I need to do to make a difference, and how much time will this take?

[My elected officials listen, what's the path? Legislation?]

david_allison··on The Deletion of Docker.io/Bitnami
> But on topic: why not create docker.io/bsi and let /bitnami as is without new updates?

If people are relying on you for automatic security updates, and you've decided to no longer provide these updates [for free], users should opt in to accept the risk.

This would normally require user action (after a period of warnings/information), and having the fix look 'obviously' unsafe (`/bitnami ` ->`/bitnamilegacy`) feels reasonable.

david_allison··on Malicious versions of Nx and some supporting plugins were published
The workflows were set up to execute with a read/write `GITHUB_TOKEN` for `nx` when a PR was created/edited (no approval necessary).

See the security warnings on `pull_request_target`

https://docs.github.com/en/actions/reference/workflows-and-a...

https://securitylab.github.com/resources/github-actions-prev...

david_allison··on Comet AI browser can get prompt injected from any site, drain your bank account
> the build tool

Doesn't this give the LLM the ability to execute arbitrary scripts?

david_allison··on AI tooling must be disclosed for contributions
As a maintainer, if you're dealing with a contributor who's sending in AI slop, you have no opportunity to prompt the LLM.

The PR effectively ends up being an extremely high-latency conversation with an LLM, via another human who doesn't have the full context/understanding of the problem.

david_allison··on Why are anime catgirls blocking my access to the Linux kernel?
Added on March 18: https://github.com/TecharoHQ/.github/commits/main/SECURITY.m...

Copied to the root of the repo after the disclosure

ref: https://github.com/TecharoHQ/anubis/issues/1002#issuecomment...

david_allison··on Benchmarking GPT-5 on 400 real-world code reviews
> Factoring semiprimes of this size is computationally intensive, which is why they form the basis of RSA encryption security.

Not if it's divisible by 2.

    from sympy import isprime
    num = 29927402397991286489627837734179186385188296382227646249397073654051914085318503794952624411151858464246403027505634195232053330357484129331920822220662818816547063469215394303721576869467659309978113411955550111870966028627418736664
    print(num//2) # 14963701198995643244813918867089593192594148191113823124698536827025957042659251897476312205575929232123201513752817097616026665178742064665960411110331409408273531734607697151860788434733829654989056705977775055935483014313709368332
    print(isprime(num//2)) # False
david_allison··on OpenAI charges by the minute, so speed up your audio
I have up to 4x (in steps of 0.05) with YouTube Premium on Android
david_allison··on "Localhost tracking" explained. It could cost Meta €32B
> Android allows apps to open ports without permissions.

Just to clarify: you need `android.permission.INTERNET`. This is a default permission (granted by default at install time with no user interaction).

GrapheneOS allows this permission to be disabled.

As far as I'm aware, you can't lock this down to 'allow only intra-app communications via localhost', please let me know if I'm mistaken.

david_allison··on “ZLinq”, a Zero-Allocation LINQ Library for .NET
> The only time I think query syntax is better than the extension methods is when dealing with table joins.

Fairly niche, but query syntax is a great approximation of Haskell's do notation:

https://github.com/louthy/language-ext/wiki/Thinking-Functio...

EDIT: updated URL

david_allison··on Spaced repetition systems have gotten better
Hi Lee,

We have 4 levels of integration:

* Some apps which integrate with AnkiDroid via our Content Provider based API (see [0]). This integrates with the Android permissions system, but you may also disable all integrations in the AnkiDroid Advanced Settings. AnkiConnect support (REST API) can also be enabled using a third party app.

* System Context Menu (ACTION_PROCESS_TEXT): Selecting text in most apps should provide an 'Anki Card' option in the context menu. This may need to be enabled in AnkiDroid: Settings - General. This may also need to be enabled on your system (system dependent: long press text in an app, expand the context menu to 'more items' and select 'Manage Apps')

* Android Share Menu: Select text and select 'Share', this enables use of our 'Instant Note Editor' for cloze deletions, as well as our standard 'Add Note' screen[1]

* Android Intents (should work with Tasker)[2]

[0] https://github.com/ankidroid/Anki-Android/wiki/Third-Party-A...

[1] https://github.com/criticalAY/GSoC-Report/blob/main/README.m...

[2] https://github.com/ankidroid/Anki-Android/wiki/AnkiDroid-API...

david_allison··on Spaced repetition systems have gotten better
FSRS is not a default yet: https://github.com/ankitects/anki/issues/3616
david_allison··on Spaced repetition systems have gotten better
There's a number of happy Onyx Boox users using AnkiDroid.

You can probably do what you want with the in-built image occlusion feature. Might be worth downloading an Android emulator and seeing if we meet your workflow requirements.

david_allison··on Spaced repetition systems have gotten better
You're on an old version of Anki.

Once you upgrade, FSRS is available under the deck options.

david_allison··on Spaced repetition systems have gotten way better
Your call.

Ideally one deck, but add a tag when creating the note, so you can separate things out later if you want to pause learning something/split them out.

david_allison··on Spaced repetition systems have gotten better
Given what you've said:

* Make your own cards (unless there's an automated workflow [Japanese, sentence mining], really good shared decks, or you're studying for a standardized exam [USMLE])

* Deck Settings (scheduling): Enable FSRS. Press 'Optimize', then press optimize once per month.

* Deck Settings (workload): Wait 2 weeks before gradually increasing new cards per day (if you want to study for longer). Decrease it immediately if you feel you're getting overwhelmed.

* Deck Settings (backlog): Set max reviews/day to 9999

* App Settings: Disable 'Show next review time above answer buttons'

* Addons: https://ankiweb.net/shared/info/876946123 (you seem to have a problem with answer button selection)

* Recommended: Press 'sync', and create an AnkiWeb account. In app settings, set Anki to auto-sync on open/close. This is a free backup.

* Optional: Use a mobile client (AnkiDroid is free on Android, AnkiWeb is free on iOS)

You'll feel like you completed the first day far too quickly, and will want to do more. Avoid overstudying until you build intuition for how it impacts your daily workload.

Use Anki every day

david_allison··on Spaced repetition systems have gotten way better
Given users were self-selected SuperMemo users who needed to use GitHub to upload exported stats, it feels a low (FSRS benchmarks average ~70k per user, filtered to a random selection of users with > 10k reps).

I wasn't involved in the benchmark, and don't know whether `SM16-v-SM17.csv` is a full export. Didn't see any reviews before 2020, and it may only be an export of a subset of reviews.

https://github.com/open-spaced-repetition/srs-benchmark/#dat...

david_allison··on Spaced repetition systems have gotten better
You can set up Anki to force you to type answers; use Basic (type in the answer) when creating cards.

20 second video: https://www.youtube.com/watch?v=mxEqRe1Pp1w

It's possible to batch convert your cards to this format using Anki's "Card Templates" feature.

https://docs.ankiweb.net/templates/fields.html#checking-your...

david_allison··on What Every Programmer Should Know About Enumerative Combinatorics
https://github.blog/changelog/2021-10-31-warning-about-bidir...

https://trojansource.codes/

david_allison··on Spaced repetition systems have gotten way better
Take a look at https://github.com/open-spaced-repetition/

As a quick hack, increase the factor to 2.5 once you reach 1 day. That's what Anki's SM-2 used to use (if only pressing 'good')

david_allison··on Spaced repetition systems have gotten better
Currently under debate. FSRS is likely better than SM-17. No data on SM-18

Q&A/discussion: https://supermemopedia.com/wiki/SuperMemo_dethroned_by_FSRS

Repo: https://github.com/open-spaced-repetition/fsrs-vs-sm17

Discussion: https://discord.gg/qjzcRTx => https://discord.com/channels/368267295601983490/136895216717...

david_allison··on Spaced repetition systems have gotten better
AnkiDroid maintainer here: we're actively working on a new design for the reviewer (currently available in the Developer Options in the production app).

I don't think any of us are satisfied with how most things look, but we're severely under-resourced.

Feel free to email me if you'd be interested in getting involved with the Android side of things.

david_allison··on Spaced repetition systems have gotten better
> In Anki, templates are written in HTML, which is the language that web pages are written in. The styling section is CSS, which is the language used for styling web pages.

https://docs.ankiweb.net/templates/intro.html

----

But you'd want AnkiConnect, or a Python-based addon for your workflow

david_allison··on YouTube DRM added on ALL videos with TV (TVHTML5) clients
I believe format shifting (ripping CDs for personal use) is still illegal in the UK.

https://en.wikipedia.org/wiki/Format_shifting

https://www.gov.uk/government/news/quashing-of-private-copyi...

Probably due to the following, but can't find it from a quick Google:

R (British Academy of Songwriters, Composers and Authors and others) v Secretary of State for Business, Innovation and Skills [2015] EWHC 1723

david_allison··on Math Academy pulled me out of the Valley of Despair
It's not just the price. You'll find a number of 15 year olds have no ability to spend money online.
david_allison··on Github scam investigation: Thousands of “mods” and “cracks” stealing data
Insufficient. Reporting is a fairly manual process, has UX issues which discourage reporting, and is heavily rate limited.

Response times can very from hours to what feels like months, and they rarely handle reports based on patterns of abuse.

david_allison··on Hyperspace
> Hyperspace can’t be installed on “Macintosh HD” because macOS version 15 or later is required.

macOS 15 was released in September 2024, this feels far too soon to deprecate older versions.

david_allison··on Partnering with the Shawnee Tribe for Civilization VII
In reality:

Imagine having no canonical word for 'tap' (to tap something on a touchscreen) and needing to come to a consensus on what that should be, where a number of speakers aren't digital natives.

Imagine doing any form of research/preservation/data collection involving audio, and having no practical ability to do this anonymously, because voices are recognisable.

Imagine holding back recordings and writings because your great grandmother may have said something unusual, and not wanting to bring shame on the family/her memory.

Imagine discovering that your language has translations of the N-word, and needing to decide whether to reintroduce this to the language.

Imagine taking on the responsibility of releasing a dictionary, and drastically changing the usage of the language.

david_allison··on The Amazon Appstore for Android devices will be discontinued on August 20, 2025
> Amazon Appstore will continue to be available elsewhere, including on Fire TV and Fire Tablet devices.
david_allison··on YouTube asks channel owner to verify phone, permanently overwrites personal info
It's still the case. I have at least 4 on the same number.
← PreviousPage 3 of 24Next →