<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>SurviveJS</title><id>https://survivejs.com</id><link rel="alternate" href="https://survivejs.com"></link><link rel="self" href="https://survivejs.com/atom.xml"></link><updated>2026-03-23T11:38:38.000Z</updated><entry><title>Impressions on Web Summit 2024</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/impressions-on-web-summit-2024"></link><id>impressions-on-web-summit-2024</id><published>2024-11-21T00:00:00.000Z</published><content type="html">Impressions on Web Summit 2024
Web Summit 2024 occurred from 11 to 14.11 in Lisbon, Portugal. Despite its name, the summit does not focus on the web. Instead, it is the largest startup fair in the world, boasting 70.000 yearly visitors. I had the cha…</content></entry><entry><title>state-ref - Easy to integrate state management library - Interview with Kim Jinwoo</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/state-ref-interview"></link><id>state-ref-interview</id><published>2024-10-18T00:00:00.000Z</published><content type="html">State management is one of those recurring themes in frontend development. State becomes an issue when you try to build something even a little complex.

This time I'm interviewing Kim Jinwoo about state-ref, his technology agnostic solution to the p…</content></entry><entry><title>KaibanJS - Open-source framework for building multi-agent AI systems - Interview with Dariel Vila</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/kaibanjs-interview"></link><id>kaibanjs-interview</id><published>2024-10-11T00:00:00.000Z</published><content type="html">Since the launch of ChatGPT, there has been a lot of interest in AI systems. The question is, how do you build your agents, for example?

In this interview, we will look into a JavaScript-based solution called KaibanJS with its author Dariel Vila.

C…</content></entry><entry><title>How to get started with web development in 2024?</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/how-to-get-started-with-web-development-in-2024"></link><id>how-to-get-started-with-web-development-in-2024</id><published>2024-09-23T00:00:00.000Z</published><content type="html">In the past few years, technologies such as ChatGPT have changed the way we work.
It has never been as easy to develop web applications as today, but it also presents challenges of its own since the web was not originally meant as an application plat…</content></entry><entry><title>Singulatron - AI On-Premise - Interview with Janos Dobronszki</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/singulatron-interview"></link><id>singulatron-interview</id><published>2024-08-22T00:00:00.000Z</published><content type="html">You could say Artificial Intelligence (AI) is eating the world. The problem is that often, you have to use an external service to leverage its benefits.

Another option is to host AI solutions on your own, and that is where Singulatron by Janos Dobro…</content></entry><entry><title>JavaScript patterns - Pyramid of doom</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/pyramid-of-doom"></link><id>pyramid-of-doom</id><published>2024-05-31T00:00:00.000Z</published><content type="html">In this post, I will introduce you to the concept of the pyramid of doom. Although the pattern is not typical anymore, it is good to know how you might solve this anti-pattern, as there are several ways to approach it. The pyramid of doom could be ch…</content></entry><entry><title>SurviveJS - What did I learn by rewriting this site</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-site-rewrite"></link><id>survivejs-site-rewrite</id><published>2024-05-21T00:00:00.000Z</published><content type="html">If you have used this site earlier, you might have noticed it looks different now. That is because I did a massive rewrite of it. I had the following targets with the work:

The new site should build faster - I built the old one with Antwar, my now d…</content></entry><entry><title>RelativeCI - In-depth bundle stats analysis and monitoring - Interview with Viorel Cojocaru</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/relativeci-interview"></link><id>relativeci-interview</id><published>2023-07-07T00:00:00.000Z</published><content type="html">In terms of development productivity, Continuous Integration (CI) has become a common technique across development teams across the world.

In this article, I'll interview Viorel Cojocaru about the topic to learn more.

Can you tell a bit about yours…</content></entry><entry><title>Future Frontend - A new conference to reimagine the future of the frontend - Interview with Juho Vepsäläinen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/future-frontend-interview"></link><id>future-frontend-interview</id><published>2023-01-30T00:00:00.000Z</published><content type="html">For a conference organizer, one of the hardest things to do is to keep your conference relevant. That is exactly the problem we faced with React Finland. As a result, we decided to pivot from React into frontend. Future Frontend conference was born a…</content></entry><entry><title>Console Cat - Privacy-friendly CLI telemetry in less than five minutes - Interview with Matt Evenson</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/console-cat-interview"></link><id>console-cat-interview</id><published>2022-07-28T00:00:00.000Z</published><content type="html">As an open source developer of Node.js command line tools, you often have the question of which versions are being used and how.

To solve the problem, Matt Evenson developed a service called Console Cat. Read on to learn more about it.

Can you tell…</content></entry><entry><title>Nhost - Backend-as-a-Service with GraphQL for modern app development - Interview with Johan Eliasson</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/nhost-interview"></link><id>nhost-interview</id><published>2022-01-27T00:00:00.000Z</published><content type="html">Developing a full-blown web application, including a backend, can be quite an undertaking for a single developer or a small team. Several solutions have appeared in the market during the last few years that make this less daunting.

To learn about on…</content></entry><entry><title>How to tame the devDependencies of your project?</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/how-to-tame-dev-deps"></link><id>how-to-tame-dev-deps</id><published>2022-01-13T00:00:00.000Z</published><content type="html">It's not uncommon for a normal JavaScript application to have thousands of dependencies. Once you start having multiple projects, the problem of having to maintain them is pronounced.

It's for this reason that solutions like Create React App and Nx …</content></entry><entry><title>Medusa - Own your ecommerce stack - Interview with Sebastian Rindom</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/medusa-interview"></link><id>medusa-interview</id><published>2021-12-14T00:00:00.000Z</published><content type="html">Building an online shop can be complex, and there are many factors to consider, not to mention compliance with all the different laws.

To learn more about the niche and how to get into e-commerce, I am interviewing Sebastian Rindom from Medusa.

Can…</content></entry><entry><title>iHateReading - Where knowledge is shared - Interview with Shrey Vijayvargiya</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/ihatereading-interview"></link><id>ihatereading-interview</id><published>2021-06-16T00:00:00.000Z</published><content type="html">Developing content is hard work, and it takes consistent effort to become a successful content producer.

To learn more about one approach, I am interviewing Shrey Vijayvargiya about iHateReading.

Can you tell a bit about yourself?

Shrey Vijayvargi…</content></entry><entry><title>Forage Analytics - Analytics for React Native - Interview with Steven Malone</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/forage-interview"></link><id>forage-interview</id><published>2021-05-31T00:00:00.000Z</published><content type="html">Analytics is a big topic. What you don't know, you cannot optimize.

To learn more about it, I am interviewing Steven Malone about Forage Analytics, an analytics solution aimed for React Native.

Can you tell a bit about yourself?

Steven Malone|100|…</content></entry><entry><title>Blitz.js - The Full-stack React Framework - Interview with Brandon Bayer</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/blitz-interview"></link><id>blitz-interview</id><published>2021-04-12T00:00:00.000Z</published><content type="html">Although React is a UI library, that doesn't mean you couldn't write full-stack applications around it. Frameworks, such as Next.js, have appeared to make it easier.

To learn more about one such framework, Blitz.js, I am interviewing Brandon Bayer.
…</content></entry><entry><title>Rubico - [a]synchronous functional programming - Interview with Richard Tong</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/rubico-interview"></link><id>rubico-interview</id><published>2021-03-10T00:00:00.000Z</published><content type="html">One of the tricky parts of JavaScript is dealing with asynchronous behavior. The language itself has introduced improved syntax (async/await) and utilities like Promise.all and Promise.race but it's not enough for more advanced use cases.

To learn a…</content></entry><entry><title>PropagateAt - Talk to your greatest fans via text - Interview with Kumar Abhirup</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/propagate-interview"></link><id>propagate-interview</id><published>2021-02-12T00:00:00.000Z</published><content type="html">Developing your products is both exciting and challenging. There's both the business side and the development side to worry about and to manage. Both have to be on a good enough level for the product to work.

In this interview, we'll learn about a p…</content></entry><entry><title>GruCloud - Infrastructure as Code in JavaScript - Interview with Frederic Heem</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/grucloud-interview"></link><id>grucloud-interview</id><published>2021-02-03T00:00:00.000Z</published><content type="html">For me, it's always amazing how complex infrastructure it's possible to configure these days. If you master a platform like AWS or GCP, you can do quite a lot. Earlier it took a lot of expertise and hardware to pull this off, and these days you can g…</content></entry><entry><title>Renderlesskit React - Collection of composable headless hooks - Interview with Anurag Hazra</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/renderlesskit-interview"></link><id>renderlesskit-interview</id><published>2021-01-29T00:00:00.000Z</published><content type="html">When developing user interfaces with React, you often create a set of basic primitives. Another option is to consume them from a third-party library and perhaps build more complex components yourself.

To learn about a potential solution to the probl…</content></entry><entry><title>PixelCraft - a Pixel Art Editor - Interview with Abhishek Chaudhary</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/pixelcraft-interview"></link><id>pixelcraft-interview</id><published>2021-01-19T00:00:00.000Z</published><content type="html">It's cool to write small web applications for the sake of learning. You can set the boundaries yourself and experiment with new technologies.

Abhishek Chaudhary developed a pixel art editor to learn, and in this interview he'll give an overview of t…</content></entry><entry><title>Nullstack - Full-stack JavaScript Components - Interview with Christian Mortaro</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/nullstack-interview"></link><id>nullstack-interview</id><published>2021-01-15T00:00:00.000Z</published><content type="html">If you look into what happened during the past few years in the world of JavaScript, you can see that component thinking made it to the mainstream. Even with this, there's still some kind of a boundary between the frontend and the backend.

In this i…</content></entry><entry><title>Preloading Web Assets</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/preloading-web-assets"></link><id>preloading-web-assets</id><published>2020-12-08T00:00:00.000Z</published><content type="html">Preloading data is useful yet perhaps underused web development technique. When it comes to performance, the best work is the one you don't have to do. The second best is the one you can do ahead of time.

Preloading achieves exactly this as it gives…</content></entry><entry><title>CV Compiler - The Fastest Way to Improve Your CV - Interview with Andrew Stetsenko</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/cv-compiler-interview"></link><id>cv-compiler-interview</id><published>2020-12-01T00:00:00.000Z</published><content type="html">When you apply for a new position or a business case, often people want to see your CV (Curriculum Vitae). Although it sounds simple to create one, it's far from it.

Andrew Stetsenko has created a service that addresses the problem. Read on to learn…</content></entry><entry><title>"SurviveJS - Webpack 5" - Amazon Version is Available</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpack-book-version-3"></link><id>webpack-book-version-3</id><published>2020-11-27T00:00:00.000Z</published><content type="html">Doing a paper release of a book comes with additional thrill as once you go paper, there's no going back. Any mistakes you might have in the book are going to remain until you make a new edition. It's for this reason that especially technical books m…</content></entry><entry><title>Plasmic - The fast and fun visual builder for React - Interview with Yang Zhang</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/plasmic-interview"></link><id>plasmic-interview</id><published>2020-11-16T00:00:00.000Z</published><content type="html">Developing user interfaces with React tends to require effort and often it's done at the level of code. What if we could create user interfaces in the browser itself?

It's this question that we'll explore in this interview of Yang Zhang.

Can you te…</content></entry><entry><title>Multi-platform applications with JavaScript - Interview with Valentyn Poliskyi</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/multi-platform-interview"></link><id>multi-platform-interview</id><published>2020-11-09T00:00:00.000Z</published><content type="html">Developing multi-platform applications is difficult. Thankfully the advent of JavaScript has made it a possibility for an increasing amount of developers.

To learn more about the approach, I am interviewing Valentyn Poliskyi.

Can you tell a bit abo…</content></entry><entry><title>Rockpack - Skip config, code React - Interview with Sergey Aleksandrov</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/rockpack-interview"></link><id>rockpack-interview</id><published>2020-11-02T00:00:00.000Z</published><content type="html">As you might know, configuring webpack isn't the most fun thing in the world and that's exactly the reason why I wrote a thick book about it.

