Last Updated: March 23rd, 2026 at 4:52:49 PM GMT+9 Today is: Friday, March 27, 2026
Bilingual IT consultant in Japan since 1987. Based in Yokohama, working in Tokyo.
I came to Japan in 1987 as a research student at the University of Tokyo. Programming turned out to be far more interesting than animal experiments, so I pivoted to tech.
My first job (around 1989) was at a telephone card ("teleca") design company, where I built and ran the office network. This was right when "DOS/V" machines were taking off in Japan after IBM released the PS/2 with its kanji processing chip. A PS/2 cost around ¥2M; a DOS/V clone was maybe ¥250K. That's where my technical career started.
From there I moved to a network support company doing helpdesk, user support, and network engineering. In 1993 I co-founded a PC training company, serving as CIO and building the technology operations side from scratch.
In the summer of 1999 I founded eSolia Inc., my current firm. We've been providing bilingual IT outsourcing and infrastructure services to international companies in Tokyo for over 26 years, and are working on ISO 27001 implementation.
Building web applications in TypeScript with SvelteKit + Cloudflare Workers. Full-stack on D1 (SQLite), R2, and KV.
Projects:
- cogley.jp — Articles on tech, business, and Japan (SvelteKit + Cloudflare Workers)
- svelte.cogley.jp — Interactive migration reference: React/Vue/Angular to Svelte 5 (bilingual EN/JA)
- rick.cogley.jp — Profile site
- pulse.esolia.co.jp — Security & compliance management. Tracks compliance against ISO 27001, CIS Controls, and other frameworks (SvelteKit + Cloudflare Workers)
- periodic.esolia.co.jp — DNS & email security monitoring. Drift detection for DMARC/SPF/DKIM and domain security (SvelteKit + Cloudflare Workers)
- courier.esolia.co.jp — Secure file sharing with PIN protection and auto-expiry for sensitive communications (SvelteKit + Cloudflare Workers)
"I have a foreboding of an America in my children's or grandchildren's time — when the United States is a service and information economy; when nearly all the manufacturing industries have slipped away to other countries; when awesome technological powers are in the hands of a very few, and no one representing the public interest can even grasp the issues; when the people have lost the ability to set their own agendas or knowledgeably question those in authority; when, clutching our crystals and nervously consulting our horoscopes, our critical faculties in decline, unable to distinguish between what feels good and what's true, we slide, almost without noticing, back into superstition and darkness..." — Carl Sagan, "The Demon-Haunted World"
Working on: Centralized types in core package, scripts and rules in .github repo
Packed schedule, minimal interruptions
736 commits | 159 this week | 🔥 29-day streak
Languages: TypeScript (14) · HTML (2) · CSS (2) · Svelte (1) · Vento (1)
Active repos (15): eSolia/esolia-2025 eSolia/codex RickCogley/pub-cogley eSolia/periodic eSolia/courier and 10 more
Themes: tech
Activity: 3 posts, 10 articles this week
📖 User Friendly: How the Hidden Rules of Design Are Changing the Way We Live, Work, and Play by Cliff Kuang, Robert Fabricant
- 📝 Cloudflare Dynamic Workers:エッジでのサンドボックス化されたコード実行 tech
- 📝 Cloudflare Dynamic Workers: Sandboxed Code Execution at the Edge tech
- 💬 Telework Offensive! It's not just a welfare matter; moving toward a practical te... tech
- 💬 How Should You Manage Your Passwords? We’ll look at how to manage passwords safe... tech
- 💬 Introducing Acrobat Standard features for use in administrative departments From... tech
| Type | Count |
|---|---|
| Posts | 2256 |
| Articles | 72 |
| Podcasts | 9 |
| Pages | 10 |
graph LR
subgraph "Content Creation"
A[Markdown Files] --> B[pub-cogley CMS]
C[Quick Posts] --> B
end
subgraph "pub-cogley Platform"
B --> D[(D1 Database)]
D --> E[REST API]
E --> F[api.cogley.jp]
end
subgraph "Distribution"
F --> G[cogley.jp Website]
F --> H[GitHub Profile README]
F --> I[Syndication]
end
subgraph "Syndication Targets"
I --> J[Bluesky]
I --> K[Mastodon]
I --> L[Nostr]
end
style B fill:#f9f,stroke:#333
style F fill:#bbf,stroke:#333
flowchart TD
A[New Post Created] --> B{Post Type?}
B -->|Micro| C[Short-form Content]
B -->|Article| D[Long-form Content]
B -->|Podcast| E[Audio Content]
C --> F[pub-cogley API]
D --> F
E --> F
F --> G[cogley.jp]
F --> H[Syndicate to Bluesky]
F --> I[Syndicate to Mastodon]
F --> J[Syndicate to Nostr]
F --> K[GitHub README via Lume]
style F fill:#bbf,stroke:#333
style G fill:#bfb,stroke:#333
| Item | Value |
|---|---|
| Repo Total Files | 7 |
| Repo Size in KB | 5033 |
| Lume Version | v2.5.0 |
| Deno Version | 2.7.8 (linux x86_64) |
| V8 Version | 14.7.173.7-rusty |
| Typescript Version | 5.9.2 |
| Timezone | Asia/Tokyo |
I'm generating this readme using the Lume static site generator, pulling data from my pub-cogley API. See this page for details to get your own!

