SlideShare a Scribd company logo
1 of 135
Download to read offline
Bastelstunde mit dem
Web und freien Daten.




                           Chris&an Heilmann
              WebTechCon, Mainz, Oktober 2010
Wer?
Wie?
Was?
Der   Chris (@codepo8)



Die   Freude am Entdecken



Das   Web und warum es rockt
Wieso?
Weshalb?
Warum?
Weil ihr hier seit
und ich gern tolle
Sachen weitergebe.
Ist die Stimme dann
im Eimer, keine
Kippen, warme
Suppen...
Letzes Jahr war ich
tuechtig.
http://keywordfinder.org/
http://isithackday.com/hacks/guardian/
http://icant.co.uk/geomaker/
http://isithackday.com/geoplanet-explorer/geodrilldown.php
http://github.com/codepo8/QuickTrans
http://isithackday.com/demos/warwickshire/
http://github.com/codepo8/warwickshire
http://www.youtube.com/watch?v=_uAOyzw50PY
http://www.youtube.com/watch?v=i_1sVnNkN2M
http://isithackday.com/hacks/flickrcollector/
http://github.com/codepo8/flickrcollector
http://isithackday.com/fifa2010/
http://icant.co.uk/goohoobi/index.php?research
h<p://uk‐house‐prices.com/
http://winterolympicsmedals.com
Ich liebe es im Web
zu arbeiten.
Dinge werden
ziemlich einfach
wenn man sich
etwas vor Augen
fuehrt.
Was ist das Web?
Was ist das Web?


Daten + Darstellung
Am Anfang stehen
die Daten.
Daten kommen in
allen moeglichen
Formaten.
Fuers Web machen
nicht alle Sinn.
In den letzten
Jahren stellten sich
ein paar Formate als
am Einfachsten
fuers Web heraus...
REST
JSON
JSON-P
XML(wenns denn sein muss)
REST bedeutet im
Grunde das die URL
die Daten
beschreibt die man
haben moechte.
http://www.delicious.com/
http://www.delicious.com/codepo8/
http://www.delicious.com/codepo8/javascript
http://www.delicious.com/codepo8/javascript+ajax
Das gilt auch fuer
Web Services und
andere Formate.
Wasn JSON?
JSON ist die
JavaScript Object
Notation.
Wollen wir zum
Beispiel einen
genialen Film
definieren, kann
man das mit XML
machen.
XML
XML
XML JSON
JSON hat ein paar
Fehler, aber kann
mehr fuers Web.
JSON ist kuerzer,
mit weniger
Wiederholungen
und vor allem isses
auch gleich
JavaScript!
JSON-P ist das
gleiche, nur ist da
noch ein
Funktionsaufruf
drumrum.
Daher kann man
JSON-P gleich in
JavaScript in
<script> verwenden!
http://feeds.delicious.com/v2/
json/popular/javascript
?callback=legga
Also, alles ziemlich
einfach!
Nur verwendet man
das halt nicht so oft.
Das Problem mit
APIs ist das man
sich ne
Menge
merken
muss.
Ausserdem muss
man sich auch noch
ueberall
einschreiben.
Daher benutze ich
YQL.
select {was} von
{wo} where {wie}
http://query.yahooapis.com/v1/public/
yql?q=

select%20was%20von%20wo%20where
%20wie

&format=json&diagnostics=true&callbac
k=gibsmir
Anstatt eines
Services gibt es nun
alle!
Einfachste
 Anwendung:
 Scraping.



http://www.flickr.com/photos/fdtate/4426760544/
Scraping ist
problematisch -
HTML runterzuholen
ist einfach, doch die
Daten drin zu finden
ist schwierig.
HTML scraping mit
YQL macht es
einfach, seine
eigenen und die
Daten anderer zu
verwenden.
SEITEN
SEITEN
Mit YQL werden die
Seiten durch Tidy
gejagt und sind per
XPath zu erreichen.
Das kann man
verwenden um
interessante Sachen
zu machen...
Also...
http://www.slideshare.net/cheilmann/reasons-to-be-cheerful-fronteers-2010
select * from html where

