<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><atom:link href="https://danielgregoire.dev/" rel="self" type="application/rss+xml"/><title>Daniel Gregoire</title><link>https://danielgregoire.dev/</link><description>Daniel Gregoire</description><lastBuildDate>Wed, 19 Nov 2025 03:09:44 +0000</lastBuildDate><generator>clj-rss</generator><item><guid>https://danielgregoire.dev/posts/2025-11-18-goalprogramming-info/</guid><link>https://danielgregoire.dev/posts/2025-11-18-goalprogramming-info/</link><title>GoalProgramming.info</title><description>Introducing a new website, GoalProgramming.info, with documentation, cheat sheet, and example Goal code.</description><pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2024-09-10-arrays-of-sunshine/</guid><link>https://danielgregoire.dev/posts/2024-09-10-arrays-of-sunshine/</link><title>Arrays of Sunshine</title><description>Small rays of sunshine: short array language programs that spark joy.</description><pubDate>Tue, 10 Sep 2024 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2024-06-01-code-observation-goal-fmt-tbl-function/</guid><link>https://danielgregoire.dev/posts/2024-06-01-code-observation-goal-fmt-tbl-function/</link><title>Code Observation: Goal's fmt.tbl Function</title><description>What is the Goal programming language?From Goal's README:</description><pubDate>Sat, 01 Jun 2024 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2024-04-17-work-feedback/</guid><link>https://danielgregoire.dev/posts/2024-04-17-work-feedback/</link><title>Giving Feedback at Work</title><description>When I was young, my mother often repeated: "If you don't have
something nice/kind to say, don't say anything at all." I often think
about that at work, but in a modified way.If I have something useful, constructive, cautionary, clarifying, or
propelling to provide to a discussion, then I should say something or
take action. But I've caught myself many times writing up a response
to a message in Slack or a story/issue with my opinion on a subject,
positive or not, and before hitting "send" thinking about whether I'm
actually providing value, whether not speaking would have roughly the
same impact on the outcome.</description><pubDate>Wed, 17 Apr 2024 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2024-02-23-signal-to-noise-programming-languages/</guid><link>https://danielgregoire.dev/posts/2024-02-23-signal-to-noise-programming-languages/</link><title>Signal to Noise in Programming Languages</title><description></description><pubDate>Fri, 23 Feb 2024 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2024-02-08-k-language-upper-case/</guid><link>https://danielgregoire.dev/posts/2024-02-08-k-language-upper-case/</link><title>K Language: Upper Case</title><description>K REPL session to define an upper case function.</description><pubDate>Thu, 08 Feb 2024 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2024-01-27-exploring-j-language-array-programming/</guid><link>https://danielgregoire.dev/posts/2024-01-27-exploring-j-language-array-programming/</link><title>Exploring the J Language and Array Programming</title><description>Leveraging these mathematical patterns with arrays as the central data structure leads to largely loopless and branchless programs, in which algorithms are distilled to a series of progressive array transformations.</description><pubDate>Sat, 27 Jan 2024 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2024-01-25-julia-error-message-string-concatenation/</guid><link>https://danielgregoire.dev/posts/2024-01-25-julia-error-message-string-concatenation/</link><title>Julia's Error Message for String Concatenation</title><description>The Julia programming language recently delighted me with its error message when I tried to concatenate strings.</description><pubDate>Thu, 25 Jan 2024 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2023-11-11-learning-moldable-development/</guid><link>https://danielgregoire.dev/posts/2023-11-11-learning-moldable-development/</link><title>Learning: Moldable Development</title><description></description><pubDate>Sat, 11 Nov 2023 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2023-11-07-functions-messages-words/</guid><link>https://danielgregoire.dev/posts/2023-11-07-functions-messages-words/</link><title>Functions, Messages, and Words</title><description></description><pubDate>Tue, 07 Nov 2023 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2023-05-26-pilisp-pl-macro/</guid><link>https://danielgregoire.dev/posts/2023-05-26-pilisp-pl-macro/</link><title>PiLisp: pl> Macro</title><description>PiLisp's pl> macro for threading expressions.</description><pubDate>Fri, 26 May 2023 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2023-02-23-pilisp/</guid><link>https://danielgregoire.dev/posts/2023-02-23-pilisp/</link><title>PiLisp</title><description>PiLisp—An interpreted Lisp inspired by Clojure</description><pubDate>Thu, 23 Feb 2023 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2023-02-21-mini-languages/</guid><link>https://danielgregoire.dev/posts/2023-02-21-mini-languages/</link><title>Mini Languages</title><description>Writing small languages for enjoyment</description><pubDate>Tue, 21 Feb 2023 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2023-01-27-clojure-function-arity/</guid><link>https://danielgregoire.dev/posts/2023-01-27-clojure-function-arity/</link><title>Code Observation: Function Arity in Clojure</title><description>Exploration of function arity in Clojure</description><pubDate>Fri, 27 Jan 2023 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2021-10-15-clojure-src-test-meta/</guid><link>https://danielgregoire.dev/posts/2021-10-15-clojure-src-test-meta/</link><title>Clojure src, test, and meta</title><description>One domain's metadata is another domain's data. What differentiates them is context. I argue in this post that we need to consider a new, additional source code context for our Clojure projects: in addition to the ubiquitous src and test folders, we need to add a meta folder.Metadata is data that describes a context in which the data it annotates bears significance beyond the unadorned sum of its parts. Notably, metadata does not define the context, but a context. Values are the universals, whereas names we give to values and collections of them establish contexts through which we begin to synthesize information from our data.</description><pubDate>Fri, 15 Oct 2021 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2021-10-12-weave-pollen-for-clojure/</guid><link>https://danielgregoire.dev/posts/2021-10-12-weave-pollen-for-clojure/</link><title>Weave: Pollen for Clojure</title><description>Pollen is a language and set of tools implemented in Racket that support writing documents as programs. While Pollen provides a path for non-programmers to write Markdown or HTML, for programmers, the third tutorial reveals the true power of the platform, because it reveals how to extend Pollen's default document structure to support custom nodes (tags).I have recently released a Clojure library called Weave that provides an extensible API for authoring documents in Clojure using a Hiccup-style syntax. While this library provides the API, it does not implement an output format. Thus far I have implemented a Markdown output format, which is hosted here:</description><pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2021-06-18-open-closed-systems-clojure/</guid><link>https://danielgregoire.dev/posts/2021-06-18-open-closed-systems-clojure/</link><title>Open and Closed Systems with Clojure (Draft)</title><description>Clojure encourages open systems.</description><pubDate>Fri, 18 Jun 2021 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2021-06-13-code-observation-clojure-destructuring/</guid><link>https://danielgregoire.dev/posts/2021-06-13-code-observation-clojure-destructuring/</link><title>Code Observation: Clojure's Destructuring</title><description>Clojure's destructuring helps us establish bindings to items in Clojure collections in a concise, intuitive way.</description><pubDate>Sun, 13 Jun 2021 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2021-06-05-code-observations/</guid><link>https://danielgregoire.dev/posts/2021-06-05-code-observations/</link><title>Code Observations</title><description>We often gain an understanding of how a code base works by making changes to it and observing the effects. When embarked upon deliberately, this takes the form of the scientific method.</description><pubDate>Sat, 05 Jun 2021 00:00:00 +0000</pubDate></item><item><guid>https://danielgregoire.dev/posts/2020-11-20-knowledge-writing-and-executability/</guid><link>https://danielgregoire.dev/posts/2020-11-20-knowledge-writing-and-executability/</link><title>Knowledge, Writing, and Executability</title><description>As I've worked on personal software projects and contemplated how I want to
capture knowledge, develop ideas, and build things, I have come to a conclusion
that I want the following environment in which to do this work:</description><pubDate>Fri, 20 Nov 2020 00:00:00 +0000</pubDate></item></channel></rss>