A Programmer’s Introduction to Mathematics

Math ∩ Programming

For the last four years I’ve been working on a book for programmers who want to learn mathematics. It’s finally done, and you can buy it today.

The website for the book is pimbook.org, which has purchase links—paperback and ebook—and a preview of the first pages. You can see more snippets later in the book on the Amazon listing’s “Look Inside” feature.

If you’re a programmer who wants to learn math, this book is written specifically for you! Why? Because programming and math are naturally complementary, and programmers have a leg up in learning math. Many of the underlying modes of thought in mathematics are present in programming, or are otherwise easy to explain by analogies and contrasts to familiar concepts in software. I leverage that in the book so that you can internalize the insights quickly, and appreciate the nuance more deeply than most books can allow. This…

View original post 299 more words

SVG in React

Etleap | Blog

React.js is a great library for creating user interfaces consisting of components. In the browser React is used to output DOM elements like divs, sections and.. SVG! The DOM supports SVG elements, so there is nothing stopping us from outputting it inline directly with React. This allows for easy creation of SVG components that are updated with props and state just like any other component.

Why SVG?

Even though a lot is possible with plain CSS, creating complex shapes like hearts or elephants is very difficult and requires a lot of code. This is because you are restricted to a limited set of primitive shapes that you have to combine to create more complex ones. SVG on the other hand is an image format and allows you a lot more flexibility in creating custom paths. This makes it much easier to create complex shapes as you are free to create any…

View original post 616 more words

I think I know how cleverbot works.

Scary Reasoner

Update August 15, 2015: I am closing comments on this post since it is was written on December 3, 2010, about 5 years ago now, and people are still trying to comment and I’m tired of moderating the comments on this, and the new comments aren’t adding much that hasn’t been said before. Feel free to write your own post on your own blog on this topic. FWIW, I think that what I wrote in this post 5 years ago is probably not correct. Original post follows:

If you haven’t tried cleverbot, go ahead and try cleverbot out now.


It’s supposedly an Artificial Intelligence with which you communicate by typing, much like Eliza. You type at it, and it types back at you. The conceit is that it’s a machine intelligence. It’s just cogent enough to make you wonder how in the hell it works, while just…

View original post 549 more words

A Look at Image Segmentation using CNNs

Mohit Jain

Image segmentation is the task in which we assign a label to pixels (all or some in the image) instead of just one label for the whole image. As a result, image segmentation is also categorized as a dense prediction task. Unlike detection using rectangular bounding boxes, segmentation provides pixel accurate locations of objects in an image. Therefore, image segmentation plays a very important role in medical analysis, object detection in satellite images, iris recognition, autonomous vehicles, and many more tasks.

With the advancements in deep learning methods, image segmentation has greatly improved in the last few years; in terms of both accuracy and speed. We can now generate segmentations of an image within a fraction of a second and still be very accurate and precise.

The Goal of this Post

Through this post, we’ll cover the intuition behind some of the main techniques and architectures used in image segmentation…

View original post 3,274 more words

A Gentle Introduction to Markov Chain Monte Carlo (MCMC)

The Clever Machine

Applying probabilistic models to data usually involves integrating a complex, multi-dimensional probability distribution. For example, calculating the expectation/mean of a model distribution involves such an integration. Many (most) times, these integrals are not calculable due to the high dimensionality of the distribution or because there is no closed-form expression for the integral available using calculus. Markov Chain Monte Carlo (MCMC) is a method that allows one to approximate complex integrals using stochastic sampling routines. As MCMC’s name indicates, the method is composed of two components, the Markov chain and Monte Carlo integration.

Monte Carlo integration is a powerful technique that exploits stochastic sampling of the distribution in question in order to approximate the difficult integration. However, in order to use Monte Carlo integration it is necessary to be able to sample from the probability distribution in question, which may be difficult or impossible to do directly. This…

View original post 196 more words