blog-post   366

« 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 
10 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 
10 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 
10 weeks ago by doneata
Productivity
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

« earlier    

related tags

advice  ai  analogy  analysis  ar  archive  art-criticism  art-theory  article  artifical-intelligence  biology  blog  book  cache  cameras  career  cateogry-theory  code  collaborative  cool  cryptography  css  deep-learning  design  devops  dnd-5e  employment  engineering  film  filter  fp  functional-programming  functions  gaussian-processes  gaussian_processes  gis  gp  hardware  haskell  html  ideas  ifttt  in-general  javascript  jobs  js  keras  lambda  life  lifehacks  lifestyle  list  machine-learning  machine_learning  machinelearning  marketing  math  mathematics  mathmo  ml  morality  natural-language-processing  newsletter  nlp  object-oriented-programming  optimization  performance  philosophy  photography  physics  pocket  privacy  productivity  programming-languages  programming-paradigms  programming  proofread  psychology  public-sector  public-service  puzzle  python  ramda  recommendation  redux-observable  redux-saga  redux  reference  research  resources  retro-computing  rss  sde  security  sentiment  shell  software-development  speaking  speech  startup  statistics  stats  systems  tech-jobs  traction  unread  us-digital-service  us-government  usds  video-lectures  vr  watch  web  webdesign  webdev  work 

Copy this bookmark:



description:


tags: