Simple Neovim config

Learn the basics of Neovim configuration in lua

Neovim: Install plugins without a plugin manager

Learn how to install Neovim plugins just using git clone

A guide on Neovim's LSP client

Enable IDE-like features in Neovim without installing any additional plugins

How to survive without multiple cursors in vim

Alternatives we can use in vim instead of multiple cursors

Neovim: Plugins to get started

Turn Neovim into a fancy editor with these plugins

Build your first Neovim configuration in lua

The one where we learn how to customize Neovim and add plugins

Can we manage neovim's LSP client without plugins?

Let's learn what does it take to use neovim's LSP client in project

Setup nvim-lspconfig + nvim-cmp

Let's configure Neovim's builtin LSP client with nvim-lspconfig and nvim-cmp

Navigate your command history with ease

Let's take advantage of all that data in our command history

Want to use env variables in that config file? Well, you can... kind of

Meet the envsubst command

How an applicative functor can help us validate forms

Validating a form 'functional style'

The illusion of fast startup times in vim

Speed up vim's startup times with this one weird 'trick'

Everything you need to know to configure neovim using lua

Your first steps into a lua configuration

vim and the quickfix list: jump to a location, search and replace in multiple files, and other shenanigans

The quickfix list and its use cases

Extending the deno cli using a shell function

Improving the deno cli with a little bit of magic

vim's easy mode: making vim behave like a 'conventional' text editor

Exploring vim's builtin easy mode

Using Netrw, vim's builtin file explorer

Where we learn how to use Netrw

Transducers in javascript

Digging a little bit into the world of transducers (in javascript)

The case for reducers

Reducers are good for many things, let's find out what those things are

Using Vim's abbreviations

Exploring some cool use cases for vim abbreviations

An introduction to Monads (in js)

Trying to explain monads without loosing our minds

What are these applicative functors you speak of?

let's use javascript to learn some applicatives for a greater good

ZSH global aliases

What are they and how can we use them

Tagged unions and Fantasy Land

Let's use tagged unions to explore the Fantasy Land specification

Reduce: how and when

Let's identify the best use case for reduce and maybe learn something else in the way

Learning functional programming: A roadmap

Table of content for the series: Functional programming for your everyday javascript

Pure functions and why they are a good idea

Answering the question what do we gain by using pure function?

Functional programming for your everyday javascript: Composition techniques

An introduction to common patterns used in functional programming

Functional programming for your everyday javascript: Partial application

Solving the mystery of why sometimes the callback goes first

Functional programming for your everyday javascript: The power of map

Let's see what makes map so special

Dealing with side effects and pure functions in javascript

A few ideas of how to use pure functions in the real world

Lenses A.K.A. composable getters and setters

Let's build a mostly adequate lenses implementation

Taking a look at finite state machines

Let's see if finite state machines are useful

Functional programming for your everyday javascript: Using a Maybe

We'll see how an implementation of the Maybe Type can influence how we write code

Homemade observables

Making an observable from scratch (for educational purposes only)