Federico Kereki
Federico Kereki is a Uruguayan systems engineer, with a master's degree in education, and over 30 years' experience as a consultant, system developer, university professor, and writer. He is currently a subject matter expert at Globant, and he has taught CS courses at Universidad de la República, Universidad ORT Uruguay, and Universidad de la Empresa. He has written for the Linux Journal and the LinuxPro Magazine in the USA, Linux+ and Mundo Linux in Europe, and websites such as Linux [dot] com and IBM DeveloperWorks. He has also written booklets on computer security, and two books—Essential GWT, and Mastering JavaScript Functional Programming.
45 articles by Federico Kereki
Better Error Handling with Monads (Part 2)
See a whole family of monads you can use for simpler error handling
Better Error Handling with Monads (Part 1)
Deal more easily with errors by using monads
Workers and Promises
How to use worker threads with promises
Of maps and pipes, chains and nests, and more
An introduction to pipelining, composition, chaining, and more
Can AI do that?
Is there a limit to AI?
D.I.Y. Booleans?
How to make your own boolean values and operators
Optimizing JavaScript... Which Way?
A study in optimization
Maximize JavaScript's Performance WITHOUT Transducers
Other ways of improving operations on arrays
Complex Typing in TypeScript, Part 2
Explore how to add typing to currying functions
Maximize JavaScript's performance with transducers
Speed up array methods by using transducers
Random Unit Testing
How can you go about testing functions that produce random results?
Algorithms, Computer Science, and Cards
Examine several CS algorithms using a deck of playing cards
Poker and TypeScript
Implement a hand ranking function with TypeScript
Complex Typing in TypeScript
Add data types to partial application
Simpler code through Partial Application
Add partial application to your coding tools to simplify your work
Powers, through the Power of Recursion!
Use recursion to implement algorithms for math calculations
Decorators - new style higher order functions
A look at decorators, an upcoming JavaScript feature
Three ways of Polling
Three different functions to do API polling
The hidden state of Promises
How to get the state of a Promise? Not an easy question to answer!
Waiting for some promises?
Adding a missing method for working with promises
Higher-order functions with TypeScript
Solve complex data typing problems that appear with some functional programming techniques
Solving puzzles with recursion and JavaScript
How to apply recursive techniques to find solutions to several kinds of puzzles
A Treasury of Tips, Tricks and Techniques for JavaScript
A varied list of code examples you can use for your own projects
Array and String Sorting recipes for JavaScript
Learn different ways to sort your arrays and your strings with this detailed, hands-on tutorial
Debouncing and throttling for performance
Two functional programming techniques to achieve better performance
Working with functions... but partially!
A follow-up to the article on currying, showing another potent way of working with functions
Many flavors of currying
An explanation of currying: an important concept that provides benefits to JS developers
A pick of recent React articles
A selection of our best and most recent React articles
Structuring a React project functionally
Structure a React project to take advantage of Functional Programming patterns
React 18 week is here
The upcoming week has plenty of new React 18 material for everybody!
Coming up... React 18!
A week full of React 18 articles is on its way!
From methods to functions, and back
Learn several techniques to change methods into functions and vice versa
Shuffling an Array, Not as Trivial as It Sounds
There are many ways to shuffle an array, but not all of them are good
Generating better, functional Ranges for loops
Improve your functional game through this in-depth coverage of the loops in JavaScript
Dependency Injection and Higher Order Routing in Node.js
Learn about Dependency Injection from a functional programming perspective with this guide
The mighty reduce, part 2
Second part to understanding how to get the most out of this powerful method
The mighty reduce
Tap into the power of the reduce method following this tutorial
Immutable objects for safer state
Learn how immutability can be applied to create a safer state in your applications
Higher Order Functions -- Functions to rule functions
Using functions to alter the way other functions work, take a closer look at the power of Higher Order Functions in JavaScript
Waiting with Promises
Learn how to use promises to handle waiting for certain conditions to happen
Injecting for Purity
Pure functions are the cornerstone of Functional Programming, but we must also learn how to deal with impurity in our code
Pointfree Style Programming
Pointfree style programming is a way of calling functions without having to worry about parameters. Learn all about it here.
Chaining Calls for Fluent Interfaces
Learn how to create APIs that other developers love to use through a technique called Fluent Interface
Memoizing Promises
Memoizing Promises stops repeated API calls by caching results on the front end, letting you apply the technique selectively to GET requests.
Memoizing Functions for Performance
Learn what memoization is and how you can leverage it on your own code with this detailed article.