Photo by chuttersnap on Unsplash

The metaphorical man behind the curtain.

This is the second article of our series on Svelte. You can read about Svelte’s performance advantages over React in our first post: Svelte is really fast

After working with Svelte, I’ve found a lot to be lacking. I want to make this clear: Svelte is fast, but my issues are related to its magic syntax and implementation details.

Click here to save the snippet for this post to your Cacher library.

Svelte’s docs… Meh.

React, and a lot of the tooling around it, has amazing documentation. It’s clean, easy to read, and extremely easy to find what you’re looking for. …

Photo by Mathew Schwartz on Unsplash

In my testing, Svelte performs exceptionally well.

I heard a bunch of claims from the creator of Svelte about its render speed. I wanted to know more and delved into the source code. After reviewing the source and asking the creator a few questions, I tried my hand at breaking it with the 10,000 Processes code.

This article goes into detail about Svelte v3. At the time of writing, the extent of my experience with Svelte is only its performance. Because of that, this won’t be a run-down on how to build an app.

Click here to save the snippet for this post to your Cacher library.

Svelte is faster than React

Best practice is bad practice.

There’s a famous StackOverflow question everyone links when I suggest using Function.prototype as opposed to creating and sharing no-op (no operation) functions all over your codebase.

The question’s title: What is the JavaScript convention for no operation?

Cacher’s code snippet manager empowers you and your team to get more done, faster. Try all features free.

Click here to save the snippet for this post to your Cacher library.

Photo by Agê Barros on Unsplash

Code styling

I prefer code that reads easier and is more maintainable over time. In addition, I prefer native solutions where possible because using libraries and importing functions is cumbersome. Developer experience is key…

Code photo by Kevin Ghadyani
Code photo by Kevin Ghadyani

Using Redux-Observable for complex pipelines.

I’m an avid user of Redux-Observable, and while it masks a lot of the difficulties in using RxJS, you still need a deeper understanding of RxJS to handle really complex use cases. Using WebSockets, I’ll be showing you how you can make your own complex pipelines and understand them too!

WebSocket connection with RxJS in Node.js

In Node.js, setting up webSocket connection with RxJS is a bit difficult because unlike the browser, Node.js doesn’t have a native WebSocket object. With the ws library, all you need to do is override the WebSocketCtor value, and you’re good to go:

Pretty simple right? But this version doesn’t…

Photo by tian kuan on Unsplash

Making complex Redux-Observable easier to grok.

A single tip for Redux-Observable success.

If you’ve spent any time with Redux-Observable, you’ve probably run into the case where you need to dispatch something at the top of a pipeline and then do something else after.

This is a common problem, but not one that’s immediately apparent. Because Redux-Observable v1 automatically dispatches anything that falls through the pipeline, this means you have to split the pipeline to get your first action through, and then switch to another observable which continues the original pipeline.

Pipeline Splitting

It looks something like this:

With this method, you end up having to split the pipeline in a really complicated way…

Photo by Alex on Unsplash

Looking at things from a different perspective.

I’ve run into a situation where an idea I’ve come up with is referred to as an anti-pattern. I’m actually under the impression it’s a best-practice and the current way of doing things is counterproductive.

This issue is in regards to Redux-Observable and its automatic dispatching of actions. It’s been almost 2 years since I started using Redux-Observable. Over that time, I’ve solved out a lot of hard problems and gotten used to the crazy ways you have to write complex observables.

Some things I’ve done to improve the experience so far:

Photo by Ben White on Unsplash


What if you could get most of the benefits of Redux and didn’t have to write a single reducer?

What if you had to support a legacy AngularJS, jQuery, Backbone, or Knockout application? If you want to use Redux right now, you’d have to worry about having two sets of state.

Well you can! And all you need is Redux without state.

But Redux is a state manager:

Breaking tough problems into small pieces.

I wanted to see someone else’s take on software engineering and started binge watching TechLead on YouTube. I spent the next few days coming up with various solutions to an interview question he asked while working at Google.

This Video Got Me Excited

Mock Google interview (for Software Engineer job) by TechLead

TechLead brought up a question he asked in over 100 interviews at Google. It got me curious to think up a solution in RxJS. This article’s going to go over traditional methods though.

The real goal of his question is to get information from the interviewee. Will they ask the right questions before…

Photo by Frank Wang on Unsplash

Smart Home Troubles You’ve Never Knew Existed

I’m writing this series (The Smart Home Reality) to detail my troubles creating a smart home for the benefit of unknowing customers so these companies will improve their user experience for actual users.

tl;dr Wireless smart home networking sucks.

The Smart Home Reality

  1. Owning a Real Smart Home (start here!)
  2. Networking 215+ Smart Home Devices


Can you imagine creating a network capable of supporting 170+ Wi-Fi-connected devices and 40 Bluetooth devices? Well I didn’t know I’d have to. …

Screenshot of Ben Lesh’s original code on StackBlitz.

Even the best of us write bugs. This guy did it on purpose.

I’m going to point out a bug in Ben Lesh’s code which ended up just being semantics (more on this below).

Ben’s Original Tweet

Ben Lesh posted some code on Twitter for a talk he’s going to be doing at ngconf:

He wrote this code to provide a simple example where you can add to a number, undo, and redo in the DOM with very little code:

The goal is to both explain RxJS and show how, with only a few operators, you can do so much. This is also why he didn’t choose to render DOM elements using either Angular…

Kevin Ghadyani

Always Living in the Future

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store