{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "LFE Blog",
  "home_page_url": "https://lfe.io/blog/",
  "feed_url": "https://lfe.io/blog/feed.json",
  "items": [
    {
      "id": "https://lfe.io/blog/tutorials/2019/05/13/1549-running-lfe-in-docker-updated",
      "url": "https://lfe.io/blog/tutorials/2019/05/13/1549-running-lfe-in-docker-updated",
      "title": "Running LFE in Docker, Updated",
      "date_published": "2019-05-13T15:49:00Z",
      "summary": "Significant changes have been made to the LFE Docker support of late, least of which is using the official Erlang Docker images as the base."
    },{
      "id": "https://lfe.io/blog/news/2019/05/13/0250-catch-up",
      "url": "https://lfe.io/blog/news/2019/05/13/0250-catch-up",
      "title": "Catch Up",
      "date_published": "2019-05-13T02:50:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2016/04/27/1647-tracing-lfe-functions",
      "url": "https://lfe.io/blog/tutorials/2016/04/27/1647-tracing-lfe-functions",
      "title": "Tracing LFE Functions",
      "date_published": "2016-04-27T16:47:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2016/03/25/0858-lfe-and-rebar3",
      "url": "https://lfe.io/blog/tutorials/2016/03/25/0858-lfe-and-rebar3",
      "title": "LFE and rebar3",
      "date_published": "2016-03-25T08:58:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2016/03/05/0407-lfe-v10-exporting-macros",
      "url": "https://lfe.io/blog/tutorials/2016/03/05/0407-lfe-v10-exporting-macros",
      "title": "Coming in LFE v1.0: exporting macros",
      "date_published": "2016-03-05T04:07:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2016/03/03/0104-lfe-v10-multi-module-files",
      "url": "https://lfe.io/blog/tutorials/2016/03/03/0104-lfe-v10-multi-module-files",
      "title": "Coming in LFE v1.0: multi-module files",
      "date_published": "2016-03-03T01:04:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2016/01/31/0030-lfe-friday---ets-selects-continuations-and-inserts",
      "url": "https://lfe.io/blog/tutorials/2016/01/31/0030-lfe-friday---ets-selects-continuations-and-inserts",
      "title": "LFE Friday - ETS selects, continuations and inserts",
      "date_published": "2016-01-31T00:30:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2016/01/23/0122-lfe-friday---using-ets-select-with-a-limit",
      "url": "https://lfe.io/blog/tutorials/2016/01/23/0122-lfe-friday---using-ets-select-with-a-limit",
      "title": "LFE Friday - Using ETS select with a limit",
      "date_published": "2016-01-23T01:22:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2016/01/18/1312-lfe-friday---ets-match_specs-and-functions",
      "url": "https://lfe.io/blog/tutorials/2016/01/18/1312-lfe-friday---ets-match_specs-and-functions",
      "title": "LFE Friday - ETS, match_specs and functions",
      "date_published": "2016-01-18T13:12:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2016/01/10/2016-lfe-friday---more-ets-data-matching",
      "url": "https://lfe.io/blog/tutorials/2016/01/10/2016-lfe-friday---more-ets-data-matching",
      "title": "LFE Friday - More ETS data matching (and querying)",
      "date_published": "2016-01-10T20:16:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2016/01/03/0106-lfe-friday---ets-data-matching",
      "url": "https://lfe.io/blog/tutorials/2016/01/03/0106-lfe-friday---ets-data-matching",
      "title": "LFE Friday - ETS data matching",
      "date_published": "2016-01-03T01:06:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/12/25/2138-lfe-friday---ets-introduction-part-5",
      "url": "https://lfe.io/blog/tutorials/2015/12/25/2138-lfe-friday---ets-introduction-part-5",
      "title": "LFE Friday - ETS Introduction, part 5: keypos, read_concurrency and write_concurrency",
      "date_published": "2015-12-25T21:38:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/12/22/0113-lfe-friday---ets-introduction-part-4",
      "url": "https://lfe.io/blog/tutorials/2015/12/22/0113-lfe-friday---ets-introduction-part-4",
      "title": "LFE Friday - ETS Introduction, part 4: ETS Access Protections",
      "date_published": "2015-12-22T01:13:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/12/12/1716-lfe-friday---ets-introduction-part-3",
      "url": "https://lfe.io/blog/tutorials/2015/12/12/1716-lfe-friday---ets-introduction-part-3",
      "title": "LFE Friday - ETS Introduction, part 3: ETS Table Types",
      "date_published": "2015-12-12T17:16:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/12/05/1814-lfe-friday---ets-introduction-part-2",
      "url": "https://lfe.io/blog/tutorials/2015/12/05/1814-lfe-friday---ets-introduction-part-2",
      "title": "LFE Friday - ETS Introduction, part 2",
      "date_published": "2015-12-05T18:14:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/11/28/2110-lfe-yaws-docker-update",
      "url": "https://lfe.io/blog/tutorials/2015/11/28/2110-lfe-yaws-docker-update",
      "title": "Update: Running an LFE YAWS app in Docker",
      "date_published": "2015-11-28T21:10:00Z",
      "summary": "Docker LFE/YAWS sample app has been updated"
    },{
      "id": "https://lfe.io/blog/tutorials/2015/11/28/1721-lfe-friday---ets-introduction-part-1",
      "url": "https://lfe.io/blog/tutorials/2015/11/28/1721-lfe-friday---ets-introduction-part-1",
      "title": "LFE Friday - ETS Introduction, part 1",
      "date_published": "2015-11-28T17:21:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/11/27/0242-lfe-friday---digraphdel_path3",
      "url": "https://lfe.io/blog/tutorials/2015/11/27/0242-lfe-friday---digraphdel_path3",
      "title": "LFE Friday - digraph:del_path/3",
      "date_published": "2015-11-27T02:42:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/11/16/0023-lfe-friday---digraphget_cycle2",
      "url": "https://lfe.io/blog/tutorials/2015/11/16/0023-lfe-friday---digraphget_cycle2",
      "title": "LFE Friday - digraph:get_cycle/2",
      "date_published": "2015-11-16T00:23:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/11/13/0117-lfe-friday---digraphin_neighbors2",
      "url": "https://lfe.io/blog/tutorials/2015/11/13/0117-lfe-friday---digraphin_neighbors2",
      "title": "LFE Friday - digraph:in_neighbors/2",
      "date_published": "2015-11-13T01:17:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/11/07/2209-lfe-friday---digraphget_path3",
      "url": "https://lfe.io/blog/tutorials/2015/11/07/2209-lfe-friday---digraphget_path3",
      "title": "LFE Friday - digraph:get_path/3",
      "date_published": "2015-11-07T22:09:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/10/23/2231-lfe-friday---digraphadd_edge4",
      "url": "https://lfe.io/blog/tutorials/2015/10/23/2231-lfe-friday---digraphadd_edge4",
      "title": "LFE Friday - digraph:add_edge/4",
      "date_published": "2015-10-23T22:31:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/10/20/0147-lfe-friday---digraphadd_vertex1",
      "url": "https://lfe.io/blog/tutorials/2015/10/20/0147-lfe-friday---digraphadd_vertex1",
      "title": "LFE Friday - digraph:add_vertex/1",
      "date_published": "2015-10-20T01:47:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/10/18/1701-lfe-friday---the-digraph-module",
      "url": "https://lfe.io/blog/tutorials/2015/10/18/1701-lfe-friday---the-digraph-module",
      "title": "LFE Friday - The digraph module",
      "date_published": "2015-10-18T17:01:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/10/18/1451-lfe-friday---erl_tartable1",
      "url": "https://lfe.io/blog/tutorials/2015/10/18/1451-lfe-friday---erl_tartable1",
      "title": "LFE Friday - erl_tar:table/1",
      "date_published": "2015-10-18T14:51:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/10/16/1230-catching-up-lfe-friday",
      "url": "https://lfe.io/blog/tutorials/2015/10/16/1230-catching-up-lfe-friday",
      "title": "Catching up LFE Friday",
      "date_published": "2015-10-16T12:30:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/09/24/2311-lfe-friday---erl_tarextract1",
      "url": "https://lfe.io/blog/tutorials/2015/09/24/2311-lfe-friday---erl_tarextract1",
      "title": "LFE Friday - erl_tar:extract/1",
      "date_published": "2015-09-24T23:11:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/09/20/1743-lisp-machine-flavors-for-lfe-2",
      "url": "https://lfe.io/blog/tutorials/2015/09/20/1743-lisp-machine-flavors-for-lfe-2",
      "title": "Lisp Machine Flavors for LFE (2)",
      "date_published": "2015-09-20T17:43:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/interview/2015/09/18/2230-mini-interview-robert-virding-on-lisp",
      "url": "https://lfe.io/blog/interview/2015/09/18/2230-mini-interview-robert-virding-on-lisp",
      "title": "An Interview with Robert Virding on Lisp",
      "date_published": "2015-09-18T22:30:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/09/18/1604-distributed-lfe",
      "url": "https://lfe.io/blog/tutorials/2015/09/18/1604-distributed-lfe",
      "title": "Distributed LFE",
      "date_published": "2015-09-18T16:04:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/site/2015/09/18/1203-lfe-blog-has-a-new-face",
      "url": "https://lfe.io/blog/site/2015/09/18/1203-lfe-blog-has-a-new-face",
      "title": "The LFE Blog Has a New Face",
      "date_published": "2015-09-18T12:03:00Z",
      "summary": "First stages of a refresh for all of the LFE web properties ..."
    },{
      "id": "https://lfe.io/blog/tutorials/2015/09/18/0131-lfe-friday---erl_tarcreate2",
      "url": "https://lfe.io/blog/tutorials/2015/09/18/0131-lfe-friday---erl_tarcreate2",
      "title": "LFE Friday - erl_tar:create/2",
      "date_published": "2015-09-18T01:31:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/09/05/0107-lfe-friday---cpid3",
      "url": "https://lfe.io/blog/tutorials/2015/09/05/0107-lfe-friday---cpid3",
      "title": "LFE Friday - c:pid/3",
      "date_published": "2015-09-05T01:07:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/08/22/1310-lfe-friday---ci0",
      "url": "https://lfe.io/blog/tutorials/2015/08/22/1310-lfe-friday---ci0",
      "title": "LFE Friday - c:i/0",
      "date_published": "2015-08-22T13:10:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/08/15/0226-lfe-friday---cregs0",
      "url": "https://lfe.io/blog/tutorials/2015/08/15/0226-lfe-friday---cregs0",
      "title": "LFE Friday - c:regs/0",
      "date_published": "2015-08-15T02:26:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/08/10/0123-lfe-friday---cm1",
      "url": "https://lfe.io/blog/tutorials/2015/08/10/0123-lfe-friday---cm1",
      "title": "LFE Friday - c:m/1",
      "date_published": "2015-08-10T01:23:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/08/02/0212-lfe-friday---cxm1",
      "url": "https://lfe.io/blog/tutorials/2015/08/02/0212-lfe-friday---cxm1",
      "title": "LFE Friday - c:xm/1",
      "date_published": "2015-08-02T02:12:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/07/25/0135-lfe-friday---ordsetsis_subset2",
      "url": "https://lfe.io/blog/tutorials/2015/07/25/0135-lfe-friday---ordsetsis_subset2",
      "title": "LFE Friday - ordsets:is_subset/2",
      "date_published": "2015-07-25T01:35:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/07/18/1824-a-quicksort-lfe-assist",
      "url": "https://lfe.io/blog/tutorials/2015/07/18/1824-a-quicksort-lfe-assist",
      "title": "A Quicksort LFE Assist",
      "date_published": "2015-07-18T18:24:00Z",
      "summary": "Helping LFE/Erlang newcomers avoid pattern-matching and recursion gotchas"
    },{
      "id": "https://lfe.io/blog/tutorials/2015/07/18/0230-lisp-machine-flavors-for-lfe",
      "url": "https://lfe.io/blog/tutorials/2015/07/18/0230-lisp-machine-flavors-for-lfe",
      "title": "Lisp Machine Flavors for LFE",
      "date_published": "2015-07-18T02:30:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/07/17/0213-lfe-friday---ordsetssubtract2",
      "url": "https://lfe.io/blog/tutorials/2015/07/17/0213-lfe-friday---ordsetssubtract2",
      "title": "LFE Friday - ordsets:subtract/2",
      "date_published": "2015-07-17T02:13:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/07/12/0256-lfe-friday-bonus---performance-of-erlanglength1-on-a-list",
      "url": "https://lfe.io/blog/tutorials/2015/07/12/0256-lfe-friday-bonus---performance-of-erlanglength1-on-a-list",
      "title": "LFE Friday Bonus - Performance of erlang:length/1 on a list",
      "date_published": "2015-07-12T02:56:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/07/12/0233-lfe-friday---ordsetsintersection2",
      "url": "https://lfe.io/blog/tutorials/2015/07/12/0233-lfe-friday---ordsetsintersection2",
      "title": "LFE Friday - ordsets:intersection/2",
      "date_published": "2015-07-12T02:33:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/design/2015/07/11/1720-towards-multi-methods-in-lfe",
      "url": "https://lfe.io/blog/design/2015/07/11/1720-towards-multi-methods-in-lfe",
      "title": "Towards multi-methods in LFE",
      "date_published": "2015-07-11T17:20:00Z",
      "summary": "Exploring the shape of multi-methods in the LFE library LOS"
    },{
      "id": "https://lfe.io/blog/tutorials/2015/07/08/1416-freebsd--lfe-images-docker-like-functionality-with-ezjail",
      "url": "https://lfe.io/blog/tutorials/2015/07/08/1416-freebsd--lfe-images-docker-like-functionality-with-ezjail",
      "title": "FreeBSD &amp; LFE Images: Docker-like functionality with ezjail",
      "date_published": "2015-07-08T14:16:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/07/08/1349-dragonflybsd--lfe",
      "url": "https://lfe.io/blog/tutorials/2015/07/08/1349-dragonflybsd--lfe",
      "title": "DragonFly BSD &amp; LFE",
      "date_published": "2015-07-08T13:49:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/07/04/0959-lfe-friday---ordsetsunion2",
      "url": "https://lfe.io/blog/tutorials/2015/07/04/0959-lfe-friday---ordsetsunion2",
      "title": "LFE Friday - ordsets:union/2",
      "date_published": "2015-07-04T09:59:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/06/26/0044-lfe-friday---queueout1",
      "url": "https://lfe.io/blog/tutorials/2015/06/26/0044-lfe-friday---queueout1",
      "title": "LFE Friday - queue:out/1",
      "date_published": "2015-06-26T00:44:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/06/23/0353-spell1---ll1-parser-generator-update",
      "url": "https://lfe.io/blog/tutorials/2015/06/23/0353-spell1---ll1-parser-generator-update",
      "title": "spell1 - LL(1) parser generator update",
      "date_published": "2015-06-23T03:53:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/06/20/0055-lfe-friday---queuesplit2",
      "url": "https://lfe.io/blog/tutorials/2015/06/20/0055-lfe-friday---queuesplit2",
      "title": "LFE Friday - queue:split/2",
      "date_published": "2015-06-20T00:55:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/06/14/2228-lfe-friday---queuepeek1",
      "url": "https://lfe.io/blog/tutorials/2015/06/14/2228-lfe-friday---queuepeek1",
      "title": "LFE Friday - queue:peek/1",
      "date_published": "2015-06-14T22:28:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/06/05/0024-lfe-friday---queuetail1",
      "url": "https://lfe.io/blog/tutorials/2015/06/05/0024-lfe-friday---queuetail1",
      "title": "LFE Friday - queue:tail/1",
      "date_published": "2015-06-05T00:24:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/29/0345-lfe-friday---queuehead1",
      "url": "https://lfe.io/blog/tutorials/2015/05/29/0345-lfe-friday---queuehead1",
      "title": "LFE Friday - queue:head/1",
      "date_published": "2015-05-29T03:45:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/28/1008-creating-servers-with-the-gen_server-behaviour-ii",
      "url": "https://lfe.io/blog/tutorials/2015/05/28/1008-creating-servers-with-the-gen_server-behaviour-ii",
      "title": "Creating LFE Servers with OTP, Part II",
      "date_published": "2015-05-28T10:08:00Z",
      "summary": "Taking the LFE gen_server to the next level"
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/26/1112-creating-servers-with-the-gen_server-behaviour",
      "url": "https://lfe.io/blog/tutorials/2015/05/26/1112-creating-servers-with-the-gen_server-behaviour",
      "title": "Creating LFE Servers with OTP, Part I",
      "date_published": "2015-05-26T11:12:00Z",
      "summary": "Creating a generic OTP server in LFE"
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/25/0929-prelude-to-otp",
      "url": "https://lfe.io/blog/tutorials/2015/05/25/0929-prelude-to-otp",
      "title": "Prelude to OTP",
      "date_published": "2015-05-25T09:29:00Z",
      "summary": "A look at some examples which motivate the use of OTP"
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/24/1808-what-is-otp",
      "url": "https://lfe.io/blog/tutorials/2015/05/24/1808-what-is-otp",
      "title": "What is OTP?",
      "date_published": "2015-05-24T18:08:00Z",
      "summary": "A quick examination of OTP"
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/23/1720-new-series-lfe-otp-tutorials",
      "url": "https://lfe.io/blog/tutorials/2015/05/23/1720-new-series-lfe-otp-tutorials",
      "title": "New Series: LFE OTP Tutorials",
      "date_published": "2015-05-23T17:20:00Z",
      "summary": "Kicking off a series of OTP tutorials for LFE hackers"
    },{
      "id": "https://lfe.io/blog/formalwear/2015/05/23/1314-lfe-t-shirts-the-great-unboxing",
      "url": "https://lfe.io/blog/formalwear/2015/05/23/1314-lfe-t-shirts-the-great-unboxing",
      "title": "LFE T-shirts: The Great Unboxing",
      "date_published": "2015-05-23T13:14:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/22/0224-lfe-friday---queuecons2",
      "url": "https://lfe.io/blog/tutorials/2015/05/22/0224-lfe-friday---queuecons2",
      "title": "LFE Friday - queue:cons/2",
      "date_published": "2015-05-22T02:24:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/15/2306-lfe-friday---filelibis_file1",
      "url": "https://lfe.io/blog/tutorials/2015/05/15/2306-lfe-friday---filelibis_file1",
      "title": "LFE Friday - filelib:is_file/1",
      "date_published": "2015-05-15T23:06:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/11/2333-lfe-friday---calendariso_week_number1",
      "url": "https://lfe.io/blog/tutorials/2015/05/11/2333-lfe-friday---calendariso_week_number1",
      "title": "LFE Friday - calendar:iso_week_number/1",
      "date_published": "2015-05-11T23:33:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/design/2015/05/11/2251-spell1---ll1-parser-generator",
      "url": "https://lfe.io/blog/design/2015/05/11/2251-spell1---ll1-parser-generator",
      "title": "spell1 - LL(1) parser generator",
      "date_published": "2015-05-11T22:51:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/02/1910-evaluating-dynamic-expressions-in-lfe",
      "url": "https://lfe.io/blog/tutorials/2015/05/02/1910-evaluating-dynamic-expressions-in-lfe",
      "title": "Evaluating dynamic expressions in LFE",
      "date_published": "2015-05-02T19:10:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/05/02/1744-lfe-friday---calendaris_leap_year1",
      "url": "https://lfe.io/blog/tutorials/2015/05/02/1744-lfe-friday---calendaris_leap_year1",
      "title": "LFE Friday - calendar:is_leap_year/1",
      "date_published": "2015-05-02T17:44:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/04/24/1716-lfe-friday---calendarvalid_date3",
      "url": "https://lfe.io/blog/tutorials/2015/04/24/1716-lfe-friday---calendarvalid_date3",
      "title": "LFE Friday - calendar:valid_date/3",
      "date_published": "2015-04-24T17:16:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/04/20/1707-lfe-friday---calendardate_to_gregorian_days3",
      "url": "https://lfe.io/blog/tutorials/2015/04/20/1707-lfe-friday---calendardate_to_gregorian_days3",
      "title": "LFE Friday - calendar:date_to_gregorian_days/3",
      "date_published": "2015-04-20T17:07:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/04/12/1941-lfe-friday---calendarday_of_the_week3",
      "url": "https://lfe.io/blog/tutorials/2015/04/12/1941-lfe-friday---calendarday_of_the_week3",
      "title": "LFE Friday - calendar:day_of_the_week/3",
      "date_published": "2015-04-12T19:41:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/04/05/1332-ledis-using-redis-from-lfe",
      "url": "https://lfe.io/blog/tutorials/2015/04/05/1332-ledis-using-redis-from-lfe",
      "title": "ledis: Using Redis from LFE",
      "date_published": "2015-04-05T13:32:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/announcements/2015/04/04/1538-lfe-and-dialyzer",
      "url": "https://lfe.io/blog/announcements/2015/04/04/1538-lfe-and-dialyzer",
      "title": "LFE and dialyzer",
      "date_published": "2015-04-04T15:38:00Z",
      "summary": "How we will be able to run dialyzer on LFE code"
    },{
      "id": "https://lfe.io/blog/tutorials/2015/04/04/0240-lfe-friday---listsdelete2",
      "url": "https://lfe.io/blog/tutorials/2015/04/04/0240-lfe-friday---listsdelete2",
      "title": "LFE Friday - lists:delete/2",
      "date_published": "2015-04-04T02:40:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/03/30/1513-lfe-friday---erlanglist_to_atom1",
      "url": "https://lfe.io/blog/tutorials/2015/03/30/1513-lfe-friday---erlanglist_to_atom1",
      "title": "LFE Friday - erlang:list_to_atom/1",
      "date_published": "2015-03-30T15:13:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/excerpts/2015/03/27/1101-the-hidden-origins-of-lisp-future",
      "url": "https://lfe.io/blog/excerpts/2015/03/27/1101-the-hidden-origins-of-lisp-future",
      "title": "The Hidden Origins of Lisp: The Place of Lisp in the 21st Century",
      "date_published": "2015-03-27T11:01:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/excerpts/2015/03/26/1111-the-hidden-origins-of-lisp-mccarthy",
      "url": "https://lfe.io/blog/excerpts/2015/03/26/1111-the-hidden-origins-of-lisp-mccarthy",
      "title": "The Hidden Origins of Lisp: John McCarthy",
      "date_published": "2015-03-26T11:11:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/excerpts/2015/03/25/1108-the-hidden-origins-of-lisp-church",
      "url": "https://lfe.io/blog/excerpts/2015/03/25/1108-the-hidden-origins-of-lisp-church",
      "title": "The Hidden Origins of Lisp: Alonzo Church",
      "date_published": "2015-03-25T11:08:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/excerpts/2015/03/24/0111-the-hidden-origins-of-lisp-russell",
      "url": "https://lfe.io/blog/excerpts/2015/03/24/0111-the-hidden-origins-of-lisp-russell",
      "title": "The Hidden Origins of Lisp: Bertrand Russell",
      "date_published": "2015-03-24T01:11:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/excerpts/2015/03/23/1008-the-hidden-origins-of-lisp-peano",
      "url": "https://lfe.io/blog/excerpts/2015/03/23/1008-the-hidden-origins-of-lisp-peano",
      "title": "The Hidden Origins of Lisp: Giuseppe Peano",
      "date_published": "2015-03-23T10:08:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/03/22/2108-lfe-friday---ordsetsis_disjoint2",
      "url": "https://lfe.io/blog/tutorials/2015/03/22/2108-lfe-friday---ordsetsis_disjoint2",
      "title": "LFE Friday - ordsets:is_disjoint/2",
      "date_published": "2015-03-22T21:08:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/excerpts/2015/03/22/1445-the-hidden-origins-of-lisp-introduction",
      "url": "https://lfe.io/blog/excerpts/2015/03/22/1445-the-hidden-origins-of-lisp-introduction",
      "title": "The Hidden Origins of Lisp: Introduction",
      "date_published": "2015-03-22T14:45:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/update/2015/03/22/1342-sicp-the-lfe-edition-update",
      "url": "https://lfe.io/blog/update/2015/03/22/1342-sicp-the-lfe-edition-update",
      "title": "SICP: the LFE Edition - Update",
      "date_published": "2015-03-22T13:42:00Z",
      "summary": "An update on the LFE edition of SICP and a note about the new preface"
    },{
      "id": "https://lfe.io/blog/formalwear/2015/03/20/1256-new-lfe-t-shirt",
      "url": "https://lfe.io/blog/formalwear/2015/03/20/1256-new-lfe-t-shirt",
      "title": "New LFE T-Shirt",
      "date_published": "2015-03-20T12:56:00Z",
      "summary": "If you missed the last LFE T-shirt, you&#39;re gonna want to be in line for this one ..."
    },{
      "id": "https://lfe.io/blog/tutorials/2015/03/13/1559-lfe-friday---listsflatmap2",
      "url": "https://lfe.io/blog/tutorials/2015/03/13/1559-lfe-friday---listsflatmap2",
      "title": "LFE Friday - lists:flatmap/2",
      "date_published": "2015-03-13T15:59:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/03/06/0152-lfe-friday---calendarlocal_time_to_universal_time_dst1",
      "url": "https://lfe.io/blog/tutorials/2015/03/06/0152-lfe-friday---calendarlocal_time_to_universal_time_dst1",
      "title": "LFE Friday - calendar:local_time_to_universal_time_dst/1",
      "date_published": "2015-03-06T01:52:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/03/01/1823-lfe-friday---dictmerge3",
      "url": "https://lfe.io/blog/tutorials/2015/03/01/1823-lfe-friday---dictmerge3",
      "title": "LFE Friday - dict:merge/3",
      "date_published": "2015-03-01T18:23:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/02/20/1609-lfe-friday---stringjoin2",
      "url": "https://lfe.io/blog/tutorials/2015/02/20/1609-lfe-friday---stringjoin2",
      "title": "LFE Friday - string:join/2",
      "date_published": "2015-02-20T16:09:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/02/13/1751-lfe-friday---stringtokens2",
      "url": "https://lfe.io/blog/tutorials/2015/02/13/1751-lfe-friday---stringtokens2",
      "title": "LFE Friday - string:tokens/2",
      "date_published": "2015-02-13T17:51:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/02/10/0206-lfe-friday---listsdropwhile2",
      "url": "https://lfe.io/blog/tutorials/2015/02/10/0206-lfe-friday---listsdropwhile2",
      "title": "LFE Friday - lists:dropwhile/2",
      "date_published": "2015-02-10T02:06:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/02/02/0111-lfe-friday---listsfilter2",
      "url": "https://lfe.io/blog/tutorials/2015/02/02/0111-lfe-friday---listsfilter2",
      "title": "LFE Friday - lists:filter/2",
      "date_published": "2015-02-02T01:11:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/01/22/2243-lfe-friday---httpcrequest1-and-httpcrequest4",
      "url": "https://lfe.io/blog/tutorials/2015/01/22/2243-lfe-friday---httpcrequest1-and-httpcrequest4",
      "title": "LFE Friday - httpc:request/1 and httpc:request/4",
      "date_published": "2015-01-22T22:43:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/01/16/2253-lfe-friday---erlangapply3",
      "url": "https://lfe.io/blog/tutorials/2015/01/16/2253-lfe-friday---erlangapply3",
      "title": "LFE Friday - erlang:apply/3",
      "date_published": "2015-01-16T22:53:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/tutorials/2015/01/10/2201-lfe-friday---timertc3",
      "url": "https://lfe.io/blog/tutorials/2015/01/10/2201-lfe-friday---timertc3",
      "title": "LFE Friday - timer:tc/3",
      "date_published": "2015-01-10T22:01:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/announcements/2015/01/09/1008-lfetool-150-preview-overriding-version-pinning",
      "url": "https://lfe.io/blog/announcements/2015/01/09/1008-lfetool-150-preview-overriding-version-pinning",
      "title": "lfetool 1.5.0 Preview: Overriding Version Pinning",
      "date_published": "2015-01-09T10:08:00Z",
      "summary": "Looking for volunteers to test new lfetool feature"
    },{
      "id": "https://lfe.io/blog/tutorials/2015/01/04/1931-lfe-friday---listsany2",
      "url": "https://lfe.io/blog/tutorials/2015/01/04/1931-lfe-friday---listsany2",
      "title": "LFE Friday - lists:any/2",
      "date_published": "2015-01-04T19:31:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/announcements/2015/01/03/1244-coming-soon-lfe-fridays",
      "url": "https://lfe.io/blog/announcements/2015/01/03/1244-coming-soon-lfe-fridays",
      "title": "Coming Soon: LFE Friday!",
      "date_published": "2015-01-03T12:44:00Z",
      "summary": "With Steven Proctor&#39;s blessing, LFE will be re-publishing Erlang Thursdays..."
    },{
      "id": "https://lfe.io/blog/tutorials/2015/01/01/1215-scientific-computing-on-the-erlang-vm",
      "url": "https://lfe.io/blog/tutorials/2015/01/01/1215-scientific-computing-on-the-erlang-vm",
      "title": "Scientific Computing on the Erlang VM",
      "date_published": "2015-01-01T12:15:00Z",
      "summary": "Polynomial Curve Fitting with LFE"
    },{
      "id": "https://lfe.io/blog/announcements/2014/12/27/1641-easy-python-from-lfeerlang",
      "url": "https://lfe.io/blog/announcements/2014/12/27/1641-easy-python-from-lfeerlang",
      "title": "Easy Python from LFE/Erlang",
      "date_published": "2014-12-27T16:41:00Z",
      "summary": "The quickest way to use Python from LFE/Erlang"
    },{
      "id": "https://lfe.io/blog/holidays/2014/12/25/1221-happy-holidays-from-lfe",
      "url": "https://lfe.io/blog/holidays/2014/12/25/1221-happy-holidays-from-lfe",
      "title": "Happy Holidays from LFE",
      "date_published": "2014-12-25T12:21:00Z",
      "summary": ""
    },{
      "id": "https://lfe.io/blog/reports/2014/12/17/1435-post-sprint-report-lfe-experience",
      "url": "https://lfe.io/blog/reports/2014/12/17/1435-post-sprint-report-lfe-experience",
      "title": "Post Sprint Report: LFE Experience",
      "date_published": "2014-12-17T14:35:00Z",
      "summary": "A first-encounter with LFE from an Erlang appreciator with a Lisp background."
    },{
      "id": "https://lfe.io/blog/archaeology/2014/12/15/1848-byte-august-1979-the-lisp-issue",
      "url": "https://lfe.io/blog/archaeology/2014/12/15/1848-byte-august-1979-the-lisp-issue",
      "title": "BYTE, August 1979: The LISP Issue",
      "date_published": "2014-12-15T18:48:00Z",
      "summary": "An exploration of the Ancient LISP code on the cover of BYTE, August 1972"
    },{
      "id": "https://lfe.io/blog/announcements/2014/12/14/1645-lutil-050-composition-predicates-core",
      "url": "https://lfe.io/blog/announcements/2014/12/14/1645-lutil-050-composition-predicates-core",
      "title": "lutil 0.5.0: Composition, Predicates and Core lutil",
      "date_published": "2014-12-14T16:45:00Z",
      "summary": "New features in lutil 0.4.1"
    },{
      "id": "https://lfe.io/blog/announcements/2014/12/08/1929-lfest-002-is-released",
      "url": "https://lfe.io/blog/announcements/2014/12/08/1929-lfest-002-is-released",
      "title": "lfest 0.0.2 Is Released",
      "date_published": "2014-12-08T19:29:00Z",
      "summary": "New Version of lfest Available"
    },{
      "id": "https://lfe.io/blog/tutorials/2014/12/07/1837-running-lfe-in-docker",
      "url": "https://lfe.io/blog/tutorials/2014/12/07/1837-running-lfe-in-docker",
      "title": "Running LFE in Docker",
      "date_published": "2014-12-07T18:37:00Z",
      "summary": "LFE Community is working on growing support for Docker"
    },{
      "id": "https://lfe.io/blog/announcements/2014/12/06/1244-ierlang-notebook-a-la-ipython",
      "url": "https://lfe.io/blog/announcements/2014/12/06/1244-ierlang-notebook-a-la-ipython",
      "title": "Usability Update: IErlang Notebook (a la IPython)",
      "date_published": "2014-12-06T12:44:00Z",
      "summary": "Updated project source for IErlang makes it easier to use"
    },{
      "id": "https://lfe.io/blog/tutorials/2014/12/03/1828-erlport-and-python-making-more-calls-from-lfe",
      "url": "https://lfe.io/blog/tutorials/2014/12/03/1828-erlport-and-python-making-more-calls-from-lfe",
      "title": "ErlPort and Python Part II: Making More Calls from LFE",
      "date_published": "2014-12-03T18:28:00Z",
      "summary": "Part II of an Introduction to ErlPort with LFE"
    },{
      "id": "https://lfe.io/blog/announcements/2014/12/03/1810-community-generated-content",
      "url": "https://lfe.io/blog/announcements/2014/12/03/1810-community-generated-content",
      "title": "Community Generated Content",
      "date_published": "2014-12-03T18:10:00Z",
      "summary": "Readers, submit your PRs for blog posts!"
    },{
      "id": "https://lfe.io/blog/tutorials/2014/11/21/1508-erlport-using-python-from-erlang-lfe",
      "url": "https://lfe.io/blog/tutorials/2014/11/21/1508-erlport-using-python-from-erlang-lfe",
      "title": "ErlPort: Using Python from Erlang/LFE",
      "date_published": "2014-11-21T15:08:00Z",
      "summary": "A Quick Introduction to ErlPort via LFE"
    },{
      "id": "https://lfe.io/blog/announcements/2014/08/31/2024-lfetool-v12-is-out",
      "url": "https://lfe.io/blog/announcements/2014/08/31/2024-lfetool-v12-is-out",
      "title": "lfetool v1.2 Is Out!",
      "date_published": "2014-08-31T20:24:00Z",
      "summary": "Notes on the latest interim release of lfetool"
    },{
      "id": "https://lfe.io/blog/conferences/2014/07/23/0849-erlang--oscon-2014",
      "url": "https://lfe.io/blog/conferences/2014/07/23/0849-erlang--oscon-2014",
      "title": "Erlang @ OSCON 2014",
      "date_published": "2014-07-23T08:49:00Z",
      "summary": "Updates from the conference ground zero"
    },{
      "id": "https://lfe.io/blog/update/2014/06/10/0929-lfe-language-summit-review",
      "url": "https://lfe.io/blog/update/2014/06/10/0929-lfe-language-summit-review",
      "title": "LFE Language Summit Review",
      "date_published": "2014-06-10T09:29:00Z",
      "summary": "A report on how the first LFE language &#39;summit&#39; went"
    },{
      "id": "https://lfe.io/blog/history/2014/05/28/1516-the-secret-history-of-lfe",
      "url": "https://lfe.io/blog/history/2014/05/28/1516-the-secret-history-of-lfe",
      "title": "The Secret History of LFE",
      "date_published": "2014-05-28T15:16:00Z",
      "summary": "A post to the mail list too good to just keep there :-)"
    },{
      "id": "https://lfe.io/blog/news/2014/05/25/1523-lfe-user-group-meeting-update",
      "url": "https://lfe.io/blog/news/2014/05/25/1523-lfe-user-group-meeting-update",
      "title": "LFE User Group Meeting: Update",
      "date_published": "2014-05-25T15:23:00Z",
      "summary": "We now have a date and time for the User Group meeting in Stockholm!"
    },{
      "id": "https://lfe.io/blog/site/2014/05/25/1026-history-of-erlang",
      "url": "https://lfe.io/blog/site/2014/05/25/1026-history-of-erlang",
      "title": "Docs Update: History of Erlang Added",
      "date_published": "2014-05-25T10:26:00Z",
      "summary": "Updated the docs site with a new &#39;History&#39; section."
    },{
      "id": "https://lfe.io/blog/news/2014/05/23/1114-lfe-sunday-times",
      "url": "https://lfe.io/blog/news/2014/05/23/1114-lfe-sunday-times",
      "title": "LFE Sunday Times",
      "date_published": "2014-05-23T11:14:00Z",
      "summary": "LFE Daily moved to weekly release"
    },{
      "id": "https://lfe.io/blog/site/2014/05/23/0815-docs-site-overhaul",
      "url": "https://lfe.io/blog/site/2014/05/23/0815-docs-site-overhaul",
      "title": "Docs Site Overhaul",
      "date_published": "2014-05-23T08:15:00Z",
      "summary": "With the new site, docs pages get better focus."
    },{
      "id": "https://lfe.io/blog/site/2014/05/22/2301-lfe-microblog-is-open-for-business-",
      "url": "https://lfe.io/blog/site/2014/05/22/2301-lfe-microblog-is-open-for-business-",
      "title": "LFE Microblog is Open for Business ...",
      "date_published": "2014-05-22T23:01:00Z",
      "summary": "Another web property update"
    },{
      "id": "https://lfe.io/blog/site/2014/05/22/1849-new-lfe-site",
      "url": "https://lfe.io/blog/site/2014/05/22/1849-new-lfe-site",
      "title": "New LFE Site!",
      "date_published": "2014-05-22T18:49:00Z",
      "summary": "LFE has a new main site"
    }
  ]
}
