<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Reactive and Scala Blog</title>
        <link>http://razie.dieselapps.com/wiki/Cool_Scala</link>
        <atom:link href="http://feeds.feedburner.com/Coolscala" rel="self" type="application/rss+xml" />
        <description>Reactive programming, scala language, play framework, devops.</description>

        

          
        

          
            <item>
              <title>Expressions DSL in Scala</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Expressions_DSL_in_Scala</link>
              <pubDate>Wed, 30 Oct 2019 19:17:01 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Expressions_DSL_in_Scala</guid>
              <description>I often seem to have a need for an expression DSL, typically for configuring this or that component, implementing rules here and there etc. So, I've been working on an external DSL, for expressions, in scala, for a while, something that can put up with a few types of expressions, like lambdas, embedded Javascript etc... </description>
            </item>
          
            <item>
              <title>Capturing and alerting JS JavaScript errors in a page</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Capturing_and_alerting_JS_JavaScript_errors_in_a_page</link>
              <pubDate>Sun, 28 Oct 2018 21:35:55 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Capturing_and_alerting_JS_JavaScript_errors_in_a_page</guid>
              <description>While developing more interactivity for online Javascripting, as your script creates errors in a web-page, it is nice to see these - often, the result is something missing from the page, without any visible indication that it is due to a simple scripting error.</description>
            </item>
          
            <item>
              <title>Logging Mulesoft Connector lifecycle notifications</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Logging_Mulesoft_Connector_lifecycle_notifications</link>
              <pubDate>Fri, 08 Sep 2017 14:22:38 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Logging_Mulesoft_Connector_lifecycle_notifications</guid>
              <description>There are a few issues around Mulesoft connectors, especially intercepting connection events: disconnects and connecting failures and, while Mule will log them in the default log, it is important that we can handle them too, to log them (say in an ELK) or alarm or take some other corrective action.</description>
            </item>
          
            <item>
              <title>Mule Dataweave fixed width fiddle</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Mule_Dataweave_fixed_width_fiddle</link>
              <pubDate>Sun, 06 Aug 2017 11:17:40 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Mule_Dataweave_fixed_width_fiddle</guid>
              <description>Having worked with the very interesting Dataweave components from Mulesoft, I realized that we can accelerate development of solutions involving flatfile and fixed width a lot, with a simple online Fiddle, where we can test both the schema, see what the input parses into and easily debug data issues.</description>
            </item>
          
            <item>
              <title>From the trenches: Resilient workflow processing</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Resilient_workflow_processing</link>
              <pubDate>Tue, 06 Jun 2017 08:45:49 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Resilient_workflow_processing</guid>
              <description>While with Sigma Systems, I had the opportunity to, among others, design, build and/or contribute to 4 different generations of -what we called- *workflow* or *work-order* processing systems: dedicated and optimized for enterprise integration, generally targeted for telecommunication providers' integration patterns. Each generation was built upon the knowledge and experience emerging from the previous generation, evolving not only in terms of environment from C++ to Java to J2EE and from proprietary messaging to JMS with XA and then back to proprietary messaging, but also from microservices to J2EE monolith and back to microservices.</description>
            </item>
          
            <item>
              <title>Intro to scala in one page</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Intro_to_scala_in_one_page</link>
              <pubDate>Mon, 29 May 2017 15:08:41 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Intro_to_scala_in_one_page</guid>
              <description>This was the original crash course to scala in one page that I created for [[Tryscala | tryscala.com]] - it tried to capture as many notable features in one page as possible... maybe you find it interesting.</description>
            </item>
          
            <item>
              <title>Tryscala</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Tryscala</link>
              <pubDate>Mon, 29 May 2017 14:45:51 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Tryscala</guid>
              <description>One of my first scala projects, &quot;http://tryscala.com&quot; had a good run from 2010 - 2017. There are other good options now, https://scalafiddle.io comes to mind, so I'm retiring it - don't visit the address, not sure what you'll find there now!</description>
            </item>
          
            <item>
              <title>Reactive programming and glue 1 - threads, callbacks and futures</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Reactive_programming_and_glue_1_-_threads,_callbacks_and_futures</link>
              <pubDate>Wed, 03 May 2017 15:55:50 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Reactive_programming_and_glue_1_-_threads,_callbacks_and_futures</guid>
              <description>Let's take a look at [[What is reactive programming | reactive programing concepts]] from a slightly different point of view: how do we glue reactive bits together? We'll contrast a few different approaches and see how they differ - hopefully, this will shine a light at a different angle on the subject, giving you more to think about before starting the next project.</description>
            </item>
          
            <item>
              <title>Reactive programming fabric - streams, actors and more</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Reactive_programming_fabric_-_streams,_actors_and_more</link>
              <pubDate>Wed, 03 May 2017 13:28:20 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Reactive_programming_fabric_-_streams,_actors_and_more</guid>
              <description>This is part 2 of our look at reactive programming elements - we started by contrasting callbacks and Futures with plain old threads, in [[Reactive programming and glue 1 - threads, callbacks and futures]].</description>
            </item>
          
            <item>
              <title>The simplest micro-service you ever created</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/The_one-liner_microservice</link>
              <pubDate>Sat, 15 Apr 2017 13:47:45 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/The_one-liner_microservice</guid>
              <description>What do we call a one-line micro-service? A *pico-service*? Here's one of the simplest ways to create the minimal &quot;Hello, world&quot; as a REST service:</description>
            </item>
          
            <item>
              <title>Simple microservices testing</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Simple_microservices_testing</link>
              <pubDate>Fri, 14 Apr 2017 12:59:31 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Simple_microservices_testing</guid>
              <description>We've seen [[The one-liner microservice | the simplest microservice you ever created]] - let's now look at the simplest way to test microservices!</description>
            </item>
          
            <item>
              <title>The new putty fiddle</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/The_new_putty_fiddle</link>
              <pubDate>Mon, 17 Oct 2016 22:01:11 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/The_new_putty_fiddle</guid>
              <description>How about evolving the fiddle concept? The ordinary fiddles let you write something and then click &quot;run&quot; or &quot;see results&quot; or some such and then will show you the obvious. That's when you see that mistake you made in line 3...</description>
            </item>
          
            <item>
              <title>Evaluating Javascript in browser with time limit</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Evaluating_Javascript_in_browser_with_time_limit</link>
              <pubDate>Mon, 17 Oct 2016 21:11:42 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Evaluating_Javascript_in_browser_with_time_limit</guid>
              <description>Found myself working to implement some JavaScript fiddles and, of course, nobody else's was good enough... so it was easy enough to start: just `eval()`... but then what about mistakes and infinite loops?</description>
            </item>
          
            <item>
              <title>Embedding markdown in play templates</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Embedding_markdown_in_play_templates</link>
              <pubDate>Tue, 04 Oct 2016 15:04:33 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Embedding_markdown_in_play_templates</guid>
              <description>Did you ever feel like forgetting all about html markup and using markdown instead, inside a play template?</description>
            </item>
          
            <item>
              <title>From function to functor and onto monads</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/From_function_to_functor_and_onto_monads</link>
              <pubDate>Mon, 26 Sep 2016 15:29:05 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/From_function_to_functor_and_onto_monads</guid>
              <description>Some more details, to follow up on our first encounter with monads in [[Monads shmonads and functional programming]]... we'll work on moving conceptually from function to functor.</description>
            </item>
          
            <item>
              <title>Enable Akka cluster pub-sub for updates in a Play cluster</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Enable_Akka_cluster_pub-sub_for_updates_in_a_Play_cluster</link>
              <pubDate>Thu, 22 Sep 2016 12:34:30 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Enable_Akka_cluster_pub-sub_for_updates_in_a_Play_cluster</guid>
              <description>Let's look at coordinating a simple Play cluster with akka pub/sub messaging. We'll use it to keep a cold backup in sync (or a hot backup / peer failover node, why not). We will basically propagate any relevant update events across a cluster and let each node sort out what they have to do to update their eventual caches in response to those events: reload configuration, logout users etc.</description>
            </item>
          
            <item>
              <title>Rewriting URL in play framework - redirect and route</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Rewriting_URL_in_play_framework_-_redirect_and_route</link>
              <pubDate>Wed, 21 Sep 2016 12:48:57 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Rewriting_URL_in_play_framework_-_redirect_and_route</guid>
              <description>&lt;small&gt;Note - this is a year-old post that somehow remained in &quot;draft&quot; state. It's applicable to Play Framework up to 2.4 (uses Global).&lt;/small&gt;</description>
            </item>
          
            <item>
              <title>Parsing Wikis With An AST Tree</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Parsing_Wikis_With_An_AST_Tree</link>
              <pubDate>Mon, 16 May 2016 08:43:06 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Parsing_Wikis_With_An_AST_Tree</guid>
              <description>As my wiki parser grew larger and larger, with more and more features, the initial hack [[Pattern - collect decorating closures | with closures]] had outlived its usefulness. </description>
            </item>
          
            <item>
              <title>Refreshing web pages automatically with Play Framework</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Refreshing_web_pages_automatically_with_Play_Framework</link>
              <pubDate>Thu, 18 Jun 2015 12:57:34 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Refreshing_web_pages_automatically_with_Play_Framework</guid>
              <description>During development, it kept bugging me to have to refresh the pages myself to see what I just did and never actually got James Ward's plugin to work properly in my Chrome browser.</description>
            </item>
          
            <item>
              <title>Use the browser to be lazy</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Use_the_browser_to_be_lazy</link>
              <pubDate>Tue, 16 Jun 2015 16:12:06 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Use_the_browser_to_be_lazy</guid>
              <description>Most apps are web-based these days, user facing and data-intensive.</description>
            </item>
          
            <item>
              <title>jsmap - simple json transformations</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/jsmap_-_simple_json_transformations</link>
              <pubDate>Thu, 04 Jun 2015 21:45:48 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/jsmap_-_simple_json_transformations</guid>
              <description>I just touched on a simple utility I had created, to play with json documents (and similar tree structures) via Map and List, see [[jsmap - simplified json]].</description>
            </item>
          
            <item>
              <title>jsmap - simplified json</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/jsmap_-_simplified_json</link>
              <pubDate>Thu, 04 Jun 2015 19:36:19 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/jsmap_-_simplified_json</guid>
              <description>I had created this little thing a while ago, to manipulate json via simple Map and List and I keep finding uses for it all the time, like here's how to transform a fairly complicated model into JSON:</description>
            </item>
          
            <item>
              <title>Play framework - flexible layouts</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Play_framework_-_flexible_layouts</link>
              <pubDate>Fri, 15 May 2015 15:46:31 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Play_framework_-_flexible_layouts</guid>
              <description>I'm lazy!</description>
            </item>
          
            <item>
              <title>Counting the lines of code in a project (shell)</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Counting_the_lines_of_code_in_a_project_(shell)</link>
              <pubDate>Wed, 15 Apr 2015 11:37:46 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Counting_the_lines_of_code_in_a_project_(shell)</guid>
              <description>like so:</description>
            </item>
          
            <item>
              <title>Play framework template for RSS</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Play_framework_template_for_RSS</link>
              <pubDate>Thu, 13 Nov 2014 13:19:22 -0500</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Play_framework_template_for_RSS</guid>
              <description>Wanted to add RSS to my dinky geeky wiki/blog platform but couldn't find an already written {{tag:play}} template for that, if you can believe it.</description>
            </item>
          
            <item>
              <title>Scala Gremlins</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Scala_Gremlins</link>
              <pubDate>Mon, 03 Nov 2014 11:36:55 -0500</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Scala_Gremlins</guid>
              <description>Razie's Gremlins stands for coordinating asynchronous workflows in a scala DSL (both internal and external).</description>
            </item>
          
            <item>
              <title>Online scala REPL</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Online_scala_REPL</link>
              <pubDate>Mon, 03 Nov 2014 11:33:42 -0500</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Online_scala_REPL</guid>
              <description>There are a few online REPLs you can use:</description>
            </item>
          
            <item>
              <title>Scala Issues</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Scala_Issues</link>
              <pubDate>Mon, 03 Nov 2014 11:17:05 -0500</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Scala_Issues</guid>
              <description>&lt;small&gt;Consolidated blog first published on &lt;/small&gt;</description>
            </item>
          
            <item>
              <title>Speeding up Play application startup</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Speeding_up_Play_application_startup</link>
              <pubDate>Wed, 29 Oct 2014 16:02:49 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Speeding_up_Play_application_startup</guid>
              <description>So I had this issue for a while, where starting my Play app on one of my Digital Ocean VM was very slow... it used to be stuck after configuring the logs.</description>
            </item>
          
            <item>
              <title>Using bootstrap typeahead</title>
              <link>http://razie.dieselapps.com/wiki/Cool_Scala/Using_bootstrap_typeahead</link>
              <pubDate>Tue, 29 Apr 2014 00:55:19 -0400</pubDate>
              <guid>http://razie.dieselapps.com/wiki/Cool_Scala/Using_bootstrap_typeahead</guid>
              <description>I was trying to use the bootstrap typeahead for a simple project and it took me more than 3 hours... you see, the web is full of examples, but most posters I found only give you half the answer: how to show it. </description>
            </item>
          
        
    </channel>
</rss>