Welcome!

From the Trenches of the Enterprise Software

Yakov Fain

Subscribe to Yakov Fain: eMailAlertsEmail Alerts
Get Yakov Fain via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Latest Blogs from Yakov Fain
In this article, I’ll show you aone of the RxJS operators for error handling – the catch() operator. The previous articles in this series include: 1. Basic Terms 2. Operators map, filter, and reduce 3.… More
In this article I’ll introduce the switchMap() operator. The previous articles in this series include: 1. Basic Terms 2. Operators map, filter, and reduce 3. Using Observable.create() 4. Using RxJS Subject 5. The flatMap operator… More
In this article I’ll introduce an RxJS flatMap() operator. The previous articles in this series include: 1. Basic Terms 2. Operators map, filter, and reduce 3. Using Observable.create() 4. Using RxJS Subject In some cases,… More
In this article I’ll introduce an RxJS Subject. The previous articles in this series include: 1. Basic Terms 2. Operators map, filter, and reduce 3. Using Observable.create() An RxJS Subject is an object that contains… More
In the previous article of this series you’ve seen some RxJS operator, and in this article I’ll show you how to create an Observable using the method create() and how an observable can send messages… More
In the previous article, I introduced the main players or RxJS, and now let’s start getting familiar with RxJS operators. In this article well use the operators map(), filter(), and reduce(). As the data elements… More
Today, I’m starting a series of articles about programming with reactive extensions. This series is about the JavaScript RxJS library, but in the future, I’m planning to write a similar series about the RxJava –… More
I’m planning to run a limited number of lunch-and-learn sessions for the organization located in Manhattan (New York City). These sessions are free of charge. Just pick a session from this list and send an… More
TypeScript supports parameterized types, also known as generics, which can be used in a variety of scenarios. For example, you can create a function that can take values of any type, but during its invocation,… More
Back in 2015, the ECMAScript 6 spec was released and at the time of this writing, all major browsers (except the stubborn IE11) support its syntax. In this article, I’ll show you a couple of… More
I’m happy to announce that my colleague Anton and I started working on the second edition of our Angular book published by Manning. The new TOC is here. The major changes in the second edition… More
So you have an Angular JS in prod and you want to migrate it to the latest version of Angular. The first question to answer is why? While talking to our clients, I’ve heard the… More
Just read this article about the recent GitHub Open Source survey revealing that 93 percent of people reported being frustrated with “incomplete or confusing documentation”. While I definitely agree that good documentation is key to… More
We started receiving requests for teaching an advanced Angular workshop. My colleague Anton and I started preparing the courseware and are planning to offer such a workshop this fall. Below is a draft of this… More
This is a list of presentations and workshops that Yakov Fain offers in 2017. If you’d like to invite Yakov to run any of these talks/workshops at your organization, please send an email at training@faratasystems.com.… More
This year I already ran about ten Angular workshops and made several presentations at various conferences (e.g. DevoxxUS, DevNexus, BuzzJS, JEEConf). Over the last 20 years, I’ve been running workshops on different software but I… More
I run public and private training pretty often, and the question about the class size often comes up. In this write-up, I’ll share my experience in teaching groups of people of various sizes and the… More
Yesterday, I was a No Show at one of the FREE webinars that I registered for. To be honest with you, even when I was registering for this event two weeks ago, I was not… More
I’ve been using Java generics for years, and when I saw their syntax in TypeScript, I simply put a checkmark in the list of TypeScript features that I already know and understand.I was wrong. Let… More
Yesterday, I was running yet another Angular workshop. After explaining how to install dependencies using npm, I show how to use Yarn (see this blog), a faster alternative to npm, and suggest that the students… More
You may need to have an Angular project that has multiple apps so you can run the build of a particular app, say depending on the customer you’re preparing the build for. In my case,… More
Over the last several years, the term “reactive programming” became popular in many programming languages. Reactive Manifesto was published although it gives a rather generic definition of reactive systems http://www.reactivemanifesto.org. Yes, an app should response…...
Angular 4 comes with some useful changes in the router. Let’s take a look at the changes in receiving parameters by a route and in the CanDeactivate guard (see here). A route can receive the… More
As of the latest Angular CLI beta 30, the command to install Angular CLI looks as follows: npm install -g @angular/cli To get rid of the old version of Angular CLI and install the new… More
In the upcoming six months of 2017 I’ll be speaking at the following conferences: 1. BuzzJS, New York City, January 27, 1 talk 2. DevNexus, Atlanta, February 22-24, 2 talks 3. DevoxxUS, San Jose, March… More
TypeScript is a superset of JavaScript and over the last year it’s gaining popularity by leaps and bounds. Angular 2 and RxJS 5 are written in Typescript. I believe about a million of developers are… More
The Angular 2 framework now supports semantic versioning, and it was announced that major upgrades (with breaking changes) will be released twice a year. In particular, in March of 2017 the version 4.0.0 will be… More
Manning is planning to release a free book sampler that would include chapters from different books covering modern Web development process. They asked me to select books/chapters and write a short intro, which I did… More
I decided to write this blog after reading the post “Dear JavaScript” by James Kyle. In short, James write about how the anger and negativity in some posts/comments hurt people who work tirelessly developing open… More
Our company, Farata Systems, offers two online hands-on workshops. Each workshop runs for 12 hours over 3 or 4 online sessions.   1. Developing Web Apps with Angular 2 and TypeScript. Essentials. 2. Developing Angular… More
In my blog about passing data to routes I mentioned that you can subscribe to parameters changing over time. In this blog I’ll show you how to do it by implementing master-detail functionality using the… More
In 2017 I’m planning to speak at several conferences related to development of Web applications with the new Angular 2 framework. Below is the list of my presentations (each one is 90-min long). All of… More
Initially the entry barrier into the world of Angular development was pretty high because of the need to learn and manually configure multiple tools. Even to get started with a simple application, you need to… More
So a child component needs to pass some data to its parent. I use TypeScript and in this blog I’ll show you two techniques: events vs callbacks. Emitting events The technique with emitting events is… More
Angular 2 CLI is a scaffolding tool and code generator that finally can be used for the real world projects. It saves you a lot of typing and spares you from worrying about config files… More
Angular 2 framework will become a complete platform for developing Web apps when it’ll offer a library of rich UI components. Angular Material 2 currently offers 16 UI components, which is not enough for commercial… More
If your team is interested in a hands-on, in-depth exploration of how to develop web applications with Angular 2, I can run a two or three day workshop in your organization. Participants will gain practical,… More
Our company SuranceBay developed a platform for the insurance industry, and most of the UI for this system was written using Apache Flex framework (formerly Adobe Flex). Flex is an excellent framework for developing Web… More
Angular 2 is about to be officially released (most likely it’ll happen at the AngularConnect conference on September 25, 2016). The current version of of Angular is Release Candidate 6 and I’ll describe how to… More
I decided to write this blog after reading an excellent comparison of AngularJS and Angular2 posted on our book’s forum. But today I’d like to talk about another aspect: how Angular 2 is being marketed… More