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
240
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 Timișoara
slobodan
0
33
AI Agents with JavaScript
slobodan
0
210
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
220
From 1 to 250 Lambda Functions in Production: Evolving a Startup Serverless Architecture @ Serverless Days Milan
slobodan
0
120
Building Production-Ready Apps with AI
slobodan
0
230
Advanced GraphQL Architectures: Serverless Event Sourcing and CQRS @ ReactSummit
slobodan
0
210
CofounderGPT - Can an AI be a better co-founder than a human?
slobodan
0
150
From 1 to 201 Lambda functions in production: Evolving a serverless startup architecture
slobodan
0
290
Evolving a serverless startup architecture - ArmadaJS 2022
slobodan
2
470
Other Decks in Programming
See All in Programming
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
110
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
160
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
3
1.2k
Agentic Applications with Symfony
el_stoffel
2
260
ベクトル検索システムの気持ち
monochromegane
31
9.8k
Youtube Lofier - Chrome拡張開発
ninikoko
0
2.4k
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.5k
List とは何か? / PHPerKaigi 2025
meihei3
0
620
Java 24まとめ / Java 24 summary
kishida
3
440
Chrome Extension Techniques from Hell
moznion
1
160
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
230
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
160
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Scaling GitHub
holman
459
140k
Agile that works and the tools we love
rasmusluckow
328
21k
Being A Developer After 40
akosma
90
590k
How GitHub (no longer) Works
holman
314
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
How to Think Like a Performance Engineer
csswizardry
22
1.5k
How to Ace a Technical Interview
jacobian
276
23k
Practical Orchestrator
shlominoach
186
10k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
7
640
GitHub's CSS Performance
jonrohan
1030
460k
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@