SlideShare a Scribd company logo
1 of 44
Download to read offline
SHARING OUR CODER PRIVILEGE
CHRIS HEILMANN (@CODEPO8), ØREDEV, SWEDEN,09/11/2016
Christian Heilmann
@codepo8
No university degree
No finished job education
😃 Senior Program Manager at Microsoft
😃 Wrote a few books and hundreds of articles
😃 Worked on some of the biggest web products
out there
😃 Ex-Yahoo, Ex-Mozilla…
😃 Spoke at over 80 conferences in the last few
years
😃 Can afford to live in London
MAN, I WAS
AWESOME!
(I GOT A BIT BETTER)
IT ALL STARTED
WITH A FLOPPY…
I SUCKED AT
PLAYING GAMES -
AND IT WAS
FRUSTRATING.
TCS ➜ RUN ➜
ENDLESS LIVES!
THOSE CRACKERS
MUST BE
SOMETHING
REALLY SPECIAL!
OPEN SESAME!
FREEZE GAME ➜
EDIT SCREEN ➜
FIND LIVES COUNTER ADDRESS
(F.E. $0410) ➜
HUNT MEMORY FOR CE 10 04 (DEC
$0410) ➜
REPLACE WITH EA EA EA (NOP
NOP NOP) ➜
ENDLESS LIVES!
LET’S GO
THE DOOR WAS OPEN, AND I TOOK ONE
STEP AT A TIME AND KEPT EXPLORING!
ENHANCE!
• Level skipper
• Weapons chooser
• Toggle sprite collision
• Learn Assembly language to
write trainer menu
• Find space in memory for said
menu
RELEASE!
• Learn about packers to create
smaller version
• Add intro to boast
• Give to people
UPPING THE
GAME!
• Removing copy protections
• Level crunchers/packers
• Fast loaders
THE HACKER
NEWS OF OLD…
COMPETITION
• First release
• Smallest release
• NTSC/PAL fix
STANDING OUT
FROM THE
COMPETITION
• Jewel versions
• Bug fixing
• Highscore Savers
• Writing Docs
ELITE ACCESS
TOOLING MADE
THE DIFFERENCE
• Packers
• Storage/Transfer tools
• Cross-platform tools
• Creation tools (Assemblers,
Pixel Editors, Sprite tools…)
• BBS/FTP access
GOING LEGIT
• Writing tools
• Writing Games
• Coding Intros/Demos
• Moving on…
ACCIDENTAL
ARCHIVISM
OHAI
CINEMAWARE…
ACCIDENTAL
ARCHIVISM
• Floppies ➜ BBS ➜ FTP
• Original storage media is
unreadable
• Original companies gone
• No official backups
THINGS I
LEARNED
THINGS I
LEARNED
• Nothing can hold you back
when you are good at
analysing and repeating
• Everything you see on screen
came from somewhere - it is
never set in stone
• It is much more fun to explore
and tweak than to get
something handed to you
THINGS I
LEARNED
• Working in a limited/unknown
environment is a wonderful
challenge
• You don’t need to feel limited
by the environment you target -
you can use whatever you
want to create for it
• The more people do this, the
more best practices can be
shared.
160 × 200 PIXELS
(ON A 320 × 200 PIXELS DISPLAY)
16 PREDEFINED COLOURS
1 SCREEN-WIDE
BACKGROUND COLOUR.
3 COLOURS IN EACH
8 × 8 (4 × 2) PIXEL
SQUARE
160 × 200 PIXELS
(ON A 320 × 200 PIXELS DISPLAY)
16 PREDEFINED COLOURS
1 SCREEN-WIDE
BACKGROUND COLOUR.
3 COLOURS IN EACH
8 × 8 (4 × 2) PIXEL
SQUARE
160 × 200 PIXELS
(ON A 320 × 200 PIXELS DISPLAY)
16 PREDEFINED COLOURS
1 SCREEN-WIDE
BACKGROUND COLOUR.
3 COLOURS IN EACH
8 × 8 (4 × 2) PIXEL
SQUARE
160 × 200 PIXELS
(ON A 320 × 200 PIXELS DISPLAY)
16 PREDEFINED COLOURS
1 SCREEN-WIDE
BACKGROUND COLOUR.
3 COLOURS IN EACH
8 × 8 (4 × 2) PIXEL
SQUARE
• MUCH BETTER TOOLING
• EXPERIENCE
• SHARED TRICKERY AND
KNOWLEDGE
• LOVE FOR THE PLATFORM
HELLO, WEB
HELLO VIEW
SOURCE
• A big part of my success on
the web was using view
source and reverse
engineering
• We all did, don’t let people tell
you otherwise
• The lack of distance between
creation and consumption was
really down my alley…
HELLO, TOOLS…
• Crawlers, Link checkers
• HTML Validators
• Web Development toolbars
• HTTP proxies, sniffers
• Venkman, Frontpage Express
JS Debugger…
VIEW SOURCE+5/
[H]/100%/JEWEL
VIEW SOURCE+5/
[H]/100%/JEWEL
• These days, developer tools
have replaced view source
• We have incredible insight into
what our code does in the
browser
• Of course, not everybody is
ready for this…
Open sesame!WELCOME TO CYBER SPACE, HELP THE CYBER POLICE!
HERE IS WHERE
WE COME IN.
• We are at the forefront of online
media
• We are creators and makers -
not consumers
• We have the privilege of open
tools, an open platform and
openly available
documentation.
GETTING STARTED
HAS NEVER BEEN
EASIER…
• Using GitHub, you can host
your code, collaborate,
execute your projects, write
collaborative documentation
and books…
• Using social media we can
promote these products, share
knowledge and invite people
to learn…
YOU’RE BUILDING
ON EXISTING
SOLUTIONS…
• You don’t need to start from
scratch - you can contribute to
thousands of existing projects -
many aimed to teach people
how to become a web maker.
• You don’t even need to code.
You can help with UX, or
document, or herd
communities.
ONE MAIN THING I
LEARNED IN MY
WHOLE CAREER…
• You learn best by teaching
• Sharing and making people
grow with you is the best
feeling ever
• If you feel down and “not
good enough”, create
something - anything!
USE YOUR
FRUSTRATION,
YOUR ANGER AND
YOUR
DEVIOUSNESS
FOR GOOD…
• What we need more than
ever right now is education
• Traditional education is
encumbered by privilege and
costs
• We’ve been lucky - it is time
we give back
THE WEB IS THE
MOST VERSATILE
AND NON-ELITE
PLATFORM.
GO AND MAKE
YOUR MARK!
Chris Heilmann
christianheilmann.com
@codepo8
Thanks!
https://developer.microsoft.com/en-us/
microsoft-edge/
developer.mozilla.org

