recentpopularlog in


« earlier   
How we used Category Theory to solve a problem in Java
A few months ago, my colleague Chris Myers and I used some basic category theory concepts to guide us to a design that elegantly solved a problem in a Java codebase.

It isn’t the only way we could have arrived at the design; anyone could have done it, really! However, you might find it interesting to see what practical application of these ideas can look like. Importantly, category theory gives us a framework to shed light on what makes many good design concepts useful, and why.
code  programming  cateogry-theory  design  blog-post 
7 weeks ago by doneata
Symbolic computation
So what is symbolic computation? To better understand what it is, we need to understand the two terms that make up the name: symbolic and computation.

The use of the word symbolic is ancient -- from the Latin symbolicus, Greek συμβολικός meaning "of, or belonging to a symbol"; and thence to symbol (Ancient Greek συμβάλλω), meaning "a sign by which one infers something". And, most interestingly, its meaning has not changed!
programming  blog-post 
11 weeks ago by doneata
Einsum is all you need: Einstein summation in deep learning
When talking to colleagues I realized that not everyone knows about einsum, my favorite function for developing deep learning models. This post is trying to change that once and for all! :) Einstein summation (einsum) is implemented in numpy, as well as deep learning libraries such as TensorFlow and, thanks to Thomas Viehmann, recently also PyTorch. For background reading on einsum, I recommend the excellent blog posts by Olexa Bilaniuk and Alex Riley. While their posts discuss einsum in the context of numpy, I am going to illustrate how einsum is extremely useful for writing elegant PyTorch/TensorFlow models.
deep-learning  blog-post  programming  mathematics 
11 weeks ago by doneata
Are functional programs easier to verify than imperative programs?
The high-order bit is that the three programs he suggested are equally easy/hard to verify in imperative and functional styles. This is because none of the programs make any significant use of procedural abstraction.

The difficulty of imperative programming arises from the combination of state, aliasing and procedure calls. Any two of these features can be handled without that much difficulty, but the combination of all three effectively makes reasoning (nearly) as difficult as correct concurre...
programming  programming-languages  blog-post 
11 weeks ago by doneata
I think I am at least somewhat more productive than average, and people sometimes ask me for productivity tips. So I decided to just write them all down in one place.

Compound growth gets discussed as a financial concept, but it works in careers as well, and it is magic. A small productivity gain, compounded over 50 years, is worth a lot. So it’s worth figuring out how to optimize productivity. If you get 10% more done and 1% better every day compared to someone else, the compounded differen...
productivity  blog-post 
april 2018 by doneata
Productivity - Sam Altman
Sam Altman goes straight to the point. This is the best ratio of good advice/words on productivity I've seen in my life.
productivity  life  lifehacks  blog-post  lifestyle  via:popular 
april 2018 by simsalis
Productivity - Sam Altman
I think I am at least somewhat more productive than average, and people sometimes ask me for productivity tips.  So I decided to just write them all down in one place.

Compound growth gets...
productivity  life  blog-post 
april 2018 by vanadium
Closing the Loop: The Importance of External Engagement in Computer Science Research
Computer scientists tend to work by separating the essence of a problem from its environment, solving it in an abstract form, and then figuring out how to make the abstract solution work in the real world. For example, there is an enormous body of work on solving searching and sorting problems and in general it applies to finding and rearranging things regardless of whether they live in memory, on disk, or in a filing cabinet.
research  ideas  blog-post 
april 2018 by doneata
What I've Learned from Hacker News
Hence what I call the Fluff Principle: on a user-voted news site, the links that are easiest to judge will take over unless you take specific measures to prevent it.
psychology  blog-post 
april 2018 by vanadium
The death of the newsfeed — Benedict Evans
What do we do now that there’s more in the newsfeed than we can possibly
read? Can the algorithmic sample ever actually work, or do we swing back to
1:1 messaging? How do Stories rebundle that? And what happens to all the
traffic that the newsfeed provides? 
blog-post  psychology 
april 2018 by vanadium

Copy this bookmark:

to read