url="http://www.slideshare.net/
cheilmann/reasons-to-be-cheerful-
fronteers-2010"

and

xpath="//ol/li/p[contains(.,'http')]"
http://y.ahoo.it/r/ENSPGm
Oder noch lustigere
Sachen...
http://lanyrd.com/people/codepo8/
JSON-P in jQuery:
$.ajax({
  url: url,
  dataType: 'jsonp',
  jsonp: 'callback',
  jsonpCallback: 'gibsmir'
});
function gibsmir(daten){
}
JSON-P in jQuery
(kuerzer):

$.getJSON(url+'&callback=?',
 function(data){
});
$.ajax():
http://{...}&
format=json&callback=datain


$.getJSON():
http://{...}&
format=json&callback=jsonp1282497813335


                       Zufallszahl
getJSON() macht
dem Cache des
Webservices Aua...
...da jede Anfrage
eine individuelle
URL ist, obwohl man
die gleichen Daten
haben will...
... und da kann es
dann schnell
passieren, das man
rausgeschmissen
wird.
Lokales caching
bedeutet das der
Webservice nicht
meckert.
Aufm Server ist das
einfach, daher sag
ich dazu nix.
Aufm Client
sieht das
anders aus,
da Cookies
einfach
schlecht sind.
Aber da gibbet jetzt
was Neues...
HTML5
localStorage
Anstatt Kekse auf
dem Server zu
stellen die nur 4k
sein koennen und
den HTTP Verkehr
verstopfen...
Haben wir nun
mehrere MB um
Daten als key/value
store abzulegen!
Die Daten sind per
Domain abgelegt.
So tut das:
if(('localStorage' in window) &&
window['localStorage'] !== null){
  localStorage.setItem(
    'Kuchen',
    'besser als Kekse'
  )
}
So tut das:
if(('localStorage' in window) &&
window['localStorage'] !== null){
  localStorage.getItem(
    'Kuchen'
  )
  // -> 'besser als Kekse'
}
localStorage kann
nur Strings, keine
Objekte!
Daher, JSON.
if(('localStorage' in window) &&
window['localStorage'] !== null){
  localStorage.setItem(
    'Kuchen',
    JSON.stringify(
      {lecker:‘stimmt’,kerzen:5}
    )
  );
}
if(('localStorage' in window) &&
window['localStorage'] !== null){
  JSON.parse(
    localStorage.getItem('Kuchen')
  );
  // -> Object{...} anstatt [Object object]
}
YQL mit
localStorage?
OK, dann machen
wir das halt..
yql - die Anfrage
id - der Speicherkey
cacheage - wie lang
callback - deine Funktion
Neue Browser holen
die Daten einmal
pro Stunde pro
User.
Alle anderen
machen immer noch
YQL Aua, aber
funktionieren auch.
Wie gehtn des?
OK, dann machen
wir das halt..
OK, dann machen
wir das halt..
OK, dann machen
wir das halt..
= schnellere
Applikation ohne
YQL Meckerei.
Das kommt dann
bald auf GitHub
dann kann man da
auch ein jQuery
Plugin bauen.
Scraping ist ja nett,
aber interessant
wird es wenn man
APIs verwendet.
http://github.com/codepo8/firehose-research/
http://icant.co.uk/goohoobi/index.php?research
select * from query.multi where queries='
  select Title,Description,Url,DisplayUrl
   from microsoft.bing.web(20) where query="cat";
  select title,clickurl,abstract,dispurl
   from search.web(20) where query="cat";
  select titleNoFormatting,url,content,visibleUrl
   from google.search(20) where q="cat"
'
http://vimeo.com/8075850
http://winterolympicsmedals.com
http://www.guardian.co.uk/news/datablog/
2010/feb/11/winter-olympics-medals-by-country
select * from csv where url="http://
spreadsheets.google.com/pub?
key=tpWDkIZMZleQaREf493v1Jw&output=
csv" and
columns="Year,City,Sport,Discipline,Countr
y,Event, Gender,Type" and Year="1924"
Bausteine gibts
ueberall.
http://www.yuiblog.com/blog/2010/02/11/video-heilmann-yql/
(...)
http://code.google.com/apis/charttools/




