<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Adam Rybinski</title>
    <description>The latest articles on DEV Community by Adam Rybinski (@adamrybinski).</description>
    <link>https://dev.to/adamrybinski</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F280462%2F3881d8da-ac23-4b45-b89b-bc6442330aa8.png</url>
      <title>DEV Community: Adam Rybinski</title>
      <link>https://dev.to/adamrybinski</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adamrybinski"/>
    <language>en</language>
    <item>
      <title>Prolog-MCP Server: Neuro-Symbolic AI for Modern Workflows</title>
      <dc:creator>Adam Rybinski</dc:creator>
      <pubDate>Sat, 19 Apr 2025 08:00:28 +0000</pubDate>
      <link>https://dev.to/adamrybinski/prolog-mcp-server-neurosymbolic-ai-for-modern-workflows-3e35</link>
      <guid>https://dev.to/adamrybinski/prolog-mcp-server-neurosymbolic-ai-for-modern-workflows-3e35</guid>
      <description>&lt;h2&gt;
  
  
  What is Neuro-Symbolic AI?
&lt;/h2&gt;

&lt;p&gt;Neuro-Symbolic AI represents a convergence of &lt;strong&gt;symbolic reasoning&lt;/strong&gt; (exemplified by Prolog's logic programming) and &lt;strong&gt;neural networks'&lt;/strong&gt; pattern recognition capabilities. This hybrid approach addresses the limitations of each paradigm while leveraging their complementary strengths. For a deeper dive in the concepts and history of symbolic AI, see excellent &lt;a href="https://dev.to/nucleoid/next-in-the-journey-neuro-symbolic-ai-2id9"&gt;article here on dev.to&lt;/a&gt; by developers from &lt;a href="https://github.com/NucleoidAI/Nucleoid" rel="noopener noreferrer"&gt;Nucleoid&lt;/a&gt;, and reference to various readings on the bottom of this article.&lt;/p&gt;

&lt;h3&gt;
  
  
  Historical Foundations in Prolog
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Symbolic AI roots:&lt;/strong&gt; Prolog, developed in the 1970s, became the cornerstone of symbolic AI with its rule-based inference engine and declarative knowledge representation. It enabled:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Logical deduction through Horn clauses&lt;/li&gt;
&lt;li&gt;Expert systems for medical diagnosis and natural language processing&lt;/li&gt;
&lt;li&gt;Precise reasoning with formal ontologies&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Limitations of early symbolic systems:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Struggled with uncertainty and real-world data&lt;/li&gt;
&lt;li&gt;Required manual rule engineering&lt;/li&gt;
&lt;li&gt;Lacked learning capabilities&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Modern Neural Integration
&lt;/h3&gt;

&lt;p&gt;Current Neuro-Symbolic systems combine Prolog-style reasoning with deep learning:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Architecture patterns:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Neural frontends process raw data (images/text)&lt;/li&gt;
&lt;li&gt;Symbolic backends apply logical constraints&lt;/li&gt;
&lt;li&gt;Bidirectional knowledge flow through shared embeddings&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Prolog's evolving role:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Logic-as-a-service:&lt;/strong&gt; Embedded Prolog engines validate neural outputs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic knowledge graphs:&lt;/strong&gt; Prolog rules guide neural attention mechanisms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explainability layer:&lt;/strong&gt; Translates neural activations to human-readable proofs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Toolchain integration:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight prolog"&gt;&lt;code&gt;   &lt;span class="c1"&gt;% Example: Hybrid image recognition&lt;/span&gt;
   &lt;span class="ss"&gt;detect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;X&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:-&lt;/span&gt; 
       &lt;span class="ss"&gt;neural_classifier&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;X&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;Class&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 
       &lt;span class="ss"&gt;symbolic_constraint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;Class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;Context&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
       &lt;span class="ss"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;Class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;Context&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Inductive Logic Programming (Progol) vs Neural Approaches
&lt;/h3&gt;

&lt;p&gt;In ILP systems like Progol, Background Knowledge (BK) refers to domain-specific facts, rules, or constraints that are provided to guide the learning process. It acts as a scaffold for rule induction, allowing the system to generalize from fewer examples. In neuro-symbolic systems, BK can be encoded symbolically or extracted from neural representations, serving as a bridge between raw data and logical inference.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Aspect&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Progol/ILP&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Neural Networks&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Neuro-symbolic Bridge&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Learning Paradigm&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Rule induction from examples + BK&lt;/td&gt;
&lt;td&gt;Statistical pattern recognition&lt;/td&gt;
&lt;td&gt;Systems like Propper combine ILP with neural-based BK processing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Strengths&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Interpretable rules, small data efficiency&lt;/td&gt;
&lt;td&gt;Handles unstructured data, scalability&lt;/td&gt;
&lt;td&gt;Neural-symbolic layers translate features to predicates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Weaknesses&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sensitive to noise, limited scalability&lt;/td&gt;
&lt;td&gt;Black-box decisions, data hunger&lt;/td&gt;
&lt;td&gt;Symbolic regularizers shape neural training&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Integration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Joint inference and alternate neural/logical passes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This synthesis enables systems that learn from both data samples and formal knowledge, achieving better generalization than either approach alone. Modern frameworks like Logical Neural Networks (LNN) demonstrate how gradient-based learning can coexist with precise logical semantics.&lt;/p&gt;




&lt;h2&gt;
  
  
  Introducing Prolog-MCP
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Prolog-MCP Server&lt;/strong&gt; is a neurosymbolic AI backend that brings together Prolog's symbolic reasoning and the Model Context Protocol (MCP). It leverages the high-performance &lt;a href="https://github.com/trealla-prolog/trealla" rel="noopener noreferrer"&gt;Trealla Prolog&lt;/a&gt; engine via &lt;a href="https://github.com/guregu/trealla-js" rel="noopener noreferrer"&gt;trealla-js&lt;/a&gt; JavaScript/TypeScript bindings (npm: &lt;code&gt;trealla&lt;/code&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Prolog-MCP?
&lt;/h3&gt;

&lt;p&gt;Prolog-MCP acts as a modular MCP server, exposing Prolog’s logic programming as a set of tools that can be orchestrated by LLMs, IDEs, or agentic workflows. It is ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validating LLM outputs with symbolic rules&lt;/li&gt;
&lt;li&gt;Stateful, explainable knowledge bases&lt;/li&gt;
&lt;li&gt;Hybrid AI pipelines combining neural and symbolic reasoning&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Persistent Prolog Sessions:&lt;/strong&gt; Maintain state and context between tool calls, supporting complex multi-step reasoning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session Management:&lt;/strong&gt; Save and load knowledge bases to disk for long-running or collaborative projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Four Core Tools:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;loadProgram&lt;/code&gt;: Dynamically load Prolog predicates/rules.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;runPrologQuery&lt;/code&gt;: Execute logical queries and retrieve all solutions.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;saveSession&lt;/code&gt;: Persist the entire Prolog state to disk.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;loadSession&lt;/code&gt;: Restore a previous session instantly.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Type Safety:&lt;/strong&gt; All I/O is validated using Zod schemas.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;WebAssembly Runtime:&lt;/strong&gt; Runs Trealla Prolog in a WASI environment for speed and portability.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Modern Integration:&lt;/strong&gt; Easily connect with Cline, Roo, Copilot, and other MCP-compatible tools.&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The server uses &lt;a href="https://www.npmjs.com/package/trealla" rel="noopener noreferrer"&gt;trealla-js&lt;/a&gt; to embed Trealla Prolog as a high-performance WASM interpreter in Node.js and browser environments. Each MCP tool call (such as &lt;code&gt;runPrologQuery&lt;/code&gt;) is mapped to a persistent Prolog interpreter instance, ensuring context is maintained across queries.&lt;/p&gt;




&lt;h2&gt;
  
  
  Integration Example
&lt;/h2&gt;

&lt;p&gt;Plug into Cline, Roo, Copilot for Neuro-Symbolic LLM development or any MCP-compatible host for production LLM-Prolog integration with this config:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "mcpServers": {
    "prolog-mcp": {
      "command": "node",
      "args": [
        "prolog-mcp/dist/index.js"
      ],
      "disabled": false,
      "alwaysAllow": [
        "loadProgram",
        "runPrologQuery",
        "saveSession",
        "loadSession"
      ],
      "timeout": 15
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This enables symbolic reasoning in your AI workflows with a single configuration step.&lt;/p&gt;




&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Operation&lt;/th&gt;
&lt;th&gt;Avg. Latency&lt;/th&gt;
&lt;th&gt;Memory Usage&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Query Execution&lt;/td&gt;
&lt;td&gt;12ms&lt;/td&gt;
&lt;td&gt;18MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Session Save&lt;/td&gt;
&lt;td&gt;45ms&lt;/td&gt;
&lt;td&gt;22MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Program Load&lt;/td&gt;
&lt;td&gt;8ms&lt;/td&gt;
&lt;td&gt;15MB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Clone and install:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   git clone https://github.com/adamrybinski/prolog-mcp
   cd prolog-mcp
   npm install
   npm run build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Run the server:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   node dist/index.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Connect from your favorite AI tool using the integration config above.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Example Use Case
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Validate medical safety rules with Prolog:&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight prolog"&gt;&lt;code&gt;&lt;span class="o"&gt;?-&lt;/span&gt; &lt;span class="ss"&gt;loadProgram&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"
  safe_dosage(Drug, Patient) :-
    patient_weight(Patient, W),
    max_daily(Drug, Max),
    current_dosage(Drug, D),
    D =&amp;lt; Max * W.
"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;
&lt;span class="o"&gt;?-&lt;/span&gt; &lt;span class="ss"&gt;runPrologQuery&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"safe_dosage(warfarin, patient_123)"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Serverless and Kubernetes Integration
&lt;/h2&gt;

&lt;p&gt;Prolog-MCP is designed for efficient deployment in modern serverless and cloud-native environments, thanks to its WASI-compatible WebAssembly runtime.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fermyon Spin Integration:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
You can deploy Prolog-MCP as a near-server function using Fermyon Spin. This enables ultra-fast, event-driven logic execution at the edge or in microservices architectures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;KubeSpin and Kubernetes WASI Controller:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
For large-scale or enterprise deployments, Prolog-MCP can be managed using KubeSpin or any Kubernetes WASI controller. This allows you to run hundreds of lightweight, isolated Prolog-MCP instances per cluster node, with rapid cold starts and strong sandboxing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-instant cold start (&amp;lt;50ms)&lt;/li&gt;
&lt;li&gt;High density (many instances per node)&lt;/li&gt;
&lt;li&gt;Security via WASI sandboxing&lt;/li&gt;
&lt;li&gt;Seamless integration into event-driven and microservices platforms&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why Trealla and trealla-js?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Trealla Prolog&lt;/strong&gt; is a fast, lean ISO Prolog interpreter targeting WASI, ideal for both serverless and embedded scenarios.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;trealla-js&lt;/strong&gt; provides robust JavaScript/TypeScript bindings, making it easy to embed Prolog logic in Node.js or browser-based MCP servers.&lt;/li&gt;
&lt;li&gt;This combination ensures high performance, portability, and easy integration with modern developer tools.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  MCP Architecture: Modular and Extensible
&lt;/h2&gt;

&lt;p&gt;MCP (Model Context Protocol) defines a clear separation between hosts (IDEs, LLMs), clients, servers, and data sources. Prolog-MCP fits into this architecture as a lightweight, tool-focused server, exposing symbolic reasoning to any AI host via a simple, standardized protocol.&lt;/p&gt;




&lt;h2&gt;
  
  
  Example application
&lt;/h2&gt;

&lt;p&gt;For a practical application of Nuero-Symbolic AI in content automation, see my previous &lt;a href="https://dev.to/adamrybinski/neusympublish-a-neurosymbolic-omnichannel-publishing-platform-2h31"&gt;article&lt;/a&gt; on NeuSymPublish: a Neuro-Symbolic omnichannel publishing platform, which demonstrates how logic-driven agents can orchestrate autopublishing workflows across multiple channels using a hybrid of neural and symbolic reasoning.&lt;/p&gt;




&lt;h2&gt;
  
  
  References and Further Reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/nucleoid/next-in-the-journey-neuro-symbolic-ai-2id9"&gt;Next in the journey: Neuro-symbolic AI (dev.to)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ebooks.iospress.nl/volume/neuro-symbolic-artificial-intelligence-the-state-of-the-art" rel="noopener noreferrer"&gt;Neuro-Symbolic Artificial Intelligence: The State of the Art (IOS Press)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ebooks.iospress.nl/volume/handbook-on-neurosymbolic-ai-and-knowledge-graphs" rel="noopener noreferrer"&gt;Handbook on Neurosymbolic AI and Knowledge Graphs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.packtpub.com/en-us/product/neuro-symbolic-ai-9781804617625" rel="noopener noreferrer"&gt;Neuro-Symbolic AI (Packt book)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Neuro-symbolic_AI" rel="noopener noreferrer"&gt;Wikipedia: Neuro-symbolic AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/trealla-prolog/trealla" rel="noopener noreferrer"&gt;Trealla Prolog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/trealla" rel="noopener noreferrer"&gt;trealla-js npm package&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://modelcontextprotocol.io/introduction" rel="noopener noreferrer"&gt;MCP Protocol&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Ready to add symbolic reasoning to your AI workflows? Try Prolog-MCP today and power up your agentic applications with explainable, persistent logic!&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Let me know in the comments how you’d use symbolic reasoning in your AI projects, or if you have questions about neurosymbolic architectures!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>prolog</category>
      <category>llm</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>NeuSymPublish: A Neurosymbolic Omnichannel Publishing Platform</title>
      <dc:creator>Adam Rybinski</dc:creator>
      <pubDate>Sat, 05 Apr 2025 09:30:47 +0000</pubDate>
      <link>https://dev.to/adamrybinski/neusympublish-a-neurosymbolic-omnichannel-publishing-platform-2h31</link>
      <guid>https://dev.to/adamrybinski/neusympublish-a-neurosymbolic-omnichannel-publishing-platform-2h31</guid>
      <description>&lt;h1&gt;
  
  
  NeuSymPublish: A Neurosymbolic Omnichannel Publishing Platform
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgku2rlmgywpcod7okl6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgku2rlmgywpcod7okl6.png" alt="NeuSymPublish Header" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;This article introduces NeuSymPublish, an innovative platform that combines symbolic reasoning with neural networks for intelligent content creation and distribution across multiple publishing platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Neurosymbolic AI?
&lt;/h2&gt;

&lt;p&gt;Neurosymbolic AI combines the strengths of neural networks (deep learning) with symbolic reasoning (rule-based systems):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Neural networks&lt;/strong&gt; excel at pattern recognition, natural language processing, and generating creative content&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Symbolic systems&lt;/strong&gt; provide explicit rules, logical reasoning, and interpretable decision-making&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Features of NeuSymPublish
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Symbolic Engine
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6rsbp0w6r1qp3mvhuey.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6rsbp0w6r1qp3mvhuey.png" alt="Symbolic Engine with Prolog Rules" width="800" height="665"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uses Prolog-based rules to enforce content policies&lt;/li&gt;
&lt;li&gt;Schedules posts for optimal timing based on audience analytics&lt;/li&gt;
&lt;li&gt;Validates compliance with platform-specific guidelines&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Neural Component
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Leverages large language models (GPT-4o, Claude) for content generation&lt;/li&gt;
&lt;li&gt;Optimizes content based on engagement metrics&lt;/li&gt;
&lt;li&gt;Analyzes trends to suggest content improvements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Omnichannel Publishing
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzkftbb4bpi3f4bdwtqvh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzkftbb4bpi3f4bdwtqvh.png" alt="Connected Platforms Interface" width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrates with Dev.to, Medium, and Hacker News&lt;/li&gt;
&lt;li&gt;Adapts content formatting automatically for each platform&lt;/li&gt;
&lt;li&gt;Tracks cross-platform engagement metrics&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Content Scheduler
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fymafrzbmiw8n4wdtdyik.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fymafrzbmiw8n4wdtdyik.png" alt="Content Scheduler with Optimal Times" width="800" height="669"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set optimal publishing times for each platform&lt;/li&gt;
&lt;li&gt;Automatically schedule your content&lt;/li&gt;
&lt;li&gt;Track scheduled and published articles&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Platform Performance
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2otqbplgr8d6fd3ypygm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2otqbplgr8d6fd3ypygm.png" alt="Platform Analytics Dashboard" width="800" height="668"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Track article counts and growth&lt;/li&gt;
&lt;li&gt;Measure engagement rates&lt;/li&gt;
&lt;li&gt;Monitor API success rates&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Agent System
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftl4kpaa6549oqwwtj4aq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftl4kpaa6549oqwwtj4aq.png" alt="Agent System Interface" width="800" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automated engagement with readers&lt;/li&gt;
&lt;li&gt;AI-powered responses to comments&lt;/li&gt;
&lt;li&gt;Sentiment analysis and engagement tracking&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Benefits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Time Efficiency&lt;/strong&gt;: Generate and publish content across platforms in minutes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistency&lt;/strong&gt;: Maintain brand voice and quality standards through rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimization&lt;/strong&gt;: Improve engagement through AI-driven analytics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance&lt;/strong&gt;: Ensure all content meets platform guidelines automatically&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;The platform is accessible through an intuitive dashboard allowing you to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define publishing rules&lt;/li&gt;
&lt;li&gt;Connect to your preferred platforms&lt;/li&gt;
&lt;li&gt;Generate and schedule content&lt;/li&gt;
&lt;li&gt;Monitor performance&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;NeuSymPublish represents a new paradigm in content publishing, leveraging the best of both neural networks and symbolic AI to create a powerful, effective publishing workflow.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was written and published using the NeuSymPublish platform as a demonstration of its capabilities.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>NeuSymPublish: A Neurosymbolic Omnichannel Publishing Platform</title>
      <dc:creator>Adam Rybinski</dc:creator>
      <pubDate>Sat, 05 Apr 2025 09:15:32 +0000</pubDate>
      <link>https://dev.to/adamrybinski/neusympublish-a-neurosymbolic-omnichannel-publishing-platform-5c2n</link>
      <guid>https://dev.to/adamrybinski/neusympublish-a-neurosymbolic-omnichannel-publishing-platform-5c2n</guid>
      <description>&lt;h1&gt;
  
  
  NeuSymPublish: A Neurosymbolic Omnichannel Publishing Platform
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;This article introduces NeuSymPublish, an innovative platform that combines symbolic reasoning with neural networks for intelligent content creation and distribution across multiple publishing platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Neurosymbolic AI?
&lt;/h2&gt;

&lt;p&gt;Neurosymbolic AI combines the strengths of neural networks (deep learning) with symbolic reasoning (rule-based systems):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Neural networks&lt;/strong&gt; excel at pattern recognition, natural language processing, and generating creative content&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Symbolic systems&lt;/strong&gt; provide explicit rules, logical reasoning, and interpretable decision-making&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Features of NeuSymPublish
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Symbolic Engine
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses Prolog-based rules to enforce content policies&lt;/li&gt;
&lt;li&gt;Schedules posts for optimal timing based on audience analytics&lt;/li&gt;
&lt;li&gt;Validates compliance with platform-specific guidelines&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Neural Component
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Leverages large language models (GPT-4o, Claude) for content generation&lt;/li&gt;
&lt;li&gt;Optimizes content based on engagement metrics&lt;/li&gt;
&lt;li&gt;Analyzes trends to suggest content improvements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Omnichannel Publishing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Integrates with Dev.to, Medium, and Hacker News&lt;/li&gt;
&lt;li&gt;Adapts content formatting automatically for each platform&lt;/li&gt;
&lt;li&gt;Tracks cross-platform engagement metrics&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Agent-Based Engagement
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Automatically responds to comments using AI&lt;/li&gt;
&lt;li&gt;Follows users based on engagement patterns&lt;/li&gt;
&lt;li&gt;Tracks and reports on follower growth&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Benefits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Time Efficiency&lt;/strong&gt;: Generate and publish content across platforms in minutes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistency&lt;/strong&gt;: Maintain brand voice and quality standards through rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimization&lt;/strong&gt;: Improve engagement through AI-driven analytics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance&lt;/strong&gt;: Ensure all content meets platform guidelines automatically&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;The platform is accessible through an intuitive dashboard allowing you to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define publishing rules&lt;/li&gt;
&lt;li&gt;Connect to your preferred platforms&lt;/li&gt;
&lt;li&gt;Generate and schedule content&lt;/li&gt;
&lt;li&gt;Monitor performance&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;NeuSymPublish represents a new paradigm in content publishing, leveraging the best of both neural networks and symbolic AI to create a powerful, effective publishing workflow.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was written and published using the NeuSymPublish platform as a demonstration of its capabilities.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>Deno &amp; Hasura for app development</title>
      <dc:creator>Adam Rybinski</dc:creator>
      <pubDate>Thu, 25 Aug 2022 10:26:13 +0000</pubDate>
      <link>https://dev.to/adamrybinski/deno-hasura-for-app-development-3ofc</link>
      <guid>https://dev.to/adamrybinski/deno-hasura-for-app-development-3ofc</guid>
      <description>&lt;p&gt;Let me tell you about Hasura and Deno. I recently used them for app development and I wanted to spread the method. Let us start by exploring what these tools and products are and how they can be useful for app development.&lt;/p&gt;

&lt;p&gt;Let us start with Hasura. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjgfsnwaab7hx7mq0wbhr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjgfsnwaab7hx7mq0wbhr.png" alt="image" width="800" height="507"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hasura calls themselves a GraphQ engine that make your data instantly accessible through real-time GraphQL API, so you can create applications, connect to your database, have rest, and GraphQL, endpoints to provide a unified connected real-time secured GraphQL API for your data. &lt;/p&gt;

&lt;p&gt;For front-end developers it can be back-end for front-ends.&lt;/p&gt;

&lt;p&gt;We can see an UI that consists of API, data, actions, remote schemas, events and monitoring. From the beginning, the important part would be how to connect to our database to start using other features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvp56dqlhq8ux8hfu4tna.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvp56dqlhq8ux8hfu4tna.png" alt="image" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we click on "Data" tab, we can observe which databases are already connected to the server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F84buu2ycpyndg0muz5x7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F84buu2ycpyndg0muz5x7.png" alt="image" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can see the default database and we also can connect to another database, or create a new one aut&lt;br&gt;
Heroku has cloud offerings with free developer-friendly tears for hobby projects that you can use or  simply move to another cloud provider when the hobby project would move into production stage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzoa60wizta8c68njsxzg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzoa60wizta8c68njsxzg.png" alt="image" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we click on free Heroku database button we can create a new PostgreSQL Database in Heroku&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwk8jdq33km6otlzexaw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwk8jdq33km6otlzexaw.png" alt="image" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When this is done, we can observe that in the data section of Hasura UI we see our new database is present and new database.&lt;/p&gt;

&lt;p&gt;When we open it and connect to it, you can create new tables and columns.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprq8lfyozk645x0cchyw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprq8lfyozk645x0cchyw.png" alt="image" width="800" height="324"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F11357486%2F186638144-36babab9-218f-4af3-adcd-c8c769bacfeb.png" class="article-body-image-wrapper"&gt;&lt;img alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F11357486%2F186638144-36babab9-218f-4af3-adcd-c8c769bacfeb.png" width="800" height="486"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hasura provides a very comfortable UI to Create Database columns that are very common in front-end development such as unique random ID of the row.&lt;/p&gt;

&lt;p&gt;It's a very simple interface to generate very common things like timestamp columns.&lt;/p&gt;

&lt;p&gt;That can be just added to that particular table.&lt;/p&gt;

&lt;p&gt;And now, if you are satisfied with the table, you can stop here. But let us say we want to have some kind of column for data. We create a new column that will expect data in a particular format such as Text.&lt;/p&gt;

&lt;p&gt;Hasura will notify us that we have successfully created a table.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqz5klmllm32rqfqty7zx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqz5klmllm32rqfqty7zx.png" alt="image" width="800" height="346"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F11357486%2F186638387-10fd6a5e-d756-4086-8008-cbd667692275.png" class="article-body-image-wrapper"&gt;&lt;img alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F11357486%2F186638387-10fd6a5e-d756-4086-8008-cbd667692275.png" width="800" height="909"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After successfully creating the table, we see modify section of this particular table, in case we see any errors or adjustments we  would like to make to this table&lt;/p&gt;

&lt;p&gt;App Development consists of accessing the data from the databases through query languages, one of them is SQL. Another is GraphQL which is the main selling point of Hasura as it connects with Postgres database to generate GraphQL schema and endpoint for such database.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3e9mbg2wiu7lsa2nn6t1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3e9mbg2wiu7lsa2nn6t1.png" alt="image" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can explore the generated GraphQL endpoint through the GraphicQL tool that lets you create GraphQL queries on the fly and see responses as JSON.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1t9yhj9lpaib751u7nk6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1t9yhj9lpaib751u7nk6.png" alt="image" width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After this brief introduction to Hasura, I would like to move on to the second tool that we can use in our creation. Basically, I am running time for our application because we have a back-end and a database, but now we want to have a way to interact with that application. And with that database, and the back-end of it. Through some kind of front-end, whether it's a CLI application, a front-end in a browser application, a mobile application, or some other kind of front-layer for applications where JavaScript and our skills as front-end developers can be used and leveraged.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frw7pj3urz2h77i4eax3d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frw7pj3urz2h77i4eax3d.png" alt="image" width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lets focus on the deployed aspect of that runtime, which in official ways can be done through their cloud provider service called Deno deploy.&lt;/p&gt;

&lt;p&gt;Which provides instant deployments in 34 regions for a while with zero configuration zero maintenance on the development side and support for typescript web assembly modules and ECMAScript modules.&lt;/p&gt;

&lt;p&gt;We can just fine this for this project to see already existing projects to create new projects. That would be the next step for us to interact with the data.&lt;/p&gt;

&lt;p&gt;Whenever we are ready, we can create a new project.&lt;/p&gt;

&lt;p&gt;Hello world. This is just a server. What would we want? As well as an example of a playground with JSX.&lt;/p&gt;

&lt;p&gt;So you can observe how to develop locally and deploy globally.&lt;/p&gt;

&lt;p&gt;In this case, that would be the "Hello World" and "Hello Team".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3jmxgts35axi28vw7ke.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff3jmxgts35axi28vw7ke.png" alt="image" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When we open a new browser, we can see the "Hello World" immediately in the web browser.&lt;/p&gt;

&lt;p&gt;We can now try watch the soundtracks that we implemented before as data in Hasura with some soundtracks URL&lt;/p&gt;

&lt;p&gt;And we can see what they are. Answers from our database immediately.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngujvlmfggz4ep13jx1a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngujvlmfggz4ep13jx1a.png" alt="image" width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>deno</category>
      <category>hasura</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Automated UI Testing</title>
      <dc:creator>Adam Rybinski</dc:creator>
      <pubDate>Mon, 03 Jan 2022 16:42:29 +0000</pubDate>
      <link>https://dev.to/adamrybinski/automated-ui-testing-37g6</link>
      <guid>https://dev.to/adamrybinski/automated-ui-testing-37g6</guid>
      <description>&lt;ul&gt;
&lt;li&gt;Summary:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Automated UI tests are the best way to quickly and efficiently run tests against UI to ensure functionality. If a test fails, the developer can determine if it is a UI or code issue. UI Testing does not have to be time consuming. It is recommended to run the automated tests as part of the build process.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Automated UI testing is a method for testing the UI of an application. It is a very popular practice in agile development. Its purpose is to increase the effectiveness and efficiency of testing by saving time and effort. Automated UI testing is also known as GUI testing.&lt;/p&gt;

&lt;p&gt;Automated UI testing is used as an alternative to manual UI testing and is always preferable to manual testing. Automated UI testing is also a good way to perform regression testing.&lt;/p&gt;

&lt;p&gt;Automated UI testing tools like Selenium are very useful for performing automated testing. It provides a runtime environment for automating web applications. Selenium tests can be written in any programming language that can run in the Java Virtual Machine. It also provides support for multiple browsers (Firefox, IE, Chrome and Safari) and operating systems (Windows, Linux and Mac OS X).&lt;/p&gt;

&lt;p&gt;Automated testing of UI has many advantages. It is useful for testing the application in a repeatable manner. A large number of tests can be run and used for regression testing. Automated UI testing is much faster than manual testing. You can easily see the differences in the output of the application. Maintenance of the tests is easy.&lt;/p&gt;

&lt;p&gt;Automated UI testing is not without its drawbacks. In some cases, it is difficult to automate UI tests. UI tests can be buggy.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automated UI Testing Procedures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The following steps should be followed to run automated UI tests:&lt;/p&gt;

&lt;p&gt;**  define the UI test case&lt;/p&gt;

&lt;p&gt;The first step is to define the UI test cases. The UI test cases are written in the form of a test script. Each test case contains a test description, test steps, expected results and actual results.&lt;/p&gt;

&lt;p&gt;** recording the test steps&lt;/p&gt;

&lt;p&gt;The test steps are recorded. The tests are recorded using a recording tool. The recorded test steps are then used to execute the test case.&lt;/p&gt;

&lt;p&gt;** identification of UI test tools&lt;/p&gt;

&lt;p&gt;The test steps are then converted into a test script using a test tool. The test tool is used to record and playback the test steps.&lt;/p&gt;

&lt;p&gt;** execution of automated UI tests&lt;/p&gt;

&lt;p&gt;The automated UI tests are then executed. The automated UI tests are run on a test computer. The automated UI tests should be run on the same machine as the application under test.&lt;/p&gt;

&lt;p&gt;** analysis of the test results&lt;/p&gt;

&lt;p&gt;The test results are analyzed after the test has been run. The test results are examined for defects, exceptions, and errors. The test results are also analyzed for performance and stability.&lt;/p&gt;

&lt;p&gt;** activities after the test&lt;/p&gt;

&lt;p&gt;Any deficiencies identified in the test results are corrected. The deficiencies are corrected manually.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automated UI testing tools&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;selenium - Selenium Project Open Source Project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;puppeteer - Google Open Source Project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;playwright - free open source tool for automated testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;testim.io - automated UI test tool for creating tests for the web&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;cypress - UI tests for modern browsers and Node.js applications&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;robotframework - open source framework for acceptance testing&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Resources&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sharma, Monika, and Rigzin Angmo. "Web based automation testing and tools." International Journal of Computer Science and Information Technologies 5.1 (2014): 908-912.&lt;/p&gt;

&lt;p&gt;Lakshmi, D. Rajya, and S. Suguna Mallika. "A review on web application testing and its current research directions." International Journal of Electrical and Computer Engineering 7.4 (2017): 2132.&lt;/p&gt;

&lt;p&gt;Angmo, Rigzin, and Monika Sharma. "Performance evaluation of web based automation testing tools." 2014 5th International Conference-Confluence The Next Generation Information Technology Summit (Confluence). IEEE, 2014.&lt;/p&gt;

</description>
      <category>testing</category>
      <category>automation</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>How to force link from iframe to be opened in the parent window</title>
      <dc:creator>Adam Rybinski</dc:creator>
      <pubDate>Mon, 15 Nov 2021 12:59:06 +0000</pubDate>
      <link>https://dev.to/adamrybinski/how-to-force-link-from-iframe-to-be-opened-in-the-parent-window-1f5b</link>
      <guid>https://dev.to/adamrybinski/how-to-force-link-from-iframe-to-be-opened-in-the-parent-window-1f5b</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/adamrybins/embed/mdMQVVg?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Inspectable Spotify Heart Animation with Xstate Inspect</title>
      <dc:creator>Adam Rybinski</dc:creator>
      <pubDate>Sun, 10 Oct 2021 19:35:22 +0000</pubDate>
      <link>https://dev.to/adamrybinski/inspectable-spotify-heart-animation-with-xstate-inspect-9kl</link>
      <guid>https://dev.to/adamrybinski/inspectable-spotify-heart-animation-with-xstate-inspect-9kl</guid>
      <description>&lt;p&gt;Spotify Heart animation with inspection feature from &lt;a href="https://xstate.js.org/viz/" rel="noopener noreferrer"&gt;https://xstate.js.org/viz/&lt;/a&gt;. This can help both designers and developers implement advanced animations and transitions&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/adamrybins/embed/ExvNeeX?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>xstate</category>
      <category>webdev</category>
      <category>animation</category>
    </item>
    <item>
      <title>Spotify Heart Component</title>
      <dc:creator>Adam Rybinski</dc:creator>
      <pubDate>Fri, 01 Oct 2021 04:21:57 +0000</pubDate>
      <link>https://dev.to/adamrybinski/spotify-heart-component-2jp0</link>
      <guid>https://dev.to/adamrybinski/spotify-heart-component-2jp0</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57ieedg72gvnjbx06v32.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F57ieedg72gvnjbx06v32.PNG" alt="Alt Text" width="635" height="291"&gt;&lt;/a&gt;&lt;br&gt;
Web component of Spotify Heart with animations controlled by a finite state machine, inspired by xstate.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/adamrybins/embed/powzpWO?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
    </item>
    <item>
      <title>State machine counter</title>
      <dc:creator>Adam Rybinski</dc:creator>
      <pubDate>Fri, 03 Sep 2021 11:11:14 +0000</pubDate>
      <link>https://dev.to/adamrybinski/state-machine-counter-2bpo</link>
      <guid>https://dev.to/adamrybinski/state-machine-counter-2bpo</guid>
      <description>&lt;p&gt;Counter implemented as Finite State Machine inspired by Xstate and its React and Vue hooks. Made in lit-html and haunted.js&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/adamrybins/embed/GREqYEL?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>javascript</category>
      <category>state</category>
      <category>statemachine</category>
    </item>
  </channel>
</rss>
