Cover photo
Laurence Gonsalves
Works at Self
Attended University of Waterloo
Lives in United States of America
3,374 followers|207,755 views


Google Play Music and Sonos. We’re about to make beautiful music together:

#googleplay   #music   #sonos  
Add a comment...

Laurence Gonsalves

Shared publicly  - 
This is a pretty crazy article about how the Twitter handle @N was stolen using social engineering. The most amazing parts are the emails from the attacker.

"I would also like to inform you that your GoDaddy domains are in my possession, one fake purchase and they can be repossessed by godaddy and never seen again D:

I see you run quite a few nice websites so I have left those alone for now, all data on the sites has remained intact. Would you be willing to compromise? access to @N for about 5minutes while I swap the handle in exchange for your godaddy, and help securing your data?"

And then later the attacker explains the attack in detail.

Naoki Hiroshima, the victim, wonders "what’s more shocking, the fact that PayPal gave the attacker the last four digits of my credit card number over the phone, or that GoDaddy accepted it as verification". The answer is that GoDaddy accepting this as verification is more shocking. The last 4 digits of your credit card appear everywhere, from restaurant receipts to not-quite-logged-in-so-we'll-need-your-password-again-to-do-anything-really-important sections of websites. They are not really secure. That isn't to say that PayPal should give out these digits without significant verification, but what GoDaddy did is far worse.

GoDaddy accepted the last 4 digits as verification, but also required the first 2 digits. If you know anything about how credit cards work, you'll know that requiring the first 2 digits add almost no extra security. The first digit will be either 4 (Visa), 5 (MasterCard) or 3 (Amex) in the vast majority of cases. For Amex cards, the second digit will be 4 or 7. For Visa and MasterCard, the second digit (actually the first 4-6 digits) indicate which bank issued the card. So for most cards, there are only 22 or so pairs of starting digits, and if you know the card type or bank you can narrow things down further. To make matters (much) worse, "GoDaddy allowed him to keep trying until he nailed it. Insane."

Yet another reason I'm happy that I no longer use GoDaddy.
Emily Gonsalves's profile photoMilton Baxter's profile photo
Add a comment...

Laurence Gonsalves

Shared publicly  - 
Kirk, Spock, and McCoy made out of beads.

Apparently an art installation at the Microsoft office Studio D in Redmond, made by Devorah Sperber out of 75,000 beads.

I wonder if the beads were placed by hand. I feel like it would almost be less time consuming to make a robot to do this. Either way, awesome.
Danny Epstein's profile photo
Add a comment...

Laurence Gonsalves

Shared publicly  - 
A tree with trees hanging from its branches. To a computer scientist this is entirely unremarkable.
Add a comment...

Laurence Gonsalves

Shared publicly  - 
The Commodore 128 was my favorite computer growing up even though the Amiga I got later was a superior machine in almost every way. My Google+ cover photo is actually the motherboard from my 128.

The book Commodore: A Company on the Edge by Brian Bagnall has additional details about the history of the 128. I especially liked the story about the origin of the Z80 used in the prototype 128.
Add a comment...
Have him in circles
3,374 people
I was wondering how to do something in vim so I googled it, and found a StackOverflow page with an answer. As I'm reading the answer  I notice a comment underneath that says "Thanks, Laurence". My first thought was "someone else named Laurence answering vim questions on StackOverflow?" But no, I'm the one who wrote the answer.

Thanks, former self.
Laurence Gonsalves's profile photoDerek Snyder's profile photoPaul Crowley's profile photomathew murphy's profile photo
I've gone to Google for an answer to something and found that my own web site is the best source.
Add a comment...
Brilliant and funny video showing a system that automatically learns an objective function for playing NES games, and then plays them.

Additional videos here:
Add a comment...
Alex on the beach near Monterey looking for seashells.
Add a comment...
I never had a machine with a 6809, but I still found reading about this hack really interesting.
Laurence Gonsalves's profile photoDerek Snyder's profile photoRay Ryan's profile photo
That reminds me of something I did in a game I wrote in BASIC on the Commodore 128. At start up the game spent a few minutes loading data. I could make this faster by switching to "fast" mode (2MHz!) but it blanked the screen -- boring. It could still make sounds, though, so I had it play "music" where the notes were based on the data being loaded.

A couple of years later I realized that it would have been easy to reduce the amount of data that game had to load by almost 4 orders of magnitude. In my defense, I was 12. :-P
Add a comment...

Laurence Gonsalves

Shared publicly  - 
Amiga emulation in Chrome!
Play Amiga games in Chrome! Check out our latest Portable Native Client technology demo: an Amiga emulator running in Chrome. Now you can play the good old Amiga games directly in the browser. Portable Native Client is supported in Chrome on Windows, Mac, Linux, and Chrome OS. Cloanto kindly provided the ROMs and disks for this demo, and also put together a Chrome Web Store app (Amiga Forever Essentials) in record time (thanks guys!) You can run the Amiga in full-screen and even connect a USB gamepad.

The emulator code is based on the Open Source Universal Amiga Emulator which is about 400k lines of C code, which were ported to Native Client. All the code is available in Open Source for anyone interested in porting their own C/C++ code to the web.
Jerry Morrison's profile photo
+RJ Mical +Leo L. Schwab
I might have DPaint around here somewhere...
Add a comment...
Have him in circles
3,374 people
Independent Software Developer
  • Self
    2010 - present
  • Google
    Staff Software Engineer, 2000 - 2010
  • Oracle Corporation
    Software Engineer, 1998 - 2000
  • MKS
    Software Developer (intern), 1996 - 1997
  • Virtek
    Software Developer (intern), 1996 - 1996
  • Watcom
    Software Developer (intern), 1994 - 1995
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
United States of America
Newmarket, Ontario, Canada - Waterloo, Ontario, Canada - San Francisco Bay Area
Maker, Coder, Dad.

I'm an independent software developer, father of two, and that guy with the foam Lego head.

I like making things. By profession I'm a software developer (ie: I make code) but I also like making other kinds of things. I've dabbled in electronics, wood working, various arts and crafts and Lego robotics.

I'm also interested in science and technology in general, mathematics, computers, robots, science fiction (especially "hard" SF), video games, animation and photography.

When it comes to software development, I'm mostly a generalist, but the areas I'm especially interested in are programming languages, collaborative filtering, and graphics (both 2D and 3D). I'm also known to have opinions about web development and user interface design, though my UI designer friends would probably laugh at the latter.

I used to work at Google where I was one of the first engineers on AdWords, AdSense, and Google's billing systems. I later started Google Reader as a 20% project. Check out my LinkedIn Profile if you want a more complete picture of my CV.

  • University of Waterloo
    Computer Science
Basic Information