41554 blogs · [ { "id": "01a087be-955d-7280-bdad-431f79e604ac", "title": "Help! My boss wants AI!", "url": "http://pbrown.me/blog/my-boss-wants-ai/", "published_at": "2025-03-05T22:39:48+00:00" }, { "id": "01a087be-9568-72db-b2d9-e61062f6b8f2", "title": "CLP(fd): Introduction to Solving Problems with Resource Constraints", "url": "http://pbrown.me/blog/business-constraints/", "published_at": "2021-05-25T00:00:00+00:00" }, { "id": "01a087be-9568-72db-b2d9-e61063d31ffa", "title": "Pattern for smooth SPA development with SWI-Prolog", "url": "http://pbrown.me/blog/swi-spa/", "published_at": "2021-05-20T00:00:00+00:00" }, { "id": "01a087be-9568-72db-b2d9-e61064a73740", "title": "A Tau-Prolog Application", "url": "http://pbrown.me/blog/tau-prolog-chords/", "published_at": "2020-12-12T00:00:00+00:00" }, { "id": "01a087be-9568-72db-b2d9-e61064dbf2e4", "title": "Failing a Generator on First Failure", "url": "http://pbrown.me/blog/fail-first-failure/", "published_at": "2020-09-02T11:00:00+00:00" }, { "id": "01a087be-9568-72db-b2d9-e61065691b83", "title": "Emacs X Window Manager On Raspberry Pi", "url": "http://pbrown.me/blog/exwm-raspberry-pi/", "published_at": "2020-08-23T14:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3066f059413", "title": "Basic Idea Of Recursion", "url": "http://pbrown.me/blog/basic-idea-recursion/", "published_at": "2019-11-21T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3066f7b8718", "title": "\"Hello, Tau Prolog!\"", "url": "http://pbrown.me/blog/hello-tau-prolog/", "published_at": "2019-11-07T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3066ff971dd", "title": "Predicates vs Functions", "url": "http://pbrown.me/blog/predicates-vs-functions/", "published_at": "2019-11-06T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a306702028a7", "title": "Prolog Partial Predicates", "url": "http://pbrown.me/blog/partial-predicates/", "published_at": "2019-10-30T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a306706ee0f4", "title": "Prolog: Forwards and Backwards", "url": "http://pbrown.me/blog/prolog-forwards-and-backwards/", "published_at": "2019-10-13T18:37:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a30670a9d1fe", "title": "Homoiconic Prolog: Explain yourself!", "url": "http://pbrown.me/blog/homoiconic-prolog-explain-yourself/", "published_at": "2019-10-02T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a30671a5232c", "title": "Difference Lists Explored", "url": "http://pbrown.me/blog/difference-lists-explored/", "published_at": "2019-09-25T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a30671dd0cbc", "title": "Functional Prolog: Map, Filter and Reduce", "url": "http://pbrown.me/blog/functional-prolog-map-filter-and-reduce/", "published_at": "2019-09-18T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a30672cf505e", "title": "Transitive Relations, A Deeper Dive", "url": "http://pbrown.me/blog/transitive-relations-deeper-dive/", "published_at": "2019-09-04T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3067324fe65", "title": "Reification By Example", "url": "http://pbrown.me/blog/reification-example/", "published_at": "2019-08-21T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a30673ba80e3", "title": "Opening the World with Three-Valued Logic", "url": "http://pbrown.me/blog/opening-prolog-world-three-valued-logic/", "published_at": "2019-07-24T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a30674796715", "title": "Framing Frames", "url": "http://pbrown.me/blog/framing-frames/", "published_at": "2019-07-03T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3067548365e", "title": "The Golog Elevator", "url": "http://pbrown.me/blog/the-golog-elevator/", "published_at": "2019-06-28T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a30675e95c97", "title": "Operators For A Controlled Natural Language", "url": "http://pbrown.me/blog/operators-controlled-natural-language/", "published_at": "2019-06-26T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a306761d7b00", "title": "10 minute GUI for your Prolog app", "url": "http://pbrown.me/blog/quick-gui/", "published_at": "2019-06-13T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a30676d8808f", "title": "Reflexive, Symmetric and Transitive Relations in Prolog", "url": "http://pbrown.me/blog/reflexive-symmetric-and-transitive-relations-prolog/", "published_at": "2019-05-29T09:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3067759938f", "title": "Starting with Knowledge Graphs", "url": "http://pbrown.me/blog/starting-kb/", "published_at": "2019-04-15T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3067809709e", "title": "Rock, Paper, Scissors, Prolog!", "url": "http://pbrown.me/blog/rock-paper-scissors-prolog/", "published_at": "2018-08-26T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a30678dd8f8e", "title": "Getting JSON data from an API in SWI-Prolog", "url": "http://pbrown.me/blog/swi-prolog-json-api-consume/", "published_at": "2018-08-19T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a306794b3842", "title": "Setting Up Unit Testing In SWI-Prolog", "url": "http://pbrown.me/blog/swi-prolog-unit-testing-env/", "published_at": "2018-08-12T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3067a3229f4", "title": "Python Generators, yield and send", "url": "http://pbrown.me/blog/generator-send/", "published_at": "2018-06-03T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3067ac23e73", "title": "The semantic difference between for and for", "url": "http://pbrown.me/blog/for-vs-for/", "published_at": "2018-05-20T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3067b02563f", "title": "RDFLib Graph with RDBS", "url": "http://pbrown.me/blog/rdflib-mysql/", "published_at": "2018-05-13T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3067b568c76", "title": "Typing Description Logics Cheat Sheet", "url": "http://pbrown.me/blog/dl-cheat-sheet/", "published_at": "2018-04-29T00:00:00+00:00" }, { "id": "01a087be-9569-70b1-83ac-a3067bbce3e9", "title": "Making Semantic Web Applications With Flask: Starting With FOAF", "url": "http://pbrown.me/blog/flask-foaf/", "published_at": "2018-03-11T00:00:00+00:00" } ] posts Claim your blog
Back to pbrown.me
Blog · corpus.blog/blogs/pbrown.me/posts

pbrown.me

pbrown.me

2025

2021

2020

2019

2018