Is it lazy or inconvenient not to distinguish between password reset use cases in the UI?

I was recently asked to reset a password due to the fact that the security requirements for the website had been upgraded, and the users have been asked to change their passwords (for those that don’t meet the current standards).

Although the user interface simply asked you to provide an email address (to verify that it is an active account) with a call-to-action to change the password, when the email link is sent to my inbox, it was in the format of a ‘Forgotten Email’ page that had the same flow as if you clicked on the ‘Forgotten Email?’ link commonly seen at the sign-in page.

Is it simply more convenient to use exactly the same process, or is it simply lazy design or development not to make this distinction as it clearly has some effect on the user experience? Is this a common practice and if so why?

Recommendation for Free Lazy Loading Extensions Magento 2

i’m looking for recommendation for free lazy loading extension that is likely works for magento 2.2.9 with infortis ultimo theme.

here are some list i found:

-welt MAGENTO 2 LAZY LOAD PRODUCTS AND IMAGES.

-bss Magento 2 Lazy Load

-magezon Magento 2 Lazy Load Extension

-Magento 2 Image Lazy Load Extension

have anyone try any of them, and recommended or not recommended?

Throttling the factory function of a Lazy instantiated with LazyThreadSafetyMode.PublicationOnly

When you use the constructor of Lazy<T> requesting the valueFactory and mode parameters (I mean this one) you can specify LazyThreadSafetyMode.PublicationOnly.

This way you can prevent the Lazy instance of caching any exception thrown by valueFactory, but at the same time you lose the ability of guarantee that the factory function is executed only once. The documentation states (bold is mine):

When multiple threads try to initialize a Lazy instance simultaneously, all threads are allowed to run the initialization method (or the default constructor, if there is no initialization method). The first thread to complete initialization sets the value of the Lazy instance.

Sometimes this is fine, some other times it’s better to avoid this or, at least, to limit the concurrent execution of the factory function (imagine a thousand threads concurrently executing a database query or calling a web service). I usually implement this kind of constrained concurrency by using the SemaphoreSlim class.

My question is really simple:

is there any kind of issue or contradiction in employing a SemaphoreSlim (or a similar mechanism) in order to limit the concurrent execution of the factory function for a Lazy<T> instance having LazyThreadSafetyMode.PublicationOnly as its thread-safety mode ?

I can’t see any issue, but I prefer asking the community because I’m not an expert.

Trouble implementing lazy loaded feature module Angular 8

So basically I am trying to create a lazy loaded feature module in my application I have been following the official angular docs – but for some reason its not working.

I have set up my feature module DashboardModule as shown below

import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common';  // MODULES import { DashboardRoutingModule } from './dashboard-routing.module';  // COMPONENTS import { DashboardComponent } from './dashboard/dashboard.component'; import { DashboardAlertComponent } from './dashboard-alert/dashboard-alert.component'; import { DashboardSummaryComponent } from './dashboard-summary/dashboard-summary.component'; import { DashboardTasksComponent } from './dashboard-tasks/dashboard-tasks.component'; import { HoldingPageComponent } from './holding-page/holding-page.component';  @NgModule({     imports: [CommonModule, DashboardRoutingModule],     declarations: [         DashboardComponent,         DashboardAlertComponent,         DashboardSummaryComponent,         DashboardTasksComponent,         HoldingPageComponent,     ] }) export class DashboardModule {} 

then in my DashboardRoutingModule

import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router';  import { ActivityComponent } from '../activity-components/activity/activity.component'; import { IsLockedRouteGuard } from '@app/shared/common/auth/is-locked-route-guard'; import { DashboardSummaryComponent } from './dashboard-summary/dashboard-summary.component'; import { SyncComponent } from '@app/popup-components/sync/sync.component'; import { DashboardAlertComponent } from './dashboard-alert/dashboard-alert.component'; import { ChartContainerComponent } from '../chart-components/chart-container/chart-container.component'; import { DashboardTasksComponent } from './dashboard-tasks/dashboard-tasks.component';   @NgModule({     imports: [         RouterModule.forChild([             { path: 'activity', component: ActivityComponent, canActivate: [IsLockedRouteGuard] },             { path: 'snapshot', component: DashboardSummaryComponent },             { path: 'sync', component: SyncComponent },             {                 path: 'alerts',                 component: DashboardAlertComponent,                 canActivate: [IsLockedRouteGuard]             },             { path: 'charts', component: ChartContainerComponent, canActivate: [IsLockedRouteGuard] },             { path: 'tasks/:sort', component: DashboardTasksComponent, canActivate: [IsLockedRouteGuard] },         ])     ],     exports: [RouterModule] }) export class DashboardRoutingModule {}  

