Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
1

GPG Things

from Tyler Cipriani: blog [alt+shift+b] in programming

Get your fingerprint: gpg --list-secret-keys --fingerprint Get someone elses key Using email gpg2 --search-keys EMAIL Using keyid gpg2 --recv-key KEYID Sign keys gpg2 --recv-key KEYID gpg2 --sign-key KEYID gpg2 --send-key KEYID Photos View someone's photo gpg --edit-key KEYID showphoto Add a photo Suggested image sizes are 240x288 pixels (GnuPG) or 120x144 pixels (PGP) to make a JPEG of 4K-6K in size. A 1.2 h:w ratio w = h / (144 / 120) gpg --edit-key KEYID addphoto Keysigning party etherpad To Sign keys gpg2 --recv-key KEYID gpg2 --sign-key KEYID gpg2 --send-key KEYID Script to quickly sign all keys for k in $(grep pub ksp-wmf-20160108.txt | awk '{print $2}' | awk -F '/' '{print $2}'); do echo "Receiving $k" gpg2 --recv-key $k echo "Signing key $k" gpg2 --sign-key $k echo "Sending key $k" gpg2 --send-key $k done IF YOU NEED A KEY, GET HELP!! Resources PGP/GPG Intro https://ssd.eff.org/en/module/introduction-public-key-cryptography-and-pgp https://ssd.eff.org/en/module/how-use-pgp-mac-os-x OpenPGP Best practices https://help.riseup.net/en/gpg-best-practices https://help.riseup.net/en/security/message-security/openpgp/gpg-keys http://web.monkeysphere.info/monkeysign/ WMF Keysigning https://people.wikimedia.org/~faidon/ksp-wmf-20160108.txt SHA256 Checksum: 52F2 CF39 6A54 6D56 7F55 7138 7264 11BA AEE3 F34E 8880 681C 9A67 75D1 3BBC 74DC [ ] 52F2CF39 6A546D56 7F557138 726411BA AEE3F34E 8880681C 9A6775D1 3BBC74DC RIPEMD160 Checksum: BB44 91B6 0A4D 5865 2105 2A4C 19FB 11AD 8BCC C3C3 [ ] BB44 91B6 0A4D 5865 2105 2A4C 19FB 11AD 8BCC C3C3 Mutt problems "can't query passphrase in batch mode" Uncomment, use agent in ~/.gnupg/gpg.conf Pass problems No Secret Key Problem gpg: decryption failed: No secret key Solution install pinentry-curses ~/.gnupg/gpg-agent.conf pinentry-program...
3rd Dec 2015

Stay updated

Get a weekly newsletter with the top 5 articles worth reading every week.

More from Tyler Cipriani: blog

Chuwi Minibook X: the netbook we deserve

.title {text-wrap:balance;} #content > p:first-child {text-wrap:balance;} .gallery { display:flex; justify-content:center; } figure a:link, figure a:visited, figure a:hover, figure a:active {color:inherit; text-decoration: underline;} Netbooks are dead, but the Chuwi Minibook X scratches the same itch. The Minibook X is a 10.5″ x86_64 sub-ultrabook with 16GB RAM, a 512GB NVMe drive, and only one majorly annyoing Linux quirk. I needed a knock-around laptop, so I bought myself a Minibook for my birthday last year. The more I tote it around, the more fun I’m having with this ridiculous little computer. Chuwi Minibook X Quick specs Much like the netbooks of yore, the Minibook is a budget machine. But it’s 2026, so even budget machines pack more oomph than I need from a utility laptop. CPU 4-core/4-thread 3.6GHz Intel N150 Twin Lake 16 GB RAM – LPDDR5-6400 – soldered 😿 512GB NVMe – upgradable 10.51” IPS 2K 16:10 screen 28.88Wh Li-Ion battery Weight: 911g Ports: 2×USB-C (1×PD charging) Cost: $350 Chuwi Minibook Guts One oddity is that the Minibook comes bundled with a 12V/2A USB-C charger. I chucked the charger; I worried I’d fry some 5V SoC someday. The Minibook works fine with a PD charger. Minibook X using a PD Charger at 20V I’d assume the 12V charger was a cost-saving choice, but it also creates some weird possibilities for DC/off-grid setups. Linux and weirdness: sideways panels and kernel parameters Charlie Stross, a favorite SciFi author, talks up the Chuwi Minibook X on Mastodon The fediverse told me that Minibook runs Linux “boringly well,” which was almost true. I tried Debian, then jumped to NixOS for kicks. What works: Camera/Microphone/Speakers Touchscreen Sleep/Suspend Hibernate Keyboard backlight USB-C HDMI Bluetooth (non-free blobs – Intel) Wi-Fi 6 (non-free blobs – Intel) But on first boot, the screen orientation is 270° clockwise: Linux setup screen rotated 270°. The Chuwi’s screen is a panel from a cheap tablet; the screen rotation issue is a hardware problem (the screen is mounted sideways). To fix the screen’s rotation, I had to tweak screen orientation at every software layer. Fixing this problem was a journey: Bootloader – Switched from systemd-boot to grub, carrying some unmerged GRUB rotation patches on top. Initrd – Tell the Intel display driver about the panel orientation via a kernel parameter, and force the Intel driver to load in the initramfs. On NixOS: boot.kernelParams = ["video=DSI-1:panel_orientation=right_side_up"]; and boot.initrd.kernelModules = ["i915"]; (see Kernel docs for modedb default video mode support) Desktop environment – For X11, good ole xrandr --output DSI-1 --rotate right. Wayland picked this up from the DRM connector. This one was easy. Framebuffer – Ensure all TTYs have the proper orientation by adding fbcon=rotate:1 to kernel parameters boot.kernelParams = ["fbcon=rotate:1"]; (see Kernel docs for framebuffer console boot options) Behold, the final result in all its glory: Non-rotated system boot. Zero Cool's bootscreen courtesy of mainframed/Hackers-Plymouth Size, weight, and build This computer is mind-bogglingly small. The build is sturdy and totable; it’ll hold up to a backpack jostling. Chuwi Minibook X with "banana" for scale The laptop’s case is MacBook-esque: aluminum and good-looking. The MacBook Air’s dimensions dwarf the Chuwi’s, but the two laptops are about the same thickness. Chuwi Minibook X alongside the Macbook Air Chuwi Minibook atop the Macbook Air A notebook that weighs more than a kilo is simply not a good thing – Linus Torvalds The Minibook weighs in just shy of a kilo at 912 grams. My Minibook X weighs 912g Perf, thermals, and power tl;dr: you get what you pay for. But battery life and cooling are better than I’d have guessed. The Minibook X was never going to compile the Linux kernel in record time. But the performance matches the specs, it stays cool, and it has enough battery life to run a movie marathon. Numbers: Geekbench6 (a fun side-quest to get running on NixOS), better than I expected. Single-core: 1295 Multi-core: 3332 Wi-Fi 6 speed: 424 Mbps, more than enough to stream a 4K movie. Power Idle: 3.8W During benchmark: ~15W Battery: When I left the 1995 classic film “Hackers” looping in VLC, the battery lasted about 6 hours. Heat: Running stress-ng for 10 minutes, the hottest part of the laptop chassis remained below 90°F (32°C): Thermal camera view of Chuwi Minibook X running stress-ng What I dislike There’s so much to dislike about this laptop: Screen is terrible – 2K? 50Hz refresh rate? Why!? Keyboard is terrible – it only registers keystrokes when you hit the exact center of each key. Touchpad is terrible – It’s a diving board-style, without physical buttons. Sound is meh – I can hear the tinny laptop speaker fine, but it’s underwhelming. I’ve never tried tweaking it in Pipewire, though; it’s possible it could be better. But “terrible” is in comparison to the nicest modern laptops in existence. Everything I listed here works fine. I’m honestly blown away when I tune my expectations to the sub-$400 laptop range. Verdict In The Death and Life of Great American Cities, Jane Jacobs wrote, “new ideas require old buildings”: cheap spaces let people try risky ideas. The Chuwi Minibook X is an old building. I can brick the Minibook and have a normal Monday on my serious work laptop. Nothing has to work, which makes it perfect to try out new Linux desktop stuff: NixOS – I’ve been using Debian for 15 years+, figured I’d try joining the NixOS cult for a while. RiverWM – I’m on a quest to find the Wayland version of XMonad; River is pretty close. KDE Plasma – I’ve used a tiling window manager for over a decade. What’s it like to use a desktop that Just Works™? Steam – Never been much into games, but I decided to give Steam a try since, well, why not? Cheap, weird computers like the Chuwi make it safe to play. And playing with computers is still fun. Playing Melatonin on Steam on the Chuwi

