Many of the world's greatest machine learning problems require access to sensitive data, such as patient records for cancer detection. The…| Mukul's Blog's RSS Feed
I joined the Messenger Privacy Experiences team as an iOS engineer about two months ago. New team, completely new stack. I'd never written…| Mukul's Blog's RSS Feed
I've had a couple of comments on my YouTube videos asking about advice on applying to Cambridge, so here's a snippet with some of my…| Mukul's Blog's RSS Feed
Disclaimer : these are my personal opinions: I'm not speaking on behalf of Facebook, nor am I discussing anything remotely confidential, nor…| Mukul's Blog's RSS Feed
Today I saw this video by a YouTuber called ForrestKnight on how many programming languages to learn, and whilst it is well-meaning, I…| Mukul's Blog's RSS Feed
New tech stack, new language I've decided to learn some iOS programming at Facebook during my Bootcamp. Because well, it's just another tech…| Mukul's Blog's RSS Feed
Keys help identify React Components Traditionally when we are taught about keys in React, it is in the context of rendering a list of…| Mukul's Blog's RSS Feed
That's right, Google Translate is biased. When it comes to assigning gender from a gender-neutral language like Hungarian, it defaults to…| Mukul's Blog's RSS Feed
I started a YouTube channel 3 weeks ago. I probably should've written this post then but hey ho! I've posted 4 videos so far, and I've…| Mukul's Blog's RSS Feed
Welcome back to part 11 of the series! We've got concurrency and generics in our language, but we're still missing a key component…| Mukul's Blog's RSS Feed
Onward with more features that any "proper" programming language needs. Today we're implementing generics . Generics allow you to reuse…| Mukul's Blog's RSS Feed
At the start of the year, I set myself a goal . Not "reach 1000 Twitter followers". Not "get 100,000 page views". Not to "rank #1 on Google…| Mukul's Blog's RSS Feed
The Role of a Runtime Library Up till now, we've translated constructs in our language Bolt directly into LLVM IR instructions. The biggest…| Mukul's Blog's RSS Feed
Update : this post has now taken off on Hacker News and Reddit . Thank you all! Who's this tutorial for? This series of compiler…| Mukul's Blog's RSS Feed
Prefer this in video form? I ran a React workshop for Hackers at Cambridge last month that covered React hooks in the context of a web…| Mukul's Blog's RSS Feed
I've been fortunate enough to get some great advice about Part II dissertations throughout the course of the last year, which culminated in…| Mukul's Blog's RSS Feed
React is a JavaScript library for creating interactive UIs that is all the rage right now. However too often beginners dive straight into…| Mukul's Blog's RSS Feed
Technical mechanisms for building trust do help people trust systems - the rise of e-commerce sites and in particular sharing economies is…| Mukul's Blog's RSS Feed
I wrote this as part of an assignment for my Tech Law and Society module for my Master's at the University of Cambridge. I'll probably flesh…| Mukul's Blog's RSS Feed
Throughout my university degree, I've completed 3 internships: one at a cybersecurity startup, and two internships at Facebook. I believe…| Mukul's Blog's RSS Feed
Just give me the code! All the illustrative code snippets in this blog post link to the respective file in the Bolt repository . There's…| Mukul's Blog's RSS Feed
Dataflow Analysis - the big picture In the previous post in the series, we looked at how type-checking the core language worked. This…| Mukul's Blog's RSS Feed
This post is split into 2 halves: the first half explains the theory behind type-checkers, and the second half gives you a detailed deep…| Mukul's Blog's RSS Feed
We can't directly reason about our Bolt program, as it is just an unstructured stream of characters. Lexing and parsing pre-processes them…| Mukul's Blog's RSS Feed
Writing a compiler is like any other software engineering project in that it involves a lot of key design decisions: what language do you…| Mukul's Blog's RSS Feed
The diagram above is the compiler for the language Bolt we'll be building. What do all the stages mean? I have to learn OCaml and C++? Wait…| Mukul's Blog's RSS Feed
Overview If you're reading this post, you probably have heard of Reason and want to try it out. If you haven't, go read this or this to…| Mukul's Blog's RSS Feed
Whilst OCaml's amazing type system might prevent a lot of common programmer errors, it certainly doesn't mean you should not test your code…| Mukul's Blog's RSS Feed
Why have a build system? When working on a larger OCaml project, you'll eventually end up working on programs spread across multiple files…| Mukul's Blog's RSS Feed
Disclaimer : these are my personal opinions: I'm not speaking on behalf of Facebook, nor am I discussing anything remotely confidential, nor…| Mukul's Blog's RSS Feed
Website v1.0 - Humble beginnings From the start, my personal website has had two main purposes: A testbed to learn the latest and greatest…| Mukul's Blog's RSS Feed
Bug-free code is a myth when working at scale You know the deal, you just change one little feature, and that causes another part of your…| Mukul's Blog's RSS Feed
Overview of the tutorial In this tutorial we'll set up a database with a REST endpoint that other applications can send requests in order to…| Mukul's Blog's RSS Feed
What is Git and why should I care? Git is a distributed version-control system - i.e. it records the changes made to files in a repository…| Mukul's Blog's RSS Feed
Introduction So far in this series, we have looked at the general principle of gradient descent , and how we computed backpropagation for…| Mukul's Blog's RSS Feed
We move onto the next neural network architecture - the recurrent neural network , used for tasks where the input is a sequence. Motivation…| Mukul's Blog's RSS Feed
Introduction In this post, we will derive the backprop equations for Convolutional Neural Networks. Again there is a Jupyter notebook…| Mukul's Blog's RSS Feed
Introduction We've talked a lot about training our model, and improving our optimisation algorithms to really get the best out of it, but we…| Mukul's Blog's RSS Feed
Improving Gradient Descent Gradient descent is a good learning algorithm for neural networks, however we can do better to improve learning…| Mukul's Blog's RSS Feed
This may be the most important post in the series, and also the most overlooked, both for the same reason - this is where the maths gets…| Mukul's Blog's RSS Feed
Now to introduce our first deep learning algorithm - the feedforward neural network! Reminder: the code for this series of tutorials can be…| Mukul's Blog's RSS Feed
Having looked at linear and logistic regression, we will look at how these algorithms "learn". Loss Functions: For a machine algorithm to…| Mukul's Blog's RSS Feed
Introduction: Today, we get our hands dirty with our first machine learning algorithms! Whilst we are starting out simple, these algorithms…| Mukul's Blog's RSS Feed
Introduction In this series of blog posts I aim to demystify the main types of neural networks, and delve into the maths behind these deep…| Mukul's Blog's RSS Feed
Motivation for the series - why bother with the maths behind deep learning?| mukulrathi.com
We have our lovely type definitions and language data structures in OCaml, but we want to use them in our C++ backend. The solution? Serialise them using Protocol Buffers, a language-independent binary format.| mukulrathi.com