For many React users, either Create React App (CRA) or framework such as Next.js hides a lot of the complex…</content></entry><entry><title>"SurviveJS - Webpack 5" - Further webpack 5 updates</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpack-book-webpack-5-updates"></link><id>webpack-book-webpack-5-updates</id><published>2020-10-30T00:00:00.000Z</published><content type="html">Webpack 5 has been available for a couple of weeks by now. The previous release of the book covered majority of the required changes but I realized there's still more work and updates to be done as I perused through the official release post. You see…</content></entry><entry><title>End-to-end testing - Interview with Erik Fogg</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/e2e-interview"></link><id>e2e-interview</id><published>2020-10-29T00:00:00.000Z</published><content type="html">Testing is topic that comes up often in software development as it's an important part of verifying what we did works. That said, it's a complex topic given there are so many ways to test.

To understand end-to-end testing better, I am interviewing E…</content></entry><entry><title>Algolia with Netlify - Easy search for static sites - Interview with Samuel Bodin</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/algolia-with-netlify-interview"></link><id>algolia-with-netlify-interview</id><published>2020-10-19T00:00:00.000Z</published><content type="html">Setting up and maintaining a search on a static site is often a chore. You could handle indexing yourself using a solution like Lunr but even with that you'll encounter limitations as the size of the index grows.

That's where services like Algolia c…</content></entry><entry><title>Ukrainian developer market - Interview with Eliza Kravchenko</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/ukrainian-developer-market-interview"></link><id>ukrainian-developer-market-interview</id><published>2020-10-12T00:00:00.000Z</published><content type="html">I've encountered many Ukrainian developers during my career and even visited the country a couple of times speaking at conferences. During each trip, it was surprising to me how vibrant the developer community is there.

To learn about Ukrainian deve…</content></entry><entry><title>Eleventy - A simpler static site generator - Interview with Jeremias Menichelli</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/eleventy-interview"></link><id>eleventy-interview</id><published>2020-10-05T00:00:00.000Z</published><content type="html">Static site generation is a topic that is becoming increasingly popular due to the rise of JAMStack. Instead of maintaining a server, the idea is to generate static markup for the entire site. Depending on the use case, this can be a great fit that a…</content></entry><entry><title>How to learn effectively as a developer</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/how-to-learn-effectively-as-a-developer"></link><id>how-to-learn-effectively-as-a-developer</id><published>2020-09-24T00:00:00.000Z</published><content type="html">I recently received an interesting question from a reader that changed his career path and headed to technology. He mentioned he was getting overwhelmed by the amount of information related to web development and computer science.

He was asking my a…</content></entry><entry><title>Pipcook - Bridging JavaScript with Python for machine learning - Interview with Wenhe Li</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/pipcook-interview"></link><id>pipcook-interview</id><published>2020-09-14T00:00:00.000Z</published><content type="html">There's a lot of excitement about machine learning and its applications. The question is, what can you do with and where to apply the technique and how.

To learn more, I am interviewing Wenhe (Eric) Li, the creator of Pipcook.

Can you tell a bit ab…</content></entry><entry><title>NoCode programming - Doing more with less code - Interview with Alex Moldovan</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/nocode-interview"></link><id>nocode-interview</id><published>2020-09-07T00:00:00.000Z</published><content type="html">What if you could create programs without coding? If you've ever used something like Microsoft Excel or Google Sheets, you've already done this at one level.

NoCode programming is an emerging topic. To learn more about it, I am interviewing Alex Mol…</content></entry><entry><title>ExtendsClass - Online Tools for Developers - Interview with Cyril Bois</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/extendsclass-interview"></link><id>extendsclass-interview</id><published>2020-09-03T00:00:00.000Z</published><content type="html">One of the great things about being a developer is that you can literally create your own tools to make it easier to do your work.

Cyril Bois has been developing a set of tools at ExtendsClass for a while and now we have a good chance to learn more.…</content></entry><entry><title>"SurviveJS - Webpack" book updated to webpack 5</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpack-book-updated-to-webpack-5"></link><id>webpack-book-updated-to-webpack-5</id><published>2020-08-28T00:00:00.000Z</published><content type="html">Webpack 5 is getting near and it felt like a good time to update the book. Although it's still in beta, it seems quite stable already and it's worth experimenting with it. During this work, I went through my long list of TODOs that had accrued since …</content></entry><entry><title>Midway - A Node.js framework for Serverless - Interview with Harry Chen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/midway-interview"></link><id>midway-interview</id><published>2020-08-24T00:00:00.000Z</published><content type="html">Serverless computing is one of those approaches that has taken the world by storm. The idea is to make computing a flexible resource you consume on-demand. Compared to earlier models, it scales in terms of demand instead of requiring an upfront inves…</content></entry><entry><title>Enroute - Envoy Route Controller - Interview with Chintan Thakker</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/enroute-interview"></link><id>enroute-interview</id><published>2020-08-12T00:00:00.000Z</published><content type="html">When developing APIs, you often get questions like how to combine and control data coming from different sources. That's where proxy-based approaches come in.

To understand one such in better detail, I am interviewing Chintan Takker as he developed …</content></entry><entry><title>Detox - Testing React Native - Interview with Mykola Solopii</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/detox-interview"></link><id>detox-interview</id><published>2020-08-06T00:00:00.000Z</published><content type="html">Testing mobile applications is a tough topic as you have to worry about different devices, and the interaction model is challenging.

Detox is a solution built specifically for React Native, and in this interview we'll learn more about the approach f…</content></entry><entry><title>Synthetics - Monitor availability and performance of your website and APIs - Interview with Siva Kaliappan</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/sematext-monitoring-interview"></link><id>sematext-monitoring-interview</id><published>2020-06-18T00:00:00.000Z</published><content type="html">Anything you don't measure or test, you cannot improve. The wisdom applies particularly to web as we develop our websites and applications. Without any kind of monitoring solution in place, you are flying blind.

To learn more about the topic, I am i…</content></entry><entry><title>JavaScript Security - Interview with David Balaban</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/javascript-security-interview"></link><id>javascript-security-interview</id><published>2020-04-28T00:00:00.000Z</published><content type="html">Given JavaScript dominates the world of web development, it has become a good target for malicious actors. Furthermore, the flexibility has led to a plethora of attack vectors for cybercriminals making JavaScript security an important topic for web d…</content></entry><entry><title>MonoLisa - Font follows function - Interview with Marcus Sterz</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/monolisa-interview"></link><id>monolisa-interview</id><published>2020-03-10T00:00:00.000Z</published><content type="html">As a developer, font is something you end up using every day at your work. One year ago I teamed up with Andrey Okonetchikov and Marcus Sterz, to create a new typeface for programming.

In this interview, you'll learn more about MonoLisa from Marcus'…</content></entry><entry><title>Debugging JavaScript - Interview with Mehdi Osman</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/debugging-interview"></link><id>debugging-interview</id><published>2020-03-04T00:00:00.000Z</published><content type="html">Debugging JavaScript is one of those topics where people tend to be divided into two camps - those that console.log and those that use a debugger.

In this interview, I am learning more about the topic from Mehdi Osman, the CEO of a company called As…</content></entry><entry><title>React Cosmos - A development environment for ambitious developers - Interview with Ovidiu Cherecheş</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/cosmos-interview"></link><id>cosmos-interview</id><published>2020-02-13T00:00:00.000Z</published><content type="html">Developing user interfaces can be complex as you have to think about different ways it's going to be used and you have to design patterns and components to use for defining it. That's where tools like style guides come in.

Earlier, I interviewed Art…</content></entry><entry><title>Webix - Declarative UI Framework for Rapid Development - Interview with Maksim Kozhukh</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webix-interview"></link><id>webix-interview</id><published>2020-02-07T00:00:00.000Z</published><content type="html">If there's something that has changed during the past few years, it's the way we develop user interfaces using JavaScript. Earlier we've learned about solutions, such as Reakit. Now it's time to look into a library designed especially for rapid proto…</content></entry><entry><title>VPNpro - How do VPNs work - Interview with Olivia Scott</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/vpn-interview"></link><id>vpn-interview</id><published>2020-01-28T00:00:00.000Z</published><content type="html">If there's one web technology I never looked that much into, it's VPNs (Virtual Private Networks). In these times when privacy is more valued than ever, the technology has become more relevant to many users and developers.

To understand the topic be…</content></entry><entry><title>Squareboat - Growing an IT Business - Interview with Gaurav Gupta</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/squareboat-interview"></link><id>squareboat-interview</id><published>2019-12-16T00:00:00.000Z</published><content type="html">What is it like to grow an IT business? At least in my experience, it's not the easiest thing to do, and there are many things you have to get right to stay floating.

To learn more about the topic, I am interviewing Gaurav Gupta about his company, S…</content></entry><entry><title>Tomo - Like CRA but more flexible - Interview with Jason Wohlgemuth</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/tomo-interview"></link><id>tomo-interview</id><published>2019-09-04T00:00:00.000Z</published><content type="html">Although tools like create-react-app (CRA) are great, they can at times be inflexible. They might provide great defaults but at the same time you lose some power and room for experimentation.

To learn more about an alternative tool, I'm interviewing…</content></entry><entry><title>Secure Coding - Interview with Liran Tal</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/secure-coding-interview"></link><id>secure-coding-interview</id><published>2019-07-31T00:00:00.000Z</published><content type="html">There's more than one way to code, and you'll find multiple programming styles. One aspect that's perhaps neglected sometimes is secure coding.

To learn more about the topic, I'm interviewing Liran Tal, a security expert.

Can you tell a bit about y…</content></entry><entry><title>Experiences on CSSCamp and JSCamp 2019</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/csscamp-jscamp-2019"></link><id>csscamp-jscamp-2019</id><published>2019-07-27T00:00:00.000Z</published><content type="html">I was invited to CSSCamp 2019 (17.07) and JSCamp 2019 (18-19.07) by David Pich, the main organizer, to help out. I performed speaker interviews and a part of the Twitter coverage while documenting the event a bit.

Overview of CSSCamp and JSCamp 2019…</content></entry><entry><title>Sketch.sh - Interactive ReasonML sketchbook - Interview with Nguyen Dang Khoa</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/sketch-sh-interview"></link><id>sketch-sh-interview</id><published>2019-07-16T00:00:00.000Z</published><content type="html">Often learning a new programming language like ReasonML can be an arduous process as you have to set up the environment and tooling before you can begin learning.

That's where Sketch.sh by Nguyen Dang Khoa comes in. It's an online service addressing…</content></entry><entry><title>Experiences on WorkerConf 2019</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/workerconf-2019"></link><id>workerconf-2019</id><published>2019-07-02T00:00:00.000Z</published><content type="html">I was invited to WorkerConf 2019 (27-28.06) as a speaker. I also participated a workshop and went hiking after the conference. It was a small-scale conference (about 80 people) held in Dornbirn, Austria. It was my second time in the city and I enjoye…</content></entry><entry><title>Minima - To-do lists done right - Interview with Alex Fedoseev</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/minima-interview"></link><id>minima-interview</id><published>2019-06-17T00:00:00.000Z</published><content type="html">If there's one thing that transformed my life, it's the adoption of the Getting Things Done (GTD) methodology. The key part for me was to begin what's to be done and then committing on doing it. I use OmniFocus and Google Keep for this and while it r…</content></entry><entry><title>Reakit - Build accessible rich web apps with React - Interview with Diego Haz</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/reakit-interview"></link><id>reakit-interview</id><published>2019-06-10T00:00:00.000Z</published><content type="html">When building web applications and sites using React, you have to think carefully about the user interface. You might either go with an established user interface library, develop your own, or try a bit of both.

One of the aspects that often is forg…</content></entry><entry><title>Benefit - utility CSS library - Interview with Chad Donohue</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/benefit-interview"></link><id>benefit-interview</id><published>2019-06-03T00:00:00.000Z</published><content type="html">One of the developments that has began to change the way we style our applications and sites is the introduction of utility classes. Tailwind is an example of a popular framework that has adopted the approach.

To learn more about the approach, I am …</content></entry><entry><title>Webpack UI - Configure webpack with a UI - Interview with Even Stensberg</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpack-ui-interview"></link><id>webpack-ui-interview</id><published>2019-05-31T00:00:00.000Z</published><content type="html">Webpack is infamous for being a bundler that's not entirely easy to configure. That's one of the main reasons why I wrote the webpack book available on this site. To be fair, webpack doesn't require as much configuration as it did before.