so as per the angular docs this has been set up correctly..

now in my AppRoutingModule

import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { AppComponent } from './app.component'; import { AppRouteGuard } from './shared/common/auth/auth-route-guard';  @NgModule({     imports: [         RouterModule.forChild([             {                 path: 'app',                 component: AppComponent,                 children: [                     {                         path: '',                         children: [{ path: '', redirectTo: '/dashboard/alerts', pathMatch: 'full' }]                     },                     {                         path: 'main',                         canActivate: [AppRouteGuard],                         loadChildren: () => import('./main/main.module').then(m => m.MainModule),                         data: { preload: true }                     },                     {                         path: 'dashboard',                         loadChildren: () => import('./main/dashboard/dashboard.module').then(m => m.DashboardModule)                     },                 ]             }         ])     ],     exports: [RouterModule] }) export class AppRoutingModule {} 

but whats happening is when I try and go to /dashboard.. I get this error

Component HoldingPageComponent is not part of any NgModule or the module has not been imported into your module.

but I am clearly importing it in the DashboardModule as shown above.. what am I doing wrong??

Thanks

angular 8 fails going to lazy loaded modules directly after prod deploy

I have downloaded lazy-loading-ngmodules.zip from https://angular.io/guide/lazy-loading-ngmodules. I ran the app using ng serve with no problem. I can browse url http://localhost:4200 and click on Customers and Orders which both are lazy loading modules. I also can directly browse the url – http://localhost:4200/customers.

Then I built production version using ng build –prod and hosted it on IIS. I can browse the url http://localhost:80 and click on Customers and Orders to navigate to lazy loading modules. No problems!!! However, if I browse directly to the url http://localhost:80/customers, I got HTTP 404 Error. Why??? I need to directly browse to the lazy loading modules. How should I do it?

Thanks in advance!!!

How much benefit can an Evil Truenamer give to a low level party via lazy sacrificing?

The Truenamer Handbook gives the following interesting piece of advise:

Pop open the Book of Vile Darkness and read the rules for sacrifices. Then remember just how good Truenamers are at getting their Knowledge checks up to stupidly high levels. Between the INT focus, the fact that you’re likely to take little other than Knowledge skills, the Knowledge Focus class feature, Universal Aptitude, and Hidden Truth, you can get a terrifyingly high K: Religion check (that’s the one used in sacrifices, of course) as early as level 3 or so. Consider a perfectly reasonable illumian Truenamer with 16 INT and the Naen sigil . . . for almost no investment, you get 6 (ranks) + 3 (INT) + 3 (Knowledge Focus) + 2 (Naen) + 5 (Universal Aptitude) + 10 (Hidden Truth) = +29 before you even roll. By the time you add all the little trappings listed on pg. 27 of the BoVD, you’ll be almost guaranteed to hit the highest level of rewards. And that’s at level 3, with the only real investment being maxed ranks in K: Religion (doesn’t hurt) and putting your Knowledge Focus class feature into Religion (which, again, is not much of a loss). Even if you don’t add all the trappings, just leave one critter you kill every day alive (but probably unconscious) long enough to whip out your dagger and chant the name of your vile master a few times, and you’ll be guaranteed to roll high enough to get a free Planar Ally. How sweet is that? Sure, you have to be unrepentantly evil, and your GM has to go along with it, but all the rules are right there.

Let’s assume that we have a DM that following the sacrifice rules RAW and that the Truenamer is as described above (i.e. low leveled and gets +29 to these checks without even trying) and performs the lazy sort of sacrifice given above once per day for their low leveled party. How much benefit will the party get from this? For simplicity, lets just say that they sacrifice something commonplace in an evil campaign, like a low leveled human.

For reference, I’ve uploaded a screenshot of the two relevant tables here. Of particular interest, I can’t help but notice that many of these benefits are treated as if they came from a level 20 caster. Could this be game-breaking?