2,123 karma · joined June 21, 2020
https://github.com/david-allison
gmail: davidallisongithub
Sponsors: https://github.com/sponsors/david-allison/
https://opencollective.com/ankidroid
E-waste is awful, as is cutting off old devices. We still backport security fixes to minSdk 21.
To Google's credit, post-21 is a much more pleasant experience and requires very little developer time. API desugaring[0] has worked perfectly, their compatibility classes[1] handle most of the common cases, and there's often very little to actually code[2].
[0] https://developer.android.com/studio/write/java8-support-tab...
[1] https://developer.android.com/jetpack/androidx/releases/appc...
[2] https://github.com/ankidroid/Anki-Android/blob/main/compat/s...
This is regarding 2.25.0alpha4.
* We target minSdk 24
* We're still using XML views
* We target a large variety of form factors
* We have a lot of screens, and these have a lot of configuration options.
I really wish it was "point an agent at it, and walk away", but many screens ended up being hours of iteration with Fable driving my phone/an emulator to produce an acceptable outcome.
Given that my Pixel 9 Pro has system screens which are still broken under edge to edge, it's not an easy change, and takes up time which could have been going towards feature development.
The next update won't be huge, (Google required us to make all screens 'edge to edge'[0], which took up most of my time last month). I'm hoping for some solid improvements now that's out the way, once the release pipeline has returned to normal.
Feel free to get in touch if you fancy contributing.
[0] https://developer.android.com/develop/ui/views/layout/edge-t...
It's not clear given Google's policy wording and replies. We've removed the links, and can move forward once clarification has been provided.
Interesting! Do you have a source for this?
I predict that things will be 'good' within the next 5 years, but your intuition is correct (and the SOTA models are often producing worse prompts than older models).
Are you sure? I played in 2024 on PC and it was playable.
The wrapper around these is very lean, FFI-based[1], it's abstracted to a library so Android devs never need to know there's rust/codegen involved.
We then define a light Kotlin-based wrapper around the protobuf-generated API[2]. This is a candidate to move to Kotlin multiplatform in the near future (mostly for test speed improvements).
[0] https://github.com/ankitects/anki/tree/main/proto
[1] https://github.com/ankidroid/Anki-Android-Backend/blob/a0428...
[2] https://github.com/ankidroid/Anki-Android/blob/68192585a7ae4...
It still does. Feel free to use https://unmaintained.tech/ on your repo.
1.1 Contribute to society and to human well-being, acknowledging that all people are stakeholders in computing.
1.2 Avoid harm.
1.3 Be honest and trustworthy.
1.4 Be fair and take action not to discriminate.
1.5 Respect the work required to produce new ideas, inventions, creative works, and computing artifacts.
1.6 Respect privacy.
1.7 Honor confidentiality.
2.1 Strive to achieve high quality in both the processes and products of professional work.
2.2 Maintain high standards of professional competence, conduct, and ethical practice.
2.3 Know and respect existing rules pertaining to professional work.
2.4 Accept and provide appropriate professional review.
2.5 Give comprehensive and thorough evaluations of computer systems and their impacts, including analysis of possible risks.
2.6 Perform work only in areas of competence.
2.7 Foster public awareness and understanding of computing, related technologies, and their consequences.
2.8 Access computing and communication resources only when authorized or when compelled by the public good.
2.9 Design and implement systems that are robustly and usably secure.
3.1 Ensure that the public good is the central concern during all professional computing work.
3.2 Articulate, encourage acceptance of, and evaluate fulfillment of social responsibilities by members of the organization or group.
3.3 Manage personnel and resources to enhance the quality of working life.
3.4 Articulate, apply, and support policies and processes that reflect the principles of the Code.
3.5 Create opportunities for members of the organization or group to grow as professionals.
3.6 Use care when modifying or retiring systems.
3.7 Recognize and take special care of systems that become integrated into the infrastructure of society.
4.1 Uphold, promote, and respect the principles of the Code.
4.2 Treat violations of the Code as inconsistent with membership in the ACM.
Location: Isle of Man/Europe
Remote: Yes - Experience working with US/International teams
Willing to relocate: Yes - For the right role. Happy to be on-site for onboarding
Technologies: Kotlin, Android, TypeScript, React, .NET, Java, CI/CD, Accessibility, i18n
Email: davidallisongithub@gmail.com
GitHub: https://github.com/david-allison
Open source maintainer/top contributor of AnkiDroid: Android client for Anki. 10M+ downloads.
~10 YOE, with 6 YOE open source (4,000+ commits). Ready for stability after years of contracting and maintainership.I lead a global volunteer team and take full product ownership: setting direction over multi-year horizons, planning and implementing architectural migrations, and keeping a project moving via community engagement, triage, fixes, reviews and mentorship.
Highlights:
- AnkiDroid now releases in tandem with upstream, rather than lagging behind by years
- Migrated a 15-year-old codebase from Java 7 to Kotlin, maintaining git blame
- Migrated to a common Rust-based backend. Android contributors are fully isolated from this complexity
- Improved app rating from 4.5 to ~4.8 stars, dramatically reduced crash rate
- Mentored hundreds of contributors and co-launched AnkiDroid's Google Summer of Code programme
AnkiDroid continues as a hobby; my day job is fully separate.Looking for: full-time or contract. IC or EM, I'm nontraditional so I'm open to a conversation about which fits. Drawn to work that makes people's lives better, in any stack.
As a data source for LLMs, and by becoming the place someone goes where ChatGPT can't produce a sufficient answer.
https://developer.android.com/reference/android/Manifest.per...
Fear-mongering. Not even dangerous permissions. Granted on install
Hardware will continue to improve, and eventually you'll have the choice of reaching a flow state with 2026 models, or using frontier models at our current level of performance.
The Play Store doesn't show these permissions when viewed on my Pixel 9 Pro, and the APK doesn't have these permissions when downloaded/extracted.
From the (limited) article, it doesn't seem they do this: https://thereallo.dev/blog/decompiling-the-white-house-app#p...
----
EDIT: I'm mistaken. From the Play Store[0] it has access to
* approximate location (network-based)
* precise location (GPS and network-based)
[0] https://play.google.com/store/apps/details?id=gov.whitehouse...
This seems to disagree with:
> The location permissions aren't declared in the AndroidManifest but requested at runtime
*shrug*, someone should dig deeper. It looks like the article may not match reality.
1. A lot of settings are 'Enabled' with no option to opt out. What can I do?
2. How do I opt out of data collection? I see the message informing me to opt out, but 'Allow GitHub to use my data for AI model training' is already disabled for my account.
You can travel visa-free (30 days) to China on a UK passport.
Belkin make a number of surge protectors which offer a connected equipment warranty in the UK. Admittedly: financial protection, not data protection, but I felt it was worthwhile for the peace of mind.
https://www.belkin.com/id/p/6-outlet-surge-protection-strip-...