Blog
![Cube stack](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659118850/rangle.io/blogs/web-components-part-1/feature-photo.png)
The core concept of a Web Component is similar to that of components in frameworks such as React, Angular or Vue. It is a reusable UI building block that encapsulates all the HTML, CSS and any JavaScript-based logic required to render it. The big difference is that instead of relying on a specific JavaScript framework it leverages technologies natively provided by the browser so that your Web Components are framework agnostic. The technologies that Web Components leverage from the browser are features such as Custom Elements, Shadow DOM, ES Modules and HTML Templates.
![Hatched chick emoji](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659118848/rangle.io/blogs/thinking-in-nested-streams-with-rxjs/feature-photo.png)
In my first project at Rangle, I jumped into a codebase that used redux observable, a combination of RxJS and Redux for managing state and side effects like calls to our backend & 3rd party APIs. Although I was new to RxJS, I could relate many of its operators like map and take to standard JS array functions, or functions included in the Ramda library. Other RxJS operators were like nothing I had seen before, such as flatMap, and switchMap.
![Overlapping 7s of decreasing opacity](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659118841/rangle.io/blogs/routing-features-angular-7-2-0/feature-photo.png)
The Angular team at Google kicked off the New Year by releasing Angular 7.2.0 and with that came many great new features. Routing can seem like a pretty simple thing but can easily turn more complicated than expected. For performance reasons, we often want to lazy load modules to optimize our code.
![Literal Signpost](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659118842/rangle.io/blogs/building-product-roadmaps/feature-photo.png)
Agility is essential in order to innovate in today’s digital world. It enables organizations to find ways of creating new sources of value that meet the evolving needs of customers. If done right, the product roadmap can be the link that articulates how the organization plans to deliver value. In contrast, a poorly constructed roadmap can lead to a series of unintended consequences that we'll explore in this post. But before we do, let's define what a product roadmap is.
![Pensive Emoji](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659118840/rangle.io/blogs/six-hard-won-lessons-for-fledgling-developers/feature-photo.png)
When I started out as a freshly-minted developer three years ago, I was bursting with energy and ambition. Although I suffered (and still suffer at times) from an acute case of impostor syndrome, I was keen to learn, and it seemed like there was nothing that I couldn’t - and shouldn’t - attempt.
![spiral](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659118820/rangle.io/blogs/artificial-intelligence-for-creativity-and-design/feature-photo.png)
This past December I attended a Machine Learning for Creativity and Design workshop at NeurIPS 2018 in Montreal. NeurIPS (formerly NIPS) is a Conference on Neural Information Processing Systems or what today is often referred to as "AI". It's one of the most popular conferences in the space attracting thousands of submissions and attendants each year.
![Cyber pig](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659118821/rangle.io/blogs/rangle-x-td-tech-connect/feature-photo.png)
We recently had the pleasure of hosting a panel of industry experts to discuss how financial technology (fintech) is disrupting the world of banking. More importantly, we learned what's needed from traditional organizations in order to stay competitive. Along with some of Rangle's innovation leadership, we heard from fintech trailblazers Andrew Graham, co-founder of Borrowell and Michael Garrity, CEO of Financeit moderated by tech analyst and host of Globe & Mail's tech podcast, "I'll Go First", Takara Small. Let's get into it!
![cargo ship](https://res.cloudinary.com/rangle/image/upload/w_auto,q_auto,dpr_auto,f_auto/v1659118839/rangle.io/blogs/learning-docker-command-line-interface/feature-photo.png)
Learning development on the JavaScript stack can sometimes be quite frustrating (even with tools like Node or NVM). This is especially true when you manage different applications with different environment dependencies (or different versions of node, npm etc.) for each app that you're developing. You may have some legacy apps that you don't touch very often, but you want your host machine to have the latest and greatest when you start your next project. That's understandable and we've all been there before.