To overcom…</content></entry><entry><title>ReasonML - Type safety with ease - Interview with Gabriel Rubens</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/reasonml-interview"></link><id>reasonml-interview</id><published>2019-05-27T00:00:00.000Z</published><content type="html">I've had the chance to observe the evolution of the ReasonML ecosystem up close. For me, it seems to solve many pain points of the current JavaScript/TypeScript based web ecosystem by addressing many of the issues in the language itself.

To understa…</content></entry><entry><title>Express Gateway - A microservices API Gateway built on top of Express.js - Interview with Vincenzo Chianese</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/express-gateway-interview"></link><id>express-gateway-interview</id><published>2019-04-22T00:00:00.000Z</published><content type="html">If you are dealing with microservices, you get questions like how to manage and orchestrate them.

Vincenzo Chianese has come up with a solution designed for the popular Node.js web framework Express.js. Learn more about Express Gateway in this inter…</content></entry><entry><title>Experiences on typeof 2019</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/typeof-2019"></link><id>typeof-2019</id><published>2019-04-06T00:00:00.000Z</published><content type="html">I was invited to typeof 2019 (27-29.03) as a speaker and a workshop instructor. It was a small-scale conference (about 200 people) held in Porto, Portugal. It was my second time in Portugal (first time in mainland) and I enjoyed the trip a lot.

Over…</content></entry><entry><title>Functional Programming - Interview with Arfat Salman</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/fp-interview"></link><id>fp-interview</id><published>2019-04-05T00:00:00.000Z</published><content type="html">If there's one programming style I like a lot, it's functional programming. Although it's not the best fit for all problems, often having means to decompose a problem into smaller parts to be solved separately through composition has proven to be use…</content></entry><entry><title>Dredd - Language-agnostic HTTP API Testing Tool - Interview with Honza Javorek</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/dredd-interview"></link><id>dredd-interview</id><published>2019-03-22T00:00:00.000Z</published><content type="html">If there's one thing developers have to deal with most of the days, it's APIs. For web developers, this often means dealing with HTTP and external services. The question is, how to test the APIs and make sure everything works as we expect.

For this …</content></entry><entry><title>Managing css-in-js Components with Namespaces</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/managing-css-in-js-with-namespaces"></link><id>managing-css-in-js-with-namespaces</id><published>2019-03-19T00:00:00.000Z</published><content type="html">I've settled on using Emotion for styling my React applications. The API is close to styled-components and especially Emotion 10 is filled with functionality. I use only a small part of it in my daily work.

As I've been working on the print graphics…</content></entry><entry><title>atomic-layout - Layout composition as a React component - Interview with Artem Zakharchenko</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/atomic-layout-interview"></link><id>atomic-layout-interview</id><published>2019-03-15T00:00:00.000Z</published><content type="html">Often layouting a web page is an afterthought. Put a div here and there, sprinkle some CSS, and call it done. Perhaps you are more advanced and use CSS Grids to figure out exact positioning.

What if there was an alternative way to achieve the same w…</content></entry><entry><title>Pesto - A career accelerator for India’s top software engineering talent - Interview with Andrew Linfoot</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/pesto-interview"></link><id>pesto-interview</id><published>2019-03-08T00:00:00.000Z</published><content type="html">One of the unique aspects of the internet is that it makes us all equal in a strange way. What it means is that collaboration is possible on a new level as we aren't restricted by our local communities anymore. The internet has led to changes in the …</content></entry><entry><title>Codecrumbs - Document a Codebase by Breadcrumbs - Interview with Bohdan Liashenko</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/codecrumbs-interview"></link><id>codecrumbs-interview</id><published>2019-03-01T00:00:00.000Z</published><content type="html">Developers spend most of their time reading and understanding code. That said, not much has changed in the past decades in the way we do it. Perhaps the IDEs have become smarter but we still use roughly the same techniques as before. I prefer to jump…</content></entry><entry><title>packtracker.io - Webpack bundle analysis, for every commit - Interview with Jonathan D. Johnson</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/packtracker-interview"></link><id>packtracker-interview</id><published>2019-02-22T00:00:00.000Z</published><content type="html">When using webpack to bundle your project, it's important to keep an eye on the output. There are multiple tools for this purpose. Now there's also a service.

In this interview with Jonathan D. Johnson, you'll learn about packtracker.io.

Can you te…</content></entry><entry><title>Overmind - Frictionless State Management - Interview with Christian Alfoni</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/overmind-interview"></link><id>overmind-interview</id><published>2019-02-15T00:00:00.000Z</published><content type="html">Although state management solutions like Redux have become the standard, at least with React, there's still room for innovation in the space.

Sometimes what happens is that technology becomes reinterpreted. When you can see the technology in context…</content></entry><entry><title>webpack-config-plugins - Best practices for webpack loader configurations - Interview with Jan Nicklas</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpack-config-plugins-interview"></link><id>webpack-config-plugins-interview</id><published>2019-01-18T00:00:00.000Z</published><content type="html">Managing webpack configuration can get tough especially if you try to track best practices and optimizations.

To address this problem, Jan Nicklas has come up with a solution in the form of webpack plugins.

Can you tell a bit about yourself?

Jan N…</content></entry><entry><title>SurviveJS - Summary of 2018</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/summary-of-2018"></link><id>summary-of-2018</id><published>2019-01-03T00:00:00.000Z</published><content type="html">2018 was mostly a consulting year for me. I also did travel within Europe and discovered countries such as Croatia and Armenia. It was my first year as a conference organizer as I helped to set up two conferences in Helsinki, Finland. Both were well …</content></entry><entry><title>webpack-plugin-serve - A Development Server in a webpack Plugin - Interview with Andrew Powell</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpack-plugin-serve-interview"></link><id>webpack-plugin-serve-interview</id><published>2018-12-13T00:00:00.000Z</published><content type="html">Usually, when you use webpack, you also have to set up its development server as well. Traditionally doing this hasn't been trivial and has required a certain amount of expertise. That is one of the reasons why I wrote the webpack book available on t…</content></entry><entry><title>React Union - React for CMSs and Portals - Interview with Tomáš Konrády</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-union-interview"></link><id>react-union-interview</id><published>2018-12-02T00:00:00.000Z</published><content type="html">React has uses beyond application development. One of the perhaps surprising use cases is to integrate it within a Content Management System (CMS) such as WordPress.

To get a better idea of how this could work out, I am interviewing Tomáš Konrády.

…</content></entry><entry><title>Unicon - Wrangle SVGs from your favorite design tool - Interview with Travis Arnold</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/unicon-interview"></link><id>unicon-interview</id><published>2018-11-26T00:00:00.000Z</published><content type="html">So far design and development have been considered separate disciplines. Recently tooling has begun to appear to bridge this gap.

To understand more about the topic, I am interviewing Travis Arnold, the author of Unicon.

Can you tell a bit about yo…</content></entry><entry><title>Experiences on HalfStack London 2018</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/halfstack-2018"></link><id>halfstack-2018</id><published>2018-11-18T00:00:00.000Z</published><content type="html">I was invited to HalfStack London 2018 as a guest as we are considering bringing the conference series to Vienna. Therefore it was vital for me to get an idea of the format and how the event runs.

It was my second visit to London. Although the city …</content></entry><entry><title>React India 2019 - The international React.js conference in Goa, India - Interview with Manjula Dube</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-india-interview"></link><id>react-india-interview</id><published>2018-11-11T00:00:00.000Z</published><content type="html">It is exciting to organize a conference, especially when it's the first of its kind in a region. To learn more about one such event, I'm interviewing Manjula Dube from the React India (22-24.08.2019) team.

Can you tell a bit about yourself?

Manjula…</content></entry><entry><title>Experiences on WebCamp Zagreb 2018</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webcampzg-2018"></link><id>webcampzg-2018</id><published>2018-10-10T00:00:00.000Z</published><content type="html">I was invited to WebCamp Zagreb as a speaker and a workshop trainer. I gave one of my webpack workshops at the event and discussed static websites and the way I see them in my talk.

It was my first time in Zagreb, and I was pleasantly surprised by t…</content></entry><entry><title>Experiences on WebExpo 2018</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webexpo-2018"></link><id>webexpo-2018</id><published>2018-09-24T00:00:00.000Z</published><content type="html">I was invited to WebExpo 2018 as a visitor since I spoke at the conference last year. Prague is one of my favorite cities in Europe, and the conference was good last year, so I decided to go again. Like last time, also this time most of the attendees…</content></entry><entry><title>Refract - Manage Component Side Effects the Reactive Way - Interview with Thomas Roch.</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/refract-interview"></link><id>refract-interview</id><published>2018-09-16T00:00:00.000Z</published><content type="html">It's difficult to write an application without side effects. Consider handling requests, dealing with third parties, managing storage for example. These concerns come up often.

Refract by Thomas Roch provides a solution to the problem for React user…</content></entry><entry><title>DSS - Deterministic Style Sheets - Interview with Giuseppe Gurgone</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/dss-interview"></link><id>dss-interview</id><published>2018-09-05T00:00:00.000Z</published><content type="html">CSS is perhaps one of the most controversial parts of web development. For some, it's the favorite, for some the least pleasant part. As a result, many solutions have appeared around it to make it more palatable to web developers.

To learn more abou…</content></entry><entry><title>SurviveJS - Fall Events</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/fall-2018-events"></link><id>fall-2018-events</id><published>2018-09-04T00:00:00.000Z</published><content type="html">Summer is over and I've made travel plans for the Fall. More details below.

WebExpo - 21-23.09.2018

WebExpo 2018

I went to WebExpo last year for the first time. It's one of my favorite crossover conferences. It spans from development to business t…</content></entry><entry><title>Uppy - Painless Uploads for JavaScript - Interview with Artur Paikin</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/uppy-interview"></link><id>uppy-interview</id><published>2018-07-17T00:00:00.000Z</published><content type="html">Let's say you are building a CMS or a blog with an admin interface. It won't take long until you want to upload files to your service. There are standards for this, but eventually, you want to do something more complicated.

That's where solutions li…</content></entry><entry><title>GraphQL Finland - Learn GraphQL Up North - Interview with Mikhail Novikov</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/graphql-finland-interview"></link><id>graphql-finland-interview</id><published>2018-07-05T00:00:00.000Z</published><content type="html">Following the success of React Finland, we decided to organize another event this year. GraphQL Finland has a different scope, and it's going to be the first Nordic GraphQL focused conference.

To tell you more about the conference, I am interviewing…</content></entry><entry><title>Progressive Web Apps - The Why and How - Interview with Maciej Caputa</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/pwa-interview"></link><id>pwa-interview</id><published>2018-06-25T00:00:00.000Z</published><content type="html">Even though the web started from content, it has transformed into an application platform. Approaches like Progressive Web Apps are a clear sign of this.

Maciej Caputa will explain the topic in more detail in this interview.

Can you tell a bit abou…</content></entry><entry><title>Proppy - Functional props composition for components - Interview with Fahad Ibnay Heylaal</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/proppy-interview"></link><id>proppy-interview</id><published>2018-06-22T00:00:00.000Z</published><content type="html">You might be familiar with packages like Recompose that make it easier to compose components. Recompose is React-specific solution. What if there was something broader available?

Proppy by Fahad Ibnay Heylaal is such a solution.

T> I interviewed Fa…</content></entry><entry><title>SurviveJS - Summer Events</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/summer-2018-events"></link><id>summer-2018-events</id><published>2018-05-30T00:00:00.000Z</published><content type="html">Summer is a great time to travel and see new places. So far I've scheduled three events for the Summer although more may appear depending on the public interest.

GrazJS - 06-07.06.2018

The first event where I'll take part this Summer is GrazJS meet…</content></entry><entry><title>Fastpack - Pack JavaScript code fast and easy - Interview with Oleksiy Golovko</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/fastpack-interview"></link><id>fastpack-interview</id><published>2018-05-29T00:00:00.000Z</published><content type="html">Tools like browserify and webpack popularized the idea of bundling. The idea is to transform your web application into a format that can be distributed to browsers. Bundlers operate on module level and can combine the assets in various ways.

Fastpac…</content></entry><entry><title>lint-staged - Run Linters on git Staged Files - Interview with Andrey Okonetchnikov</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/lint-staged-interview"></link><id>lint-staged-interview</id><published>2018-04-08T00:00:00.000Z</published><content type="html">Although linting a project is a good technique to adopt, it comes with a cost as you have to wait for the linter to complete its work.

