Enable JavaScript to use search. / 検索を使用するには JavaScript を有効にしてください。
Posts
Sat, March 21, 2020
2 min read
jpegtran Command to Remove Metadata from jpeg and jpg Image Files
Strip Exif metadata from JPEGs with jpegtran on macOS, plus a find + -exec one-liner to batch a directory.
read more →
Thu, March 19, 2020
1 min read
How to Use ImageMagick's mogrify Command for Batch Image Size Conversion
How to batch-resize images with ImageMagick's mogrify command, with a few common examples.
Tue, March 17, 2020
How to Send Emails (Newsletters) with WordPress + MailPoet 3
How to send newsletters with WordPress and MailPoet 3, plus the merits and demerits I ran into using it.
Sat, March 14, 2020
AirPods Pro + Android Low Volume Issue Can Be Solved by Resetting
Resetting AirPods Pro was the quickest fix for the low-volume issue when pairing them with an Android phone.
Thu, March 12, 2020
Review of Smartwatch Xiaomi Mi Band 4
A personal review of the Xiaomi Mi Band 4 after 2.5 years of daily use.
Tue, March 10, 2020
[Flutter] Sample Code for Displaying Images Taken with Camera App
Sample Flutter code that displays an image captured with the camera app using the image_picker package.
Sat, March 7, 2020
Sample Code for Displaying Device Images in Flutter
Sample Flutter code that displays an image picked from the device gallery using image_picker's ImageSource.gallery.
Thu, March 5, 2020
Flutter Sample Code for Displaying Images from Assets
Displaying images from assets in Flutter, and the pubspec.yaml gotcha where assets do not recurse into subdirectories.
Tue, March 3, 2020
Flutter Sample Code for Implementing Camera Functionality Within App
Sample Flutter code that implements in-app camera functionality using the camera and path_provider packages.
Sat, February 29, 2020
Flutter Sample Code with Navigator and Routing Implementation
Sample Flutter code that wires Drawer menu items to other screens using Navigator and named routes.
Thu, February 27, 2020
About the Definition Order of Flutter pubspec.yaml dependencies
A short note on why I like keeping pubspec.yaml dependencies in alphabetical order, with before/after.
Tue, February 25, 2020
Implementing Drawer (Hamburger Menu) in Flutter
Implementing a Drawer (hamburger menu) in Flutter, with a sample pull request.
Sat, February 22, 2020
3 min read
How to Add Firebase to Flutter App
Adding Firebase to a Flutter app on Android and iOS, with the gotchas I ran into.
Thu, February 20, 2020
Flutter Introduction | App Creation ~ Running on Android Emulator and iOS Simulator
A Flutter getting-started walkthrough — install, fix flutter doctor issues, and run on Android Emulator and iOS Simulator.
Sat, February 15, 2020
Solved Android 10 Tethering Issue
Fixing broken tethering on Android 10 by tweaking the IIJmio APN configuration.
Thu, February 13, 2020
[G Suite] Settings and Rules for Sharing Google Drive with External Organizations and Personal Gmail Accounts
Operating rules and steps for sharing G Suite Google Drive with external orgs and personal Gmail accounts.
Tue, February 11, 2020
[G Suite] Internal Operating Rules for Google Calendar
Internal Google Calendar rules in G Suite: personal-to-company import OK, company-to-personal export NG.
Sat, February 8, 2020
Steps to Request Release and Change GitHub Username
Requesting release of an inactive GitHub username and changing your account to it, with a sample support message.
Thu, February 6, 2020
[G Suite] Whitelisted Domains and Google Drive Sharing Settings
How to whitelist an external domain in G Suite so it can be added to a shared drive.
Tue, February 4, 2020
How to Deploy cors-anywhere to Heroku
Deploying cors-anywhere to Heroku to run your own CORS proxy.
Sat, February 1, 2020
How to Send Slack Messages with Google Apps Script (GAS)
Sample code for calling a Slack Incoming Webhook from Google Apps Script via UrlFetchApp.
Thu, January 30, 2020
4 min read
'Corporate Engineer Night #2: We'll Become Beloved Corporate IT' Participation Report #CorporateEngineerNight
A report from Corporate Engineer Night #2 in Tokyo, with LT summaries and startup corporate-IT advice from the after-party.
Tue, January 28, 2020
Google Drive Shared Drive and Folder Recommended Structure [For Corporations]
A recommended Google Drive shared drive and folder structure for corporations that have just adopted G Suite.
Sat, January 25, 2020
G Suite Administrator Post-Implementation Configuration Checklist
A post-deployment G Suite admin checklist — security, end-user access, Drive sharing, and email hardening.
Thu, January 23, 2020
Notion Introduction
A curated set of articles for going from Notion beginner to proficient user.
Tue, January 21, 2020
VALUE-DOMAIN DNS Settings Not Reflecting Due to Unconfigured Name Servers
How to fix VALUE-DOMAIN DNS not reflecting by configuring the name servers to ns*.value-domain.com.
Sat, January 18, 2020
[G Suite] How to Configure Mandatory Two-Factor Authentication
Reference links, my configuration, and an announcement email template for enforcing 2FA in G Suite.
Thu, January 16, 2020
.jp .co.jp Domain Registration and Management Service Comparison Survey Report
Comparing .jp and .co.jp registrars for corporate use, filtering on two-factor authentication and Whois privacy.
Tue, January 14, 2020
Book Review: Insights from 'A Not-So-Boring Future Found in Estonia, Leading the Way with Blockchain and AI'
Takeaways from Estonia's e-government — X-Road and the idea that data preservation is enough to rebuild a nation — applied to software design.
Sat, January 11, 2020
Express + Mongoose MongoDB Connection Configuration Sample Code
Sample code for connecting Express + Mongoose to MongoDB, walked through commit by commit.
Thu, January 9, 2020
Books I'd Recommend to Engineering Managers
Books I recommend to Engineering Managers, gathered as I handed off the EM role.
Tue, January 7, 2020
[Nginx] add_header Not Reflected Due to Overwrite Issue and Solution
Why Nginx add_header at the server level disappears when a location block adds one, and how to work around it.
Sat, January 4, 2020
How to Create Fixed URLs for Google Hangouts
Create a fixed Google Hangouts URL from a personal account by extracting a far-future Google Calendar video conference URL.
Thu, January 2, 2020
Personal Metrics for Story Points in Scrum Development
A personal Fibonacci story-point to time conversion table, anchored on the Pomodoro Technique.
Sat, December 28, 2019
ESLint Installation and Initial Setup for Express (Node.js) Projects
Installing and configuring ESLint in an Express (Node.js) project, walked through as a PR.
Thu, December 26, 2019
[JavaScript] Array.includes vs Array.indexOf Performance Comparison
A performance comparison of Array.includes vs Array.indexOf on jsPerf and across Node.js versions.
Tue, December 24, 2019
[Mongoose] How to Fix (node:42424) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
Fix the Server Discovery and Monitoring DeprecationWarning with useUnifiedTopology: true.
Sat, December 21, 2019
[Mongoose] How to Fix (node:42286) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
Fix the MongoDB URL parser DeprecationWarning by passing useNewUrlParser: true to mongoose.connect.
Thu, December 19, 2019
Amazon Elasticsearch Service 2.3 [script_exception] scripts of type [inline], operation [search] and lang [mustache] are disabled Error
Responding to the Mustache script_exception on Amazon Elasticsearch Service 2.3: drop Mustache or migrate to 5.1+.
Tue, December 17, 2019
[JavaScript] How to Extract Only URL from CSS background-image
Basic and class-scoped samples for pulling the URL out of a CSS background-image value with regex.
Sat, December 14, 2019
How to Measure Total Execution Time of MongoDB Queries
Measure total execution time of a multi-line MongoDB query block with a simple new Date() diff.
Thu, December 12, 2019
How to Prevent Sending JavaScript Errors from Specific Browsers with Sentry raven-js
Sample code that filters out errors from unsupported browsers (like pre-IE11) using Sentry raven-js's shouldSendCallback.
Tue, December 10, 2019
Free, Long-Duration, Multi-User Web Video Conferencing Tools
Comparing free web conferencing tools for long, multi-user calls — Google Hangouts, Skype, Zoom, and Whereby.
Sat, December 7, 2019
ReconnectingWebSocket - JavaScript Library for Handling WebSocket Auto-Reconnection Elegantly
Side-by-side sample code for WebSocket auto-reconnection using the raw API vs the ReconnectingWebSocket library.
Thu, December 5, 2019
Upgrading Windows 7 to Windows 10 (Lenovo G550, Backup, Memory Upgrade)
Upgrading a Lenovo G550 from Windows 7 to Windows 10 and bumping RAM to 8GB.
Tue, December 3, 2019
Engineering Manager in a Fully Remote Engineering Organization
Being an Engineering Manager in a fully remote org — tools, 1on1 prep, and attendance conventions.
Thu, November 28, 2019
AWS CLI Commands for Bulk Uploading Files to S3
`aws s3 cp` / `sync` commands for bulk-uploading files to S3, with --include / --exclude and --dryrun tips.
Tue, November 26, 2019
Recommended Articles for Understanding Cookies and Sessions
Recommended reading list for beginner web engineers to understand Cookies, Sessions, and IPA's session countermeasures series.
Sat, November 23, 2019
[Mongoose] How to Fix Error: Unable to invalidate a subdocument that has not been added to an array.
The 'unable to invalidate a subdocument' Mongoose error explained via a bad type: ObjectId value.
Thu, November 21, 2019
[Git] How to Fix error: cannot lock ref 'refs/remotes/origin/xxx': 'refs/remotes/origin/xxx/yyy' exists;
Resolving the git fetch cannot lock ref error by pruning stale remote refs with git remote prune origin.