---
type: "blog_post_list"
url: "https://www.ytyng.com/en"
page: 7
per_page: 20
total: 344
lang: "en"
---

# Blog posts

- [Setting Timeout Period for Kubernetes Nginx Ingress](https://www.ytyng.com/en/blog/kubernetes-nginx-ingress-timeout-time)

  _2022-01-26T03:43:04Z / kubernetes_

  Notes on using `pipenv install --system --skip-lock` to install dev versions without strict locking, and how to run without a Pipfile.lock.

- [When pipenv lock Fails on M1 Mac](https://www.ytyng.com/en/blog/pipenv-lock-failed-on-m1-mac)

  _2022-01-03T11:15:04Z / Python, mac_

  Fix `pipenv lock` failures on M1 (Apple Silicon) Macs — wheels for `grpcio` / `cryptography` may not exist on arm64, so use Rosetta or pin compatible versions.

- [Building an Android App with Flutter and Enabling App Launch from https:// URLs Using AppLinks](https://www.ytyng.com/en/blog/flutter-android-applinks-app-start-with-keystore-codesign)

  _2021-12-26T13:14:51Z / Android, Flutter_

  Make AppLinks (launching the app from an https:// URL) work for a Flutter Android build — keystore signing, getting the SHA256 fingerprint, and Digital Asset Links setup.

- [When the SHA256 of the Keystore is Not Displayed with Keytool During Android App Development](https://www.ytyng.com/en/blog/android-keystore-not-visible-sha256-fingerprint)

  _2021-12-26T03:09:45Z / Android_

  If `keytool -list` does not show the SHA256 fingerprint of an Android keystore, you need the `-v` flag and a newer JDK — here are the details.

- [If you see "cannot import name 'ugettext_lazy'" in Django, Django 4.0 might be installed](https://www.ytyng.com/en/blog/python-cannot-import-name-ugettext_lazy)

  _2021-12-11T13:51:59Z / Django_

  Here is the solution for resolving the ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation' that occurs when running manage.py hoge in Django.

- [Easily Rolling Restart Kubernetes Pod (Pod Deletion Command)](https://www.ytyng.com/en/blog/kubernetes-restart-pod-delay)

  _2021-12-11T13:28:40Z / kubernetes_

  When `kubectl rollout restart` makes Pods take too long to restart, check `terminationGracePeriodSeconds` and any preStop hooks — both are common bottlenecks.

- [When Notifications Don't Appear Only When Connecting an External Display with DisplayLink on an M1 Mac](https://www.ytyng.com/en/blog/displaylink-notification-m1-mac)

  _2021-12-11T12:11:49Z / mac_

  When using a DisplayLink external display on an M1 Mac, system notifications stop appearing. Workaround: route notifications to the built-in display instead.

- [Installing Cryptography (cffi) on M1 Mac](https://www.ytyng.com/en/blog/m1-mac-python-install-cryptgraphy-cffi)

  _2021-12-11T11:09:46Z_

  Fix `pip install mysqlclient` failing on macOS with `clang: error: -lzstd` — `brew install zstd` or add the right `LDFLAGS`.

- [Building x86 Docker Images on an M1 Mac](https://www.ytyng.com/en/blog/m1-mac-で-x86用の-docker-イメージをビルドする)

  _2021-12-04T06:04:41Z_

  Fix `no space left on device` build failures in Docker Desktop on macOS — grow the Docker.raw disk allocation or run `docker system prune`.

- [Installing Node with nodebrew on an M1 Mac](https://www.ytyng.com/en/blog/m1-mac-に-nodebrewで-node-をインストールする)

  _2021-11-27T09:43:14Z_

  Install Node.js on an M1 (Apple Silicon) Mac using nodebrew — install nodebrew via Homebrew and run `nodebrew setup`, step by step.

- [When Installing python mysqlclient, ld: library not found for -lzstd Error Occurs](https://www.ytyng.com/en/blog/mysqlclient-install-clang-error-lzstd)

  _2021-11-27T09:07:48Z_

  When encountering the error "ld: library not found for -lzstd" during the installation of python mysqlclient, try running commands like `brew install openssl`.

- [I removed NO_ENGINE_SUBSTITUTION because I got 'Lost connection to MySQL server during query' in Django](https://www.ytyng.com/en/blog/mysql-django-no-engine-substitution)

  _2021-11-14T11:10:12Z / Django, MySQL_

  If a Django MySQL connection still hits 'No DB engine substitution' despite setting `ENGINE` to `django.db.backends.mysql`, here is the root cause and fix.

- [How to Resolve Errors When Installing google-crc32c Version 1.1.3 or Higher on Alpine with Python](https://www.ytyng.com/en/blog/alpine-python-google-crc32c-113-error)

  _2021-11-08T05:52:39Z / Python_

  When installing `google-crc32c` ≥1.1.3 on Alpine Linux fails to build, work around it by setting CFLAGS to enable SSE4.2 explicitly.

- [Resolving UnsupportedProductError in Python ElasticSearch When Using AWS ElasticSearch](https://www.ytyng.com/en/blog/aws-python-elasticsearch-UnsupportedProductError)

  _2021-10-15T11:53:49Z / AWS, Python_

  Format a USB stick as FAT32 + MBR on a Mac — explicit MBR via `diskutil eraseDisk` arguments.

- [Creating a Kubernetes Secret from an Env File](https://www.ytyng.com/en/blog/kubernetes-secret-from-env-file)

  _2021-10-11T09:25:18Z_

  When saving secret information locally in a file named .env and registering it with Kubernetes:

- [Creating and Posting XML with Python](https://www.ytyng.com/en/blog/build-xml-via-xml-etree-elementtree)

  _2021-10-10T09:45:45Z / Python_

  Replace legacy log analyzers (Webalizer / Analog) with GoAccess for Apache / nginx access logs — sample configuration and example output.

- [When Your MacBook Pro Intel Suddenly Slows Down (After Standby, etc.)](https://www.ytyng.com/en/blog/macbook-pro-intel-too-slow-after-standby)

  _2021-08-26T10:48:03Z_

  When an Intel MacBook Pro suddenly becomes slow after waking from standby, check and tune the `hibernate` / `standby` modes with `pmset`.

- [A Server that Returns Website Screenshots Using Headless Chromium with Bottle and Gevent](https://www.ytyng.com/en/blog/headless-chromium-take-screenshot-bottle-gevent)

  _2021-08-20T12:27:01Z_

  Build a tiny HTTP server in Python (bottle + gevent) that takes a screenshot of any URL using headless Chromium and returns it as an image.

- [Downgrading Flutter SDK to Version 1.x](https://www.ytyng.com/en/blog/flutter-downgrade-to-v1)

  _2021-08-08T08:43:21Z / Flutter_

  Downgrade Flutter from v2 back to v1 — use `flutter downgrade` and how to realign dependent package versions with the older SDK.

- [When Connecting to a MySQL 5.7 Server Using a MySQL 8.0 Client, Charset Specification Cannot Be Done from the Client](https://www.ytyng.com/en/blog/mysql-80-client-django-character-set-latin1-utf8mb4)

  _2021-08-07T07:03:55Z_

  When a MySQL 8.0 client connects to a MySQL 5.7 server, the client overrides charset to utf8mb4 and breaks Japanese on a latin1 server — here is the fix.
