Last Updated: March 23rd, 2026 at 4:52:49 PM GMT+9 Today is: Sunday, April 5, 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)
"Stop thinking about art works as objects, and start thinking about them as triggers for experiences... That solves a lot of problems. Art is something that happens, a process, not a quality, and all sorts of things can make it happen ...what makes a work of art 'good' for you is not something that is already 'inside' it, but something that happens inside you." — Brian Eno
Working on: Centralized types in core package, scripts and rules in .github repo
Packed schedule, minimal interruptions
688 commits | 120 this week | 🔥 29-day streak
Languages: TypeScript (11) · Svelte (2) · HTML (2) · CSS (2) · Vento (1)
Active repos (12): RickCogley/pub-cogley eSolia/esolia-2025 eSolia/codex eSolia/periodic eSolia/courier and 7 more
Themes: japan tech
Activity: 1 posts, 2 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
- 💬 Heading to Sendai tomorrow for an onsen soak with A.... japan
- 📝 エンジニアリング・バックプレッシャー:AIが生成するコードの品質を10のSvelteKitリポジトリで守る tech
- 📝 Engineering Backpressure for AI-Generated Code tech
- 📝 AIに頼る前にまず自分の手でコードを書け:新卒エンジニアへ tech
- 📝 Learn to Code the Hard Way First tech
| Type | Count |
|---|---|
| Posts | 2257 |
| Articles | 78 |
| 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 | 5042 |
| Lume Version | v2.5.0 |
| Deno Version | 2.7.11 (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!





