Rafael Baptista
How to build Fastly Compute@ Edge Services in C++

How to build Fastly Compute@ Edge Services in C++

December 29, 2024

There are a lot of advantages to running code on CDN edge nodes: The latency from the user to your edge service is typically very very low. The services are generally stateless – and so can scale with demand very…

Adding Virtual Tables to Classes after the Fact

Adding Virtual Tables to Classes after the Fact

April 28, 2017

Sometimes you want to create classes that are meant to be low level and fast. You don’t want to pay the cost of virtual virtual functions – you want the functions to be inline. But then at other times you…

Clang scan-build: a great C++ Static Analyzer

Clang scan-build: a great C++ Static Analyzer

April 21, 2017

Clang has a command line utility that is very easy to use, and adds a static code analysis step to gcc or clang. It is trivial to install (less than 5 minutes – really! ) and works with almost any…

Using GDB to Dump Program State

January 31, 2017

Sometimes when a program is running for you want to dump the complete state of all the calls stacks of all threads in a program. This is not so easy to do yourself, but thankfully there are tools like GDB,…

Configuring react-d3 into a Rollup Build System

Configuring react-d3 into a Rollup Build System

January 27, 2017

Rollup is a next generation bundling system that I’m using with react. There is a port of the d3 Javascript graphing library called react-d3. As with most cases where you put together a bunch of new technologies, there are configuration…

Building web applications with Rollup + Babel + React

Building web applications with Rollup + Babel + React

December 31, 2016

As some of my ReactJs projects have gotten larger I needed to start dividing up my code into multiple files and package them up with some kind of javascript “bundling” tool. I’ve settled at least for now on Rollup. And…

Instantiating Components by Name in ReactJS

Instantiating Components by Name in ReactJS

December 30, 2016

A useful pattern in designing React apps is to drive the instantiation of components from data. That is, instead of the application instantiating the components and then fetching data to fill them, the application fetches data and the data itself…

Comparing Uglify and Closure in Babel/Rollup Javascript Build Environment

Comparing Uglify and Closure in Babel/Rollup Javascript Build Environment

December 28, 2016

I’ve been experimenting with creating a build environment for a React project that uses Rollup and Babel. One of the choices you can make is how to minify the generated js. I compare using two methods of compacting: Uglify and…

Finding the state of TCP/IP Sockets on Linux

Finding the state of TCP/IP Sockets on Linux

November 3, 2016

It is not possible through the sockets API to find the connection state of a socket. But on Linux there is a way, a user space way, to find the connection state of a socket. Network information in the Proc…

Setting up Docker for Remote Deployment

Setting up Docker for Remote Deployment

October 16, 2016

How to set up docker servers and clients to communicate with each other over the network securely with HTTPS/TLS.

About Me

My name is Rafael Baptista. I lead teams who build iconic digital products used by millions of people every day.

I'm currently working on an online travel agency called SkyMonde.

I was previously Head of Product at KAYAK. I built a very successful multi-brand SEO program for them that also included brands like OpenTable, Momondo, CheapFlights, Swoodoo, Checkfelix, and HotelsCombined.

I occasionally advise startups on SEO, the most successful of which is Insurify.

Previously I was CTO of Mimoco and worked on SEO at TripAdvisor focused on flights and vacation rentals.

For many years I was a game developer, helping make games for Harmonix, Apple, THQ, LucasArts, Nickelodeon, Ubisoft and many others. My biggest selling game was the Rockband Series.

I've worked on speech recognizers at Kurzweil, and genome mapping at the MIT/WIBR Human Genome Center.

I wrote the web server that this site runs on.

Social

linkedin icon stackoverflow icon

Projects

SkyMonde

An online travel agency

Demangler.com

Automatically demangles gcc C++ symbols

KJam Build Tool

A build tool like make or bjam