Computer Science

Web Security and Privacy

This is a research paper I wrote about Web Security and Privacy. It’s quite an interesting read, if you’ve got 20 minutes to spare.

Web Security and Privacy by Feross Aboukhadijeh(Interesting fact: I wrote the entire final draft of this 25-page paper in less than 24 hours. Coding up the proof-of-concept attack page demo took two days, and gathering information took several weeks, but I finished the actual writing in less than one full day.)

Related Posts

  1. Very busy. Sorry for lack of updates.
  2. Stanford iPhone App Final Project – iBoard
  3. Facebook Launch Night
  4. What’s been happening in my life

Posted under Computer Science, Essays, Stanford Life, The Internets, Web Dev on Jul 07, 2010.

Leave a Comment 936 views :, , , , ,


Richard Stallman Comes to Stanford

Richard Stallman at Stanford University

Richard Stallman at Stanford University

A few weeks ago, I had the amazing opportunity to meet Richard Stallman — founder of the GNU Project and Free Software Foundation, and developer of the amazingly popular GNU Emacs, GNU compiler (gcc), and GNU debugger (gdb).

RMS, as he likes to be called, is a living legend in the computing field. He’s widely considered to be the father of the free software movement. There is no question that the free software philosophy has brought enormous amounts of good to the world. I firmly believe this. I think most programmers and computer scientists would agree, too.

Hollywood Loves Linux

GNU/Linux render farm at Dreamworks

Free software is everywhere today. The popular operating system GNU/Linux (which Stallman wrote large parts of) powers so much of our computing today, nearly everyone has used it, whether they’ve heard of it or not.

The majority of servers on the Internet are powered by Apache and GNU/Linux, major parts of the Internet and most networks in large corporations are powered by GNU/Linux, and even 95% of the desktops and servers at major Hollywood movie studios like Disney, Pixar, DreamWorks, and Sony run GNU/Linux.

Many people are confused about what the phrase “free software” means. Before I continue, let’s be clear about the definition of free software.

Related Posts

  1. Free Software Foundation is Awesome
  2. Misinterpreting Copyright
  3. Halting Problem Poem
  4. Microsoft CEO, Steve Ballmer, is coming to Stanford

Posted under Computer Science, Famous People, Politics on May 21, 2010.

2 Comments 1,607 views :, , , , , , ,


of != for

Association of computing machinery

Stanford Association of Computing Machinery means something completely different. It’s for, not of. Get our name right, please.

More about the Stanford Association for Computing Machinery.

Related Posts

  1. Quoted

Posted under Computer Science on Apr 26, 2010.

Leave a Comment 1,106 views :, , ,


Stanford iPhone App Final Project – iBoard

This is the iPhone app that I’m working on with my friend John Hiesey. iBoard is a networked drawing app that allows multiple users from around the world to draw together on the same drawing canvas in real-time. Use it to share your ideas — diagram, brainstorm, sketch, or doodle with your friends from around the world in real-time.

The video is from the final project presentations for the Stanford course CS193P: iPhone Programming. Before our demo, our iPod touch was accidentally disconnected from the server, so it caused a hiccup in our demo — but we still proved that it works using the iPhone simulators on our Macbook Pros.

Also, the name iBoard is likely to change before we put it on the App Store. Please share your comments and feedback!

Related Posts

  1. I broke my iPhone.
  2. I won the Stanford ETL T-shirt Contest!
  3. Microsoft CEO, Steve Ballmer, is coming to Stanford

Posted under Computer Science, Stanford Life, This is AWESOME! on Apr 05, 2010.

9 Comments 4,276 views :, , , , ,


GCC Undefined Behavior

Check out this little GCC gem that I just discovered read about.

In GCC 1.17, when the compiler encountered specific forms of undefined behavior (unknown/not implemented #pragmas), here’s the code it executed:

execl("/usr/games/hack", "#pragma", 0); // try to run the game NetHack

execl("/usr/games/rogue", "#pragma", 0); // try to run the game Rogue

// try to run the Tower's of Hanoi simulation in Emacs.
execl("/usr/new/emacs",  "-f","hanoi","9","-kill",0);

execl("/usr/local/emacs“,"-f“,"hanoi“,"9“,"-kill“,0); // same as above

fatal("You are in a maze of twisty compiler features, all different");

When GCC identified “bad” C++ code, it tried to start NetHack, Rogue, or Towers of Hanoi. Failing all three, GCC printed out a cryptic error message. Wow.

This just goes to show you that when the official C++ specification talks about undefined behavior, they mean business:

[Undefined behavior is] behavior, such as might arise upon use of an erroneous program construct or erroneous data, for which the Standard imposes no requirements

No requirements indeed.

Update: It turns out this is actually implementation-defined behavior, which is slightly different than undefined behavior. Implementation-defined behavior actually requires the compiler to document what it does, but there are no requirements on what it can do.

Related Posts

  1. Konami Code
  2. The Cake Is A Lie

Posted under Computer Science, This is AWESOME!, Video Games on Mar 28, 2010.

5 Comments 8,021 views :, , , ,


Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact me so I can take care of it!

Archives

All entries, chronologically...

KONAMI CODE!!!

Contra

+30 LIVES!