28th May 2026 • 1 votes
On the software supply-chain doom spiral

.title {text-wrap:balance;} #content > p:first-child {text-wrap:balance;} Hackers are pwning packages at an exhausting clip. But the hacks are hackneyed. What’s new is the doom cycle: Code that steals keys to publish code to steal more keys. A zombie army of infected code. And AI is making it worse. GitHub Actions are a trap Trivy is an open-source security scanner. But if you used Trivy in late March, you had a bad time. On March 19th, hackers pushed a version of Trivy that tried to smuggle secrets from anywhere it ran. Trivy cited a “misconfiguration” in their continuous integration (CI) system, GitHub Actions. But the exploit was less a misconfiguration and more a GitHub Actions trap. Admiral Ackbar warning about the trap in GitHub Actions Here’s a simplified version of how Trivy got pwnd1: # INSECURE. DO NOT USE. on: pull_request_target jobs: check: steps: - uses: action/checkout@deadbeefdeadbeefdeadbeefdeadbeefdeadbeef with: ref: refs/pull/${{ github.event.pull_request.number }}/merge - uses: ./.github/actions/setup-go - uses: some/go-static-analysis@c0ffeec0ffeec0ffeec0ffeec0ffeec0ffeec0ff At first glance, this code looks fine: No secrets referenced. Third-party actions pinned to an immutable hash. Check out a pull request. Perform some static analysis. But this code is a verbatim antipattern from a 2021 GitHub blog post titled “preventing pwn requests”: if the pull_request_target workflow only […] runs untrusted code but doesn’t reference any secrets, is it still vulnerable? Yes it is – GitHub Security Lab The problem is pull_request_target: pull_request_target – plunks a nice, juicy GITHUB_TOKEN into the environment. actions/checkout – takes an optional parameter persist-credentials, which removes secrets if set to false. But the default for the parameter is true. Setting the persist-credentials parameter to false has been an open issue in GitHub Actions since 2021. Your $HOME is a crime scene Once hackers had Trivy’s keys, they published a new version of Trivy to steal more keys. LiteLLM used Trivy in their CI. The same CI they used to publish code to PyPI, the Python software registry. When LiteLLM’s CI ran the compromised Trivy, hackers nabbed their publishing key. And on March 24th, when Callum McMahon fired up his IDE, his MacBook froze. And that’s how he discovered the LiteLLM hijack. McMahon’s MacBook was flailing at bad code that hackers snuck into LiteLLM. And the bad code trying to steal credentials: ~/.netrc ~/.aws/credentials ~/.config/gcloud ~/.config/gh ~/.azure ~/.docker/config.json ~/.npmrc ~/.git-credentials ~/.kube/ Files that are typically strewn around $HOME directories, full of tokens and keys, often unencrypted. AI and the supply chain doom spiral We’ve dealt with problems like unencrypted credentials, unpinned dependencies, and CI footguns forever. But AI has accelerated everything, including repeating security mistakes. On the day of the Trivy compromise, I asked Claude, “how do I scan docker registry images for security vulnerabilities?” The reply, in part: CI/CD Integration Example (GitHub Actions with Trivy) - name: Scan image for vulnerabilities uses: aquasecurity/trivy-action@master Broken in two ways: Unpinned references – master is a reference that changes all the time. If hackers zombify the repo, I’d be the first victim. Active vulnerability – No mention whatsoever of the CVE posted that day. I never asked, so Claude never checked. Meanwhile, Vercel’s CEO has attributed his company’s recent data breach to a hacker that was “accelerated by AI.” And Anthropic’s latest hype tour includes briefing the US Federal Reserve Chair about vulnerabilities unearthed by their frontier model. Bad guys with LLMs get superpowers. Good guys with LLMs fall prey to mid-2010’s CI problems. And the same tool that can root out 27-year-old security problems in OpenBSD, will still tell you to pin your GitHub actions to @master. My GitHub Actions example is a simpler verison of the action removed in aquasecurity/trivy #10259.↩︎

24th Apr 2026 • 1 votes
The future of large files in Git is Git