Andrey Okonetchnikov figured out a way to solve the problem.

Can you tell a bit about yourself?

Andrey Okonetchn…</content></entry><entry><title>"SurviveJS - Webpack" book updated to webpack 4</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpack-book-updated-to-webpack-4"></link><id>webpack-book-updated-to-webpack-4</id><published>2018-03-19T00:00:00.000Z</published><content type="html">Quite a bit has happened in the world of webpack. Most notably, the webpack reached version 4 recently. The purpose of this release of the book is to update it to support webpack 4 while preparing towards the next paper edition.

Compared to the prev…</content></entry><entry><title>Webpack in Munich, May 2018</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpack-in-munich-may-2018"></link><id>webpack-in-munich-may-2018</id><published>2018-03-17T00:00:00.000Z</published><content type="html">In addition to writing and consulting, I do occasional training. Most often it's around my webpack book and it supports different levels of sessions well. Workshops also improve the material so the work feeds back to the book and strengthens it.

To …</content></entry><entry><title>Experiences on Concat 2018</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/concat-2018"></link><id>concat-2018</id><published>2018-03-05T00:00:00.000Z</published><content type="html">I participated Concat 2018 at Salzburg this year. I held a four-hour webpack workshop with Tobias Koppers, the author of the tool, and visited the event itself. Overall, it was a great one-day dual-track conference, and I don't regret going.

The Wor…</content></entry><entry><title>Verdaccio - A lightweight npm proxy registry - Interview with Juan Picado</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/verdaccio-interview"></link><id>verdaccio-interview</id><published>2018-02-26T00:00:00.000Z</published><content type="html">If you develop JavaScript applications, you most likely use npm, the most famous package manager available for JavaScript. At the time of writing, it hosts over 600 thousand packages, and the amount keeps rapidly increasing year by year.

That said, …</content></entry><entry><title>Parket - A state management library inspired by mobx-state-tree - Interview with Leah Ullmann</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/parket-interview"></link><id>parket-interview</id><published>2018-02-16T00:00:00.000Z</published><content type="html">State management is one of those topics that divides opinions. So far we've seen a couple of options so far.

In this post, we'll cover Parket, a solution by Leah Ullmann.

Can you tell a bit about yourself?

Leah Ullmann|100|100|author

I'm a (mostl…</content></entry><entry><title>substyle - Build Styling Agnostic Components for React - Interview with Jan-Felix Schwarz</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/substyle-interview"></link><id>substyle-interview</id><published>2018-02-08T00:00:00.000Z</published><content type="html">One of the tricky things about writing React components meant for public consumption is making them compatible with various styling approaches used by the community. The problem exists because application styling isn't considered as a first-class cit…</content></entry><entry><title>Experiences on AgentConf 2018</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/agentconf-2018"></link><id>agentconf-2018</id><published>2018-02-06T00:00:00.000Z</published><content type="html">I was invited to AgentConf 2018 on its second iteration about a month ago as one of the organizers saw a presentation of mine about npm packaging. I gained free entry to the conference against a lightning talk but more on that later.

The concept is …</content></entry><entry><title>Experiences on ScriptConf 2018</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/scriptconf-2018"></link><id>scriptconf-2018</id><published>2018-02-01T00:00:00.000Z</published><content type="html">One of the benefits of living in Vienna is that it's easy to reach central Europe and its conferences. Given Linz is close to Vienna (about 90 minutes by train), I decided to visit ScriptConf.

ScriptConf is a JavaScript themed single-track conferenc…</content></entry><entry><title>Illuminate - Syntax highlighter for Node - Interview with Vivek Bansal</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/illuminate-interview"></link><id>illuminate-interview</id><published>2018-01-30T00:00:00.000Z</published><content type="html">One of the core features of this site is custom syntax highlighting. I had to figure out ways to deal with custom syntax provided by Leanpub. Initially, I implemented a solution based on PrismJS, but I wasn't entirely happy with it, and the frustrati…</content></entry><entry><title>Logux - Replace AJAX-REST - Interview with Andrey Sitnik</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/logux-interview"></link><id>logux-interview</id><published>2018-01-26T00:00:00.000Z</published><content type="html">When you build a web application, you often have to communicate with a backend. It's not uncommon to do this using AJAX against a RESTful API.

Logux by Andrey Sitnik is one possible alternative.

Can you tell a bit about yourself?

Andrey Sitnik|100…</content></entry><entry><title>Fastify - Fast and low overhead web framework for Node.js - Interview with Tomas Della Vedova</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/fastify-interview"></link><id>fastify-interview</id><published>2018-01-17T00:00:00.000Z</published><content type="html">Servers, servers, servers. I've written a lot of Node.js servers since I began using it. Initially, I went through the API it provides but after a while most of the community settled on using Express.

In this interview you'll learn about an alternat…</content></entry><entry><title>BEM - Methodology to enable reuse in front-end development - Interview with Sergey Berezhnoy</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/bem-interview"></link><id>bem-interview</id><published>2018-01-12T00:00:00.000Z</published><content type="html">Developing large scale applications requires a certain amount of discipline. Sometimes it is enforced by the environment; sometimes you have to apply it yourself through conventions. Likely both are needed to some extent. As applications grow in comp…</content></entry><entry><title>SurviveJS - Summary of 2017</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/summary-of-2017"></link><id>summary-of-2017</id><published>2017-12-31T00:00:00.000Z</published><content type="html">It was quite a year for me. You could say a life-changing one even. I visited at least ten countries in Europe, and most of them were new acquaintances to me. I traveled more in one year than in my entire life before. I made more friends in one year …</content></entry><entry><title>controllerim - MobX Inspired State Management for React - Interview with Nir Yosef</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/controllerim-interview"></link><id>controllerim-interview</id><published>2017-12-27T00:00:00.000Z</published><content type="html">When you are writing applications, eventually you have to decide how to manage state. You can get far with React setState and lift the state in the component hierarchy as you go. Eventually that might become cumbersome and you realize using a state m…</content></entry><entry><title>React Finland - Your Chance to Learn React Up North - Interview with Juho Vepsäläinen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-finland-interview"></link><id>react-finland-interview</id><published>2017-12-23T00:00:00.000Z</published><content type="html">There are a lot of React conferences these days. React has become one of the most popular web technologies during the past few years so this is understandable.