126
http://code.google.com/appengine/




128
http://github.com




129
http://heroku.com/




130
Ihr habt die Daten,
ihr habt die
Bausteine.
Alles was noch
fehlt, sind die Ideen.
Also, schaut
euch um
anstatt euch
zu verstecken
Und wer nicht fragt,
bleibt dumm!
Christian Heilmann
http://wait-till-i.com            Danke!
http://developer-evangelism.com
http://twitter.com/codepo8

More Related Content

Viewers also liked

Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)Werner Drizhal
 
Gesundheitsreform, gpa djp bundesvorstand 31.5.2012
Gesundheitsreform, gpa djp bundesvorstand 31.5.2012Gesundheitsreform, gpa djp bundesvorstand 31.5.2012
Gesundheitsreform, gpa djp bundesvorstand 31.5.2012Werner Drizhal
 
Feedback Soziale Netzwerke Allgemein
Feedback Soziale Netzwerke   AllgemeinFeedback Soziale Netzwerke   Allgemein
Feedback Soziale Netzwerke AllgemeinWerner Drizhal
 
Wieso lohnt es sich SlideShare zu nutzen?
Wieso lohnt es sich SlideShare zu nutzen?Wieso lohnt es sich SlideShare zu nutzen?
Wieso lohnt es sich SlideShare zu nutzen?Marc Oliver Thoma
 
Feedback EuropäIsche Rechtsexperimente 1
Feedback EuropäIsche Rechtsexperimente   1Feedback EuropäIsche Rechtsexperimente   1
Feedback EuropäIsche Rechtsexperimente 1Werner Drizhal
 
GWS - Wozu Soziale Netzwerke
GWS -  Wozu Soziale NetzwerkeGWS -  Wozu Soziale Netzwerke
GWS - Wozu Soziale NetzwerkeWerner Drizhal
 
SHELTER & WIEDERAUFBAU Fokus des DRK
SHELTER & WIEDERAUFBAU Fokus des DRKSHELTER & WIEDERAUFBAU Fokus des DRK
SHELTER & WIEDERAUFBAU Fokus des DRKDRKUnternehmen
 
Lac2004 werken onder architectuur
Lac2004   werken onder architectuurLac2004   werken onder architectuur
Lac2004 werken onder architectuurDan Kamminga
 
Griechenland fsg gpa djp (oktober 2012)
Griechenland fsg gpa djp (oktober 2012)Griechenland fsg gpa djp (oktober 2012)
Griechenland fsg gpa djp (oktober 2012)Werner Drizhal
 
Effizient onlinekurse auf elopage erstellen
Effizient onlinekurse auf elopage erstellenEffizient onlinekurse auf elopage erstellen
Effizient onlinekurse auf elopage erstellenAnke Lambrecht
 
Online Werbung: "i like ads"
Online Werbung: "i like ads"Online Werbung: "i like ads"
Online Werbung: "i like ads"Wolfgang Weicht
 
PM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
PM_CB.e_Wie gelingt Kommunikation im digitalen ZeitalterPM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
PM_CB.e_Wie gelingt Kommunikation im digitalen ZeitalterElisabeth Kurkowski
 

Viewers also liked (20)

Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)
 
Gesundheitsreform, gpa djp bundesvorstand 31.5.2012
Gesundheitsreform, gpa djp bundesvorstand 31.5.2012Gesundheitsreform, gpa djp bundesvorstand 31.5.2012
Gesundheitsreform, gpa djp bundesvorstand 31.5.2012
 
Feedback Soziale Netzwerke Allgemein
Feedback Soziale Netzwerke   AllgemeinFeedback Soziale Netzwerke   Allgemein
Feedback Soziale Netzwerke Allgemein
 
Monaco di Baviera
Monaco di BavieraMonaco di Baviera
Monaco di Baviera
 
Wieso lohnt es sich SlideShare zu nutzen?
Wieso lohnt es sich SlideShare zu nutzen?Wieso lohnt es sich SlideShare zu nutzen?
Wieso lohnt es sich SlideShare zu nutzen?
 
