<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: bytebach</title><link>https://news.ycombinator.com/user?id=bytebach</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 29 Apr 2026 09:22:32 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=bytebach" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by bytebach in "Show HN: Powerful Visual Programming Language (Book)"]]></title><description><![CDATA[
<p>Sadly the amazon kindle version is not readable by their kindle web reader - tells me to download android or ios version of kindle :(</p>
]]></description><pubDate>Sat, 04 Oct 2025 00:34:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45469404</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=45469404</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45469404</guid></item><item><title><![CDATA[Show HN: Actors pipeline for simple LLM news processing]]></title><description><![CDATA[
<p>A simple demo of building pipelines in Dust - Actors for Java.
This demo finds RSS news feeds for a topic of your choice, sits and watches the news arrive and recognizes and extracts entities you have specified.<p>Definitely a demo but the core pipeline is easily expanded to support real applications.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41973674">https://news.ycombinator.com/item?id=41973674</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 28 Oct 2024 17:24:30 +0000</pubDate><link>https://github.com/dust-ai-mr/dust-demos-topics</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=41973674</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41973674</guid></item><item><title><![CDATA[New comment by bytebach in "The Languages of English, Math, and Programming"]]></title><description><![CDATA[
<p>Related HN discussion - <a href="https://news.ycombinator.com/item?id=41831735">https://news.ycombinator.com/item?id=41831735</a> using Prolog as an intermediate target language for LLM output improves their 'reasoning' abilities.</p>
]]></description><pubDate>Sun, 20 Oct 2024 16:39:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=41896577</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=41896577</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41896577</guid></item><item><title><![CDATA[New comment by bytebach in "Use Prolog to improve LLM's reasoning"]]></title><description><![CDATA[
<p>An application I am developing for a customer needed to read constraints around clinical trials and essentially build a query from them. Constraints involve prior treatments, biomarkers, type of disease (cancers) etc.<p>Using just an LLM did not produce reliable queries, despite trying many many prompts, so being an old Prolog hacker I wondered if using it might impose more 'logic' on the LLM. So we precede the textual description of the constraints with the following prompt:<p>-------------<p>Now consider the following Prolog predicates:<p>biomarker(Name, Status) where Status will be one of the following integers -<p>Wildtype = 0
 Mutated = 1
 Methylated = 2
 Unmethylated = 3
 Amplified = 4
 Deleted = 5
 Positive = 6
 Negative = 7<p>tumor(Name, Status) where Status will be one of the following integers if know else left unbound -<p>Newly diagnosed = 1
 Recurrence = 2
 Metastasized = 3
 Progression = 4<p>chemo(Name)<p>surgery(Name)  Where Name may be an unbound variable<p>other_treatment(Name)<p>radiation(Name) Where Name may be an unbound variable<p>Assume you are given predicate  atMost(T, N) where T is a compound term and N is an integer. 
It will return true if the number of 'occurences' of T is less than or equal N else it will fail.<p>Assume you are given a predicate atLeastOneOf(L) where L is a list of compound terms. 
It will succeed if at least one of the compound terms, when executed as a predicate returns true.<p>Assume you are given a predicate age(Min, Max) which will return true if the patient's age is in between Min and Max.<p>Assume you have a predicate not(T) which returns true if predicate T evaluates false and vice versa. 
i.e. rather than '\\+ A' use not(A).<p>Do not implement the above helper functions.<p>VERY IMPORTANT: Use 'atLeastOneOf()' whenever you would otherwise use ';' to represent 'OR'.  
i.e. rather than 'A ; B' use atLeastOneOf([A, B]).<p>EXAMPLE INPUT: 
Patient must have recurrent GBM, methylated MGMT and wildtype EGFR. Patient must not have mutated KRAS.<p>EXAMPLE OUTPUT:
 tumor('gbm', 2),
 biomarker('MGMT', 2),
 biomarker('EGFR', 0),
 not(biomarker('KRAS', 1))<p>------------------<p>The Prolog predicates, when evaluated generate the required underlying query (of course the Prolog 
is itself a form of query).<p>Anyway - the upshot was a vast improvement in the accuracy of the generated query (I've yet to see a bad one). Somewhere in its bowels, being told to generate Prolog 'focused' the LLM. Perhaps LLMs are happier with declarative languages rather than imperative ones (I know I am :) ).</p>
]]></description><pubDate>Thu, 17 Oct 2024 22:34:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=41874497</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=41874497</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41874497</guid></item><item><title><![CDATA[Show HN: Dust – Actors for Java 21 – Part 2]]></title><description><![CDATA[
<p>Dust now has a collection of libraries for doing fun stuff - LLM / Embeddings interfaces, RSS Feeds, Web site crawling, SearXNG interface.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41791579">https://news.ycombinator.com/item?id=41791579</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 09 Oct 2024 19:13:57 +0000</pubDate><link>https://github.com/dust-ai-mr/dust</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=41791579</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41791579</guid></item><item><title><![CDATA[New comment by bytebach in "Dust – Actors for Java 21"]]></title><description><![CDATA[
<p>A lightweight but very scalable, robust (like Erlang's 'let it crash') and distributeable complete Actor system for Java 21 and above. Collection of implemented Actor idioms supporting the 'Dust way'. Also see dust-ville ... a toy 'digitally twinned' town built as a tiny Dust example - complete with a murmuration of Starlings circling the power station :)</p>
]]></description><pubDate>Thu, 26 Sep 2024 22:52:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=41664403</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=41664403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41664403</guid></item><item><title><![CDATA[Dust – Actors for Java 21]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/dust-ai-mr/dust-core">https://github.com/dust-ai-mr/dust-core</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41664402">https://news.ycombinator.com/item?id=41664402</a></p>
<p>Points: 7</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 26 Sep 2024 22:52:04 +0000</pubDate><link>https://github.com/dust-ai-mr/dust-core</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=41664402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41664402</guid></item><item><title><![CDATA[New comment by bytebach in "Declarative Programming with AI/LLMs"]]></title><description><![CDATA[
<p>Sure,
the app selects matching patients based on demographics, disease, prior treatments and biomarkers. It also has to be able to express numeric constraints as well ('no more than two surgeries ..', 'at least one of the following biomarkers'). The following prompt sets up the Prolog toolkit the LLM is allowed to use. The generated Prolog conjunction is then run through a Prolog meta-interpreter that generates the matching code. Though it sounds long-winded it is more than fast enough to generate responses to user queries in an acceptable time:<p>-----------------<p><pre><code>  Now consider the following Prolog predicates:
  
    biomarker(Name, Status) where Status will be one of the following integers -
   
     Wildtype = 0
     Mutated = 1
     Methylated = 2
     Unmethylated = 3
     Amplified = 4
     Deleted = 5
     Positive = 6
     Negative = 7
   
    tumor(Name, Status) where Status will be one of the following integers if know else left unbound -
    
     Newly diagnosed = 1
     Recurrence = 2
     Metastasized = 3
     Progression = 4
    
    chemo(Name)
   
    surgery(Name)  Where Name may be an unbound variable

    other_treatment(Name)

    radiation(Name) Where Name may be an unbound variable
     
    Assume you are given predicate  atMost(T, N) where T is a compound term and N is an integer. 
    It will return true if the number of 'occurences' of T is less than or equal N else it will fail. 
   
    Assume you are given a predicate atLeastOneOf(L) where L is a list of compound terms. 
    It will succeed if at least one of the compound terms, when executed as a predicate returns true.
   
    Assume you are given a predicate age(Min, Max) which will return true if the patient's age is in between Min and Max.
     
    Assume you have a predicate not(T) which returns true if predicate T evaluates false and vice versa. 
    i.e. rather than '\\+ A' use not(A).
   
   Do not implement the above helper functions.
  
   VERY IMPORTANT: Use 'atLeastOneOf()' whenever you would otherwise use ';' to represent 'OR'.  
   i.e. rather than 'A ; B' use atLeastOneOf([A, B]).
    
  EXAMPLE INPUT: 
   Patient must have recurrent GBM, methylated MGMT and wildtype EGFR. Patient must not have mutated KRAS.  
  
  EXAMPLE OUTPUT:
    tumor('gbm', 2),
    biomarker('MGMT', 2),
    biomarker('EGFR', 0),
    not(biomarker('KRAS', 1))
  
  Express the following constraints as a Prolog conjunction. 
        Do not enclose the code in a code block. Return only the Prolog code - no commentary.
        Be careful to use only the supplied constraints, do not add any: 
        
        $constraint</code></pre></p>
]]></description><pubDate>Mon, 16 Sep 2024 02:10:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=41552109</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=41552109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41552109</guid></item><item><title><![CDATA[New comment by bytebach in "Declarative Programming with AI/LLMs"]]></title><description><![CDATA[
<p>I recently has a consulting gig (medical informatics) that required English Declarative -> Imperative code. Direct code generation by the LLM turned out to be buggy so I added an intermediate DSL implemented in Prolog! The prompt described the Prolog predicates it had to work with and their semantics and the declarative goal. The resulting (highly accurate and bug free) Prolog code was then executed to generate the conventional (Groovy) imperative code that was then executed dynamically. In some hand-wavy way the logical constraints of using Prolog as an intermediate DSL seemed to keep the LLM on the straight and narrow.</p>
]]></description><pubDate>Sun, 15 Sep 2024 19:50:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=41549823</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=41549823</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41549823</guid></item><item><title><![CDATA[New comment by bytebach in "ChatGPT Is a Bullshitter"]]></title><description><![CDATA[
<p>Yes - first shot was correct. 2nd shot said his second movie was the same as his first (?). 3rd shot was just wrong (said he was not in Little Shop). 4th shot was interesting (listed Little shop as his 3rd movie) then it all went downhill from there.<p>Using the free sign-up - probably 3.5. I guess the point is that even if 4 is better the amount of trust being put into this thing (as amazing as it is) is somewhat worrying. I still get the 'In vino veritas' vide, FWIT.</p>
]]></description><pubDate>Sun, 02 Jul 2023 03:36:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=36557993</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=36557993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36557993</guid></item><item><title><![CDATA[ChatGPT Is a Bullshitter]]></title><description><![CDATA[
<p>ChatGPT is a bullshitter .. well that's not necessarily bad. I have acquaintances who fit that description quite well, but I know them, and it is important to know that with ChatGPT.<p>I began the conversation with 'Was Jack Nicholson's first film the Little Shop of Horrors'? It said 'No - his first film was "The Cry Baby Killer." OK. So maybe I was one off. So ...
-----------
What was Jack Nicholson's second film
ChatGPT<p>Jack Nicholson's second film was titled "The Cry Baby Killer." It was released in 1958 and directed by Jus Addiss. The film is a low-budget crime drama in which Nicholson plays the lead role of Jimmy Wallace, a troubled teenager who becomes involved in a hostage situation after a violent confrontation. Although it wasn't a major success, "The Cry Baby Killer" marked one of Nicholson's early appearances in film before he went on to become one of Hollywood's most acclaimed and iconic actors.
------
Well that's really odd so my curiosity was peaked:
------
Was Jack Nicholson in the original little shop of horrors
ChatGPT<p>No, Jack Nicholson did not appear in the original "Little Shop of Horrors." The original "Little Shop of Horrors" is a 1960 low-budget horror comedy film directed by Roger Corman. It is known for its campy and dark humor. Jack Nicholson, at that time, was still a relatively unknown actor and did not have a role in the film. However, the film did feature Jonathan Haze, Jackie Joseph, and Mel Welles in the main roles. Jack Nicholson gained wider recognition in the 1970s with films like "Five Easy Pieces," "Easy Rider," and "One Flew Over the Cuckoo's Nest."<p>---------------
User
List me all the movies Jack Nicholson has been in
ChatGPT<p>Certainly! Here is a list of some notable movies that Jack Nicholson has been in:<p><pre><code>    The Cry Baby Killer (1958)
    The Wild Ride (1960)
    The Little Shop of Horrors (1960)
    Easy Rider (1969)
    Five Easy Pieces (1970)
    Carnal Knowledge (1971)
    The Last Detail (1973)
    Chinatown (1974)
    One Flew Over the Cuckoo's Nest (1975)
    The Missouri Breaks (1976)
    The Shining (1980)
    Reds (1981)
    Terms of Endearment (1983)
    Prizzi's Honor (1985)
    The Witches of Eastwick (1987)
    Batman (1989)
    A Few Good Men (1992)
    Hoffa (1992)
    As Good as It Gets (1997)
    The Departed (2006)
    The Bucket List (2007)
    About Schmidt (2002)
    Anger Management (2003)
    The Pledge (2001)
    Something's Gotta Give (2003)
</code></pre>
Please note that this is not an exhaustive list, but it includes some of the most notable films in Jack Nicholson's career. He has had a long and successful acting career with numerous acclaimed performances.
----------
Wow, that is going to need some explaining -- bullshitter to the rescue:
----------<p>So, has Jack Nicholson appeared in the Little Shop of Horrors
ChatGPT<p>I apologize for the incorrect information provided earlier. Yes, Jack Nicholson did appear in "Little Shop of Horrors," but it was not the 1960 original film directed by Roger Corman. Jack Nicholson had a small role in the 1960 film, but it was actually a different "Little Shop of Horrors" adaptation. The version in which Jack Nicholson appeared is the 1960 comedy-horror musical directed by Charles B. Griffith, which was based on the original stage musical. In this version, Nicholson played the character of Wilbur Force, a masochistic dental patient. I apologize for any confusion caused by the previous response.<p>----
Well -- as all good bullshitters do a bit of truth and then more fabrications. Indeed JN did play Wilbur Force etc but there was no 1960 Comedy-Horror-Musical version (there was in 1986) and Charles B. Griffith was a writer of LSOH not the director -- so you can see where it got it's hallucination from. But why it hallucinated in the first place I (and presumably 150 billion parameters) do not know. Like all good bullshitters it was recursive ...</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36557850">https://news.ycombinator.com/item?id=36557850</a></p>
<p>Points: 8</p>
<p># Comments: 11</p>
]]></description><pubDate>Sun, 02 Jul 2023 03:09:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=36557850</link><dc:creator>bytebach</dc:creator><comments>https://news.ycombinator.com/item?id=36557850</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36557850</guid></item></channel></rss>