If I were to summarize what Google Jax is, I would say it’s a heterogeneous mixture of Functional programming (FP) style and differentiable NumPy operations, running on accelerators.

The familiarity of NumPy along with FP makes it special. Its side-effect-free way of doing things makes it safe, so to speak. You are not allowed to do mutations, i.e., in place modification. Some might think that this might hinder its performance but that is usually not the case; the compiler takes care of it. It offers an asynchronous dispatch mechanism, where one does not need to wait for computation to get…

You are not alone if you often get frustrated by “duck typing” in Python. By duck typing I mean if something walks like a duck and quacks like a duck, then, for sure, it is a duck! The apparent laxity in Python type system or its absence thereof is a potential source of huge number of bugs that pop up in the production time. Well, teams routinely employ robust “testing” to catch them but it’s usually never enough. Without strict type checking at compile time, more often than not bugs get caught only at the run time, which is ultimately…

Have your Monads shake hands with each other

Let me put it succinctly — monad transformers helps us combine operations of several monads into one single monad. Well, that is it. If it were as simple as said, you would not have a plethora of articles about monads and monads transformers, with each one claiming to simplify and explain what these things are in a better way. I won’t make any such claim. Understanding monads and transformers require time and one needs to see several practical examples to appreciate these abstract concepts which have their origin in category theory. …

Before we start, let me ask you a question — when you encounter a complex problem, isn’t it tempting to start with basic building blocks and then gradually build up the solution? Well, I won’t blame you, so to speak.

For someone who has spent a considerable time learning and programming in imperative programming languages, it often seems a ‘natural’ strategy. Unfortunately, depending on the complexity of the problem, this might not be the best strategy. If you’re already feeling lost, thinking what I am blabbering about, please bear with me for a while, at least. …

“Laziness isn’t that bad….”

In the previous pose(link below), I highlighted how functional programming simplifies the abstract idea of exploring graphs. I demonstrated one of the salient features of Haskell (a FP language) that unburdens us from explicitly managing states while gradually discovering paths between nodes.

Here, I want to take this concept of “laziness” a bit further. Lazy evaluation or laziness as it is colloquially known is delayed evaluation of an expression until we really require its result. It’s like making a promise, fulfilling it only at the nick of time. It lets us define infinite data structures without…

Harnessing power of AI to build a robust solar irradiation forecasting pipeline for efficient management and integration of solar energy in power grids.

The demand for clean energy is rapidly increasing. The current pace of technological development makes it commercially viable to harness energy from sun, wind, geothermal and many other renewable sources. As renewable power plants continue to expand, it will also be necessary to determine their optimal sizes, locations and configurations. The energy/power output of these plants is defined by the environmental factors such as wind speed, the intensity of solar radiation, cloud cover and other factors. This…

Reliable predictions of infectious disease dynamics can be valuable to public health organizations that plan interventions to decrease or prevent disease transmission. With the big data growth in healthcare and biomedical sector, accurate analysis of such data could help in early disease detection and better patient care. With the availability of huge computational power at hand, it is now very much viable to exploit the ‘big data’ for predicting and managing an epidemic outbreak. Our idea is to analyse and determine the spread of epidemic diseases in villages and sub-urban areas, where healthcare might not be readily available. We want…

Abhijit Gupta

Lead Data Scientist at Nice Actimize. I work on AI & Algorithms research and development. Find more: https://www.linkedin.com/in/abhijit-gupta-639568166/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store