Isaac is a student with a passion for technology, entrepreneurship, and design. He also pursues writing, politics, and music. But mostly he builds things.
javascript games html5 open source Software release Two years ago when I was writing my book about building 3D browser games , I was spending a lot of time writing first person games in JavaScript. First person games in particular involve a lot of fast, precise motion, which makes "pointer lock" essential. "Pointer lock" is when a program takes over the mouse cursor, tracking mouse movement on its…
artificial intelligence future turing Thoughts/Essay There are a lot of speculative blog posts out there making arguments both for and against the alleged threat that sufficiently intelligent machines could pose to Homo sapiens sapiens , i.e. modern humans. This is my attempt at explaining why I think that such a threat is extremely unlikely. First, some definitions Intelligence - the ability to…
javascript games programming Tip/Tutorial The main loop is a core part of any application in which state changes over time. In games, the main loop is often called the game loop , and it is typically responsible for computing physics and AI as well as drawing the result on the screen. Unfortunately, the vast majority of main loops found online - especially those in JavaScript - are written…
virtual reality products future Thoughts/Essay After months of anticipation, my Oculus Rift Developer Kit 2 came in the mail last week. Here are my impressions of it as a device, and thoughts on the future of virtual reality. First impressions My first impression of the DK2 upon opening its unassuming cardboard box was that there are a lot of pieces. This is definitely a development kit. I hit a…
google spreadsheets productivity Tip/Tutorial I have a spreadsheet of metrics I track every week. I add a new column to the left every week for that week s data, so that I don t have to scroll forever to the right to see recent information. (Yes, it would be easier to add rows, but that s another story.) All was well until I wanted to add sparklines; since the newer data was on the left, it looked…
writing I just put up two new short stories on my writing page: A Gentleman s Guide to Mice and The Most Epic Food Fight at Oceanside Middle School . Both were written for a fiction writing class I took in my last semester at UPenn. Unlike much of my earlier writing, they re humorous!
advice insights school Thoughts/Essay As I head out from Penn, here are some of the most important things I ve learned about life so far. I almost didn t publish this because in some ways offering general advice is pretentious, but I hope that someone will be a little happier for having read this. Be nice to people even when you don t want to. It can take some mental effort, but it s amazing how…
writing Thoughts/Essay I had a lot of fun writing my first book, Game Development with Three.js . Here are some things I learned: Writing Before I started writing, I created an outline for the book including page counts for each chapter. I stuck pretty closely to that outline and ended up pretty close to the page counts. However, it was still hard to figure out what to leave out. I realized as I…
advice entrepreneurship learning Thoughts/Essay I write a lot of open-source software and prospective users often ask whether it s possible to do [thing they want] with it. I tell them that of course it s possible -- just probably infeasible under reasonable constraints. When you re building something new, you get to choose your constraints. When you re using something someone else built, you re…
coding development programming productivity Tip/Tutorial I need to use this command every once in awhile and I always forget how to do it off the top of my head. grep -lr --exclude-dir=".git" -e "oldword" . | xargs sed -i -e s/oldword/newword/g If you re on Windows you ll need unix command-line tools installed. The easiest way to do that is with Gow . Here s what each piece does: grep searches for…