🎴
Software and Systems—Keith Kim
  • What I'm Making and What I Use
  • Code Patterns
    • Fun with flat_map (in Ruby)
    • Enumerating Union Types in Elm
    • Software Design Patterns
    • Authn / Authz
  • Data access
    • Type-safe SQL with SafeQL
    • JDBI
    • Jooq
  • OpenSource
    • Keyboard Layouts
      • Qwickly: Keyboard Layout
      • Colemak + Niro + Soul + MTGAP
    • Libraries
      • SafeQL
      • Moja
      • Monadts
    • Apps
      • Database Diagram
      • Unfurlist
  • Products / Services
    • Hackerer.news
    • Gitgrep.com
    • Quicklog.io
      • Client libraries
    • QuickX.app
      • Vultrdata (opensource)
        • Vultr instance metadata
    • Statuspages.me
    • Coming soon...
      • CheatsheetsDB.com
      • iSpecsDB.com
      • Slackflows.com
  • Frameworks
    • About Frameworks
    • A Replacement for Spring Boot
    • Back-end
      • Node.js
      • Spring Boot/Java
      • Javalin/Java(Kotlin)
    • Full-stack
      • Phoenix/Elixir
      • Rails/Ruby
      • Yii/Php
    • Front-end
      • Vue.js/TypeScript
      • React
      • Elm
    • Mobile/Client
      • Flutter
      • JavaFX
  • Databases / Datastores
    • SQL / NewSQL
      • MySQL
      • PostgreSQL
      • CockroachDB
    • Stream / Queue
      • RabbitMQ
      • Apache Kafka
    • Cache / Search
      • Redis
      • Elasticsearch / Solr / Lucene
    • Cloud
      • RDS / Cloud SQL
      • Spanner
      • Firebase
    • Datomic
  • Languages
    • About Languages
    • On the JVM
      • Kotlin
      • Java
      • Clojure
      • Scala
    • Client/Fullstack
      • TypeScript
      • Dart
      • Elixir
      • Ruby
      • PHP
    • Go / 2.0
    • F# / OCaml
    • Crystal
    • Pony
  • Third-party Services
    • About Services
    • Domains / DNS / CDN
      • Cloudflare
      • Namecheap
      • NameSilo
    • GitHub, GitLab, Bitbucket
    • Deployment & Monitoring
      • Netlify
      • Cloud VM
        • Vultr
      • Concourse CI on AWS EC2
      • DataDog
      • Loggly
  • Other Software
    • GitBook
    • Hugo
    • Servers
      • Nginx
      • Letsencrypt
      • Systemd
      • Server Operating Systems
    • Windows/WSL(2)
    • Software Licences
Powered by GitBook
On this page
  • Blog of what I'm making, how I'm making it, what I use, and why.
  • Recent Posts
  • Posts in progress

Was this helpful?

What I'm Making and What I Use

blog.keithkim.org

NextFun with flat_map (in Ruby)

Last updated 5 years ago

Was this helpful?

Blog of what I'm making, how I'm making it, what I use, and why.

[This paragraph isn't real content--more of a note to self.] Becoming a super developer is a fairly straight-forward process:

  1. Write code

  2. Write more code

  3. Think about correctness with invariants

  4. Learn to write less code, refactor

  5. Stop re-factoring and factor code once each

  6. Write code thinking about the data shapes

  7. Write composeable pipelined processes

  8. Write composeable operations

  9. Compose the operations first, then throw input at it

Recent Posts

  • Services

  • Other software

Posts in progress

  • Code Patterns

  • Products / Services

  • OpenSource

Note: some pages are placeholders (for content being written) showing only a title card.

QuickX.app: ,

Libraries: , ,

Apps: , , VultrData

Cloudflare
Namecheap
GitBook
Hugo
Systemd
Software Licences
Authn / Authz
Hackerer.news
Gitgrep.com
Quicklog.io
Statuspages.me
SafeQL
Moja
Monadts
Database Diagram
Unfurlist