<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Format Express Blog</title>
    <link>https://format-express.dev/blog</link>
    <description>Technical articles about Ruby, Rails, formatting and more...</description>
    <copyright>Format Express 2026. All rights reserved.</copyright>
    <lastBuildDate>Tue, 14 Jul 2026 16:46:21 +0200</lastBuildDate>
    <ttl>1440</ttl>
    <item>
      <title>How to unescape XML/HTML character entities</title>
      <description>Inside an XML document, characters can be referenced by their unicode code point. How to unescape these notations in a Ruby application ?</description>
      <link>https://format-express.dev/blog/how-to-unescape-xml-character-entities</link>
      <guid isPermaLink="false">how-to-unescape-xml-character-entities</guid>
      <pubDate>Fri, 3 Sep 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Tips for efficient logging of Web Service requests</title>
      <description>I worked on many web applications which relied on other Web Services (some XML Soap, some JSON Rest API, some custom-made ones...). The ability to check the current and past behavior of these WS was very important, as they were a prime source of trouble. Having extensive and readable logs of the WS requests helps to rapidly identify a broken WS and redirect a ticket to the right team, providing them meaningful information. In this article, I share my recommendations for efficient logging of Web Services calls.</description>
      <link>https://format-express.dev/blog/efficient-logging-of-ws-requests</link>
      <guid isPermaLink="false">efficient-logging-of-ws-requests</guid>
      <pubDate>Wed, 18 Aug 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>How to track client-side JavaScript errors</title>
      <description>How to use a WebSocket to report the client-side JavaScript errors of a web application, and take advantage of this new channel to monitor the user's activity as well.</description>
      <link>https://format-express.dev/blog/how-to-track-client-side-javascript-errors</link>
      <guid isPermaLink="false">how-to-track-client-side-javascript-errors</guid>
      <pubDate>Tue, 20 Apr 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Collection of data files for automated tests</title>
      <description>Automated testing for a formatter like Format Express is as straightforward as you'd expect : given a JSON or XML extract, check the formatter returns the expected formatted output. In this article, I show you how to create a nice collection of tests by putting each test in its own data file.</description>
      <link>https://format-express.dev/blog/collection-of-data-files-for-automated-tests</link>
      <guid isPermaLink="false">collection-of-data-files-for-automated-tests</guid>
      <pubDate>Sat, 3 Apr 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Embed a gem in a Rails project and enable autoreload</title>
      <description>In this article, I show how to embed a gem into a Ruby on Rails project and enable autoreload for the gem's classes in the development environment.</description>
      <link>https://format-express.dev/blog/embed-a-gem-in-a-rails-project-and-enable-autoreload</link>
      <guid isPermaLink="false">embed-a-gem-in-a-rails-project-and-enable-autoreload</guid>
      <pubDate>Sun, 21 Mar 2021 00:00:00 +0000</pubDate>
    </item>
    <item>
       <title>Tokenization with Flex and Ruby</title>
       <description>This article explains how to integrate a Flex scanner into Ruby code. To illustrate this, I show step by step how to create a gem containing a basic JSON parser using Flex rules.</description>
       <link>https://format-express.dev/blog/ruby-tokenization-with-flex</link>
       <guid isPermaLink="false">ruby-tokenization-with-flex</guid>
       <pubDate>Wed, 10 Mar 2021 00:00:00 +0000</pubDate>
    </item>
  </channel>
</rss>