Feedback EuropäIsche Rechtsexperimente 1
Feedback EuropäIsche Rechtsexperimente   1Feedback EuropäIsche Rechtsexperimente   1
Feedback EuropäIsche Rechtsexperimente 1
 
GWS - Wozu Soziale Netzwerke
GWS -  Wozu Soziale NetzwerkeGWS -  Wozu Soziale Netzwerke
GWS - Wozu Soziale Netzwerke
 
SHELTER & WIEDERAUFBAU Fokus des DRK
SHELTER & WIEDERAUFBAU Fokus des DRKSHELTER & WIEDERAUFBAU Fokus des DRK
SHELTER & WIEDERAUFBAU Fokus des DRK
 
Al 2009 Teil 1a
Al 2009   Teil 1aAl 2009   Teil 1a
Al 2009 Teil 1a
 
Lac2004 werken onder architectuur
Lac2004   werken onder architectuurLac2004   werken onder architectuur
Lac2004 werken onder architectuur
 
Griechenland fsg gpa djp (oktober 2012)
Griechenland fsg gpa djp (oktober 2012)Griechenland fsg gpa djp (oktober 2012)
Griechenland fsg gpa djp (oktober 2012)
 
Entscheidungen
EntscheidungenEntscheidungen
Entscheidungen
 
Grundkurskonzept
Grundkurskonzept Grundkurskonzept
Grundkurskonzept
 
DRAWINGS-6-10
DRAWINGS-6-10DRAWINGS-6-10
DRAWINGS-6-10
 
Didaktischer Mehrwert
Didaktischer MehrwertDidaktischer Mehrwert
Didaktischer Mehrwert
 
Effizient onlinekurse auf elopage erstellen
Effizient onlinekurse auf elopage erstellenEffizient onlinekurse auf elopage erstellen
Effizient onlinekurse auf elopage erstellen
 
AYAB PROFILE BIG2015
AYAB PROFILE  BIG2015AYAB PROFILE  BIG2015
AYAB PROFILE BIG2015
 
Online Werbung: "i like ads"
Online Werbung: "i like ads"Online Werbung: "i like ads"
Online Werbung: "i like ads"
 
PM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
PM_CB.e_Wie gelingt Kommunikation im digitalen ZeitalterPM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
PM_CB.e_Wie gelingt Kommunikation im digitalen Zeitalter
 
WASH Fokus des DRK
WASH Fokus des DRKWASH Fokus des DRK
WASH Fokus des DRK
 

Similar to Bastelstunde mit dem web und freien-daten-webtechcon2010

Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Dirk Ginader
 
Knockin' on heaven's door - Die Praxis zu Besuch beim W3C
Knockin' on heaven's door - Die Praxis zu Besuch beim W3CKnockin' on heaven's door - Die Praxis zu Besuch beim W3C
Knockin' on heaven's door - Die Praxis zu Besuch beim W3CJens Grochtdreis
 
HTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenHTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenJonathan Weiß
 
Von Dinosauriern, Bienen und Wespen
Von Dinosauriern, Bienen und WespenVon Dinosauriern, Bienen und Wespen
Von Dinosauriern, Bienen und WespenTomas Caspers
 
Von Dinosauriern, Bienen und Wespen
Von Dinosauriern, Bienen und WespenVon Dinosauriern, Bienen und Wespen
Von Dinosauriern, Bienen und WespenJens Grochtdreis
 
Web Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkWeb Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkFabian Lange
 
Cross-Platform Mobile Apps
Cross-Platform Mobile AppsCross-Platform Mobile Apps
Cross-Platform Mobile AppsMartin Wittemann
 
YQL and YUI - Bausteine fuers web
YQL and YUI - Bausteine fuers webYQL and YUI - Bausteine fuers web
YQL and YUI - Bausteine fuers webChristian Heilmann
 
OpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im Einsatz
OpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im EinsatzOpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im Einsatz
OpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im EinsatzDigicomp Academy AG
 
