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
270
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ć
AI Agents: How Do They Work and How to Build Them @ Shift 2025
slobodan
0
140
Prompt Engineering for Developers @ AWS Community Day Timișoara
slobodan
0
100
AI Agents with JavaScript
slobodan
0
360
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
270
From 1 to 250 Lambda Functions in Production: Evolving a Startup Serverless Architecture @ Serverless Days Milan
slobodan
0
140
Building Production-Ready Apps with AI
slobodan
0
260
Advanced GraphQL Architectures: Serverless Event Sourcing and CQRS @ ReactSummit
slobodan
0
240
CofounderGPT - Can an AI be a better co-founder than a human?
slobodan
0
170
From 1 to 201 Lambda functions in production: Evolving a serverless startup architecture
slobodan
0
310
Other Decks in Programming
See All in Programming
Ktorで簡単AIアプリケーション
tsukakei
0
110
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
920
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
210
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
690
モテるデスク環境
mozumasu
3
1.3k
NIKKEI Tech Talk#38
cipepser
0
290
Cursorハンズオン実践!
eltociear
2
1.2k
CSC509 Lecture 07
javiergs
PRO
0
250
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
330
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.8k
Google Opalで使える37のライブラリ
mickey_kubo
3
150
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Visualization
eitanlees
150
16k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Designing Experiences People Love
moore
142
24k
Automating Front-end Workflow
addyosmani
1371
200k
A Tale of Four Properties
chriscoyier
161
23k
A better future with KSS
kneath
239
18k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Code Reviewing Like a Champion
maltzj
526
40k
The Cult of Friendly URLs
andyhume
79
6.6k
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@