Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to build a website that will (eventually) w...
Search
Slobodan Stojanović
October 20, 2017
Programming
1
220
How to build a website that will (eventually) work on Mars - Hackference 2017
Hackference 2017 -
https://2017.hackference.co.uk
Slobodan Stojanović
October 20, 2017
Tweet
Share
More Decks by Slobodan Stojanović
See All by Slobodan Stojanović
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
190
From 1 to 250 Lambda Functions in Production: Evolving a Startup Serverless Architecture @ Serverless Days Milan
slobodan
0
110
Building Production-Ready Apps with AI
slobodan
0
210
Advanced GraphQL Architectures: Serverless Event Sourcing and CQRS @ ReactSummit
slobodan
0
200
CofounderGPT - Can an AI be a better co-founder than a human?
slobodan
0
140
From 1 to 201 Lambda functions in production: Evolving a serverless startup architecture
slobodan
0
280
Evolving a serverless startup architecture - ArmadaJS 2022
slobodan
2
460
Serverless Office Hours | Serverless for Startups
slobodan
0
210
From 1 to 101 Lambda Functions in Production: Evolving a Serverless Architecture - Node Congress 2021
slobodan
1
330
Other Decks in Programming
See All in Programming
Haze - Real time background blurring
chrisbanes
1
510
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.6k
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
CSC305 Lecture 25
javiergs
PRO
0
130
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
250
良いユニットテストを書こう
mototakatsu
5
2k
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
120
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
930
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Being A Developer After 40
akosma
87
590k
Automating Front-end Workflow
addyosmani
1366
200k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
GraphQLとの向き合い方2022年版
quramy
44
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
A Tale of Four Properties
chriscoyier
157
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Transcript
#hackference @slobodan_ HOW TO BUILD A WEBSITE THAT WILL EVENTUALLY
WORK ON MARS
#hackference @slobodan_ I am Slobodan Stojanović $50PG$MPVE)PSJ[POBOE +4#FMHSBEF.FFUVQPSHBOJ[FS FGGPSUMFTTTFSWFSMFTTDPN UXJUUFSDPNTMPCPEBO@
#hackference @slobodan_ WARNING 5IFNBJOHPBMPGUIJTUBMLJTUPFYQMPSFTPNFPGUIF OFXUFDIOPMPHJFTJOBCJUVOFYQFDUFEXBZ NPTUPG UIPTFUIJOHTXJMMQSPCBCMZXPSLDPNQMFUFMZEJGGFSFOUBU UIFNPNFOUIVNBOTDPMPOJ[F.BST 5IJTJTOPUEFFQUFDIOJDBMUBMLBOEJUDPOUBJOTTPNF MFWFMPGTJNQMJGJFEGBDUT
#hackference @slobodan_
#hackference @slobodan_ 8IZPOFBSUIXPVMEBOZPOFEPUIBU WHY MARS?!
#hackference @slobodan_ -FUsTTFFXIBUEPXFLOPXBCPVUJU MARS
#hackference @slobodan_ ↟*UsTBQMBOFU ↟"QQSPYJNBUFMZUIFTBNFMBOENBTTXJUI&BSUI ↟.BSTEBZ 4PM JTEIN ↟.BSTZFBSJTEBZT ZFBST ↟5FNQFSBUVSFDBOCF$
↟.BSUJBOTVSGBDFHSBWJUZJTPOMZ PGUIF&BSUIT ↟5IFSFBSFTJHOTPGMJRVJEXBUFSPO.BST
#hackference @slobodan_ ↟0OMZNJTTJPOTUP.BST IBWFCFFOTVDDFTTGVM ↟5FNQFSBUVSFDBOBMTPCF$ ↟.BSTIBTUIFMBSHFTUEVTUTUPSNT JOUIFTPMBSTZTUFN ↟3BEJBUJPO ↟*UEPFTOsUIBWFBOBUNPTQIFSF
#hackference @slobodan_ 4FSJPVTMZ 85' &BSUIJTQFSGFDU SJHIU WAIT! WHY WOULD ANYONE
GO TO MARS!?
#hackference @slobodan_ 0GDPVSTFJUJT+VTUBTLUIFEJOPTBVST
#hackference @slobodan_ 5PBUMFBTUPOFNPSFEBUBDFOUFSPSBWBJMBCJMJUZ[POF OK, SO WE NEED A FAILOVER, RIGHT?
#hackference @slobodan_ /P OPUUIBUPOF JNBHJOFUIFPOFUIBUTPNFCPEZXPVMEVTF AND NOW, IMAGINE YOU HAVE
A WEBSITE
#hackference @slobodan_ ! SO, LET’S GO BACK TO MARS
#hackference @slobodan_ IT’S THE ONLY PLANET INHABITED BY ROBOTS ONLY
#hackference @slobodan_ UNTIL ONE DAY IN 2025… *O+BOVBSZ UIFOBHBJOJO j
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_ .BTMPXsTIJFSBSDIZPGOFFET
#hackference @slobodan_ WI-FI .BTMPXsTIJFSBSDIZPGOFFET
#hackference @slobodan_
#hackference @slobodan_ Chrome v123 on Illudium Q-36 Space Modulator 15:42
Hm, what browser and network are you using? 15:18 Your **** website doesn’t work! 15:17 WTF?! 15:42
#hackference @slobodan_ :PVSTFSWFSTTFFNTUPCFPL*UTIPVMEKVTUXPSL SJHIU WHAT’S THE PROBLEM?
#hackference @slobodan_ -JHIUUSBWFMTCFUXFFOBOENJOVUFTGSPN&BSUIUP.BST DISTANCE
#hackference @slobodan_ /P UIFZBSFTUJMMCVJMEJOHUIFJSEBUBDFOUFSUIFSF LATENCY? AH, CAN YOU JUST DEPLOY
IT TO MARS-WEST-1 ON AWS?
#hackference @slobodan_ /P UIFZBSFTUJMMCVJMEJOHUIFJSEBUBDFOUFSUIFSF LATENCY? AH, CAN YOU JUST DEPLOY
IT TO MARS-WEST-1 ON AWS?
#hackference @slobodan_ /P/FUGMJYBOEWJEFPPSBVEJPDBMMT TPSSZ.BUU%BNPO NO REALTIME COMMUNICATION
#hackference @slobodan_ /P/FUGMJYBOEWJEFPPSBVEJPDBMMT TPSSZ.BUU%BNPO NO REALTIME COMMUNICATION
#hackference @slobodan_ WHAT CAN WE DO WHEN WE DON’T HAVE
ENOUGH SERVERS?
#hackference @slobodan_ 5IBUsTRVJUFQPQVMBSOPX SJHIU GO SERVERLESS?
#hackference @slobodan_
#hackference @slobodan_ 8IBUTBQQ 'BDFCPPL.FTTFOHFS 4POJD4DSFXESJWFS HOW DO WE COMMUNICATE IN
THE SPACE?
#hackference @slobodan_
#hackference @slobodan_ :FT UIFTBNFSBEJPXBWFTZPVBSFSFDFJWJOHXJUIBDBSSBEJP RADIO WAVES
#hackference @slobodan_
#hackference @slobodan_ INTERPLANETARY INTERNET
#hackference @slobodan_ "DPNQVUFSOFUXPSLBSDIJUFDUVSFUIBUBEESFTTFTMBDLPG DPOUJOVPVTDPOOFDUJWJUZ DELAY/DISRUPTION TOLERANT NETWORKING
#hackference @slobodan_ 4UBOEBSEJOUFSOFU
#hackference @slobodan_ %5/
#hackference @slobodan_ /FUXPSLTBSFIBSE BUMFBTUGPSNF MFUsTGPDVTPOUIJOHTXFLOPX LET’S GO BACK TO THE
WEB DEVELOPMENT
#hackference @slobodan_
#hackference @slobodan_ 0VSXFCTJUFXPVMEXPSLFWFOXIFOUIFTFSWFSJTOPUBWBJMBCMF OFFLINE ACCESS WITH SERVICE WORKERS
#hackference @slobodan_ 4FSWJDFXPSLFSTFTTFOUJBMMZBDUBT QSPYZTFSWFSTUIBUTJUCFUXFFOXFC BQQMJDBUJPOT BOEUIFCSPXTFSBOE OFUXPSL XIFOBWBJMBCMF
#hackference @slobodan_ ↟&OBCMFFGGFDUJWFPGGMJOFFYQFSJFODFT ↟*OUFSDFQUOFUXPSLSFRVFTUTBOEUBLJOH BQQSPQSJBUFBDUJPOCBTFEPOXIFUIFSUIF OFUXPSLJTBWBJMBCMF ↟"MMPXBDDFTTUPQVTIOPUJGJDBUJPOT ↟#BDLHSPVOETZOD"1*T
#hackference @slobodan_ TXKT NBJOKT
#hackference @slobodan_ TXKT NBJOKT
#hackference @slobodan_ 8FEPOPUXBOUUPTFOEUPPNVDI"1*DBMMT CFDBVTFUIFZBSFOPUDIFBQ LESS API CALLS? GRAPHQL
#hackference @slobodan_ "(SBQI2-RVFSZJTBTUSJOHJOUFSQSFUFE CZBTFSWFSUIBUSFUVSOTEBUBJOB TQFDJGJFEGPSNBU
#hackference @slobodan_
#hackference @slobodan_ 4UPSBHFXPVMECFVTFGVM UIFOXFEPOsUEFQFOEPOUIFTFSWFSBMMUIFUJNF STORE THINGS LOCALLY WITH INDEXEDDB
#hackference @slobodan_ *OEFYFE%#JTBMPXMFWFM"1*GPSDMJFOUTJEF TUPSBHFPGTJHOJGJDBOUBNPVOUTPGTUSVDUVSFEEBUB JODMVEJOHGJMFTCMPCT 5IJT"1*VTFTJOEFYFTUPFOBCMFIJHIQFSGPSNBODF TFBSDIFTPGUIJTEBUB
#hackference @slobodan_ ↟,FZWBMVFQBJST ↟#VJMUPOBUSBOTBDUJPOBMEBUBCBTFNPEFM ↟.PTUMZBTZODISPOPVT ↟*UVTFT%0.FWFOUTUPOPUJGZZPVXIFO SFTVMUTBSFBWBJMBCMF ↟OP42- ↟4BNFPSJHJOQPMJDZ
#hackference @slobodan_ 4ZODPVSMPDBMEBUBCBTFXIFOFWFSTFSWFSJTBWBJMBCMF DATA SYNCHRONIZATION? POUCHDB
#hackference @slobodan_ 1PVDI%#JTBOPQFOTPVSDF+BWB4DSJQU EBUBCBTFJOTQJSFECZ"QBDIF$PVDI%#UIBU JTEFTJHOFEUPSVOXFMMXJUIJOUIFCSPXTFS
#hackference @slobodan_ *UFOBCMFTBQQMJDBUJPOTUPTUPSFEBUBMPDBMMZXIJMF PGGMJOF UIFOTZODISPOJ[FJUXJUI$PVDI%#BOE DPNQBUJCMFTFSWFSTXIFOUIFBQQMJDBUJPOJTCBDL POMJOF LFFQJOHUIFVTFSTEBUBJOTZODOPNBUUFS XIFSFUIFZOFYUMPHJO
#hackference @slobodan_
#hackference @slobodan_ 8IZTUPQUIFSF 8IBUBCPVUUIFSFRVFTUT BACKGROUND SYNC
#hackference @slobodan_ #BDLHSPVOETZODJTBOFXXFC"1*UIBUMFUTZPV EFGFSBDUJPOTVOUJMUIFVTFSIBTTUBCMF DPOOFDUJWJUZ 5IJTJTVTFGVMGPSFOTVSJOHUIBUXIBUFWFSUIF VTFSXBOUTUPTFOE JTBDUVBMMZTFOU
#hackference @slobodan_
#hackference @slobodan_ )BOEMFMBSHFVQMPBEEPXOMPBETJOUIFCBDLHSPVOE BACKGROUND DOWNLOADING/UPLOADING WITH SERVICE WORKERS
#hackference @slobodan_ 48DBDIJOHDBOGBJMJGZPVDMPTFUIF CSPXTFSXIJMFDBDIJOHCJHBTTFUT .PSFJOGP IUUQTXJDHHJUIVCJPCBDLHSPVOEGFUDI
#hackference @slobodan_ ↟&OBCMFCBDLHSPVOEDBDIJOHPGNVMUJQMFSFTPVSDFT ↟&OBCMFCBDLHSPVOEVQMPBEJOHPGNVMUJQMFSFTPVSDFT ↟"MMPXUIF04UPIBOEMFUIFGFUDI TPUIFCSPXTFS EPFTOUOFFEUPSVO .PSFJOGP IUUQTXJDHHJUIVCJPCBDLHSPVOEGFUDI
#hackference @slobodan_ ↟"MMPXUIF04UPTIPX6*UPJOEJDBUFUIFQSPHSFTT PGUIFGFUDI ↟"MMPXUIF04UPEFBMXJUIQPPSDPOOFDUJWJUZCZ QBVTJOHSFTVNJOHUIFEPXOMPBEVQMPBE ↟"MMPXUIFBQQUPSFBDUUPGBJMVSFPGUIFGFUDI .PSFJOGP IUUQTXJDHHJUIVCJPCBDLHSPVOEGFUDI
#hackference @slobodan_
#hackference @slobodan_ %POsUVTFUIFTFSWFSXIFOFWFSZPVEPOsUSFBMMZOFFEUP PEER-TO-PEER CONNECTION WITH WEBRTC
#hackference @slobodan_ 8FC35$JTBGSFF PQFOQSPKFDUUIBUQSPWJEFT CSPXTFSTBOENPCJMFBQQMJDBUJPOTXJUI3FBM 5JNF$PNNVOJDBUJPOT 35$ DBQBCJMJUJFTWJB TJNQMF"1*T
#hackference @slobodan_ ↟.FEJB4USFBN BLBHFU6TFS.FEJB ↟35$1FFS$POOFDUJPO ↟35$%BUB$IBOOFM 8FC35$JNQMFNFOUTUISFF"1*T
#hackference @slobodan_
#hackference @slobodan_ 8FC5PSSFOUJTBTUSFBNJOHUPSSFOUDMJFOUGPSUIFXFCCSPXTFS WEB TORRENT
#hackference @slobodan_ 8FC5PSSFOUJTXSJUUFODPNQMFUFMZJO+BWB4DSJQUmUIF MBOHVBHFPGUIFXFCmBOEVTFT8FC35$GPSQFFS UPQFFSUSBOTQPSUXIFOFWFSQPTTJCMF /PCSPXTFSQMVHJOT FYUFOTJPOT PSJOTUBMMBUJPOJT SFRVJSFEUPVTF8FC5PSSFOUJOZPVSCSPXTFS
#hackference @slobodan_ 8IZ
#hackference @slobodan_ t*NBHJOFBQFFSUPQFFS:PV5VCFXIFSFWJFXFST IFMQUPIPTUUIFTJUFTDPOUFOU #ZNBLJOH#JU5PSSFOUFBTJFSUPVTF XFDBOHFU NPSFQFPQMFUPQBSUJDJQBUFBOEUBLFUIFGJSTUTUFQT UPSFEFDFOUSBMJ[JOHUIF*OUFSOFUu
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_ " WHAT IF WE CAN LOAD HTML, CSS
AND JAVASCRIPT VIA P2P CONNECTION?
#hackference @slobodan_
#hackference @slobodan_ OQNJOTUBMMIZQFSESJWF MEET HYPERDRIVE
#hackference @slobodan_ "GJMFTIBSJOHOFUXPSLCBTFEPOSBCJOGJMF DIVOLJOHBOEBQQFOEPOMZGFFETPGEBUB WFSJGJFECZNFSLMFUSFFT .PSFJOGP IUUQTHJUIVCDPNEBUQSPKFDUEPDT
#hackference @slobodan_ .PSFJOGP IUUQTHJUIVCDPNEBUQSPKFDUEPDT
#hackference @slobodan_ )ZQFSESJWFJTUIFQFFSUPQFFSEBUBEJTUSJCVUJPO QSPUPDPMUIBUQPXFST%BU *UDPOTJTUTPGUXPQBSUT .PSFJOGP IUUQTHJUIVCDPNEBUQSPKFDUEPDT
#hackference @slobodan_ 'JSTUUIFSFJTIZQFSDPSFXIJDIJTUIFDPSFQSPUPDPM BOETXBSNUIBUIBOEMFTEJTUSJCVUJOHBQQFOEPOMZ MPHTPGBOZCJOBSZEBUB .PSFJOGP IUUQTHJUIVCDPNEBUQSPKFDUEPDT
#hackference @slobodan_ 5IFTFDPOEQBSUJTIZQFSESJWFXIJDIBEETB GJMFTZTUFNTQFDJGJDQSPUPDPMPOUPQPGIZQFSDPSF .PSFJOGP IUUQTHJUIVCDPNEBUQSPKFDUEPDT
#VDB17 @slobodan_ http://dat-data.com DAT
#hackference @slobodan_ IUUQTJQGTJP INTERPLANETARY FILE SYSTEM
#hackference @slobodan_ IUUQTCFBLFSCSPXTFSDPN BEAKER BROWSER
#hackference @slobodan_ IUUQTCFBLFSCSPXTFSDPN
#hackference @slobodan_ IUUQTCFBLFSCSPXTFSDPN
#hackference @slobodan_
#hackference @slobodan_ 5IJTTPMWFTKVTUBTNBMMQBSUPGUIFQSPCMFNT WHAT OTHER PROBLEMS WE NEED TO SOLVE?
#hackference @slobodan_ ↟5JNFTUBNQT ↟4UPSJOHBOEDIFDLJOHTFTTJPO ↟4FDVSJUZBOEQSJWBDZ ↟)PXEPXFUFTUUIFFYUSFNFTJUVBUJPOT ↟"OENBOZNBOZNPSF
#hackference @slobodan_ # THE MESSAGE?
#hackference @slobodan_ WE NOW KNOW HOW TO BUILD AN INSTAGRAM
FOR MARS? .BUU%BNPOOFFETBQMBDFUPTIBSFGPPEJNBHFT SJHIU
#hackference @slobodan_ # NO
#hackference @slobodan_ MOST OF THE THINGS WE ARE BUILDING ARE
NOT EVEN WORKING FOR EVERYONE ON THIS PLANET
#hackference @slobodan_ ☝ ONE MORE THING
#hackference @slobodan_ ☝ ONE MORE THING
#hackference @slobodan_ % .BOOJOHT Serverless Apps with Node and Claudia.js
(FUUIFCPPLXJUIPGGXJUIDUXIBDLGFSDPEF
#hackference @slobodan_
#hackference @slobodan_
#hackference @slobodan_ 4FSWFSMFTT"QQTXJUI/PEFBOE$MBVEJBKTQSPNPDPEFDUXIBDLGFS QUESTIONS? IUUQTFGGPSUFMTTTFSWFSMFTTDPN IUUQTUXJUUFSDPNTMPCPEBO@