Webinale 2011 - Das mobile Internet im Jahr 2021
Webinale 2011 - Das mobile Internet im Jahr 2021Webinale 2011 - Das mobile Internet im Jahr 2021
Webinale 2011 - Das mobile Internet im Jahr 2021Matthias C. Schroeder
 
PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021SEARCH ONE
 
Einführung in Elasticsearch
Einführung in ElasticsearchEinführung in Elasticsearch
Einführung in ElasticsearchFlorian Hopf
 
OKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 UpdateOKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 Updatejoergreichert
 
Location-based Games - Game Design für kaputte Controller
Location-based Games - Game Design für kaputte ControllerLocation-based Games - Game Design für kaputte Controller
Location-based Games - Game Design für kaputte ControllerIndieOutpost
 
Schnittstellen und Webservices
Schnittstellen und WebservicesSchnittstellen und Webservices
Schnittstellen und WebservicesJakob .
 
Einführung in das Semantic Web
Einführung in das Semantic WebEinführung in das Semantic Web
Einführung in das Semantic WebJakob .
 
Html5 workshop Peter Voringer
Html5 workshop   Peter VoringerHtml5 workshop   Peter Voringer
Html5 workshop Peter VoringerMayflower GmbH
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 

Similar to Bastelstunde mit dem web und freien-daten-webtechcon2010 (20)

Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010
 
Knockin' on heaven's door - Die Praxis zu Besuch beim W3C
Knockin' on heaven's door - Die Praxis zu Besuch beim W3CKnockin' on heaven's door - Die Praxis zu Besuch beim W3C
Knockin' on heaven's door - Die Praxis zu Besuch beim W3C
 
HTML5-Legacy-Anwendungen
HTML5-Legacy-AnwendungenHTML5-Legacy-Anwendungen
HTML5-Legacy-Anwendungen
 
Von Dinosauriern, Bienen und Wespen
Von Dinosauriern, Bienen und WespenVon Dinosauriern, Bienen und Wespen
Von Dinosauriern, Bienen und Wespen
 
Von Dinosauriern, Bienen und Wespen
Von Dinosauriern, Bienen und WespenVon Dinosauriern, Bienen und Wespen
Von Dinosauriern, Bienen und Wespen
 
Web Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 TalkWeb Performance Optimization - Web Tech Conference 2011 Talk
Web Performance Optimization - Web Tech Conference 2011 Talk
 
Cross-Platform Mobile Apps
Cross-Platform Mobile AppsCross-Platform Mobile Apps
Cross-Platform Mobile Apps
 
YQL and YUI - Bausteine fuers web
YQL and YUI - Bausteine fuers webYQL and YUI - Bausteine fuers web
YQL and YUI - Bausteine fuers web
 
OpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im Einsatz
OpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im EinsatzOpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im Einsatz
OpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im Einsatz
 
Webinale 2011 - Das mobile Internet im Jahr 2021
Webinale 2011 - Das mobile Internet im Jahr 2021Webinale 2011 - Das mobile Internet im Jahr 2021
Webinale 2011 - Das mobile Internet im Jahr 2021
 
node.js
node.jsnode.js
node.js
 
PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021
 
Einführung in Elasticsearch
Einführung in ElasticsearchEinführung in Elasticsearch
Einführung in Elasticsearch
 
OKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 UpdateOKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 Update
 
Location-based Games - Game Design für kaputte Controller
Location-based Games - Game Design für kaputte ControllerLocation-based Games - Game Design für kaputte Controller
Location-based Games - Game Design für kaputte Controller
 
JavaScript Performance
JavaScript PerformanceJavaScript Performance
JavaScript Performance
 
Schnittstellen und Webservices
Schnittstellen und WebservicesSchnittstellen und Webservices
Schnittstellen und Webservices
 
Einführung in das Semantic Web
Einführung in das Semantic WebEinführung in das Semantic Web
Einführung in das Semantic Web
 
Html5 workshop Peter Voringer
Html5 workshop   Peter VoringerHtml5 workshop   Peter Voringer
Html5 workshop Peter Voringer
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 

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)
 

Bastelstunde mit dem web und freien-daten-webtechcon2010