41554 blogs · [ { "id": "01a0878a-2d1f-71ed-98e7-34521af21413", "title": "Reasoning with SLOP", "url": "https://jamesadam.me/blog/introducing-growl/", "published_at": "2026-02-08T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34521af7949e", "title": "Introducing SLOP", "url": "https://jamesadam.me/blog/introducing-slop/", "published_at": "2025-12-30T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34521bb09cfc", "title": "A Plugin architecture with Spring, Consul, and Camel", "url": "https://jamesadam.me/blog/a-plugin-architecture-with-spring-consul-and-camel/", "published_at": "2020-10-04T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34521c60b5a7", "title": "My Lock-down Project: A Data Management Thing", "url": "https://jamesadam.me/blog/my-lock-down-project-a-data-management-thing/", "published_at": "2020-09-08T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34521d3d78f8", "title": "Golang – The Okayest Programming Language", "url": "https://jamesadam.me/blog/golang-the-okayest-programming-language/", "published_at": "2018-06-07T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34521dcd723e", "title": "Building a SaaS product with Clojure", "url": "https://jamesadam.me/blog/building-a-saas-product-with-clojure/", "published_at": "2018-03-23T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34521e6379d0", "title": "On Boards and Cards", "url": "https://jamesadam.me/blog/on-boards-and-cards/", "published_at": "2017-12-03T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34521f018c76", "title": "Implementing Search-as-you-type with Mithril.js", "url": "https://jamesadam.me/blog/implementing-search-as-you-type-with-mithril-js/", "published_at": "2017-03-09T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34521fa89e31", "title": "Thoughts On Java 8 Functional Programming (and also Clojure)", "url": "https://jamesadam.me/blog/thoughts-on-java-8-functional-programming-and-also-clojure/", "published_at": "2016-08-04T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34522057e87d", "title": "C and Go – Dealing with void* parameters in cgo", "url": "https://jamesadam.me/blog/c-and-go-dealing-with-void-parameters-in-cgo/", "published_at": "2016-03-26T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345220e343d4", "title": "Making an extensible wiki system with Go", "url": "https://jamesadam.me/blog/making-an-extensible-wiki-system-with-go/", "published_at": "2015-11-03T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345221c5695c", "title": "Creating RPMs from python packages", "url": "https://jamesadam.me/blog/creating-rpms-from-python-packages/", "published_at": "2015-07-01T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-3452220857f2", "title": "CouchDB – check your default settings", "url": "https://jamesadam.me/blog/couchdb-check-your-default-settings/", "published_at": "2015-04-07T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345222771fe8", "title": "How to corrupt your git repo with sed", "url": "https://jamesadam.me/blog/how-to-corrupt-your-git-repo-with-sed/", "published_at": "2015-03-27T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345222b11513", "title": "Using C libraries with Go", "url": "https://jamesadam.me/blog/using-c-libraries-with-go/", "published_at": "2014-11-23T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-3452230bd221", "title": "CouchDB Authorization", "url": "https://jamesadam.me/blog/couchdb-authorization/", "published_at": "2014-11-09T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345223be7e95", "title": "Two weeks with Go", "url": "https://jamesadam.me/blog/two-weeks-with-go/", "published_at": "2014-09-21T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345223d7c802", "title": "Testing Stripe transactions with Scala", "url": "https://jamesadam.me/blog/testing-stripe-transactions-with-scala/", "published_at": "2014-03-23T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345224a93e05", "title": "Backbone and Full Calendar", "url": "https://jamesadam.me/blog/backbone-and-full-calendar/", "published_at": "2014-01-26T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34522557efe0", "title": "Graham’s Scan in Scala", "url": "https://jamesadam.me/blog/grahams-scan-in-scala/", "published_at": "2013-11-21T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345225943346", "title": "Akka and Scalatra", "url": "https://jamesadam.me/blog/akka-and-scalatra/", "published_at": "2013-10-22T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345226798055", "title": "Spring, OSGi, and dropped services", "url": "https://jamesadam.me/blog/spring-osgi-and-dropped-services/", "published_at": "2013-08-18T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345226c9f17b", "title": "Getting Scala, HATEOAS, and JSON to work together", "url": "https://jamesadam.me/blog/getting-scala-hateoas-and-json-to-work-together/", "published_at": "2013-06-30T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34522793d646", "title": "Scala and Scalatra", "url": "https://jamesadam.me/blog/scala-and-scalatra/", "published_at": "2013-04-30T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345227a3772b", "title": "Rhino SchoolTracker", "url": "https://jamesadam.me/blog/rhino-schooltracker/", "published_at": "2013-01-14T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-3452280420d0", "title": "Setting up a Rails server on Debian 6", "url": "https://jamesadam.me/blog/setting-up-a-rails-server-on-debian/", "published_at": "2012-12-18T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34522815d45c", "title": "LEMP, Debian, and WordPress", "url": "https://jamesadam.me/blog/lemp-debian-and-wordpress/", "published_at": "2012-12-02T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-345228d5c40e", "title": "In-app purchase scams", "url": "https://jamesadam.me/blog/in-app-purchase-scams/", "published_at": "2012-11-19T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-3452293e764d", "title": "Testing ActiveScaffold", "url": "https://jamesadam.me/blog/testing-activescaffold/", "published_at": "2012-07-01T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34522a19b5a3", "title": "Why I’m Switching from Mac to Linux", "url": "https://jamesadam.me/blog/why-im-switching-from-mac-to-linux/", "published_at": "2012-03-23T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34522b0453cb", "title": "Digital Download Sales with PayPal IPN, Rails, and Refinery CMS", "url": "https://jamesadam.me/blog/digital-download-sales-with-paypal-ipn-rails-and-refinery-cms/", "published_at": "2012-02-27T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34522b1c1688", "title": "Two Weeks with a Standing Desk", "url": "https://jamesadam.me/blog/two-weeks-with-a-standing-desk/", "published_at": "2012-02-03T00:00:00+00:00" }, { "id": "01a0878a-2d1f-71ed-98e7-34522b5df8e2", "title": "Rails, MySQL, and Text Encoding", "url": "https://jamesadam.me/blog/rails-mysql-and-text-encoding/", "published_at": "2012-01-29T00:00:00+00:00" } ] posts Claim your blog
Back to jamesadam.me
Blog · corpus.blog/blogs/jamesadam.me/posts

jamesadam.me

jamesadam.me

2026

2025

2020

2018

2017

2016

2015

2014

2013

2012