64
Sudar Muthu Hacking 101

Hacking 101

Embed Size (px)

DESCRIPTION

Hack 101 talk in IIT Bombay for Yahoo HackU

Citation preview

Page 1: Hacking 101

Sudar Muthu

Hacking 101

Page 2: Hacking 101

What is a hack?

Page 3: Hacking 101

“Hacking” is a constructive term.

“Cracking” is destructive

Page 4: Hacking 101
Page 5: Hacking 101

hacker: n. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities

Page 6: Hacking 101

“Altering a system to do what you want it to do using

what is at your disposal”

Page 7: Hacking 101
Page 8: Hacking 101

What is HackU?

Page 9: Hacking 101

24 hours of un-interrupted, unrestrained coding and

innovation

Page 10: Hacking 101

Hack

Page 11: Hacking 101

Eat

Page 12: Hacking 101

Get Help

Page 13: Hacking 101

Recharge

Page 14: Hacking 101

Have Fun

Page 15: Hacking 101

Hack

http://www.flickr.com/photos/rlerdorf/3250595638/

Fix

Page 16: Hacking 101

Present

Page 17: Hacking 101

Win

Page 18: Hacking 101

Where do I start?

Page 19: Hacking 101

A good hack starts with an idea…

Page 20: Hacking 101
Page 21: Hacking 101

Build something you will use yourself

Page 22: Hacking 101
Page 23: Hacking 101

Show us what can be built using the systems we

(and others) offer.

Page 24: Hacking 101

http://developer.yahoo.com

Page 25: Hacking 101

http://www.github.com/

Page 26: Hacking 101

To build a typical web hack you need data, access

and an interface

Page 27: Hacking 101

Yahoo! has opened up its data

Page 28: Hacking 101

Search (BOSS), Flickr, Geo, Social, Mail,

Messenger…

Page 29: Hacking 101

And so have others

Page 30: Hacking 101

Programmable web lists 6670 APIs in their API

directoryTwitter, Facebook, Google, …

Page 31: Hacking 101

To access these you can use YQL

Page 32: Hacking 101

YQL is a SQL-Like Language that lets you …

Page 33: Hacking 101

… filter, combine, tweak data across hundreds of Web Services.

http://developer.yahoo.com/yql/console

Page 34: Hacking 101

How will you build a system to calculate distance between two places?

Page 35: Hacking 101

Use Vincenty's formulae

Page 36: Hacking 101

Or use YQL

Page 37: Hacking 101
Page 38: Hacking 101

YQL has more to it

Page 39: Hacking 101

There’s also Yahoo Pipes to do this visually

Page 40: Hacking 101

http://pipes.yahoo.com/

Page 41: Hacking 101

Data however is not enough.

Page 42: Hacking 101

You also need working interfaces

Page 43: Hacking 101

Technologies are easy:HTML, CSS, JavaScript

Page 44: Hacking 101

Making it work on all browsers and OS is tricky

Page 45: Hacking 101

YUI

Page 46: Hacking 101

http://developer.yahoo.com/yui

Page 47: Hacking 101

Presenting your hack

Page 48: Hacking 101

Do not show us slides about your hack

Page 49: Hacking 101

Instead show us what you have done

Page 50: Hacking 101

Technical glitches happen

Page 51: Hacking 101

Have a plan-B

Page 52: Hacking 101

Have a Plan B

• Record screencast• Do not depend on the internet• Keep your stuff ready in the browser• Rehearse the demo with atleast one crew

member before hand

Page 53: Hacking 101

And once you are done

Page 54: Hacking 101

And once you are done

• Keep your hack live for others to see• Show other hackers what you have done• Publish your code in Github• Let us know and we can help you to take it

even further!

Page 55: Hacking 101
Page 56: Hacking 101

Don’t limit yourself to your favorite toys

Page 57: Hacking 101

A good hack doesn’t need to be a big thing

http://www.flickr.com/photos/capricorndragon/4000384412/

Page 58: Hacking 101

Don’t look for features. Concentrate on one thing

Don’t look to solve everything

Page 59: Hacking 101

You only have 24 hours

Page 60: Hacking 101

Find things that already work

And put them together

Page 61: Hacking 101

Innovation has no limits

Page 62: Hacking 101

Go Hack !!!Have Fun

Page 63: Hacking 101

Thank You

Sudar Muthu@sudarmuthuhttp://sudarmuthu.comhttp://slideshare.net/sudar/

Page 64: Hacking 101

Hack Resources• http://developer.yahoo.com• http://developer.yahoo.com/yql/console• http://github.com/yahoo• http://hackyourworld.org/• http://github.com/codepo8/hackday-toolbox/• http://talks.php.net/show/hacku/