Given I, Juho Vepsäläinen, am one of the organizers of React Finland (24-26.4.2018, Helsi…</content></entry><entry><title>redux-saga-test-plan - Test Redux Saga with an easy plan - Interview with Jeremy Fairbank</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/redux-saga-test-plan-interview"></link><id>redux-saga-test-plan-interview</id><published>2017-12-20T00:00:00.000Z</published><content type="html">Redux Saga is famous for being easy to test but what if it could be even more comfortable. redux-saga-test-plan by Jeremy Fairbank was designed precisely for this purpose.

Can you tell a bit about yourself?

Jeremy Fairbank|100|100|author

I'm a sof…</content></entry><entry><title>Redux Form - The best way to manage your form state in Redux - Interview with Erik Rasmussen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/redux-form-interview"></link><id>redux-form-interview</id><published>2017-12-11T00:00:00.000Z</published><content type="html">Forms are a frequent topic in web development as we saw in the earlier interview about a-plus-forms. This time around, I'm interviewing Erik Rasmussen about a popular option, Redux Form.

T> Erik has published a library agnostic successor to Redux Fo…</content></entry><entry><title>Redux Zero - Single Store, No Reducers - Interview with Matheus Lima</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/redux-zero-interview"></link><id>redux-zero-interview</id><published>2017-12-04T00:00:00.000Z</published><content type="html">Although using Redux is straight-forward once you understand the approach and its nuances, after a while it gets repetitive. It's easy to end up with a lot of "boilerplate" code that wires all the logic together. For this reason, multiple solutions a…</content></entry><entry><title>Flow Runtime - A runtime type system for JavaScript with full Flow compatibility - Interview with Charles Pick</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/flow-runtime-interview"></link><id>flow-runtime-interview</id><published>2017-11-26T00:00:00.000Z</published><content type="html">As discussed in the maintenance book, typing your code can be valuable in many ways. In part, it's about communication. Having the type information available makes it easier to develop tools that make it easier to manipulate code (think refactoring, …</content></entry><entry><title>a-plus-forms - A+ forms. Would use again - Interview with Nikolay Nemshilov</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/a-plus-interview"></link><id>a-plus-interview</id><published>2017-11-20T00:00:00.000Z</published><content type="html">If you think about it, a lot of web development has something to do with forms. Every time you capture information, you most likely require a form. It's one of the basic skills for a front-end developer.

There are plenty of options for React and I'v…</content></entry><entry><title>“SurviveJS — Webpack” v2.1 and “SurviveJS — Maintenance” v0.9</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-and-maintenance"></link><id>survivejs-webpack-and-maintenance</id><published>2017-11-17T00:00:00.000Z</published><content type="html">What do you do when you realize a book has become too big? You split it of course. The webpack book began to feel this way after the previous release and this is the reason why I started to write a new book about maintenance with Artem Sapegin.

Over…</content></entry><entry><title>Cabbie - WebDriver for the masses - Interview with Forbes Lindesay</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/cabbie-interview"></link><id>cabbie-interview</id><published>2017-11-13T00:00:00.000Z</published><content type="html">Testing is a lasting topic in software development. There are lots of tools, especially for JavaScript. In this interview, you'll learn about Cabbie, a WebDriver based browser automation library by Forbes Lindesay.

Can you tell a bit about yourself?…</content></entry><entry><title>react-lite - Implementation of React optimized for small size - Interview with Jade</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-lite-interview"></link><id>react-lite-interview</id><published>2017-11-06T00:00:00.000Z</published><content type="html">Even though React API is small, the implementation is quite sizable due to all the work it does behind the façade. For this reason, people have developed solutions that implement the API with different trade-offs.

react-lite by Jade is one of these …</content></entry><entry><title>React Day Berlin - Fully Packed Day of Your Favorite React Content - Interview with Robert Haritonov</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-day-berlin-interview"></link><id>react-day-berlin-interview</id><published>2017-10-17T00:00:00.000Z</published><content type="html">There are a lot of React events out there these days and it seems a new one appears every week somewhere around the world.

To continue on the theme, this time I'm interviewing Robert Haritonov of React Day Berlin organized early December.

T> Read t…</content></entry><entry><title>unexpected-react - Test Full Virtual DOM - Interview with Dave Brotherstone</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/unexpected-react-interview"></link><id>unexpected-react-interview</id><published>2017-09-29T00:00:00.000Z</published><content type="html">Testing React components is a constant topic. You can test through solutions like Jest or Enzyme. Or you could try something else like unexpected-react.

The solution by Dave Brotherstone builds on top of another testing library, Unexpected.

T> Read…</content></entry><entry><title>Experiences on WebExpo 2017</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webexpo-2017"></link><id>webexpo-2017</id><published>2017-09-24T00:00:00.000Z</published><content type="html">I was invited to WebExpo 2017 to discuss how I bootstrapped my business. Prague is one of the favorite cities of mine, so it was hard to say no. I'm happy I went there, and I picked up a few lessons while at it.

The tenth anniversary of the event wa…</content></entry><entry><title>Kea - High level abstraction between React and Redux - Interview with Marius Andra</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/kea-interview"></link><id>kea-interview</id><published>2017-09-18T00:00:00.000Z</published><content type="html">Redux took the React world by a storm when it was introduced. The simple idea provided a guideline for the community and "solved" state management for a lot of different kinds of applications.

That said, Redux comes with a certain amount of wiring. …</content></entry><entry><title>Experiences on React Next 2017</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-next-2017"></link><id>react-next-2017</id><published>2017-09-15T00:00:00.000Z</published><content type="html">I had the privilege to participate in React Next 2017 as an invited speaker. Participation gave me a good chance to learn more about Israel and also a good excuse to showcase webpack to a wider audience. I also gave a surprise talk about my site gene…</content></entry><entry><title>FrintJS - Build reactive applications with React and RxJS - Interview with Fahad Ibnay Heylaal</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/frint-interview"></link><id>frint-interview</id><published>2017-09-06T00:00:00.000Z</published><content type="html">React gives a lot of freedom by default. You can choose which libraries to use to complement it. Freedom comes with responsibility, though. Now you are responsible for your decisions.

FrintJS by Fahad Ibnay Heylaal and his company has developed a fr…</content></entry><entry><title>Neutrino - Create modern JavaScript applications with minimal configuration - Interview with Eli Perelman</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/neutrino-interview"></link><id>neutrino-interview</id><published>2017-08-28T00:00:00.000Z</published><content type="html">Setting up a project can require a significant amount of effort if you want to control every single detail. This might be one reason why there are so many boilerplates out there as people tend to have different tastes.

To make things easier, Eli Per…</content></entry><entry><title>Idyll - Narratives for the web - Interview with Matthew Conlen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/idyll-interview"></link><id>idyll-interview</id><published>2017-08-21T00:00:00.000Z</published><content type="html">Since the early days of the web, people have wanted to visualize data to share with others. Even though the platform provides something basic for these purposes (i.e., tables, images), typically some amount of programming has been required.

Idyll by…</content></entry><entry><title>Motorcycle.js - A statically-typed, functional and reactive framework for modern browsers - Interview with Tylor Steinberger</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/motorcycle-interview"></link><id>motorcycle-interview</id><published>2017-08-18T00:00:00.000Z</published><content type="html">Functional reactive programming allows us to think carefully about state and side effects. The question is, how to do that in JavaScript?

Motorcycle.js by Tylor Steinberger is one solution to this problem.

Can you tell a bit about yourself?

Tylor …</content></entry><entry><title>Next.js - Framework for server-rendered React apps - Interview with Arunoda Susiripala</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/nextjs-interview"></link><id>nextjs-interview</id><published>2017-08-15T00:00:00.000Z</published><content type="html">Building universal web applications combining server side rendering with front-end is popular these days. The approach is not without its problems, though. Now you have the extra challenge of managing code so that it works on the both sides. Due to t…</content></entry><entry><title>Rekit - Toolkit for building scalable React applications - Interview with Nate Wang</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/rekit-interview"></link><id>rekit-interview</id><published>2017-08-09T00:00:00.000Z</published><content type="html">Perhaps the greatest thing about React is how flexible it is. It contains some opinions but not too many. You still have plenty of freedom. Sometimes this is a blessing, but it can also be a curse.

Nate Wang realized the same, and as a result, he de…</content></entry><entry><title>Redux-First Router - Just dispatch actions - Interview with James Gillmore</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/redux-first-router-interview"></link><id>redux-first-router-interview</id><published>2017-08-07T00:00:00.000Z</published><content type="html">Routing is one of those classic topics that comes up again and again. HTML5 History API itself is quite simple, but there are different opinions on how to apply the idea of routing on web applications and sites.

James Gillmore decided to tackle the …</content></entry><entry><title>documentation.js - The documentation system for modern JavaScript - Interview with Tom MacWright</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/documentationjs-interview"></link><id>documentationjs-interview</id><published>2017-07-31T00:00:00.000Z</published><content type="html">When you are using a library seriously, you will spend a lot of time with its documentation. It's one of those things that sets good libraries apart from the rest. Even a fantastic idea can go overlooked if it's too difficult to get into and understa…</content></entry><entry><title>Rill - Universal web application framework - Interview with Dylan Piercey</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/rill-interview"></link><id>rill-interview</id><published>2017-07-28T00:00:00.000Z</published><content type="html">There's a lot of talk about universal web applications but developing them tends to be harder than it might sound. You will have to worry about the differences between environments, and you will find problems you might not have anticipated.

To under…</content></entry><entry><title>d-l-l - Easy, automatic, optimized DLL config handler for webpack - Interview with James Wiens</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/dll-interview"></link><id>dll-interview</id><published>2017-07-24T00:00:00.000Z</published><content type="html">Perhaps one of my favorite webpack performance related tricks is setting up DLLs so that you avoid work. The problem is that maintaining the setup requires time and effort. What if there was a better way?

James Wiens has been exploring a  better sol…</content></entry><entry><title>Material-UI - React Components that Implement Google's Material Design - Interview with Olivier Tassinari</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/material-ui-interview"></link><id>material-ui-interview</id><published>2017-07-21T00:00:00.000Z</published><content type="html">Design is difficult as you have to come up with a set of rules to describe it – a system. You don't always have to devise one yourself, and Material Design by Google is one starting point.

To understand the topic better, I'm interviewing Olivier Tas…</content></entry><entry><title>Fall Tour - Vienna Clinics, ReactNext, WebExpo, ReactiveConf</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/fall-tour"></link><id>fall-tour</id><published>2017-07-19T00:00:00.000Z</published><content type="html">Even though I have traveled a lot this year already, it looks like more travel is in store. The travels so far have been valuable regarding experience. I've seen more places in this year than during my previous year alone. And I like to think it has …</content></entry><entry><title>dont-break - Check if you break dependents - Interview with Gleb Bahmutov</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/dont-break-interview"></link><id>dont-break-interview</id><published>2017-07-17T00:00:00.000Z</published><content type="html">Releasing new versions of npm modules is an npm publish away. But how do you make sure you don't accidentally break a dependent project? Even if you are careful and test your module well, someone may be depending on a behavior you are not testing.

d…</content></entry><entry><title>Rollup - Next-generation ES6 module bundler - Interview with Rich Harris</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/rollup-interview"></link><id>rollup-interview</id><published>2017-07-10T00:00:00.000Z</published><content type="html">Given JavaScript application source cannot be consumed easily through the browser "as is" just yet, the process of bundling is needed. The point is to convert the source into a form the browser can understand. This is the reason why bundlers, such as…</content></entry><entry><title>JSS - Author CSS Using JavaScript as a Host Language - Interview with Oleg Isonen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/jss-interview"></link><id>jss-interview</id><published>2017-07-07T00:00:00.000Z</published><content type="html">If there's one thing that divides web developers, it's styling. A part of this has to do with the different requirements of websites and web applications. What is good in another domain, is an anti-pattern in another.

To understand the topic better,…</content></entry><entry><title>renovate - Keep npm dependencies up-to-date - Interview with Rhys Arkins</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/renovate-interview"></link><id>renovate-interview</id><published>2017-07-03T00:00:00.000Z</published><content type="html">There's one pain most JavaScript developers share - dependency management. More specifically, how to keep them up to date. Sometimes even one month is a long time as improvements keep coming and the dependencies changing.

To understand a potential s…</content></entry><entry><title>Most.js - Monadic streams for reactive programming - Interview with Brian Cavalier</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/most-interview"></link><id>most-interview</id><published>2017-06-26T00:00:00.000Z</published><content type="html">If there's one trend that has been nice to notice, it's the rise of reactive programming. You can see this in technologies like RxJS and cycle.js.

To learn more about the topic, I'm interviewing Brian Cavalier, one of the authors of Most.js.

Can yo…</content></entry><entry><title>React Alicante - The international React.js conference in Spain - Interview with Victoria Quirante</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-alicante-interview"></link><id>react-alicante-interview</id><published>2017-06-23T00:00:00.000Z</published><content type="html">There are plenty of events out there. What is it like to organize one? I know it's hard work based on what I've seen.

To get more perspective, I'm interviewing Victoria Quirante, one of the organizers of React Alicante, a new React conference organi…</content></entry><entry><title>Hard-cover Edition of the Webpack Book and Training</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/hardcover-webpack-book"></link><id>hardcover-webpack-book</id><published>2017-06-22T00:00:00.000Z</published><content type="html">Print on Demand services like KDP are ideal for self-publishers like me as they take a lot of pain out of the process. You don't have to worry about printing or distribution. It's not free money as you still have to worry about marketing and getting …</content></entry><entry><title>Working with Junior Developers - Interview with Aimee Knight</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/junior-interview"></link><id>junior-interview</id><published>2017-06-20T00:00:00.000Z</published><content type="html">Even though software development is often seen from a technical perspective, there's a softer side to it. It is hard to avoid not having to work with people unless you are a mythical programmer living in a cave somewhere in Finland.

To understand th…</content></entry><entry><title>vx - The Power of D3 with the Benefits of React - Interview with Harrison Shoff</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/vx-interview"></link><id>vx-interview</id><published>2017-06-12T00:00:00.000Z</published><content type="html">Data visualization is a big topic itself. When it comes to the web, D3 is perhaps the most well-known solution. Even though you can wrap it with React quite quickly, there is value in having specific solutions.

This is where vx by Harrison Shoff com…</content></entry><entry><title>unmarshaller - Toolbox for configuration - Interview with Sven Sauleau</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/unmarshaller-interview"></link><id>unmarshaller-interview</id><published>2017-06-05T00:00:00.000Z</published><content type="html">Serialization, or the process of transforming data from a shape to another, is a common problem you encounter eventually when programming. Perhaps you want to store some state to the hard drive from memory or restore it. Or you may want to share it a…</content></entry><entry><title>Popper.js - Easy Tooltips and Popovers - Interview with Federico Zivolo</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/popper-interview"></link><id>popper-interview</id><published>2017-05-29T00:00:00.000Z</published><content type="html">There are times when a vanilla ` or ` doesn't cut it. What if you want to do something more complex?

Popper.js by Federico Zivolo achieves exactly this. Read on to learn more.

Can you tell a bit about yourself?

Federico Zivolo|100|100|author

I'm …</content></entry><entry><title>SurviveJS Euro Summer Tour 2017</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/euro-summer-tour-2017"></link><id>euro-summer-tour-2017</id><published>2017-05-28T00:00:00.000Z</published><content type="html">It's time for another tour. This time around I'll be focusing on training. I have material specifically for webpack and React and this will be a good excuse to improve my book offerings while at it. I've found working on training material forces you …</content></entry><entry><title>ES Modules - Interview with Bradley Farias</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/es-modules-interview"></link><id>es-modules-interview</id><published>2017-05-22T00:00:00.000Z</published><content type="html">Even though ES6 (ES2015) brought modules to the language, it missed one important thing - a loading method. Proper support is currently being implemented for browsers.

To learn more about the topic, I'm interviewing Bradley Farias.

Can you tell a b…</content></entry><entry><title>Blue Arrow Awards - Finnish Code Ambassador of 2017</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/blue-arrow-awards-winner-2017"></link><id>blue-arrow-awards-winner-2017</id><published>2017-05-21T00:00:00.000Z</published><content type="html">In the beginning, there was a swamp, a hoe, and Jussi. Originally a large part of Finland was swamp and life were hard, but as Jussi worked on the swamp, it paid off eventually.

Interestingly you can still see the same pattern. You can always find a…</content></entry><entry><title>async-reactor - Render Async Stateless Functional Components in React - Interview with Sven Sauleau</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/async-reactor-interview"></link><id>async-reactor-interview</id><published>2017-05-15T00:00:00.000Z</published><content type="html">One common way to deal with asynchronous concerns (fetching for example) in React is to push the problem to a state manager or handling it through life cycle methods. Sometimes that can feel a bit much, though, and a lighter solution would be nice.

…</content></entry><entry><title>WebpackBin - Webpack Code Sandbox - Interview with Christian Alfoni</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpackbin-interview"></link><id>webpackbin-interview</id><published>2017-05-09T00:00:00.000Z</published><content type="html">Online tools are great for prototyping ideas and even workshops. You avoid the pain of setup while giving up some degree of control. Often this is a good trade-off, though.

The interview series covered CodeSandbox, an online React playground earlier…</content></entry><entry><title>SurviveJS Euro Tour 2017 Recap</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/euro-tour-2017-recap"></link><id>euro-tour-2017-recap</id><published>2017-05-03T00:00:00.000Z</published><content type="html">In this post, I will go through the biggest realizations gained in my Euro tour. I know it's a cliché thing to say, but trips like this grow you as a person. Spending a month outside of your comfort zone leads to realizations you might not otherwise …</content></entry><entry><title>Fluture - Fantasy Land compliant alternative to Promises - Interview with Aldwin Vlasblom</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/fluture-interview"></link><id>fluture-interview</id><published>2017-05-02T00:00:00.000Z</published><content type="html">Dealing with the asynchronous code has always been a challenge in JavaScript. Callbacks are the classic way, and since then we've gained higher level abstractions and constructs for handling the problem.

This time around we'll discuss Fluture, a Fan…</content></entry><entry><title>CodeSandbox - Online React Playground - Interview with Ives van Hoorne</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/codesandbox-interview"></link><id>codesandbox-interview</id><published>2017-04-24T00:00:00.000Z</published><content type="html">Getting started with React can be daunting especially if you want to understand the entire setup. Solutions like create-react-app have hidden a lot of this complexity. But there's more to it.

CodeSandbox by Ives van Hoorne pushes the problem online.…</content></entry><entry><title>Scrimba - Interactive Screencasts Created in an Instant - Interview with Per Harald Borgen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/scrimba-interview"></link><id>scrimba-interview</id><published>2017-04-17T00:00:00.000Z</published><content type="html">YouTube and the web are filled with screencasts. They provide a great way to learn difficult concepts as you can see in practice how something specific is done. This is the way I learned to use Blender, a 3D suite, in the past. It all made sense afte…</content></entry><entry><title>SurviveJS - Webpack - v2.0 - Results and Errata</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-20-results-errata"></link><id>survivejs-webpack-20-results-errata</id><published>2017-04-12T00:00:00.000Z</published><content type="html">Enough time has passed since the major release of the webpack book so it's a good time to evaluate how well it went. As no release is perfect, I've been pushing smaller patches to the content and I cover the fixes later in this post. The fixes are mi…</content></entry><entry><title>Sanctuary - Refuge from unsafe JavaScript - Interview with David Chambers</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/sanctuary-interview"></link><id>sanctuary-interview</id><published>2017-04-10T00:00:00.000Z</published><content type="html">If there's something that's easy, it's making mistakes while coding JavaScript. Overlook one detail and you have a runtime error! One way to deal with the problem is to use a programming style which leads code that's harder to break and also easier t…</content></entry><entry><title>Rambda - Faster and Smaller Alternative to Ramda - Interview with Dejan Toteff</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/rambda-interview"></link><id>rambda-interview</id><published>2017-04-03T00:00:00.000Z</published><content type="html">Even though you can get far with JavaScript's native functionality, eventually you'll find yourself writing little utilities to make it easier. For this reason, we have libraries such as Lodash, Ramda, and others.

In this interview, you'll learn abo…</content></entry><entry><title>SurviveJS - Webpack - v2.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-20"></link><id>survivejs-webpack-20</id><published>2017-03-29T00:00:00.000Z</published><content type="html">Here we go then. This is the big release I've been working towards for the past few months. Compared to the previous release this one is more polished and also available in a paper form. The digital edition has 458 pages while the paper version grew …</content></entry><entry><title>Hyperapp - Tiny Library for Frontend Applications - Interview with Jorge Bucaran</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/hyperapp-interview"></link><id>hyperapp-interview</id><published>2017-03-13T00:00:00.000Z</published><content type="html">Micro-sized JavaScript libraries are a niche of their own. Often the idea is to use modern JavaScript APIs and expose them in an easier way. The earlier RE:DOM interview discussed one option.

This time around I am interviewing Jorge Bucaran, the aut…</content></entry><entry><title>SurviveJS Euro Tour 2017</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/euro-tour-2017"></link><id>euro-tour-2017</id><published>2017-03-10T00:00:00.000Z</published><content type="html">You know how rockstars tour to support their albums? Who is to say a book author could not do the same?

Through a couple of coincidences, it looks like I'll be touring Europe this April. I'll start the tour from Finland and visit countries like Norw…</content></entry><entry><title>Code Quality - Interview with João Caxaria</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/code-quality-interview"></link><id>code-quality-interview</id><published>2017-03-06T00:00:00.000Z</published><content type="html">What makes code good? How do you tell bad code from good one? Issues like this come to mind when you think about the concept of code quality. To get a better idea of the topic, I'm interviewing João Caxaria

Can you tell a bit about yourself?

João C…</content></entry><entry><title>SurviveJS - Webpack - v1.9</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-19"></link><id>survivejs-webpack-19</id><published>2017-03-01T00:00:00.000Z</published><content type="html">If the previous release was a big step, this is another one. By the looks of it, the final paper version will be around 450 pages. Don't worry, though, I've taken special care to keep the chapters short and focused.

I consider the current release co…</content></entry><entry><title>SurviveJS - Webpack - v1.8</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-18"></link><id>survivejs-webpack-18</id><published>2017-02-18T00:00:00.000Z</published><content type="html">Compared to the previous release this one has gained more weight. The PDF version of the book is close to 400 pages due to new content and enhancements. There is still one chapter and two appendices to write, but the finish line is close!

T> If you …</content></entry><entry><title>SurviveJS - Webpack - v1.7.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-170"></link><id>survivejs-webpack-170</id><published>2017-02-04T00:00:00.000Z</published><content type="html">Compared to the previous release we've proceeded a step or two closer towards paper. This time around in addition to the usual tweaks there are a couple of new chapters and more content.

It will likely take at least one more release till we get to t…</content></entry><entry><title>Unexpected - The Extensible BDD Assertion Toolkit - Interview with Sune Simonsen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/unexpected-interview"></link><id>unexpected-interview</id><published>2016-01-30T00:00:00.000Z</published><content type="html">When it comes to testing, often you assert certain truths.  At the very least you might have simple asserts sprinkled in your code. Or you might push them to separate suites which you then execute using a test runner.

Unexpected by Sune Simonsen tak…</content></entry><entry><title>ajv - The Fastest JSON Schema Validator - Interview with Evgeny Poberezkin</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/ajv-interview"></link><id>ajv-interview</id><published>2017-01-23T00:00:00.000Z</published><content type="html">Describing what things are is an essential skill for a programmer. We might do that implicitly, but we often have to think about structure regardless. JSON Schema is a specification that allows us to do this in a more formal manner.

Assuming you wer…</content></entry><entry><title>SurviveJS - Webpack - v1.6.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-160"></link><id>survivejs-webpack-160</id><published>2017-01-19T00:00:00.000Z</published><content type="html">You might have noticed that webpack 2 reached a final release. That means it's a good time to update this book as well. Even though it's mostly a maintenance release, there's some new content in store.

Compared to the previous release this one feels…</content></entry><entry><title>isomorphic-webpack - Universal module consumption using webpack - Interview with Gajus Kuizinas</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/isomorphic-webpack-interview"></link><id>isomorphic-webpack-interview</id><published>2017-01-10T00:00:00.000Z</published><content type="html">A lot of people see isomorphic rendering as a holy grail given it gives advantages a SPAs lost compared to earlier solutions. The fact that you can provide initial markup has SEO and performance implications. It is a hard problem, though, as your too…</content></entry><entry><title>SurviveJS - Webpack - v1.5.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-150"></link><id>survivejs-webpack-150</id><published>2017-01-03T00:00:00.000Z</published><content type="html">New year, new chance to write. The previous release put the writing gear back on and it's time to continue. This time around there are quite a big changes in the content and it's starting to feel more and more something worth publishing in a paper fo…</content></entry><entry><title>Styletron - Universal, high-performance JavaScript styles - Interview with Ryan Tsao</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/styletron-interview"></link><id>styletron-interview</id><published>2016-12-26T00:00:00.000Z</published><content type="html">Styling is one of those topics that's under flux. My React styling chapter alone covers quite a few approaches and Michele Bertoli's list has a lot more.

There was an interview on glamor earlier. It's time to continue on the theme and check out a so…</content></entry><entry><title>SurviveJS - Webpack - v1.4.2</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-142"></link><id>survivejs-webpack-142</id><published>2016-12-19T00:00:00.000Z</published><content type="html">Alright, here we go again. It has been a while since the previous release and it's time for a big Winter update!

Quite a bit has happened since. I spent most of the intermediate time in consulting and training mode. Since I became a part of webpack …</content></entry><entry><title>Inferno - Blazing fast, React-like UI library - Interview with Dominic Gannaway</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/inferno-interview"></link><id>inferno-interview</id><published>2016-12-12T00:00:00.000Z</published><content type="html">One of the cool things about React is that it managed to pull a lot of people into the component world. Even though there was initial resistance, the ideas seem to have stuck. Maybe the question is, what next?

Inferno, a blazing fast React-like UI l…</content></entry><entry><title>Svelte - The magical disappearing UI framework - Interview with Rich Harris</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/svelte-interview"></link><id>svelte-interview</id><published>2016-12-07T00:00:00.000Z</published><content type="html">If jQuery gave us proper control over the DOM, and React brought components to the limelight, what's next? Svelte by Rich Harris might be an answer to this conundrum. You might remember him from tools such as Bublé and Rollup. Read on to learn what S…</content></entry><entry><title>webpack-merge - Taming Webpack Configuration - Interview with Juho Vepsäläinen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/webpack-merge-interview"></link><id>webpack-merge-interview</id><published>2016-11-29T00:00:00.000Z</published><content type="html">It's almost funny how far a simple idea can fly sometimes. When writing my first book, I ran into the problem of configuring webpack. I prefer to keep my configuration in a single file and duplication goes against my nature. As a result webpack-merge…</content></entry><entry><title>StarRatio - Compare JavaScript Projects - Interview with Dmitry Zaets</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/starratio-interview"></link><id>starratio-interview</id><published>2016-11-14T00:00:00.000Z</published><content type="html">Comparing different JavaScript projects is surprisingly tough. This is a problem encountered by many developers daily. Most often it's the easiest to go and pick the solution with the most GitHub stars, but that's not always the whole story.

Dmitry …</content></entry><entry><title>RE:DOM - Tiny but Super Fast DOM Library - Interview with Juha Lindstedt</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/redom-interview"></link><id>redom-interview</id><published>2016-10-31T00:00:00.000Z</published><content type="html">Sometimes small is beautiful. Juha Lindstedt's FRZR, a 4kB view library, was a nice example of that as we saw earlier. This time we'll discuss evolution of Juha's work - a solution known as RE:DOM.

How would you describe RE:DOM to someone who has ne…</content></entry><entry><title>Glamor - Inline CSS for React et al - Interview with Sunil Pai</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/glamor-interview"></link><id>glamor-interview</id><published>2016-10-17T00:00:00.000Z</published><content type="html">If you ask multiple React developers their styling approaches, you will also get multiple different answers. One trend is clear, though, the movement towards inline styling.

This is something that was considered an anti-pattern before React, but as …</content></entry><entry><title>Teaching JavaScript - Interview with Bianca Gandolfo</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/teaching-javascript-interview"></link><id>teaching-javascript-interview</id><published>2016-10-03T00:00:00.000Z</published><content type="html">I have chosen one approach when it comes to teaching JavaScript and related topics. Books are just a way amongst many others. Today I'm interviewing another professional, Bianca Gandolfo, about the topic. Let's see what she thinks about teaching Java…</content></entry><entry><title>react-game-kit - Make games with React - Interview with Ken Wheeler</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-game-kit-interview"></link><id>react-game-kit-interview</id><published>2016-09-26T00:00:00.000Z</published><content type="html">What's more fun than making applications with React? Making games of course! I remember coding Pong in Python (harder than it sounds) and writing a text adventure or two. Games look deceptively simple but are quite difficult to code.

Today I'm inter…</content></entry><entry><title>Reactotron - A CLI and OS X App for Inspecting - Interview with Steve Kellock</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/reactotron-interview"></link><id>reactotron-interview</id><published>2016-09-19T00:00:00.000Z</published><content type="html">If there's one thing that has set React community apart, it's the focus on developer experience (DX). Historically developer tools haven't been the greatest, but this is slowly and surely changing. Reactotron by Steve Kellock is a good example of thi…</content></entry><entry><title>Reactabular - Spectacular tables for React - Interview with Juho Vepsäläinen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/reactabular-interview"></link><id>reactabular-interview</id><published>2016-09-12T00:00:00.000Z</published><content type="html">Writing a little HTML table isn't particularly hard. It all gets more complex when you need logic like filtering, pagination, or fixed headers. A simple problem becomes difficult fast as requirements appear.

When it comes to React, there are a few e…</content></entry><entry><title>Assetgraph - Optimization Framework for Web Pages and Applications - Interview with Peter Müller</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/assetgraph-interview"></link><id>assetgraph-interview</id><published>2016-09-05T00:00:00.000Z</published><content type="html">If you have written a web application or site, you have had to deal with various assets like images, fonts, HTML, JavaScript code, whatnot. It's not a simple task to keep it all organized. This is why we have tools like webpack, browserify, or jspm a…</content></entry><entry><title>PureScript - Strongly Typed Programming Language Compiling to JavaScript - Interview with Phil Freeman</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/purescript-interview"></link><id>purescript-interview</id><published>2016-08-22T00:00:00.000Z</published><content type="html">It's interesting how JavaScript development proceeds in cycles. While a lot of people might be happy with the standard language, there are always some that are willing to go further and push the envelope.

Sometimes this leads to a better standard as…</content></entry><entry><title>CodeceptJS - Modern Era Acceptance Testing for Node.js - Interview with Michael Bodnarchuk</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/codeceptjs-interview"></link><id>codeceptjs-interview</id><published>2016-08-15T00:00:00.000Z</published><content type="html">Testing is a complicated topic. Just peppering your code with unit tests isn't often enough. You'll need something more, especially if you are developing something user facing. That's where techniques like integration or acceptance testing come in.

…</content></entry><entry><title>Mostly Adequate Guide to Functional Programming - Interview with Brian Lonsdorf</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/mostly-interview"></link><id>mostly-interview</id><published>2016-08-01T00:00:00.000Z</published><content type="html">You might have heard about Mostly Adequate Guide to Functional Programming (in JavaScript) by Brian Lonsdorf. It's one of the better known free books discussing JavaScript.

Today I'm bugging Brian about the topic. Functional programming is close to …</content></entry><entry><title>tcomb - Type checking and DDD for JavaScript - Interview with Giulio Canti</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/tcomb-interview"></link><id>tcomb-interview</id><published>2016-07-25T00:00:00.000Z</published><content type="html">Given JavaScript is loosely typed, it can be amazingly productive language for prototyping. The problems begin once your project grows in complexity. It is very easy to end up with a runtime error if you miss a simple check at the right place.

Testi…</content></entry><entry><title>redux-saga - Saga Middleware for Redux to Handle Side Effects - Interview with Yassine Elouafi</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/redux-saga-interview"></link><id>redux-saga-interview</id><published>2016-07-18T00:00:00.000Z</published><content type="html">When developing front-ends, handling asynchronous behavior is always bit of a challenge. Yassine Elouafi's redux-saga provides one solution to this problem. Read on to learn more about sagas and redux-saga in particular.

T> Check out the earlier int…</content></entry><entry><title>Snabbdom - a Virtual DOM Focusing on Simplicity - Interview with Simon Friis Vindum</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/snabbdom-interview"></link><id>snabbdom-interview</id><published>2016-07-11T00:00:00.000Z</published><content type="html">If you have been using React, you have used one implementation of virtual DOM perhaps without thinking too much about it. It's one of those concepts that's worth understanding in greater detail, though.

There are specific virtual DOM implementations…</content></entry><entry><title>SurviveJS - Webpack - v1.3.1</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-131"></link><id>survivejs-webpack-131</id><published>2016-06-14T00:00:00.000Z</published><content type="html">Compared to the previous release this is a conservative release. There are certain bug fixes and content improvements, but no new chapters. The focus was on pushing the current content further based on feedback.

I am very happy that the book split h…</content></entry><entry><title>npms.io - A better and open source search for node modules - Interview with André Cruz</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/npms-interview"></link><id>npms-interview</id><published>2016-06-13T00:00:00.000Z</published><content type="html">As I lamented earlier this year, it's increasingly difficult to find npm packages. One way to describe this is npmopeia. The feeling that the package you need exists. The problem is how to find that package.

That is where services like npms.io by An…</content></entry><entry><title>Mikey - React/Redux CLI/Framework - Interview with Michael Farrell</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/mikey-interview"></link><id>mikey-interview</id><published>2016-06-06T00:00:00.000Z</published><content type="html">It is tedious and boring to do the same thing over and over. That's where generator tools come in as they take some grunt work out of coding. Mikey by Michael Farrell is a tool like that for React and Redux. To learn more about the tool, read on.

Ca…</content></entry><entry><title>SurviveJS - React - v2.5.3</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-react-253"></link><id>survivejs-react-253</id><published>2016-06-01T00:00:00.000Z</published><content type="html">It has been a while since the previous release and a lot has happened. In addition to ramping up my consulting and training business, I managed to publish a book on webpack. That was the first part of my planned split. This is the second.

From now o…</content></entry><entry><title>Builder - A npm-based task runner - Interview with Ryan Roemer</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/builder-interview"></link><id>builder-interview</id><published>2016-05-16T00:00:00.000Z</published><content type="html">Builder by Formidable Labs is one of those projects tackling the boilerplate issue. It is a project that repurposes npm scripts into something more powerful. To learn more, let's let Ryan Roemer discuss builder in detail.

Can you tell a bit about yo…</content></entry><entry><title>SurviveJS - Webpack - v1.2.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-120"></link><id>survivejs-webpack-120</id><published>2016-05-11T00:00:00.000Z</published><content type="html">As I've been working towards splitting the first book, I realized I must do one more release of this webpack one before I can complete it. That's what the current release, 1.2.0, is about. I've moved certain content there (mainly linting, npm related…</content></entry><entry><title>nwb - CLI for React Applications and Components - Interview with Jonny Buchanan</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/nwb-interview"></link><id>nwb-interview</id><published>2016-05-09T00:00:00.000Z</published><content type="html">Boilerplate code is perhaps one of the leading causes of JavaScript fatigue. You often have to go through certain motions to set up a project or maintain a boilerplate of your own. In the previous interview about kotatsu we saw one possible solution.…</content></entry><entry><title>Kotatsu - Less Boilerplate for Modern JavaScript - Interview with Guillaume Plique</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/kotatsu-interview"></link><id>kotatsu-interview</id><published>2016-05-02T00:00:00.000Z</published><content type="html">npm alone has more than three thousand JavaScript boilerplates. Often it's easier to maintain your own than to use one designed by someone else. Everyone has their own preferences. At best boilerplates work as inspiration for your own work. The quest…</content></entry><entry><title>Hashnode - Community for Software Developers - Interview with Sandeep Panda</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/hashnode-interview"></link><id>hashnode-interview</id><published>2016-04-25T00:00:00.000Z</published><content type="html">One of the challenges of being a web developer is keeping up with the world. The field moves ahead constantly and it's easy to fail to see the forest from the trees. In part, SurviveJS was born to address this problem, but obviously it's only a small…</content></entry><entry><title>SurviveJS - Webpack - v1.1.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-110"></link><id>survivejs-webpack-110</id><published>2016-04-24T00:00:00.000Z</published><content type="html">Compared to the first release a couple of weeks ago, this version has matured quite a bit. I've been reviewing the content with my editor (thanks Jesús!) and that has lead to some nice insights. Our work is still in progress and so far we've combed t…</content></entry><entry><title>FRZR - a Tiny View Library - Interview with Juha Lindstedt</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/frzr-interview"></link><id>frzr-interview</id><published>2016-04-18T00:00:00.000Z</published><content type="html">Often when you pick up a JavaScript library it's going to be a little chunky - tens, or even hundreds of kilobytes. Though this can be entirely acceptable given the benefits, it might be a little much at times.

What if it was possible to begin from …</content></entry><entry><title>SurviveJS - Webpack and React - v2.1.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs210"></link><id>survivejs210</id><published>2016-04-17T00:00:00.000Z</published><content type="html">It has been a while since the previous release and quite a bit has happened. As you might have noticed, there's actually a new book about webpack out there now. The idea is that I will split this one in two.

This book will continue as something Reac…</content></entry><entry><title>Relax - New generation CMS on top of React and Node.js - Interview with Bruno Mota</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/relax-interview"></link><id>relax-interview</id><published>2016-04-11T00:00:00.000Z</published><content type="html">Even though I've spent a lot of time with web development, I never really delved into the world of Content Management Systems (CMS). I'm of course aware of WordPress, Drupal, and such. I've managed to get away with either something entirely custom or…</content></entry><entry><title>SurviveJS - Webpack - v1.0.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-webpack-100"></link><id>survivejs-webpack-100</id><published>2016-04-02T00:00:00.000Z</published><content type="html">I'm currently in process of splitting up the big book (SurviveJS - Webpack and React). The split allows me to dig deeper in both topics. This book, SurviveJS - Webpack, focuses on webpack as you might guess.

Given this is the very first edition, you…</content></entry><entry><title>React.rocks - React Components and Demos - Interview with Jeff Winkler</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-rocks-interview"></link><id>react-rocks-interview</id><published>2016-03-14T00:00:00.000Z</published><content type="html">Given there's a lot going on in the React ecosystem, it can be difficult to keep up. Jeff Winkler maintains a service known as React.rocks to alleviate this problem. To get a better idea of what the service is about, read on.

Can you tell a bit abou…</content></entry><entry><title>Reindex - Instant GraphQL Backend for Your React Apps - Interview with Ville Immonen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/reindex-interview"></link><id>reindex-interview</id><published>2016-03-07T00:00:00.000Z</published><content type="html">More often than not, you are going to need a back-end for your application. Particularly RESTful APIs are popular. They are not the only choice, though. GraphQL is a specification that has been designed apps in mind. Rather than separating our API en…</content></entry><entry><title>SurviveJS - Learn Webpack and React - Interview with Juho Vepsäläinen</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-interview"></link><id>survivejs-interview</id><published>2016-02-29T00:00:00.000Z</published><content type="html">There is always some level of tension between getting things done and learning new technologies. A lot of the recent JavaScript fatigue stems from that. A year ago I decided to take some preemptive moves against it. The whole point of the SurviveJS e…</content></entry><entry><title>react-styleguidist - Style guide generator for React - Interview with Artem Sapegin</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/styleguidist-interview"></link><id>styleguidist-interview</id><published>2016-02-22T00:00:00.000Z</published><content type="html">People have been developing style guides for their sites and applications for quite a while. They define basic building blocks and aesthetics. This is valuable as it helps you to keep your design consistent and communicate it to your developers bette…</content></entry><entry><title>SurviveJS - Webpack and React - v2.0.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs200"></link><id>survivejs200</id><published>2016-02-15T00:00:00.000Z</published><content type="html">When I started this project roughly a year ago I had no idea how rewarding and demanding one it would be. Writing books is way harder than it sounds. Especially when you go through the self-publishing route, you have a lot to learn!

Overview of the …</content></entry><entry><title>SurviveJS - Webpack and React - v2.0.0-rc4</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs200-rc4"></link><id>survivejs200-rc4</id><published>2016-02-07T00:00:00.000Z</published><content type="html">The previous release candidate prompted a nice amount of feedback. I've taken that into account in this release. I have a date for the final in sight and I won't be making any significant changes for the final release.

It's not going to be the perfe…</content></entry><entry><title>Towards a Common Component Definition</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/towards-common-components"></link><id>towards-common-components</id><published>2016-02-02T00:00:00.000Z</published><content type="html">There has been talk of JavaScript fatigue. It's true the field is progressing fast. And as you move fast, it can be tiring for sure. Fortunately, as we understand better what we are doing, we can actually standardize our ways of doing. That should ta…</content></entry><entry><title>SurviveJS - Webpack and React - v2.0.0-rc3</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs200-rc3"></link><id>survivejs200-rc3</id><published>2016-01-22T00:00:00.000Z</published><content type="html">If the previous release candidate had few changes, this one is the opposite. I consider this good news as it's better to catch bigger issues now rather than later. Thanks for feedback!

Overview of the Situation

I managed to improve the Redux versio…</content></entry><entry><title>SurviveJS - Webpack and React - v2.0.0-rc2</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs200-rc2"></link><id>survivejs200-rc2</id><published>2016-01-10T00:00:00.000Z</published><content type="html">Not a lot has happened since the previous release candidate. The biggest change has to do with a little bug that the recent release of Babel 6.4 revealed. All property initializer based declarations were missing a semicolon as Babel treated them in a…</content></entry><entry><title>SurviveJS - Webpack and React - v2.0.0-rc1</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs200-rc1"></link><id>survivejs200-rc1</id><published>2016-01-06T00:00:00.000Z</published><content type="html">Since the beta was launched, I've been working on remaining improvements. This has mostly meant tuning the existing content, although there are some new bits as well.

Obviously the released book won't be complete in sense that it contains everything…</content></entry><entry><title>Codemod - Refactoring Code Programmatically - Interview with Ramana Venkata</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/codemod-interview"></link><id>codemod-interview</id><published>2016-01-01T00:00:00.000Z</published><content type="html">Performing big changes to a codebase is always a little daunting. Doing each change by hand is time consuming and generally leads to errors, unless you have a good test suite in place.

Codemod is a tool that has been designed to help in this problem…</content></entry><entry><title>2015 Recap</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/recap"></link><id>recap</id><published>2015-12-30T00:00:00.000Z</published><content type="html">I know the common wisdom is that you shouldn't write technical books. It's a difficult way to earn your income, especially when you live in a country with heavy taxation and price level. Strangely enough, it's working out for me at the moment. I'll g…</content></entry><entry><title>SurviveJS - Webpack and React - v2.0.0-beta2</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs200-beta2"></link><id>survivejs200-beta2</id><published>2015-12-28T00:00:00.000Z</published><content type="html">The long awaited 2.0 is getting very close. babel-plugin-react-transform reached version 2.0 last Wednesday. This was all I needed to push the book to Babel 6. I released 2.0.0-beta1 as a xmas present of some sort to my Leanpub readers in early acces…</content></entry><entry><title>WhitestormJS - Three.js Based Game Engine - Interview with Alexander Buzin</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/whitestormjs-interview"></link><id>whitestormjs-interview</id><published>2015-12-22T00:00:00.000Z</published><content type="html">I remember, when a few years ago a friend asked me what JavaScript game engine to use. As a result, I set up a little gist that in turn lead to something larger, namely jswiki, and eventually jster.net. The game engine listing and game engine feature…</content></entry><entry><title>SurviveJS - Webpack and React v1.9.15</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs1915"></link><id>survivejs1915</id><published>2015-12-11T00:00:00.000Z</published><content type="html">This is perhaps the last release before the long awaited 2.0. Alt reached version 0.18. As a result a certain part of the book broke. I have fixed that issue in this release. There are also plenty of other tweaks here and there, and even some new con…</content></entry><entry><title>React Indie Bundle - Summary</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-indie-bundle"></link><id>react-indie-bundle</id><published>2015-12-07T00:00:00.000Z</published><content type="html">It is amazing what a great year this turned out to be. I launched this site around July. Since then a lot has changed. While the situation might have looked a little desperate back then, I feel we are on a sustainable track now. And there is still a …</content></entry><entry><title>StarHackIt - A Full Stack ES6/ES7 Starter Kit based on React and Node - Interview with Frederic Heem</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/starhackit-interview"></link><id>starhackit-interview</id><published>2015-11-24T00:00:00.000Z</published><content type="html">I discussed my React component boilerplate earlier on. It is focused and deals only with the frontend. Often you need more than just a frontend, though. This is where Frederic Heem's StarHackIt fits. It is a full stack boilerplate. Read on to learn m…</content></entry><entry><title>SurviveJS - Webpack and React - v1.9.10</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs1910"></link><id>survivejs1910</id><published>2015-11-22T00:00:00.000Z</published><content type="html">It's time for another maintenance release with minor tweaks here and there. Probably the biggest change is the fancy new cover which I crafted based on the logo design of Prospect One. Cheers for that.

Probably the biggest news this time around is t…</content></entry><entry><title>react-router5 - Routing Alternative for React - Interview with Thomas Roch</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-router5-interview"></link><id>react-router5-interview</id><published>2015-11-09T00:00:00.000Z</published><content type="html">When people ask about what routing solution to use with React, they often get pointed at react-router. It is a powerful solution and used by many so it can make sense. That doesn't mean it's the only alternative, though.

This time I'm interviewing T…</content></entry><entry><title>SurviveJS - Webpack and React - v1.9.5</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-195"></link><id>survivejs-195</id><published>2015-11-03T00:00:00.000Z</published><content type="html">You could say a lot has happened since the previous release. React 0.14 came out mere hours after it. React DnD gained 0.14 compatibility in its 2.0 release. Node.js reached 5.0.0 (v4 is LTS, supported for four years). And a couple of days ago Babel …</content></entry><entry><title>Baobab - Data Trees with Cursors - Interview with Guillaume Plique</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/baobab-interview"></link><id>baobab-interview</id><published>2015-11-02T00:00:00.000Z</published><content type="html">I remember running into Baobab through Christian Alfoni's post about it. In short, it's a library that provides you optionally immutable data trees with cursors. Admittedly that's quite a mouthful.

In order to understand the topic a little better, i…</content></entry><entry><title>React Component Boilerplate v1.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-component-boilerplate-10"></link><id>react-component-boilerplate-10</id><published>2015-10-22T00:00:00.000Z</published><content type="html">If you try searching GitHub for React boilerplates, you'll find over thousand results. Nothing is harder than to agree on a standard boilerplate. As a result we have many to choose from.

Given I like to author React components, such as Reactabular, …</content></entry><entry><title>React-Bootstrap - Bootstrap Rebuilt for React - Interview with Matt Smith</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-bootstrap-interview"></link><id>react-bootstrap-interview</id><published>2015-10-13T00:00:00.000Z</published><content type="html">Bootstrap is easily one of the most popular CSS frameworks out there. Beyond grids and basic layout utilities, it provides a nice set of widgets to use. Even though you can use the CSS with React, this may become cumbersome quite soon. You will likel…</content></entry><entry><title>SurviveJS - Webpack and React - v1.9.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-19"></link><id>survivejs-19</id><published>2015-10-07T00:00:00.000Z</published><content type="html">Compared to 1.8.0, 1.9.0 can be seen as a more conservative release. There are plenty of smaller fixes and even some new content too. I decided to fix the chapter structure to the current. I rather provide less but better content. This also helps to …</content></entry><entry><title>Cerebral - Expressing Application Flow with Signals - Interview with Christian Alfoni</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/cerebral-interview"></link><id>cerebral-interview</id><published>2015-10-05T00:00:00.000Z</published><content type="html">I ran into Christian Alfoni through his original blog early this year (2015). He had written a nice post about Webpack. That led me to provide a several suggestions and I realized we might want to combine some of our knowledge in the form of a React/…</content></entry><entry><title>ShaderFrog - Building a WebGL Shader Editor and Composer - Interview with Andrew Ray</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/shaderfrog-interview"></link><id>shaderfrog-interview</id><published>2015-09-28T00:00:00.000Z</published><content type="html">It's always impressive when people take an idea and turn it into a concrete service. Andrew Ray did this with his ShaderFrog. It's a portal where you can design 3D shaders using WebGL. Most interestingly, it has been developed using React.

As buildi…</content></entry><entry><title>Cycle.js - Reactive Framework for HCI - Interview with André Staltz</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/cycle-interview"></link><id>cycle-interview</id><published>2015-09-21T00:00:00.000Z</published><content type="html">If there's one thing that has been bubbling below for a couple of years now, it must be reactive programming. There have been solutions, such as RxJS or bacon.js, but they haven't quite made it to the mainstream yet. I feel the time for that might be…</content></entry><entry><title>Redux - Reinventing Flux - Interview with Dan Abramov</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/redux-interview"></link><id>redux-interview</id><published>2015-09-14T00:00:00.000Z</published><content type="html">I remember seeing these strange webpack.config.js files in JavaScript projects for a long time. I didn’t give Webpack a good look until the promise of hot loading with React drew me in. Dan Abramov’s React Hot Loader was life changing for me.

Beside…</content></entry><entry><title>SurviveJS - Webpack and React - v1.8.0</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-18"></link><id>survivejs-18</id><published>2015-09-13T00:00:00.000Z</published><content type="html">We have once more new chapters in the book. I'm going to try a new model with these. For now the full versions of the testing and typing chapters will be available through Leanpub only. The community version will contain TLDR;s for these so you still…</content></entry><entry><title>Front-end Singularity and How to Deal with It</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/frontend-singularity-is-here"></link><id>frontend-singularity-is-here</id><published>2015-09-06T00:00:00.000Z</published><content type="html">Technological progress is both exhilarating and terrifying thing. And by the looks of it, it just keeps on progressing faster and faster. This has lead to an idea of technological singularity. As singularity is reached, technology develops so fast hu…</content></entry><entry><title>How to Succeed at Technical Books?</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/succeed-at-technical-books"></link><id>succeed-at-technical-books</id><published>2015-09-04T00:00:00.000Z</published><content type="html">I've written about book publishing earlier at my personal blog. It is an interesting yet difficult business. I sort of stumbled into the world by chance. In this post I want to share some of my learnings.

Long story short I wrote a little Webpack co…</content></entry><entry><title>SurviveJS - Webpack and React - v1.7.5</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-175"></link><id>survivejs-175</id><published>2015-08-30T00:00:00.000Z</published><content type="html">Onwards we go. v1.7.5 can be characterized as a refinement release. I went through "React and Flux" and "From Notes to Kanban" with my editor (thanks Jesús!). As a result we should have something that's a notch better together. I took some decompress…</content></entry><entry><title>MobX - Reactive React - Interview with Michel Weststrate</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/mobx-interview"></link><id>mobx-interview</id><published>2015-08-19T00:00:00.000Z</published><content type="html">As React deals only with the view layer you will often have to complement it with something else. Flux architecture is one answer but not the only one. MobX by Michel Weststrate is a refreshing alternative. But what is it really about?

Can you tell …</content></entry><entry><title>SurviveJS - Webpack and React - v1.7</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-17"></link><id>survivejs-17</id><published>2015-08-16T00:00:00.000Z</published><content type="html">I skipped doing a public post for v1.6 as I was too tired (berry season is taxing). Now I'm going to give you release notes for both v1.6 and v1.7 at once. I have also some news of the future plans. So stay tuned.

Development Model Changes

I've mov…</content></entry><entry><title>A Quick Look at React Books</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/react-books"></link><id>react-books</id><published>2015-08-01T00:00:00.000Z</published><content type="html">As an author I like to keep an eye on the market. You have to know who you are against after all! It's not an understatement to say could that it's about to get swarmed with books. In this post I'll go through the ones I could find and provide you so…</content></entry><entry><title>SurviveJS - Webpack and React - v1.5</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/survivejs-15"></link><id>survivejs-15</id><published>2015-07-31T00:00:00.000Z</published><content type="html">Compared to the previous tagged release (v1.1.0, 10th of July) this new one (v1.5.0) is a monster. 274 commits went into it and nine contributors took part. Of course it was up to me to do most of the work. That said it is always amazing to get exter…</content></entry><entry><title>Web Design is Scrappy</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/web-design-is-scrappy"></link><id>web-design-is-scrappy</id><published>2015-07-17T00:00:00.000Z</published><content type="html">If you had to describe my approach to web design in one word the word would be scrappy. I rather get something to work fast than agonize on details. It is going to take a fair amount of iteration no matter what. This site is a good example of scrappy…</content></entry><entry><title>Reaching Towards the Next Level</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/reaching-towards-the-next-level"></link><id>reaching-towards-the-next-level</id><published>2015-07-15T00:00:00.000Z</published><content type="html">In my previous post I discussed some of the difficulties of related to technical publishing. I also presented a possible solution, a mixed model that might make open publishing more feasible. The idea is that starting closed and asking for money befo…</content></entry><entry><title>Balancing Between Open and Closed Publishing</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/balance"></link><id>balance</id><published>2015-07-14T00:00:00.000Z</published><content type="html">If there's one thing technical authors have in common, it's that they all want to help other people. The question is how to achieve that most effectively. In my previous post I discussed how I have fared with my first effort so far. The results have …</content></entry><entry><title>SurviveJS - The Story So Far</title><link rel="alternate" type="text/html" href="https://survivejs.com/blog/the-story-so-far"></link><id>the-story-so-far</id><published>2015-07-13T00:00:00.000Z</published><content type="html">Given I'm a first time author I've done my fair share of mistakes with SurviveJS - Webpack and React. It was an attempt to change the direction of my career. Being a subcontractor's subcontractor provides income, sure, but was a dead end for me with …</content></entry></feed>