.title {text-wrap:balance;} #content > p:first-child {text-wrap:balance;} If Git had a nemesis, it’d be large files. Large files bloat Git’s storage, slow down git clone, and wreak havoc on Git forges. In 2015, GitHub released Git LFS—a Git extension that hacked around problems with large files. But Git LFS added new complications and storage costs. Meanwhile, the Git project has been quietly working on large files. And while LFS ain’t dead yet, the latest Git release shows the path towards a future where LFS is, finally, obsolete. What you can do today: replace Git LFS with Git partial clone Git LFS works by storing large files outside your repo. When you clone a project via LFS, you get the repo’s history and small files, but skip large files. Instead, Git LFS downloads only the large files you need for your working copy. In 2017, the Git project introduced partial clones that provide the same benefits as Git LFS: Partial clone allows us to avoid downloading [large binary assets] in advance during clone and fetch operations and thereby reduce download times and disk usage. – Partial Clone Design Notes, git-scm.com Git’s partial clone and LFS both make for: Small checkouts – On clone, you get the latest copy of big files instead of every copy. Fast clones – Because you avoid downloading large files, each clone is fast. Quick setup – Unlike shallow clones, you get the entire history of the project—you can get to work right away. What is a partial clone? A Git partial clone is a clone with a --filter. For example, to avoid downloading files bigger than 100KB, you’d use: git clone --filter='blobs:size=100k' <repo> Later, Git will lazily download any files over 100KB you need for your checkout. By default, if I git clone a repo with many revisions of a noisome 25 MB PNG file, then cloning is slow and the checkout is obnoxiously large: $ time git clone https://github.com/thcipriani/noise-over-git Cloning into '/tmp/noise-over-git'... ... Receiving objects: 100% (153/153), 1.19 GiB real 3m49.052s Almost four minutes to check out a single 25MB file! $ du --max-depth=0 --human-readable noise-over-git/. 1.3G noise-over-git/. $ ^ 🤬 And 50 revisions of that single 25MB file eat 1.3GB of space. But a partial clone side-steps these problems: $ git config --global alias.pclone 'clone --filter=blob:limit=100k' $ time git pclone https://github.com/thcipriani/noise-over-git Cloning into '/tmp/noise-over-git'... ... Receiving objects: 100% (1/1), 24.03 MiB real 0m6.132s $ du --max-depth=0 --human-readable noise-over-git/. 49M noise-over-git/ $ ^ 😻 (the same size as a git lfs checkout) My filter made cloning 97% faster (3m 49s → 6s), and it reduced my checkout size by 96% (1.3GB → 49M)! But there are still some caveats here. If you run a command that needs data you filtered out, Git will need to make a trip to the server to get it. So, commands like git diff, git blame, and git checkout will require a trip to your Git host to run. But, for large files, this is the same behavior as Git LFS. Plus, I can’t remember the last time I ran git blame on a PNG 🙃. Why go to the trouble? What’s wrong with Git LFS? Git LFS foists Git’s problems with large files onto users. And the problems are significant: 🖕 High vendor lock-in – When GitHub wrote Git LFS, the other large file systems—Git Fat, Git Annex, and Git Media—were agnostic about the server-side. But GitHub locked users to their proprietary server implementation and charged folks to use it.1 💸 Costly – GitHub won because it let users host repositories for free. But Git LFS started as a paid product. Nowadays, there’s a free tier, but you’re dependent on the whims of GitHub to set pricing. Today, a 50GB repo on GitHub will cost $40/year for storage. In contrast, storing 50GB on Amazon’s S3 standard storage is $13/year. 😰 Hard to undo – Once you’ve moved to Git LFS, it’s impossible to undo the move without rewriting history. 🌀 Ongoing set-up costs – All your collaborators need to install Git LFS. Without Git LFS installed, your collaborators will get confusing, metadata-filled text files instead of the large files they expect. The future: Git large object promisors Large files create problems for Git forges, too. GitHub and GitLab put limits on file size2 because big files cost more money to host. Git LFS keeps server-side costs low by offloading large files to CDNs. But the Git project has a new solution. Earlier this year, Git merged a new feature: large object promisers. Large object promisors aim to provide the same server-side benefits as LFS, minus the hassle to users. This effort aims to especially improve things on the server side, and especially for large blobs that are already compressed in a binary format. This effort aims to provide an alternative to Git LFS – Large Object Promisors, git-scm.com What is a large object promisor? Large object promisors are special Git remotes that only house large files. In the bright, shiny future, large object promisors will work like this: You push a large file to your Git host. In the background, your Git host offloads that large file to a large object promisor. When you clone, the Git host tells your Git client about the promisor. Your client will clone from the Git host, and automagically nab large files from the promisor remote. But we’re still a ways off from that bright, shiny future. Git large object promisors are still a work in progress. Pieces of large object promisors merged to Git in March of 2025. But there’s more to do and open questions yet to answer. And so, for today, you’re stuck with Git LFS for giant files. But once large object promisors see broad adoption, maybe GitHub will let you push files bigger than 100MB. The future of large files in Git is Git. The Git project is thinking hard about large files, so you don’t have to. Today, we’re stuck with Git LFS. But soon, the only obstacle for large files in Git will be your half-remembered, ominous hunch that it’s a bad idea to stow your MP3 library in Git. Edited by Refactoring English Later, other Git forges made their own LFS servers. Today, you can push to multiple Git forges or use an LFS transfer agent, but all this makes set up harder for contributors. You’re pretty much locked-in unless you put in extra effort to get unlocked.↩︎ File size limits: 100MB for GitHub, 100MB for GitLab.com↩︎

15th Aug 2025 • 57 votes
Digging into git commit templates

