Why Functional Programming

James Slaughter Articles, Development Technologies & Tools, JavaScript, Python, React 1 Comment

React has gotten a little funny of late – a few years ago, it was normal to embrace the Object-Oriented paradigm, writing each component as a class and doing lots of this-binding.

Today, however, hooks and functional components have taken over React, and with it, a style of programming unusual for front-end frameworks is growing in popularity: Functional Programming.

This programming style has been in use for many years: Lisp, Haskell, Clojure, and OCaml are all established, though mainly out of the mainstream, languages with a rich history and broad application. Thinking โ€˜functions are first-class citizensโ€™ sounds strange, especially to new JavaScript developers who have spent most of their time in Python or Java that come from an Object-Oriented perspective.

Thatโ€™s why in this post, we will go over the basics of Functional Programming, how we compose functions, a handy implementation of a โ€˜pipeโ€™ function that will compose functions, the process of currying and functions-as-return-value, and how we can use these concepts in React using Higher-Order Components.

Chatbot with Rasa

Chatting with Rasa: An Intro to Chatbots

Braden Niswonger Articles, Development Technologies & Tools, Machine Learning, Python, Tutorial Leave a Comment

It seems like a lot of websites these days are equipped with a Chatbot. Itโ€™s used for customer service, simple Q/A, and more.

As chatbots have grown in popularity, so have the number of different frameworks that can be used to implement them.

In this blog, we will explore one of these frameworks, Rasa. First, Iโ€™ll cover some of the basics of chatbots. Then, Iโ€™ll explain how to write a simple Chatbot using Rasa, and weโ€™ll highlight some of its additional functionality as well.

Apple Silicon for Dev

Apple Silicon for Development

Lou Mauget Articles, Development Technologies & Tools, Programming, Python Leave a Comment

In June, Apple announced a two-year transition from Intel to Apple Silicon for the iMac and MacBook line. I knew Apple had lost their mind. But, before Christmas, I owned my very own chunk of Apple Silicon living in an attractive milled-aluminum case.

In this article, I’ll discuss the Apple M1 silicon-on-a-chip (SoC) used as a software development computer. I’ll cover installation, and I’ll also talk through running apps that support development on my M1.

How and Why to Containerize Your Development

John Hoestje Articles, Development Technologies & Tools, Docker, Opinion, Python, Tutorial Leave a Comment

This is a tutorial for how to use the VS Code Remote-Containers extension to containerize your development environment.ย First, I will discuss my reasons for separating my programming environment and why virtual machines didnโ€™t work.ย Then, Iโ€™ll show a simple example using a containerized Python development environment.ย Finally, Iโ€™ll give you my reasons why containerizing the development environment fits what Iโ€™m looking for in a solution.

Expression Parser with Antlr4

An Antlr4-Based Expression Parser

Lou Mauget Articles, Development Technologies & Tools, Java, Programming, Python 1 Comment

In this blog, weโ€™ll present a simple arithmetic expression parser implemented through an Antlr4 parser generator. It will be able to take in an input string (such as 2+4+-4+-2*10%9*7) to produce the result (-12.0).

You may be thinking, “Great, but whatโ€™s the point?” Well, to answer your question, as simple as this example may seem, the principles involved actually extend to use cases such as DSLs, transpilation, and anything else expressible by grammar rules.

This post has two parts. In part 1, weโ€™ll discuss the background components of a parser. In part 2, weโ€™ll cover building the demo and running it. If you already understand grammar parsing, you could skip part one.