More Related Content

Viewers also liked

Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.Christian Heilmann
 
Machine Learning on the web - moving from Terminator to Star Trek
Machine Learning on the web - moving from Terminator to Star TrekMachine Learning on the web - moving from Terminator to Star Trek
Machine Learning on the web - moving from Terminator to Star TrekChristian Heilmann
 
Internet Days - The Depressed Internet
Internet Days - The Depressed Internet Internet Days - The Depressed Internet
Internet Days - The Depressed Internet Christian Heilmann
 
JavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynoteJavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynoteChristian Heilmann
 
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche IntelligenzZwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche IntelligenzChristian Heilmann
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017Christian Heilmann
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansChristian Heilmann
 
Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Christian Heilmann
 
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016Christian Heilmann
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindChristian Heilmann
 
Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?Christian Heilmann
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptChristian Heilmann
 
A New Hope – the web strikes back
A New Hope – the web strikes backA New Hope – the web strikes back
A New Hope – the web strikes backChristian Heilmann
 
Progressing JavaScript and Apps the Web way…
 Progressing JavaScript and Apps the Web way…  Progressing JavaScript and Apps the Web way…
Progressing JavaScript and Apps the Web way… Christian Heilmann
 
"Von Jugend an..." am A-Tag ´08
"Von Jugend an..." am A-Tag ´08"Von Jugend an..." am A-Tag ´08
"Von Jugend an..." am A-Tag ´08Robert Lender
 

Viewers also liked (17)

Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.
 
Machine Learning on the web - moving from Terminator to Star Trek
Machine Learning on the web - moving from Terminator to Star TrekMachine Learning on the web - moving from Terminator to Star Trek
Machine Learning on the web - moving from Terminator to Star Trek
 
Internet Days - The Depressed Internet
Internet Days - The Depressed Internet Internet Days - The Depressed Internet
Internet Days - The Depressed Internet
 
JavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynoteJavaScript is a buffet - Scriptconf 2017 keynote
JavaScript is a buffet - Scriptconf 2017 keynote
 
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche IntelligenzZwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
 
Supercharging Public Speaking
Supercharging Public SpeakingSupercharging Public Speaking
Supercharging Public Speaking
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for Humans
 
Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016
 
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind
 
Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?Progressive Web Apps – the return of the web?
Progressive Web Apps – the return of the web?
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
 
Bridging the future gap
Bridging the future gap Bridging the future gap
Bridging the future gap
 