Any code of your own that you haven’t looked at for six or more months might as well have been written by someone else. – Eagleson’s Law After scouring git history, I found the correct config file, but someone removed it. Their full commit message read: Remove config. Don't bring it back. Very. helpful. But I get it; it’s hard to care about commit messages when you’re making a quick change. Git commit templates can help. Commit templates provide a scaffold for your commit messages, reminding you to answer questions like: What problem are you solving? Why is this the solution? What alternatives did you consider? Where can I read more? What is a git commit template? When you type git commit, git pops open your text editor1. Git can pre-fill your editor with a commit template—a form that reminds you of everything it’s easy to forget when writing a commit. Creating a commit template is simple. Create a plaintext file – mine lives at ~/.config/git/message.txt Tell git to use it: git config --global \ commit.template '~/.config/git/message.txt' My template packs everything I know about writing a commit. Project-specific templates Large projects, such as Linux kernel, git, and MediaWiki, have their own commit guidelines. Git templates can remind you about these per-project requirements if you add a commit template to a project’s .git/config file. Another way to do this is git’s includeIf configuration setting. includeIf lets you override git config settings when you’re working under directories you define. For example, all my Wikimedia work lives in ~/Projects/Wikimedia and at the bottom of my ~/.config/git/config I have: [includeIf "gitdir:~/Projects/Wikimedia/**"] path = ~/.config/git/config.wikimedia In config.wikimedia, I point to my Wikimedia-specific commit template (along with other necessary git settings: my user.email, core.hooksPath, and a pushInsteadOf url to push to ssh even when I clone via https). Forge-specific templates Personal git commit templates lead to better commits, which make for a better history. The forge-specific pull-request templates are a band-aid, the cheap kind that falls off in the shower. There’s no incentive for GitHub to make git history better: the worse your commit history, the more you rely on GitHub. Still, all the major pull-request-style forges let you foist a pull-request template on your contributors. As a contributor, I dislike filling those out—they add unnecessary friction. Commit message contents Your commit template allows you do the hard thinking upfront. Then, when you make a commit, you simply follow the template. My template asks questions I answer with my commit message: 72ch. wide -------------------------------------------------------- BODY # | # - Why should this change be made? | # - What problem are you solving? | # - Why this solution? | # - What's wrong with the current code? | # - Are there other ways to do it? | # - How can the reviewer confirm it works? | # | # ---------------------------------------------------------------- /BODY But other clever folks cooked up conventions you could incorporate: Conventional commits – how do your commits relate to semantic versioning? This makes it easier for SRE and downstream users. Problem/Solution format – first pioneered by ZeroMQ2, this format anticipates the questions of future developers and reviewers. Gitmoji – developed for the GitHub crowd, this format defines an emoji shorthand that makes it easy to spot changes of a particular type. Commit message formatting How you format text affects how people read it. My template also deals with text formatting rules3: Subject – 50 characters or less, capitalized, no end punctuation. Body – Wrap at 72 characters with a blank line separating it from the subject. Trailers – Standard formats with a blank line separating them from the body. People will read your commit in different contexts: git log, git shortlog, and git rebase. But git’s pager has no line wrapping by default. I hard wrap at 72 characters because that makes text easier to read in wide terminals.4 Finally, my template addresses trailers, reminding me about standard trailers supported in the projects I’m working on. Git can interpret trailers, which can be useful later. For example, if I wanted a tab-separated list of commits and their related tasks I could find that with git log: $ TAB=%x09 $ BUG_TRAILER='%(trailers:key=Bug,valueonly=true,separator=%x2C )' $ SHORT_HASH=%h $ SUBJ=%s $ FORMAT="${SHORT_HASH}${TAB}${BUG_TRAILER}${TAB}${GIT_SUBJ}" $ git log --topo-order --no-merges \ --format="$FORMAT" d2b09deb12f T359762 Rewrite Kurdish (ku) Latin to Arabic converter 28123a6a262 T332865 tests: Remove non-static fallback in HookRunnerTestBase 4e919a307a4 T328919 tests: Remove unused argument from data provider in PageUpdaterTest bedd0f685f9 objectcache: Improve `RESTBagOStuff::handleError()` 2182a0c4490 T393219 tests: Remove two data provider in RestStructureTest Git commit templates free your brain from remembering what you should write, allowing you to focus on the story you should tell. Your future self will thank you for the effort. Starting with core.editor in your git config, $VISUAL or $EDITOR in your shell, finally falling back to vi.↩︎ I think…↩︎ All cribbed from Tim Pope↩︎ Another story I’ve heard: a standard terminal allows 80 characters per line. git log indents commit messages with 4 spaces. A 72-character-per-line commit centers text on an 80-character-per-line terminal. To me, readability in modern terminals is a better reason to wrap than kowtowing to antiquated terminals.↩︎

21st May 2025 • 62 votes
Boox Go 10.3, two months in

[The] Linux kernel uses GPLv2, and if you distribute GPLv2 code, you have to provide a copy of the source (and modifications) once someone asks for it. And now I’m asking nicely for you to do so 🙂 – Joga, bbs.onyx-international.com Boox in split screen, typewriter mode In January, I bought a Boox Go 10.3—a 10.3-inch, 300-ppi, e-ink Android tablet. After two months, I use the Boox daily—it’s replaced my planner, notebook, countless PDF print-offs, and the good parts of my phone. But Boox’s parent company, Onyx, is sketchy. I’m conflicted. The Boox Go is a beautiful, capable tablet that I use every day, but I recommend avoiding as long as Onyx continues to disregard the rights of its users. How I’m using my Boox My e-ink floor desk Each morning, I plop down in front of my MagicHold laptop stand and journal on my Boox with Obsidian. I use Syncthing to back up my planner and sync my Zotero library between my Boox and laptop. In the evening, I review my PDF planner and plot for tomorrow. I use these apps: Obsidian – a markdown editor that syncs between all my devices with no fuss for $8/mo. Syncthing – I love Syncthing—it’s an encrypted, continuous file sync-er without a centralized server. Meditation apps1 – Guided meditation away from the blue light glow of my phone or computer is better. Before buying the Boox, I considered a reMarkable. The reMarkable Paper Pro has a beautiful color screen with a frontlight, a nice pen, and a “type folio,” plus it’s certified by the Calm Tech Institute. But the reMarkable is a distraction-free e-ink tablet. Meanwhile, I need distraction-lite. What I like Calm(ish) technology – The Boox is an intentional device. Browsing the internet, reading emails, and watching videos is hard, but that’s good. Apps – Google Play works out of the box. I can install F-Droid and change my launcher without difficulty. Split screen – The built-in launcher has a split screen feature. I use it to open a PDF side-by-side with a notes doc. Reading – The screen is a 300ppi Carta 1200, making text crisp and clear. What I dislike I filmed myself typing at 240fps, each frame is 4.17ms. Boox’s typing latency is between 150ms and 275ms at the fastest refresh rate inside Obsidian. Typing – Typing latency is noticeable. At Boox’s highest refresh rate, after hitting a key, text takes between 150ms to 275ms to appear. I can still type, though it’s distracting at times. The horror of the default pen Accessories Pen – The default pen looks like a child’s whiteboard marker and feels cheap. I replaced it with the Kindle Scribe Premium pen, and the writing experience is vastly improved. Cover – It’s impossible to find a nice cover. I’m using a $15 cover that I’m encasing in stickers. Tool switching – Swapping between apps is slow and clunky. I blame Android and the current limitations of e-ink more than Boox. No frontlight – The Boox’s lack of frontlight prevents me from reading more with it. I knew this when I bought my Boox, but devices with frontlights seem to make other compromises. Onyx The Chinese company behind Boox, Onyx International, Inc., runs the servers where Boox shuttles tracking information. I block this traffic with Pi-Hole2. pihole-ing whatever telemetry Boox collects I inspected this traffic via Mitm proxy—most traffic was benign, though I never opted into sending any telemetry (nor am I logged in to a Boox account). But it’s also an Android device, so it’s feeding telemetry into Google’s gaping maw, too. Worse, Onyx is flouting the terms of the GNU Public License, declining to release Linux kernel modifications to users. This is anathema to me—GPL violations are tantamount to theft. Onyx’s disregard for user rights makes me regret buying the Boox. Verdict I’ll continue to use the Boox and feel bad about it. I hope my digging in this post will help the next person. Unfortunately, the e-ink tablet market is too niche to support the kind of solarpunk future I’d always imagined. But there’s an opportunity for an open, Linux-based tablet to dominate e-ink. Linux is playing catch-up on phones with PostmarketOS. Meanwhile, the best e-ink tablets have to offer are old, unupdateable versions of Android, like the OS on the Boox. In the future, I’d love to pay a license- and privacy-respecting company for beautiful, calm technology and recommend their product to everyone. But today is not the future. I go back and forth between “Waking Up” and “Calm”↩︎ Using github.com/JordanEJ/Onyx-Boox-Blocklist↩︎

