welcome to
Caches to Caches

This blog is devoted to the broad interests of Gregory J Stein. I'm a firm believer in the idea that one doesn't truly understand something until they try to teach it to someone else. This was the impetus for the creation of Caches to Caches. With a background in Physics and Robotics, I have experience in subjects spanning math, physics, communication and machine learning, and I aim to hone my understanding by sharing what I know.

If there's any article you would like to see, or something you've been wondering about, be sure to let me know on Twitter.


All Posts

  • The Bottom Third
    Success is a difficult thing to measure and foster. Good advisors help all of their students succeed.
  • Managing my Annotated Bibliography with Emacs' Org Mode
    [General Computing] Org mode is a fantastic tool for managing references. Here’s a description of how I use it, and some additional packages, to manage my annotated bibliography.
  • A Guide to My Organizational Workflow: How to Streamline Your Life
    Detailed notes are needed to accomplish individual projects or tasks but not the big picture. Task lists and calendars focus on the big picture at the expense of detail. An effective organizational system requires both. This post gives a high-level overview of my Getting Things Done inspired organizational workflow.
  • The Valley of AI Trust
    [Machine Learning] Particularly for safety-critical applications or the automation of tasks that can directly impact quality of life, we must be careful to avoid the valley of AI trust—the dip in overall safety caused by premature adoption of automation.
  • Talk figures are different from paper figures
    One communication pitfall I often see is that many researchers will take figures from their papers and paste them into their slides. Here, I provide some tips for tailoring your figures to talks.
  • Machine Learning & Robotics: My (biased) 2019 State of the Field
    My thoughts on the past year of progress in Robotics and Machine Learning.
  • Anyone sufficiently experienced is indistinguishable from a magician
    Surrounded by brilliant people, I see my friends and colleagues produce surprising insights seemingly from thin air. Only through dedication to a craft can one gain the depth of understanding necessary to demonstrate this level of mastery.
  • The "Myths List" is a communication antipattern
    I rarely find these Myth List articles compelling, yet many such articles could benefit from a more clearly presented statement of the author’s viewpoint.
  • On the efficiency of Artificial Neural Networks versus the Brain
    [Machine Learning] Recent ire from the media has focused on the high-power consumption of artificial neural nets (ANNs), yet popular discussion frequently conflates training and testing. Here, I aim to clarify the ways in which conversations involving the relative efficiency of ANNs and the human brain often miss the mark.
  • No Free Lunch and Neural Network Architecture
    [Machine Learning] Machine learning must always balance flexibility and prior assumptions about the data. In neural networks, the network architecture codifies these prior assumptions, yet the precise relationship between them is opaque. Deep learning solutions are therefore difficult to build without a lot of trial and error, and neural nets are far from an out-of-the-box solution for most applications.
  • Technical communication is particularly hard for newcomers
    One of the key components to good technical communication is the right amount of context, and only experience yields such knowledge. Technical communication is understandably hard for newcomers.
  • Proxy metrics are everywhere in Machine Learning
    [Machine Learning] Many machine learning systems are optimized using metrics that don’t perfectly match the stated goals of the system. These so-called “proxy metrics” are incredibly useful, but must be used with caution.
  • Don't Let Your Hobbies Die
    I’ve discovered over time is that many of my skills and passions have developed only through little side-projects that never see the light of day. The combination of the satisfaction I get from freely exploring a new idea and the occasional long-term reward make me feel as if I am constantly growing.
  • Massive Datasets & Generalization in ML
    [Machine Learning] Big, publically available datasets are great. Yet many practitioners who seek to use models pretrained on this data need to ask themselves how informative the data is likely to be for their purposes. Dataset bias and task specificity are important factors to keep in mind.
  • DeepMind's AlphaZero and The Real World
    [Machine Learning] Using DeepMind’s AlphaZero AI to solve real problems will require a change in the way computers represent and think about the world. In this post, we discuss how abstract models of the world can be used for better AI decision making and discuss recent work of ours that proposes such a model for the task of navigation.
  • The Importance of Simulation in the Age of Deep Learning
    [Machine Learning] An overview of the significance of simulation tools in the field of robotics and the promise and limitations of photorealistic simulators.
  • On Blaming Cosmic Rays
    In my last lab, cosmic radiation was one of the many inescapable factors that limited how precisely we could measure the output of our laser; only by understanding what limits performance can one hope to have a reasonable estimate of what is possible.
  • Practical Guidelines for Getting Started with Machine Learning
    [Machine Learning] The potential advantages of AI are many, and using machine learning to accelerate your business may outweigh potential pitfalls. If you are looking to use machine learning tools, here are a few guidelines you should keep in mind.
  • For AI, translation is about more than language
    [Machine Learning] Translation is about expressing the same underlying information in different ways, and modern machine learning is making incredibly rapid progress in this space.
  • Bias in AI Happens When We Optimize the Wrong Thing
    [Machine Learning] Bias is a pervasive problem in AI. Only by discouraging machine learning systems from exploiting a certain bias can we expect such a system to avoid doing so.
  • Literate Programming with Org-mode
    [General Computing] I frequently use Org mode to combine code snippets and analysis in a single document, a programming paradigm known as Literate Programming. Here are a few example showing how powerful this setup can be.
  • Motivated People Don't Need a Job Title
    [General Computing] Having too many specific tasks is limiting and can stymie the creative impulses that give rise to fantastic employees.
  • My Favorite Deep Learning Papers of 2017
    [Machine Learning] Here are five deep learning papers I felt rose above the rest in 2017.
  • Enhancing Websites with Clear Visual Design
    [Web Development] Clarity is key. Here are some tips for improving your website or blog.
  • Y.A.U.S (Yet Another Uber Scandal)
    [General Computing] The tech culture is broken, and Uber is just the tip of an iceberg.
  • A Complete Guide to Email in Emacs using Mu and Mu4e
    [General Computing] Most email clients are a pain. Emacs & mu4e are less of a pain.
  • Be Caring & Reach Out
    [General Computing] This time of year can be tough, so reach out to a friend to check in.
  • Vim Within Emacs: An Anecdotal Guide
    [General Computing] After using Emacs for 2 years, I decided to give “evil-mode” (Vim keybindings) a tentative try and I’m not looking back.
  • My Workflow with Org-Agenda
    [General Computing] I use Emacs’ “org-mode” to organize my life. Here’s a snippet of how I get it all working.
  • Have You Tried Using a 'Nearest Neighbor Search'?
    [Machine Learning] More complicated ≠ better. In many circumstances, using the most sophisticated approaches to Machine Learning (like deep learning) may not be worthwhile.
  • The Physics of Maxwell's Equations
    [Mathematical Physics] Maxwell’s Equations govern the study of electromagnetism, one of the fundamental forces of nature. Here, I attempt to motivate these beautiful equations and present some of their more interesting consequences.
  • How We Teach Programming, and Where We're Going Wrong
    [General Computing] Programming matters. As more of the country recognizes the importance of the skill, an increasing number of methods for teaching programming concepts have popped up. However, the emphasis should lean towards how to apply programming across disciplines.
  • Disabling Ubuntu's Broken Wi-Fi Driver
    [General Computing] Ubuntu’s 802.11n Wi-Fi driver is notoriously broken; here’s how to turn it off.
  • Getting Started with Use-Package
    [General Computing] Jump-start emacs with use-package and never manually install another package again
  • Technologies Behind Caches To Caches
    [Web Development] Here’s how I built this blog, which relies on Django/Apache on Amazon EC2
  • C/C++ Completion in Emacs
    [General Computing] Handle large-project C++ completion with Irony & GNU GLOBAL
  • Koding with Django
    [Web Development] Koding’s free cloud-based linux dev environment has had me playing for a while. Here’s how to use it with Django.
  • Hello, World!
    Obligatory first post; welcome to our blog.