A New Hope – the web strikes back
A New Hope – the web strikes backA New Hope – the web strikes back
A New Hope – the web strikes back
 
Progressing JavaScript and Apps the Web way…
 Progressing JavaScript and Apps the Web way…  Progressing JavaScript and Apps the Web way…
Progressing JavaScript and Apps the Web way…
 
"Von Jugend an..." am A-Tag ´08
"Von Jugend an..." am A-Tag ´08"Von Jugend an..." am A-Tag ´08
"Von Jugend an..." am A-Tag ´08
 

Similar to Sharing our Coder Privilege

Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015Christian Heilmann
 
Advancing the web without breaking it - #btconf
Advancing the web without breaking it - #btconfAdvancing the web without breaking it - #btconf
Advancing the web without breaking it - #btconfChristian Heilmann
 
Designing interactive learning spaces - Wyoming steam conference
Designing interactive learning spaces - Wyoming steam conferenceDesigning interactive learning spaces - Wyoming steam conference
Designing interactive learning spaces - Wyoming steam conferenceBrian Pichman
 
Designing Interactive Learning Spaces
Designing Interactive Learning Spaces Designing Interactive Learning Spaces
Designing Interactive Learning Spaces Brian Pichman
 
UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)
UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)
UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)ux singapore
 
Patrick Curry Meet Up
Patrick Curry Meet UpPatrick Curry Meet Up
Patrick Curry Meet UpTsugi
 
Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Adrian Roselli
 
Lecture 010 Polishing the UI
Lecture 010 Polishing the UILecture 010 Polishing the UI
Lecture 010 Polishing the UIChristina Wodtke
 
Designing Interactive Spaces
Designing Interactive SpacesDesigning Interactive Spaces
Designing Interactive SpacesBrian Pichman
 
Serendipity by Design - IxD S. America 13
Serendipity by Design - IxD S. America 13Serendipity by Design - IxD S. America 13
Serendipity by Design - IxD S. America 13Dave Malouf
 
Intro to game design
Intro to game designIntro to game design
Intro to game designDevin Becker
 
Enabling Creativity: Software that encourages creation and exploration
Enabling Creativity: Software that encourages creation and explorationEnabling Creativity: Software that encourages creation and exploration
Enabling Creativity: Software that encourages creation and explorationKevin Lawver
 
NCompass Live: Tech Talk with Michael Sauers: Tinkers, Printers & Makers, A M...
NCompass Live: Tech Talk with Michael Sauers: Tinkers, Printers & Makers, A M...NCompass Live: Tech Talk with Michael Sauers: Tinkers, Printers & Makers, A M...
NCompass Live: Tech Talk with Michael Sauers: Tinkers, Printers & Makers, A M...Nebraska Library Commission
 
Hitchhikers Guide to Participating in Open Source - Long Version
Hitchhikers Guide to Participating in Open Source - Long VersionHitchhikers Guide to Participating in Open Source - Long Version
Hitchhikers Guide to Participating in Open Source - Long VersionElena Williams
 
Tinkers, Printers & Makers (NLA2014)
Tinkers, Printers & Makers (NLA2014)Tinkers, Printers & Makers (NLA2014)
Tinkers, Printers & Makers (NLA2014)Michael Sauers
 
Tinkers, Printers, & Makers: Makerspaces in the Library (November 2015)
Tinkers, Printers, & Makers: Makerspaces in the Library (November 2015)Tinkers, Printers, & Makers: Makerspaces in the Library (November 2015)
Tinkers, Printers, & Makers: Makerspaces in the Library (November 2015)Michael Sauers
 
Designing Interactive Library Spaces - Seminar w/ EdLab, Teachers College of ...
Designing Interactive Library Spaces - Seminar w/ EdLab, Teachers College of ...Designing Interactive Library Spaces - Seminar w/ EdLab, Teachers College of ...
Designing Interactive Library Spaces - Seminar w/ EdLab, Teachers College of ...Brian Pichman
 

Similar to Sharing our Coder Privilege (20)

Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
Crack, Train, Fix, Release - Keynote at DevIT Thessaloniki 2015
 
Advancing the web without breaking it - #btconf
Advancing the web without breaking it - #btconfAdvancing the web without breaking it - #btconf
Advancing the web without breaking it - #btconf
 
Game Designer's Journey
Game Designer's JourneyGame Designer's Journey
Game Designer's Journey
 
Designing interactive learning spaces - Wyoming steam conference
Designing interactive learning spaces - Wyoming steam conferenceDesigning interactive learning spaces - Wyoming steam conference
Designing interactive learning spaces - Wyoming steam conference
 
Designing Interactive Learning Spaces
Designing Interactive Learning Spaces Designing Interactive Learning Spaces
Designing Interactive Learning Spaces
 
UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)
UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)
UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)
 
Patrick Curry Meet Up
Patrick Curry Meet UpPatrick Curry Meet Up
Patrick Curry Meet Up
 
Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018
 
Lecture 010 Polishing the UI
Lecture 010 Polishing the UILecture 010 Polishing the UI
Lecture 010 Polishing the UI
 
Designing Interactive Spaces
Designing Interactive SpacesDesigning Interactive Spaces
Designing Interactive Spaces
 
Serendipity by Design - IxD S. America 13
Serendipity by Design - IxD S. America 13Serendipity by Design - IxD S. America 13
Serendipity by Design - IxD S. America 13
 
Intro to game design
Intro to game designIntro to game design
Intro to game design
 
Enabling Creativity: Software that encourages creation and exploration
Enabling Creativity: Software that encourages creation and explorationEnabling Creativity: Software that encourages creation and exploration
Enabling Creativity: Software that encourages creation and exploration
 
NCompass Live: Tech Talk with Michael Sauers: Tinkers, Printers & Makers, A M...
NCompass Live: Tech Talk with Michael Sauers: Tinkers, Printers & Makers, A M...NCompass Live: Tech Talk with Michael Sauers: Tinkers, Printers & Makers, A M...
NCompass Live: Tech Talk with Michael Sauers: Tinkers, Printers & Makers, A M...
 
Hitchhikers Guide to Participating in Open Source - Long Version
Hitchhikers Guide to Participating in Open Source - Long VersionHitchhikers Guide to Participating in Open Source - Long Version
Hitchhikers Guide to Participating in Open Source - Long Version
 
Tinkers, Printers & Makers (NLA2014)
Tinkers, Printers & Makers (NLA2014)Tinkers, Printers & Makers (NLA2014)
Tinkers, Printers & Makers (NLA2014)
 
Tinkers, Printers, & Makers: Makerspaces in the Library (November 2015)
Tinkers, Printers, & Makers: Makerspaces in the Library (November 2015)Tinkers, Printers, & Makers: Makerspaces in the Library (November 2015)
Tinkers, Printers, & Makers: Makerspaces in the Library (November 2015)
 
Sound soft hackday-100905
Sound soft hackday-100905Sound soft hackday-100905
Sound soft hackday-100905
 
Designing Interactive Library Spaces - Seminar w/ EdLab, Teachers College of ...
Designing Interactive Library Spaces - Seminar w/ EdLab, Teachers College of ...Designing Interactive Library Spaces - Seminar w/ EdLab, Teachers College of ...
Designing Interactive Library Spaces - Seminar w/ EdLab, Teachers College of ...
 
Lifehacks
LifehacksLifehacks
Lifehacks
 

More from Christian Heilmann

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloChristian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteChristian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteChristian Heilmann
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandChristian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerChristian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?Christian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachChristian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsChristian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansChristian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlChristian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Christian Heilmann
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
 

More from Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxNikitaBankoti2
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 

Recently uploaded (20)

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 

