Experimenting with WebAssembly and Computer Vision
This past summer, four students at a coding bootcamp in Los Angeles began experimenting with WebAssembly. The result, after six weeks of exploration, was WebSight: a real-time face detection demo ...
How V8 handles JavaScript properties internally
This technical deep-dive explains how V8 handles JavaScript properties behind the scenes.
Build a web service with F# and .NET Core 2.0
Earlier this year, I wrote about an update to the roadmap for F# and .NET Core. I had mentioned that there were a number of things you could build with F# and .NET Core today, such as web services. In this post, I’ll walk through building a web service with F# and .NET Core 2.0 […]
Building a Lisp from scratch with Swift
This article describes how you can build a simple LISP, based on the 1978 article <i>'A Micro Manual For LISP - Not The Whole Truth'</i> with Swift, taking advantage where possible of the features the language offers.
Hunting Performance in Python Code: Measuring Memory Consumption
In this post I will talk about some tools that can help us solve a painful problem in Python, especially when using PyPy: memory consumption. Why are we concerned with this in the first place? Why …
Chris Lattner on the Realm WWDC 2017 Swift Panel
I typed up some quotes from Chris Lattner on a recent panel discussion about Swift.
Taming Undefined Behavior in LLVM
Interesting post, but you lost me at “Let’s try to do that using undef”. Why bother with notions of an “undef value” (or “deferred UB”), when plain UB is all you need?
Principles of TLA+
TLA+ is a formal specification and verification language intended to help engineers specify, design and reason about complex, real-life algorithms and software or hardware systems. We explore its motivation, application and principles of design.
.NET Core Web API on AWS Lambda Performance
In order to understand what I’m going to talk about, you must know what is AWS Lambda, I talked about in this blog post where I went through getting started with Visual studio code and AWS Lambda, …
How to build a JavaScript package manager
Hello everyone! Today, we’re gonna write a new package manager, even better than Yarn! Ok, maybe not, but at least we’re gonna have some fun, learn how packa...
Revisiting 64-bit-ness in Visual Studio and elsewhere (2015)
Access to this page requires authorization. You can try signing in or changing directories .
Patching is hard; so what?
It’s now been about a week since Equifax announced the record-breaking breach that affected 143 million Americans. We still don’t know enough — but a few details have begun to com…
A Sampling of Anti-Decompilation Techniques
Traditional (assembly level) reverse engineering of software is a tedious process that has been made far more accessible by modern day decompilers. Operating...
Build your own Terminal using Qt
I'm a huge fan of Unix as an IDE and so the terminal is the core of my computational environment: I run everything from my development tools and text editor to my chat apps and email. There are a variety of terminals out there with their own set of pros and cons, but here we'll find out how to build our own terminal…
Hardening C/C++ Programs – Executable-Space Protection and ASLR
In the first part of this series we discussed the mechanics of an exploit, the general concept of hardening, and the stack protector hardening technique in particular. Some of the concepts explained there will be
Using Go Templates
Go templates are a powerful method to customize output however you want, whether you’re creating a web page, sending an e-mail, working with Buffalo, Go-Hugo, or just using some CLI such as kubectl.
Basic Type-Level Programming in Haskell
Dependently typed programming is becoming all the rage these days.Advocates are talking about all the neat stuff you can do by putting more and more informat...
UEFI Programming – First Steps (2009)
In this article, I will describe steps needed to start on with development of real UEFI applications on x86 PC, and share some practical experiences with problems doing so. I will focus on 64-bit version of UEFI, because the 32-bit version isn't much used in this area (most likely due to Microsoft decision not to…
Go 2016 Survey Results
What we learned from the December 2017 Go User Survey.
“Security problems are primarily just bugs”
People are debating this email from Linus Torvalds (maintainer of the Linux kernel). It has strong language, like: Some security people ...