5th Mar 2025 • 47 votes

More in programming

Public Elementary Schools in Japan: A Parent’s Guide

When our family arrived in Japan in 2022, we faced a major decision: whether to enroll our children in Japanese public schools, or send them to an international school. Neither my husband nor I spoke Japanese well yet. Our two children also, despite our best efforts with Japanese lessons, couldn’t say much more than “Kawaii!” (“Cute!”) and “Ringo ga suki desu” (“I like apples”). Nonetheless, after much consideration, we decided to send our kids to Japanese public schools. Now, four years later, we have successfully enrolled our children in public elementary schools in both Tokyo Prefecture and Nara Prefecture. Both times it was the right decision for our family. I would recommend the same to other immigrants with young children, who also plan to remain in Japan long term. What international parents should know about Japanese public schools Why we chose Japanese elementary schools over international schools Are Japanese public elementary schools free? How to enroll your child in a Japanese elementary school My top five tips for navigating the Japanese school system Accommodations and support for non-Japanese speakers How to help your children with homework in Japanese Our education situation now Conclusion What international parents should know about Japanese public schools International children living in Japan can attend public elementary and junior high schools, even if they don’t speak Japanese. Public elementary schools don’t charge tuition, although families still pay for things like school lunches, uniforms, supplies, and field trips. Enrollment is handled through your local city or ward office. Once you’ve registered your address, the municipality will normally tell you which public school your child can attend and guide you through the enrollment process. Children can also enroll partway through the Japanese school year. Japanese-language support varies considerably depending on the municipality, school, and faculty, but both of our children’s schools provided additional help while they were learning Japanese. Why we chose Japanese elementary schools over international schools There are sometimes excellent reasons to choose international schools. If your children are in high school already, or you know you’ll be departing Japan in a few years, it makes sense to select a school environment that will feel more familiar to your children. Asking your kids to become both fluent and literate in Japanese, as well as to adjust to a new culture “on the fly” in a classroom setting, is not something to be taken lightly. Nonetheless, my husband and I had several good reasons for choosing to enroll our kids in local schools. We had no plans to leave. Exiting Japan is still a possibility, but we’d prefer to remain here long-term. It therefore made sense to work on integrating our children into Japanese culture, and schools are the fastest way to do that. We had young children. When we arrived, our daughter was in kindergarten, and our son in second grade. They were at a good age mentally to acquire Japanese. It wasn’t their first experience with a non-English school. They also briefly attended a small school in Mexico, where all classes were taught in Spanish. Frankly, we couldn’t afford to have two children in international schools. That last point isn’t just about tuition and fees, because international schools also come with location restrictions. The vast majority of international schools are located in major cities like Tokyo and Osaka, and typically near expensive neighborhoods. Those options suited neither our pocketbooks nor our lifestyle, as we much prefer the countryside. Also, house-hunting for a non-Japanese couple with two small children, two dogs, and a shakuhachi player (my husband) has meant that, despite the best efforts of our heroic real estate agents, pickings are always slim. That was true when we first landed in 2022 and rented a house in Hachioji, and again when we relocated to Nara in 2024. If we’d needed to remain within a few kilometers of an international school, I’m not sure what we would have done! Are Japanese public elementary schools free? The short answer is “Yes,” because public elementary schools in Japan do not charge tuition fees. However, depending on your school’s location and uniform policies, you may pay more than you expected. If your household is having problems paying for things, you can inquire at the school and at city hall about assistance (支援, shien). Many regions provide financial assistance for school lunches, textbooks, supplies, uniforms, and even school trips and activities, as a part of programs intended to encourage families to have kids and remain in the area. Lunch fees Elementary schools provide a hot lunch, but whether you’ll be paying for it depends on where you live. Shortly before we left Hachioji, school lunches were made free for all students, which as of 2023 was also the case in around 30% of municipalities in Japan. However, the free lunch trend hasn’t reached our current elementary school in Nara. We pay between 5,000 and 6,000 yen per child every month for their meals. I don’t mind, since Japanese school lunches are widely famous for being well-planned, high-quality, and nutritious. Every month my kids bring home a detailed menu of the lunches they’ll be eating, with a nutritional breakdown and estimated calorie count for each one. Other fees Field trip fees, new textbook fees . . . it all adds up. Combined with the school lunch fees, I estimate that we spend around 10,000 yen a month per child, which seems in line with national averages. That’s not counting the big field trips. Traditionally sixth graders in elementary school and those in their third year of junior high school take a longer trip of 2-3 days. These trips can be expensive; as one example, the municipal government of Naruto found that the average cost for elementary students was about 35,000 yen, and for junior high students about 80,000 yen. However, this is another cost that may be subsidized depending on where you live. Starting in 2026 Naruto will cover the entire cost of those public school field trips, and is also preparing similar subsidies for the parents of those students attending private schools outside the city. Another example is Katsushika, which in 2025 became the first Tokyo ward to make all school field trips free for students at municipal elementary and junior high schools. Expensive school supplies Your children will need the usual pens, pencils, crayons, etc., as well as some daily supplies more unique to Japan. However, these are usually widely available and inexpensive. What you may need to budget for are backpacks, special craft and music supplies, and uniforms if your school requires them. Randoseru These unique, box-shaped backpacks (ランドセル, randoseru) deserve their own special note. Many Japanese families consider shopping for them a special ritual that marks the beginning of a child’s education. Grandparents often shoulder the cost, which can range as high as 100,000 yen. I, however, didn’t invest even close to 100,000 yen into these bags. I ordered my son’s on Amazon for less than 10,000 yen. A year before my daughter was due to start elementary school, I spotted a purple randoseru in a secondhand store and snagged it for around 4,000 yen. Uniforms, gym clothes, and swimsuits Gym clothes and swimsuits have been identical at all my children’s schools: navy blue sports shorts and plain white t-shirts (short or long-sleeved) for gym, and navy-blue swimsuits with different colored swim caps for different grades, i.e. red for first grade, blue for second-grade, etc. These clothes are so ubiquitous that you can just type “elementary swimsuit” or “elementary gym clothes” into a site like Amazon JP and immediately find what you need. One thing that can change across schools is the type and placement of the name tag, which usually has the school’s name on it. Schools will often have a preferred supplier or two in town that keeps all of these things on hand. As for uniforms, here your mileage will vary more widely. Some public elementary schools require uniforms, and some do not. The elementary school in Hachioji didn’t require any uniforms, and my kids wore their own regular clothing every day. As is typical for schools in Japan, however, they were not permitted to wear jewelry (including earrings) or watches. My children’s current elementary school in Nara does require uniforms. This particular style of uniform is widely-used across Japan, and is therefore available online and in many low-cost clothing stores. They are a bit more expensive than I initially expected: school skirts and shorts were around 4000 yen a piece, and their jackets were 7000 yen each, which added up to an initial high bill. The clothing is also adjustable in size and very long-lasting, though, so it’s worth the investment. Special school supplies Throughout the year, you may be asked to purchase additional items for class: musical instrument(s), calligraphy sets, painting kits, sewing kits, wood-carving kits, and more. You’ll know when your kids need these because they’ll come home with a stack of catalogues. Just select whichever version suits your taste and budget, fill out the form, and send it back with your children to order the supplies through the school. The average price per item or kit runs between 4,000 and 6,000 yen. If you’re a bit strapped for cash, I’ve often been able to find the same items cheaper on Amazon JP or Mercari. However, the teachers have subtly conveyed that they’d prefer I not order these myself. How to enroll your child in a Japanese elementary school We were fortunate in that, when we arrived in Japan, we accidentally landed in Hachioji, the #1 city in Japan for immigrants. However, we also had no friends or family there to ease the transition. Although we’d been studying Japanese, we’d only been in-country a few months when the kids started school, and still struggled with even basic communication. You can imagine how nervous I was when it came time to enroll my children in Japanese schools. Then, two years later, we moved to Nara and I got nervous about it all over again, only to discover that the process was functionally identical. The basic steps for enrollment should be as below. Details may vary from city to city, so you should seek guidance from your city hall and the schools themselves on exactly what you need to do. Note that public elementary and junior high schools will accept foreign students even mid-year, but high school is not compulsory in Japan, and even public high schools still require entrance exams. Some systems exist to ease the exam requirements for non-Japanese speaking students, such as the specialized quota system in Tokyo, but these programs are highly regional. Much of what comes next will depend on when you arrive. The Japanese school year starts at the beginning of April, so your priorities might be different depending on whether you arrive in February, or in October. 1. Register your address in Japan It won’t be possible to enroll until you have a fixed address that you have registered with city hall, so acquiring housing comes first. If you’re looking at very rural areas, you should also double-check that an elementary school is accessible from your potential new home. Due to falling birthrates and the depopulation of the Japanese countryside, over 8,580 public schools closed between 2002 and 2020. You don’t want to accidentally find yourself in an “education desert.” 2. Talk to city hall The staff there can tell you, based on the location of your house, which school your children are supposed to attend. They’ll provide paperwork and instructions for enrollment and arrange for you to meet with the school. They can also inform you of what Japanese language-learning support the city offers, as well as other potential benefits and programs for your children. 3. Decide when your children will start school Your decision, and the advice of city hall, might be different depending on when you arrive. If you’ve come in October, which is mid-year for schools in Japan, the consensus might be to enroll your child at once. If you’ve arrived in February, you might be advised to wait until the next academic year begins in April. In 2022, we arrived in the middle of the school year. I asked Hachioji’s education department if we could delay my son’s enrollment until April, so he could finish his current online school program. They had no problem with that. I met with them again in February to finalize our school selection and start his enrollment process. We moved to Nara in October, just before their new school’s Sports Day. We ended up delaying their start date by a week so that my children, who hadn’t rehearsed for the event, wouldn’t be required to participate unprepared. Otherwise, there were no objections to them starting classes immediately. Although this should be discussed with the local education office, parents do have some leeway about when their children begin formal education in Japan. Homeschooling, and other non-accredited programs including many international schools, exist in a gray area. Theoretically, Japan’s compulsory education laws mandate that children between the ages of 6 and 15 must receive education from a recognized school. That being said, the law is interpreted very differently depending on the regional school board or even individual schools in question According to new Permanent Residency requirements issued October 1st 2026, PR applicants must ensure that their school-age children have been attending school during their compulsory education period from ages 6 to 15. It’s not yet clear whether non-accredited programs will also count toward that schooling requirement, or if children must be enrolled in institutions accredited by the Japanese government. A lengthy period of homeschooling might raise issues, but a short delay in enrollment, to finish online schooling or to study Japanese, is unlikely to cause problems. 4. Confirm which school your child will attend Depending on the neighborhood, you may or may not have a choice in which school your children attend. In Hachioji we were situated almost exactly between two elementary schools, and so were allowed to make a choice between them. The principal of my daughter’s kindergarten personally knew one of the elementary school principals, so we went with her recommendation. 5. Complete enrollment paperwork You’ll be expected to provide, at a minimum, detailed medical information and vaccine records for your child. You may also be asked to fill out paperwork describing your child’s usual habits and temperament, so the teachers can start getting to know them. 6. Get physicals for your children Many schools will arrange for physical examinations (健康診断, kenkou shindan) at the school itself, usually in March, but in some cases you may need to visit a clinic separately. 7. Arrange payment for school expenses Many schools in Japan automatically withdraw school lunch fees and other expenses. You may need to open a new account at a bank specified by the school. The school should give you instructions on this, as well as any paperwork you need to take to the bank. This process went smoothly for us in Hachioji, but not in Nara. Despite our best attempts, neither we nor the other international family that attends the school have been able to open an account with the school’s preferred bank. While deeply annoying, this is unfortunately not an uncommon issue in Japan. Instead, the school has arranged for us to pay in cash. 8. Buy uniforms, backpacks, and other school supplies In addition to the more expensive school supplies I outlined above, you should receive a detailed list of everyday supplies from the school. Some items are, as near as I can tell, universally required by Japanese elementary schools. School shoes (上靴, uwagutsu or 上履き, uwabaki depending on the region)—white, rubber-soled shoes specifically for wearing indoors A cloth bag for the school shoes Several other cloth bags, often quilted, for carrying gym clothes, books, musical instruments, and more Washcloths and handkerchiefs, for cleaning the school rooms and children’s faces respectively A pencil box with the usual supplies (pencils, tape, glue sticks, crayons etc.) Notebooks for different subjects A special contact notebook used to exchange written messages with your child’s teachers (連絡帳, renraku-chou) These sorts of supplies are widely available and can be purchased online, at supermarkets, at Daiso and other 100-yen stores, or at low-cost lifestyle stores like AEON Big Extra and Shimamura. Schools can get quite specific about different colors and types of items. For example, those white school shoes are often sold with color-coded toes, and some schools use different colors for different grades. Check your list carefully to make sure what you’re buying is appropriate for your children. Also, some supplies may be purchased in bulk by the school and distributed afterwards, and that will usually be indicated on the supply list. 9. Download the school app, if there is one It’s common for schools to use an app to send updates and announcements. The app can also be an easy way to give notice that your child won’t be attending due to illness, an appointment, etc. App usage is not universal, however. The school in Hachioji required an app, but the school in Nara uses Google Forms to report the children’s absence or tardiness online. Or you might be very lucky like Paul McMahon, the founder of TokyoDev, whose children’s school uses no less than four apps! 10. Learn the school commute and start school This might be more complicated than it sounds, depending on your school’s walking or bus policies. The elementary school in Hachioji was near our house, so once our son knew the route, he was able to walk to and from school himself. They did have organized walking groups, accompanied by a teacher, for the first-graders. At our current school in Nara, many families live up to a 20-minute walk away. The school organizes official student walking groups, which meet at certain street corners at 7:45 a.m., then proceed to school under the supervision of a selected sixth-grade student. In all these cases, the school explained the transportation arrangements well in advance. My top five tips for navigating the Japanese school system If you decide that public Japanese schools are for your family, here are my top five tips for a smooth transition into the local school system. 1. Use the resources at city hall freely You’ll need to visit city hall anyway, to register as residents. Both times, once the staff there realized I also had two school-age children I intended to enroll, I was immediately steered to the correct departments. Not all city or town halls are created equally, but I’ve always had positive experiences. At Hachioji’s city hall they offer translators on-site or via tablet, to help with the language barrier, and are happy to answer questions. I once lost an important piece of my daughter’s enrollment paperwork, and eventually had to go ask city hall for a replacement. (I didn’t organize my mail well. Learn from my mistakes, please.) They cheerfully provided one in just a few minutes, and also helped me fill it out. The town hall in Nara, while a little less equipped to deal with non-Japanese speakers, is also staffed by kind and patient people who go out of their way to help us figure out the necessary paperwork. 2. Always meet with the schools in advance You’ll need to visit the school in advance anyway—part of the enrollment process involves bringing the children to the school for physical exams and meetings in March, before the new school year begins. However, it’s a good idea to arrange an earlier, private meeting with school staff, to discuss language-learning options and get a feel for the school’s culture. At our children’s current school, my first meeting with school staff actually happened before we’d even made a firm decision on moving. In the summer of 2024 I took a quick trip to Nara by myself, to scout for our new location. My real estate agent and I ranged all over the prefecture in search of that magical house that would combine reasonable rent with tolerance for dogs and foreigners. I fell in love with one small town in particular. While I was there, I made a quick visit to the school my kids would attend. Since it was summer I didn’t expect to encounter any students or staff; I mostly wanted to sneak a peek at the building and grounds. A man sweeping leaves off the path greeted me, and I told him my children might attend this school. He quickly summoned the vice principal, who spoke a bit of English. I was treated to a spontaneous tour and reassured that my children would be welcomed there. I was also told that the class sizes, while quite small at 15–20 students per grade, were consistent from year to year. (By comparison, the average class size in Japan is around 26 students.) This gave me confidence that the town’s population wasn’t shrinking so rapidly that the school was likely to close in the near future. I left feeling much more at ease, and the school’s friendly reception was a deciding factor in our final decision to move. 3. Get out your phone (and a filing cabinet) The single biggest difference between a Japanese school and an American one is the mountains of paperwork. Every day, our children come home with a new landslide of school announcements, lunch menus, schedules, field trip reminders, and more. Google Translate only gets us so far. Often our phones deliver nothing but word salad, particularly when it comes to lists of supplies. “Honey, it says we need to provide a ‘single boiled fish glue,’ do you have any idea what that could actually be?” Unless you arrive in Japan with a solid grasp of kanji, though, you’ll absolutely need a little phone help. But that’s just for what’s in the paperwork. It doesn’t account for cultural expectations that aren’t written down—like that my daughter needed to wear a specific “ceremony dress” for her elementary school entrance ceremony. 4. Make parent friends—ASAP! I read the paperwork regarding the entrance ceremony several times, and nowhere did it mention a required outfit. If several parent friends hadn’t let me know that my daughter was expected to wear a specific “kind of like a school uniform, but not really” dress for the occasion, I would have had no idea. That’s why making friends with other parents is truly my top tip. In both cities we’ve lived in, we were extremely fortunate to immediately befriend other immigrant families. In each case the parents had already lived in Japan for 20 years or more and were fluent in Japanese. We’d have been lost without them! Also wonderful have been those Japanese parents who speak English and kindly help translate on the spot. One mother at my daughter’s kindergarten basically adopted me; she saved a seat for me at everything from sports day to the class play, and whispered ongoing updates so I’d understand what was happening. But what if you aren’t lucky enough to have fellow immigrants or English speakers at your school? I highly recommend the Facebook group Parents with Kids in Japanese Schools. Parents there can help answer tricky logistical questions, as well as offer general support. 5. Don’t be afraid of the PTA (probably) The PTAs of Japanese schools once enjoyed a fearsome reputation, and I was concerned we’d be drafted for a lot of duties we didn’t have the time, or Japanese, to perform. Instead, the head of the Hachioji elementary school’s PTA found me on the first day, introduced herself, connected with me on LINE, and asked me to contact her if I ever needed help or had any concerns. Other than the aforementioned foreign family events, and some schoolwide votes on PTA measures, we weren’t asked to do much. We did try to volunteer for those tasks that don’t require fluent Japanese, such as setting up tents for sports day. The PTA at our current school is equally undemanding. We do participate in traffic duty twice a year, which consists of putting on an orange vest and supervising a single intersection during the students’ morning walk to school. Actually, I enjoy getting my chance to wave at the kids. These easygoing PTA are apparently becoming more the norm, when they’re not being dissolved outright. Originally these organizations were designed for, and also staffed by, stay-at-home mothers. Since households in Japan are increasingly dual-income, it’s not possible for working mothers to participate in the same way as before. Accommodations and support for non-Japanese speakers My husband and I couldn’t really predict how the local schools would react to our children being enrolled, and we were pleasantly surprised by the consistent patience, effort, and dedication of our children’s teachers. Their support has always exceeded our expectations and we do not take it for granted. We’re not as familiar with other forms of accommodation offered by public schools, but Kerri King has shared her own experience with inclusive education in Japan. Multicultural city school vs rural school The international student situation was very different at our school in Hachioji, as opposed to our current school in Nara. In Hachioji, we were far from the only immigrant family attending that school. The school also had children from China, the Philippines, and the Congo, so we didn’t even all have a second language in common. Special meet-up events were held for international families, and the staff was being trained in “Easy Japanese” to help with communication. The downside was that there were enough foreign and returnee children in our area to ensure that my kids could always find an English-speaking friend. That was wonderful for them socially, but not ideal for language acquisition. By contrast, at our current school there are a total of three children who need assistance learning Japanese: one new student whose mother is Japanese but who has spent most of his life abroad, and my children, who are now in grades three and five. There is also one other international family, who originally came from Sri Lanka, but their whole family already speaks both Japanese and English. Their son and my daughter are best friends, but communicate primarily in Japanese, which I think has helped speed my daughter’s learning. Very importantly, being friends with them also means I get to try lots of delicious Sri Lankan food. Japanese language learning support for international children Despite these differences, the specific accommodations offered by both schools have proven remarkably similar. They include: Weekly sessions with an English-speaking assistant, who helps them with their homework and Japanese studies Private Japanese lessons with other teachers and the principal throughout the course of the week Homework assignments and tests tailored to their current Japanese levels Permission to use school tablets and computers for translation in class That last one is a mixed blessing, as I do believe my son’s reliance on using digital translation in the classroom and for his homework has slowed his Japanese acquisition. It helps him study and comprehend school subjects better, so that his math and science scores remain decent, but he cannot read or write in Japanese at his grade level. If I could go back in time to when my son entered the second grade, I would insist he use digital translation as little as possible while doing writing assignments. Instead, I would encourage him to use the kana and Japanese words he knew, even if the result was more like “baby talk” than age-appropriate Japanese. I think that would have served as a better foundation for literacy than translating sentences from English and copying down kanji he didn’t understand. Most of these accommodations, however, have been enormously helpful. In particular, the English-speaking assistant in Nara has become a kind of “school grandmother” for my children. I think she provides important emotional support for them in addition to language assistance. Japanese language learning support in the community Despite the schools’ best efforts, my children’s kanji skills continue to lag. This is particularly concerning for my son as he prepares to enter the local junior high. Based on my experiences, I believe immigrant parents must take primary responsibility for their children’s Japanese acquisition. Some young children do pick it up naturally at school, but parents should be prepared to supplement their education, especially when another language is spoken at home. A few years ago we arranged for my son to receive private Japanese lessons online. The teacher was wonderful, but 30 minutes twice a week wasn’t enough, and he struggled to study (rather than socialize) during the calls. So earlier this year we began searching for local, in-person resources instead. Our current town features an amazingly supportive and close-knit community. I told one friend that we were looking for a Japanese tutor to help my son with kanji, and within less than an hour I received a message from her friend, offering to teach my son for free. (We did suggest paying her, but she refused.) That woman runs her own English school, but still makes the time to tutor my son on kanji once a week. More formal Japanese language schools and classes for international residents are surprisingly abundant even in the countryside. Last year the kids’ school published a list that included 15–20 in the surrounding region. On that list, we spotted a class in a nearby town that meets on Sunday mornings and is only 500 yen a month per participant. The other students are primarily young workers from other countries, but the teachers are kind and fully prepared to help both children and adults. How to help your children with homework in Japanese A typical day’s homework involves several pages of math problems, kanji practice, reading-aloud practice, and possibly a short essay. All of this can usually be finished in an hour or two, if we don’t run into language difficulties. Throughout the years, we’ve tackled our children’s homework using a combination of many of the strategies I’ve already described. You can use your phone to translate instructions—but don’t be surprised if math homework word problems start to look more like word soup. If you’re truly stuck on some indecipherable directions, you can try taking a photo of the paragraph and messaging another parent for help. Sometimes, if we have an after-school playdate planned, our children take their homework with them and do it with their friends. They also do some homework with their Japanese tutors, both inside and outside the school. We don’t send our kids to after-school care (学童保育, gakudou hoiku), but my understanding is that children are expected to work on their homework during that time, and there are teachers and assistants available to help. I will say that we were initially more hands-on in helping our kids with homework. However, a teacher at our current school pointed out that if we are always assisting our children, she has a hard time getting an accurate picture of their real abilities. Her approach made sense, so we now mostly follow up with our children to make sure homework is completed, rather than worrying about it all being correct. Holiday homework Something that caught us off guard is the amount of homework assigned during winter and summer vacations. This past summer, our children were given a 90-page homework packet to complete, plus new music to learn, a research project, an essay, typing practice, and a summer craft project. In my experience, most of this homework is not graded by the teachers. Instead, students are given the answer sheets so they can correct the workbook pages themselves. I have seen other international parents state online that their families are refusing holiday homework for mental health reasons, or because they have travel plans. That might be better for the child, but outright noncompliance could affect your relationship with the teacher. The situation is so dependent on your particular child and school that I don’t have a firm recommendation on how anyone should approach this. For us personally, we do ask our children to complete all the homework, mostly as an exercise in avoiding procrastination. After several painful summers, our son has now learned to get most of it done early. This year our daughter completed hers the day before school started. She regretted waiting so long, but has hopefully learned her lesson! Our education situation now While there was more Japanese-learning support available at the municipal level in Hachioji, I would say that relocating to Nara has been good for our family’s Japanese skills. The move certainly accelerated my own Japanese acquisition: my neighbors and friends here speak Japanese almost exclusively, so I get much more speaking practice as well as daily incentive to study. My daughter, who came to Japan at prime language-learning age and speaks Japanese better than any of us, has now fully absorbed the regional dialect. Friends jokingly call her a “daughter of Kansai” as she wields local slang with natural ease. My son has also become more conversational in Japanese, at least partially because the smaller class sizes give him more opportunity to speak. Now my chief concern is that, if my children can’t successfully learn enough kanji to succeed at the local junior high, then we’ll need to find an international or English-friendly school for them. That may mean relocating to Osaka. Since we’re happy in our current town, we’re hoping to avoid this, but in the end we’ll have to do what is best for their ongoing education. Conclusion Sending your children to Japanese schools can be a daunting prospect, but there is more support available than you might expect. The education system is changing to be more accommodating to foreign families and Japanese learners. Just how supportive the school system is may depend on where you live. But as our experience demonstrates, even a small rural school can make the situation work, especially if parents are willing to meet them halfway.

43 minutes ago • 1 votes
Evolved Virtual Creatures

Karl Sims' original 1990s work evolving virtual creatures in a little physics sandbox

57 minutes ago • 1 votes
Notes from CoRL 2026

(Tuesday)

yesterday • 1 votes
The Codebase Rewrite is Back

The economics of software engineering have fundamentally changed.

yesterday • 1 votes
How OCaml effects simplified my JSON interpreter

How effect handlers removed control-flow plumbing from query-json

yesterday • 1 votes
📚 BoredReading

You seem to be enjoying this.

Join free to unlock everything.

Create free account

Already have an account? Sign in