Sharing our Coder Privilege

  • 1. SHARING OUR CODER PRIVILEGE CHRIS HEILMANN (@CODEPO8), ØREDEV, SWEDEN,09/11/2016
  • 2. Christian Heilmann @codepo8 No university degree No finished job education 😃 Senior Program Manager at Microsoft 😃 Wrote a few books and hundreds of articles 😃 Worked on some of the biggest web products out there 😃 Ex-Yahoo, Ex-Mozilla… 😃 Spoke at over 80 conferences in the last few years 😃 Can afford to live in London
  • 3.
  • 4.
  • 5. MAN, I WAS AWESOME! (I GOT A BIT BETTER)
  • 6. IT ALL STARTED WITH A FLOPPY…
  • 7. I SUCKED AT PLAYING GAMES - AND IT WAS FRUSTRATING.
  • 8. TCS ➜ RUN ➜ ENDLESS LIVES!
  • 11. FREEZE GAME ➜ EDIT SCREEN ➜ FIND LIVES COUNTER ADDRESS (F.E. $0410) ➜ HUNT MEMORY FOR CE 10 04 (DEC $0410) ➜ REPLACE WITH EA EA EA (NOP NOP NOP) ➜ ENDLESS LIVES!
  • 12. LET’S GO THE DOOR WAS OPEN, AND I TOOK ONE STEP AT A TIME AND KEPT EXPLORING!
  • 13. ENHANCE! • Level skipper • Weapons chooser • Toggle sprite collision • Learn Assembly language to write trainer menu • Find space in memory for said menu
  • 14. RELEASE! • Learn about packers to create smaller version • Add intro to boast • Give to people
  • 15. UPPING THE GAME! • Removing copy protections • Level crunchers/packers • Fast loaders
  • 17. COMPETITION • First release • Smallest release • NTSC/PAL fix
  • 18. STANDING OUT FROM THE COMPETITION • Jewel versions • Bug fixing • Highscore Savers • Writing Docs
  • 19. ELITE ACCESS TOOLING MADE THE DIFFERENCE • Packers • Storage/Transfer tools • Cross-platform tools • Creation tools (Assemblers, Pixel Editors, Sprite tools…) • BBS/FTP access
  • 20. GOING LEGIT • Writing tools • Writing Games • Coding Intros/Demos • Moving on…
  • 23. ACCIDENTAL ARCHIVISM • Floppies ➜ BBS ➜ FTP • Original storage media is unreadable • Original companies gone • No official backups
  • 25. THINGS I LEARNED • Nothing can hold you back when you are good at analysing and repeating • Everything you see on screen came from somewhere - it is never set in stone • It is much more fun to explore and tweak than to get something handed to you
  • 26. THINGS I LEARNED • Working in a limited/unknown environment is a wonderful challenge • You don’t need to feel limited by the environment you target - you can use whatever you want to create for it • The more people do this, the more best practices can be shared.
  • 27. 160 × 200 PIXELS (ON A 320 × 200 PIXELS DISPLAY) 16 PREDEFINED COLOURS 1 SCREEN-WIDE BACKGROUND COLOUR. 3 COLOURS IN EACH 8 × 8 (4 × 2) PIXEL SQUARE
  • 28. 160 × 200 PIXELS (ON A 320 × 200 PIXELS DISPLAY) 16 PREDEFINED COLOURS 1 SCREEN-WIDE BACKGROUND COLOUR. 3 COLOURS IN EACH 8 × 8 (4 × 2) PIXEL SQUARE
  • 29. 160 × 200 PIXELS (ON A 320 × 200 PIXELS DISPLAY) 16 PREDEFINED COLOURS 1 SCREEN-WIDE BACKGROUND COLOUR. 3 COLOURS IN EACH 8 × 8 (4 × 2) PIXEL SQUARE
  • 30. 160 × 200 PIXELS (ON A 320 × 200 PIXELS DISPLAY) 16 PREDEFINED COLOURS 1 SCREEN-WIDE BACKGROUND COLOUR. 3 COLOURS IN EACH 8 × 8 (4 × 2) PIXEL SQUARE • MUCH BETTER TOOLING • EXPERIENCE • SHARED TRICKERY AND KNOWLEDGE • LOVE FOR THE PLATFORM
  • 32. HELLO VIEW SOURCE • A big part of my success on the web was using view source and reverse engineering • We all did, don’t let people tell you otherwise • The lack of distance between creation and consumption was really down my alley…
  • 33. HELLO, TOOLS… • Crawlers, Link checkers • HTML Validators • Web Development toolbars • HTTP proxies, sniffers • Venkman, Frontpage Express JS Debugger…
  • 35. VIEW SOURCE+5/ [H]/100%/JEWEL • These days, developer tools have replaced view source • We have incredible insight into what our code does in the browser • Of course, not everybody is ready for this…
  • 36. Open sesame!WELCOME TO CYBER SPACE, HELP THE CYBER POLICE!
  • 37. HERE IS WHERE WE COME IN. • We are at the forefront of online media • We are creators and makers - not consumers • We have the privilege of open tools, an open platform and openly available documentation.
  • 38. GETTING STARTED HAS NEVER BEEN EASIER… • Using GitHub, you can host your code, collaborate, execute your projects, write collaborative documentation and books… • Using social media we can promote these products, share knowledge and invite people to learn…
  • 39. YOU’RE BUILDING ON EXISTING SOLUTIONS… • You don’t need to start from scratch - you can contribute to thousands of existing projects - many aimed to teach people how to become a web maker. • You don’t even need to code. You can help with UX, or document, or herd communities.
  • 40. ONE MAIN THING I LEARNED IN MY WHOLE CAREER… • You learn best by teaching • Sharing and making people grow with you is the best feeling ever • If you feel down and “not good enough”, create something - anything!
  • 41. USE YOUR FRUSTRATION, YOUR ANGER AND YOUR DEVIOUSNESS FOR GOOD… • What we need more than ever right now is education • Traditional education is encumbered by privilege and costs • We’ve been lucky - it is time we give back
  • 42.
  • 43. THE WEB IS THE MOST VERSATILE AND NON-ELITE PLATFORM. GO AND MAKE YOUR MARK!