These are my notes on the second day of the JSConf in Budapest1, which took place at May 12th and 13th in the Akvarium Klub in the heart of city.
By the way: I took the image above at Friday afternoon after the conference. If you like it, you can download it in full resolution. It’s public domain! (Sorry for low quality though, I took it with my phone.)
“Building an Offline Page for theguardian.com”
Oliver Joseph Ash pointed out how important it is to provide a good offline experience for a website. It can not be taken as prerequisite, that everyone has a Wifi connection – and even if so, it may be instable and slow. For the website of the newspaper The Guardian he uses Service Workers, which are hooked into requests and can for example cache results. It is not the goal to achieve a perfect clone of the online version of the webpage, instead it would be just a good start to offer an offline version at all.
“High Performance in the Critical Rendering Path”
Performance is not a mere nice-to-have – we already learned this lesson yesterday. Nicolás Bevacqua encouraged us to measure web performance fast and often and provided the following suitable techniques to us:
- Minify, compress and concatenate assets
- Make use of the
Expiresheader (you can achieve long TTLs by tokenizing the assets)
- Deliver the things above the fold fast, and the things below the fold async
- Render most of the things server-side and cache the results, whereever possible
Anand Vemuri showed how the security of web applications and public services can be improved:
- CSRF tokens ensure, that requests come from “official” clients. However, they are not that trivial as they look like, so they have to be implemented thoroughly.
Access-Control-Allow-Originheaders also counteract CSRF attacks.
- It’s a good advice to use GET requests for read requests only. Offering a
X-HTTP-Method-Overrideheader (or a query parameter
method) for GET can be a security hole.
“Science in the Browser: Orchestrating and Visualising Neural Networks”
“Down the Rabbit Hole: JS in Wonderland”
NaN === NaNresults
NaNdoesn’t equal anything (be specification). The
isNaN()function comes to the rescue.
“Works On My Machine; or: the Problem is between Keyboard and Chair”
Lena Reinhardt looked for a good way to deal with this situation: But there is no masterplan to follow and no adjusting screw to turn. Although most of us are not “hit” by the lack of diversity (since most of us are white, priviledged males), we all have to face up to this problem and to do our bit to create a collective consciousness for this topic.
- Disclaimer: This summary is far away from complete and reflect a highly opinionated perception. [return]