41554 blogs · [ { "id": "01a0bb4b-0844-738a-8ed8-8325b92ca101", "title": "More tree-sitter, more neocaml, more elisp", "url": "https://lambdafoo.com/posts/2026-09-14-more-trees-more-neocaml.html", "published_at": "2026-09-14T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f911d78f1f", "title": "Deriving QCheck Generators for External Types in OCaml", "url": "https://lambdafoo.com/posts/2026-05-01-qcheck-deriving-ocaml.html", "published_at": "2026-05-01T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f912514bf1", "title": "A month of Elisp", "url": "https://lambdafoo.com/posts/2026-04-23-a-month-of-elisp.html", "published_at": "2026-04-23T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f912cbec0e", "title": "Quick Hardware Performance Counters on macOS ARM64", "url": "https://lambdafoo.com/posts/2026-03-25-mperf-hardware-counters-macos.html", "published_at": "2026-03-25T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f9134f8298", "title": "More CFI and frame pointers work", "url": "https://lambdafoo.com/posts/2026-02-07-more-cfi-and-frame-pointers.html", "published_at": "2026-02-07T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f913967c61", "title": "Why do frame pointers matter for OCaml?", "url": "https://lambdafoo.com/posts/2025-02-24-ocaml-frame-pointers.html", "published_at": "2025-02-24T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f914838cb1", "title": "Experimenting with OCaml and eBPF", "url": "https://lambdafoo.com/posts/2025-02-15-ocaml-ebpf-usdt.html", "published_at": "2025-02-15T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc70639f2", "title": "Server Room · Perpetually Curious", "url": "https://lambdafoo.com/pages/server-room.html", "published_at": "2025-01-29T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f91495e474", "title": "Building OCaml from assembly", "url": "https://lambdafoo.com/posts/2024-08-30-building-ocaml-from-assembly.html", "published_at": "2024-08-30T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f9152b45f1", "title": "Getting Started with LLDB on OCaml", "url": "https://lambdafoo.com/posts/2024-08-03-lldb-ocaml.html", "published_at": "2024-08-03T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f916129704", "title": "Debugging OCaml with Emacs", "url": "https://lambdafoo.com/posts/2024-03-25-ocaml-debugging-with-emacs.html", "published_at": "2024-03-25T00:00:00+00:00" }, { "id": "01a08798-1d73-7170-af25-14f916f2650f", "title": "ICFP 2022 Review", "url": "https://lambdafoo.com/posts/2022-10-11-icfp-2022-review.html", "published_at": "2022-10-11T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bba6f2a235", "title": "OCaml with Emacs in 2022 · Perpetually Curious", "url": "https://lambdafoo.com/posts/2022-09-07-ocaml-with-emacs-2022.html", "published_at": "2022-09-07T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bba760f4c2", "title": "Getting Started with OCaml in 2021 · Perpetually Curious", "url": "https://lambdafoo.com/posts/2021-10-29-getting-started-with-ocaml.html", "published_at": "2021-10-29T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bba78c9d59", "title": "Hakyll Blog setup · Perpetually Curious", "url": "https://lambdafoo.com/posts/2021-08-27-hakyll-blog.html", "published_at": "2021-08-27T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bba7ea603e", "title": "OCaml CI with CircleCI · Perpetually Curious", "url": "https://lambdafoo.com/posts/2021-02-02-ocaml-ci-with-circleci.html", "published_at": "2021-02-02T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bba8479799", "title": "On EitherT · Perpetually Curious", "url": "https://lambdafoo.com/posts/2018-06-22-transformers-either.html", "published_at": "2018-06-22T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bba9065929", "title": "OCaml FFI bindings · Perpetually Curious", "url": "https://lambdafoo.com/posts/2015-08-17-ocaml-ffi-bindings.html", "published_at": "2015-08-17T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bba9644e2e", "title": "First month of Haskell · Perpetually Curious", "url": "https://lambdafoo.com/posts/2015-05-20-first-month-of-haskell.html", "published_at": "2015-05-20T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbaa03f586", "title": "Unreliable guide to OCaml modules · Perpetually Curious", "url": "https://lambdafoo.com/posts/2015-05-17-unreliable-guide-to-ocaml-modules.html", "published_at": "2015-05-17T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbaa61615c", "title": "Lenses in OCaml · Perpetually Curious", "url": "https://lambdafoo.com/posts/2015-01-16-ocaml-lenses.html", "published_at": "2015-01-16T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbab1d4481", "title": "Lambdajam Talks · Perpetually Curious", "url": "https://lambdafoo.com/posts/2014-08-08-lambdajam-talk.html", "published_at": "2014-08-08T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbab5099f2", "title": "Ember.js and Google Analytics · Perpetually Curious", "url": "https://lambdafoo.com/posts/2013-09-17-emberjs-and-google-analytics.html", "published_at": "2013-09-17T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbab7e6261", "title": "Erlang hot code loading · Perpetually Curious", "url": "https://lambdafoo.com/posts/2013-09-02-erlang-hot-code-loading.html", "published_at": "2013-09-02T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbabbc3d18", "title": "Getting started with Sinan · Perpetually Curious", "url": "https://lambdafoo.com/posts/2012-09-10-sinan-intro.html", "published_at": "2012-09-10T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbac52f6df", "title": "Ripple on Rails · Perpetually Curious", "url": "https://lambdafoo.com/posts/2012-05-22-ripple-rails.html", "published_at": "2012-05-22T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbacae0af8", "title": "WebMachine Talk · Perpetually Curious", "url": "https://lambdafoo.com/posts/2012-04-12-webmachine-talk.html", "published_at": "2012-04-12T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc65cd1a0", "title": "About · Perpetually Curious", "url": "https://lambdafoo.com/pages/about.html", "published_at": "2012-04-02T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbad8f4adb", "title": "Riak, Ruby and Ripple Talk · Perpetually Curious", "url": "https://lambdafoo.com/posts/2012-03-15-riak-ruby-ripple-talk.html", "published_at": "2012-03-15T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbae865f9c", "title": "Git rebase workflow · Perpetually Curious", "url": "https://lambdafoo.com/posts/2012-02-10-git-rebase-workflow.html", "published_at": "2012-02-10T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbaf354cf7", "title": "Thoughts on GNU Hurd · Perpetually Curious", "url": "https://lambdafoo.com/posts/2012-02-01-thoughts-on-gnu-hurd.html", "published_at": "2012-02-01T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbafc8bb7d", "title": "Site Update · Perpetually Curious", "url": "https://lambdafoo.com/posts/2012-01-22-site-update.html", "published_at": "2012-01-22T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb058b223", "title": "Git and Mercurial Workflow Gist · Perpetually Curious", "url": "https://lambdafoo.com/posts/2011-10-08-git-and-mercurial-workflow-gist.html", "published_at": "2011-10-08T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb0c374c7", "title": "iPad and eBooks galore · Perpetually Curious", "url": "https://lambdafoo.com/posts/2011-10-06-ipad-and-ebooks-galore.html", "published_at": "2011-10-06T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb17405f0", "title": "Agressive Emacs Spring Clean · Perpetually Curious", "url": "https://lambdafoo.com/posts/2011-10-05-agressive-emacs-spring-clean.html", "published_at": "2011-10-05T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb19c284a", "title": "Emacs reboot · Perpetually Curious", "url": "https://lambdafoo.com/posts/2011-08-12-emacs-reboot.html", "published_at": "2011-08-12T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb203d881", "title": "Setting up Oracle 10g XE with Rails 3 · Perpetually Curious", "url": "https://lambdafoo.com/posts/2011-07-25-setting-up-oracle-10g-xe-with-rails-3.html", "published_at": "2011-07-25T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb2be380e", "title": "The Rubinius Virtual Machine · Perpetually Curious", "url": "https://lambdafoo.com/posts/2011-07-05-the-rubinius-virtual-machine.html", "published_at": "2011-07-05T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb39b2d96", "title": "Rails, ORA-000972 and you · Perpetually Curious", "url": "https://lambdafoo.com/posts/2011-06-24-rails-ora-000972-and-you.html", "published_at": "2011-06-24T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb44fc76d", "title": "Ubuntu Server update · Perpetually Curious", "url": "https://lambdafoo.com/posts/2011-03-08-ubuntu-server-update.html", "published_at": "2011-03-08T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb524b11c", "title": "IntelliJ IDEA Ubuntu Launcher · Perpetually Curious", "url": "https://lambdafoo.com/posts/2010-12-17-intellij-idea-ubuntu-launcher.html", "published_at": "2010-12-17T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb584942e", "title": "Leaving OpenBSD for ... · Perpetually Curious", "url": "https://lambdafoo.com/posts/2010-09-30-leaving-openbsd-for.html", "published_at": "2010-09-30T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb5bb5546", "title": "Thoughts on ObjectiveC and Cocoa · Perpetually Curious", "url": "https://lambdafoo.com/posts/2010-08-24-thoughts-on-objectivec-and-cocoa.html", "published_at": "2010-08-24T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb5c124fe", "title": ".emacs publishing · Perpetually Curious", "url": "https://lambdafoo.com/posts/2010-06-25-emacs-publishing.html", "published_at": "2010-06-25T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb5d814d9", "title": "Declaring .emacs Bankruptcy · Perpetually Curious", "url": "https://lambdafoo.com/posts/2010-06-25-declaring-.emacs-bankruptcy.html", "published_at": "2010-06-25T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb5f6c5c1", "title": "eBook thoughts · Perpetually Curious", "url": "https://lambdafoo.com/posts/2010-05-05-ebook-thoughts.html", "published_at": "2010-05-05T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb69f9144", "title": "NetBSD 5.0 On An AspireOne 110L · Perpetually Curious", "url": "https://lambdafoo.com/posts/2010-03-23-netbsd-5-0-on-an-aspireone-110l.html", "published_at": "2010-03-23T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb74faa44", "title": "Forcing Snow Leopard to use 64bit Kernel · Perpetually Curious", "url": "https://lambdafoo.com/posts/2009-09-13-forcing-snow-leopard-to-use-64bit-kernel.html", "published_at": "2009-09-13T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb7d9acd0", "title": "Update · Perpetually Curious", "url": "https://lambdafoo.com/posts/2009-06-30-update.html", "published_at": "2009-06-30T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb7f8279a", "title": "XMonad Install on NetBSD 5.0 · Perpetually Curious", "url": "https://lambdafoo.com/posts/2009-05-30-xmonad-install-on-netbsd-50.html", "published_at": "2009-05-30T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb8b4b316", "title": "Acer Aspire One with NetBSD 5.0 · Perpetually Curious", "url": "https://lambdafoo.com/posts/2009-05-23-acer-aspire-one-with-netbsd-50.html", "published_at": "2009-05-23T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb8fc80a2", "title": "Yet Another Ring Benchmark, Part I · Perpetually Curious", "url": "https://lambdafoo.com/posts/2009-03-21-yarb-yet-another-ring-benchmark-part-i.html", "published_at": "2009-03-21T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbb9c4f146", "title": "Compiler Update · Perpetually Curious", "url": "https://lambdafoo.com/posts/2009-03-05-compiler-update.html", "published_at": "2009-03-05T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbba675a07", "title": "Lambdacats · Perpetually Curious", "url": "https://lambdafoo.com/posts/2009-01-25-lambdacats.html", "published_at": "2009-01-25T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbb3194bb", "title": "Streaming iTunes from Solaris 10 · Perpetually Curious", "url": "https://lambdafoo.com/posts/2008-12-29-streaming-itunes-from-solaris-10.html", "published_at": "2008-12-29T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbc310989", "title": "Start a side project! · Perpetually Curious", "url": "https://lambdafoo.com/posts/2008-12-27-start-a-side-project.html", "published_at": "2008-12-27T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbcd9b63a", "title": "Reading List for the Holidays · Perpetually Curious", "url": "https://lambdafoo.com/posts/2008-12-26-reading-list-for-the-holidays.html", "published_at": "2008-12-26T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbd03b1a6", "title": "Update on Me · Perpetually Curious", "url": "https://lambdafoo.com/posts/2008-12-14-update-on-me.html", "published_at": "2008-12-14T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbd5b2ade", "title": "Simple TCP Server in Erlang · Perpetually Curious", "url": "https://lambdafoo.com/posts/2008-10-12-simple-tcp-server-in-erlang.html", "published_at": "2008-10-12T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbdcc83b3", "title": "crontab entry to startup a GUI application on OS X · Perpetually Curious", "url": "https://lambdafoo.com/posts/2008-10-06-quick-os-x-tip.html", "published_at": "2008-10-06T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbe442740", "title": null, "url": "https://lambdafoo.com/posts/2008-09-20-netbsd-wireless-setup.html", "published_at": "2008-09-20T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbeaf7c09", "title": null, "url": "https://lambdafoo.com/posts/2008-09-14-installing-netbsd-on-an-inspiron-8000.html", "published_at": "2008-09-14T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbeebd3fb", "title": null, "url": "https://lambdafoo.com/posts/2008-09-06-haskell-things.html", "published_at": "2008-09-06T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbf702820", "title": null, "url": "https://lambdafoo.com/posts/2008-08-11-posting-from-the-iphone.html", "published_at": "2008-08-11T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbbfc9a57e", "title": null, "url": "https://lambdafoo.com/posts/2008-05-18-software-engineering-radio-interviews.html", "published_at": "2008-05-18T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc01f9387", "title": null, "url": "https://lambdafoo.com/posts/2008-05-07-99-erlang-problems-16-25.html", "published_at": "2008-05-07T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc03349c6", "title": null, "url": "https://lambdafoo.com/posts/2008-04-10-postfix-smf-update.html", "published_at": "2008-04-10T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc10568b8", "title": null, "url": "https://lambdafoo.com/posts/2008-04-07-erlang-techtalk.html", "published_at": "2008-04-07T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc1b32e4c", "title": null, "url": "https://lambdafoo.com/posts/2008-03-09-erlang-emacs-fun.html", "published_at": "2008-03-09T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc25df4c5", "title": null, "url": "https://lambdafoo.com/posts/2008-03-01-meraki-internals.html", "published_at": "2008-03-01T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc2f0e5cb", "title": null, "url": "https://lambdafoo.com/posts/2008-02-28-hacking-the-meraki.html", "published_at": "2008-02-28T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc3b55b3c", "title": null, "url": "https://lambdafoo.com/posts/2008-02-26-99-erlang-problems-1-15.html", "published_at": "2008-02-26T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc3c98372", "title": null, "url": "https://lambdafoo.com/posts/2008-01-31-minimal-irix-kernel-driver.html", "published_at": "2008-01-31T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc46d31c9", "title": null, "url": "https://lambdafoo.com/posts/2008-01-06-creating-an-rsync-copy-of-nekoware.html", "published_at": "2008-01-06T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc4ea7cd3", "title": null, "url": "https://lambdafoo.com/posts/2008-01-01-site-update.html", "published_at": "2008-01-01T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc5469ad0", "title": null, "url": "https://lambdafoo.com/posts/2007-12-30-programming-erlang.html", "published_at": "2007-12-30T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc59e8771", "title": null, "url": "https://lambdafoo.com/posts/2007-12-14-collecting-failed-ssh-logins.html", "published_at": "2007-12-14T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bbc6301e8e", "title": null, "url": "https://lambdafoo.com/posts/2007-12-08-postfix-smf.html", "published_at": "2007-12-08T00:00:00+00:00" }, { "id": "01a0d449-ef64-717e-934e-82bba27faaa6", "title": null, "url": "https://lambdafoo.com", "published_at": null }, { "id": "01a0d449-ef64-717e-934e-82bbc7cc9d97", "title": null, "url": "https://lambdafoo.com/pages/talks.html", "published_at": null } ] posts Claim your blog
Back to lambdafoo.com
Blog · corpus.blog/blogs/lambdafoo.com/posts

lambdafoo.com

lambdafoo.com

2026

2025

2024

2022

2021

2018

2015

2014

2013

2012

2011

2010

2009

2008

2007

Undated