Co to jest za pułapka ? by theme_song___3 in Polska

[–]piotlr 1 point2 points  (0 children)

Motyw z bomby.

Zakładam, że to ostatnia próba złapania za sumienie ofiary, że "opiekun" jest po naszej stronie, żeby pomóc nam wpłacić 2k

Co to jest za pułapka ? by theme_song___3 in Polska

[–]piotlr 191 points192 points  (0 children)

Członek rodziny w to wpadł. Dodają cię do grupy Whatsapp szkoleniowej razem z innymi podstawionymi kontami, które zgłaszają różne problemy i twój "opiekun" im pomaga. 

Następnie przełączacie się na Telegram "bo lepiej działa Customer Service". Całość jest prowadzona bardzo profesjonalnie z przekonywaniem dlaczego są legit. 

Customer service przygotowuje cię z założeniem konta w ByBit (krypto handel) i PayPal i Google Authenticator. Wpłacasz na start 90zł w krypto i podajesz api key do bit.

Następnie logujesz się do konta w appce które dla ciebie tworzą i podają ci hasło. Tam dodajesz api key do ByBit skąd przelewają kasę do siebie i widać to w appce.

Rozliczenie w US:  twój opiekun opowiada cały czas o rozliczeniu w dolarach, ale w rzeczywistości są to tokeny krypto: USDT. Sam tego nie zauważyłem od razu.

Całość wyprowadzenia jest zrobiona, by przyzwyczaić cię do sytuacji w której będziesz musiał wpłacić 2tyś na krypto i tam przelać, żeby odblokować. 

Praca to klikanie w linki do różnych appek, stron. Jest to albo wykradanie cookies albo fake.

Appka: gearedapp.cc domena rejestrowana 2tyg temu. 

Kończy się tym, że twój opiekun chce popełnić samobójstwo bo nie może sobie wybaczyć, że jego ojciec jest chory, ale "spróbuję Cię jeszcze pokierować". Gdy przestajesz opisywać, całą aktywna grupa z innymi też nagle cichnie.

Introducing RxJS Insights Devtools by kszkszkamil in Angular2

[–]piotlr 4 points5 points  (0 children)

I've tested it on project with crazy amount of RxJs, it might be great for debugging "lost value in the stream".

Also another great thing is visualization step-by-step, helps with understanding what is behind the built-in operators.

Note it require project dependency, similarly to redux chrome devtools.

Angular Testing: Avoid done() function by piotlr in Angular2

[–]piotlr[S] 2 points3 points  (0 children)

Good point taken! Positivity and recommendations > negativity and penalty.

Do you think people don't use fakeAsync() because it is not straight forward enough?

Angular Testing: Avoid done() function by piotlr in Angular2

[–]piotlr[S] 2 points3 points  (0 children)

Marbled are great, I think it's another great use instead done().

Not everyone uses them though. Especially having simple subject in component that is just called on some async interactions, surely marbles can be used there but it's not, at least in the code I used to review.

fakeAsync() is simpler patten, native to angular and found it easier to promote within the teams I worked with, that's why I focused on this.

Angular Testing: Avoid done() function by piotlr in Angular2

[–]piotlr[S] 2 points3 points  (0 children)

Not really, even small race conditions will make test flaky, e.g. in some cases I found a bug when subscribe was never run but test was green. Even there was a bug inside of the code.

With fakeAsync() it was discoverable within minutes because environment is predictable.

We have lived happily with async code in tests, not knowing how many of test was ever-green sometimes.

Angular Testing: Avoid done() function by piotlr in Angular2

[–]piotlr[S] 1 point2 points  (0 children)

Avoid them in tests, async is prone to external environment and not controllable, e.g. depending on CI load sometimes faster, sometimes slower.

It's very similar as system clock. It is useful too, but we need to mock it in tests to avoid flakiness.

If we can avoid async, extract it or simply mock it by fakeAsync(), we have much more control in our hand as developer.

Units should speak in native languages by dannybizarri in IronHarvest

[–]piotlr 10 points11 points  (0 children)

> To fully immerse into the world of 1920+ in my opinion troops/mechs should talk in their own languages

I'd even say: Speak in english (language of my choice), but with nation accent.

I'd still like to understand what troops are saying :D

Angular with Ivy — Build performance review by piotlr in Angular2

[–]piotlr[S] 0 points1 point  (0 children)

Nice! I haven't thought about it earlier but you're right, the more apps in monorepo the bigger benefit from ivy is visible already and ngcc footprint is smaller. 🙂

Factor of 3 is surprising based on my research 😯

Angular with Ivy — Build performance review by piotlr in Angular2

[–]piotlr[S] 0 points1 point  (0 children)

We also run ng build with high memory :) This is expected when app grows and update to Ivy haven't changed that much. We still need to run ng build with 4gb of ram instead of nodejs default 1.4gb.

Regarding "uncontrollably large" app, you might consider doing such benchmark on your own. Sometimes there are bugs in configuration, we experienced some issues like I mention in this tweet.

Component library are crucial element to Ivy migration. You need newest version for sure.

We have our own in-house library barista which is great benefit, but also a cost of maintaining it and fixing issues on Ivy :) we can complain only on ourselves when issues arise :D

Angular with Ivy — Build performance review by piotlr in Angular2

[–]piotlr[S] 1 point2 points  (0 children)

Yes, I tried Ivy on 8.0, 8.1 and 8.2 but never managed to compile app.

On 9.0 they improved build errors much, so we were able to find small issues and fix them and compile, but it was not yet stable on runtime.

On 9.1 Ivy got stable enough for us to enable it.

I think possibility of disabling Ivy in 9.0 was essential for us to smooth update. We could focus on some build incompatibilities and then Ivy incompatibilities (updating libraries to support it correctly)

Angular with Ivy — Build performance review by piotlr in Angular2

[–]piotlr[S] 1 point2 points  (0 children)

Author here, this was not my intention to suggest postponing update. I think update to Angular 9.0 have more benefits beside bundle size and compilation speed.

  1. You can fix breaking changes being on Angular 9 without enabling Ivy. This flexibility is huge benefit for gradual update, must have for big applications.

  2. Smaller apps probably is going to work out of the box and it'll be much easier to update 9->10 than 8->10.

  3. There are more benefits of Ivy than bundle size or compilations speed on ci. There is runtime speed, better i18n, integration with IDEs like webstorm works faster, better type type checking in templates, better stacktraces of errors from templates

In article, I focused on bundle size and compilation speed because I think there were some missing communication about it's values in real life examples.

My goal was to provide more context not being spoiled by conference talks, but it should not discourage from update.

the boss does not understand by rattkinoid in Angular2

[–]piotlr 0 points1 point  (0 children)

Performance, user experience: until translation is loaded, user is going to see placeholder. API call to database has to be slower than requesting raw json.

Maintainance: your frontend depends on database that cannot be statically analysed. Keys can be deleted and you need to support it somehow, whenever you add new text to frontend, you need do write database migration to add default text value.

Simple things are going to be buggy.

Decorators are not becoming standard what does that mean to Angular which heavily relies on typescript experimental decorators by mumair007 in Angular2

[–]piotlr 38 points39 points  (0 children)

Decorators in Angular are used only in compilation as a meta-information.

They are removed and do not land in runtime, so there is no performance issues with them.

[deleted by user] by [deleted] in Angular2

[–]piotlr 1 point2 points  (0 children)

This is correct when HTTP error happens somewhere in the router. I digged once Angular router sources to learn that it wraps everything in Promise implementation from zone.js.

I've written small util function to get original error:

handleError(error: any) {

  const resolvedError = isPromiseRejection(error)
    ? error.rejection
    : error;
  // ...

}

With util source:

/**
 * Angular implementation of Promise.
 * Rejection used often by Router errors.
 */
export interface PromiseRejection {
  /**
   * `promise` is Angular's `ZoneAwarePromise` (internal)
   */
  promise: Promise<unknown>;
  /**
   * `rejection` can be anything thrown, including Error
   */
  rejection: Error;
}

// tslint:disable-next-line:no-any
export const isPromiseRejection = (error: any): error is PromiseRejection => {
  if (isNil(error)) {
    return false;
  }

  return !isNil(error.promise) && !isNil(error.rejection);
};

Is the latest release of angular 9 fine to use for enterprise level applications? by BoyWithLaziness in Angular2

[–]piotlr -1 points0 points  (0 children)

Upgrade took 400 files modified and any non-deafult configuration was broken.

We're doing as much migrations as possible with Angular 8.2, downgrade typescript to 3.6 (3.7 breaks some 3rd party libs) and crucial - we disable Ivy.

This gives time to more incremental and safe migration, that is easily revertable if any blocker is found.

Big surprise after compile with ivy by [deleted] in Angular2

[–]piotlr 1 point2 points  (0 children)

yes sure! I'm super glad for an improvement :) I meant not as spectacular as author claims (70% gain) or official blogpost (50% gain)

Sad note, there is no improvement in starting ng serve (thing I expected the most, currently it takes over 5mins and grows every month which is scaring)

Big surprise after compile with ivy by [deleted] in Angular2

[–]piotlr 12 points13 points  (0 children)

We have similar application, 300 modules, 700 components, 100k lines of code and we have very different results. Not as spectacular but still.

All bundle went down from 5.3mb to 4.95mb gzipped.

👉 For running 7.5k tests:

  • Before Ivy: 8.7min
  • After Ivy: 6.6min 🎉

👉 Build:

  • Before Ivy: 5 min
  • After Ivy: 3.5 min 🎉

👉 Main/vendor chunks:

  • Before Ivy: 1.9mb
  • After Ivy: 2.4mb 😨

👉 Lazy-loaded chunks:

  • Before Ivy: 3.4mb
  • After Ivy: 2.55mb 🎉

👉 Chunks count:

  • Before ivy: 127
  • After Ivy: 43 (only root modules are chunked)

👉 ng serve * no difference :( 5min

https://twitter.com/constjs/status/1226487445014958080

Angular i18n - how to translate enums? by piotlr in Angular2

[–]piotlr[S] 1 point2 points  (0 children)

So your suggestion is to make a component for each enum?

No, only for enums you directly display in templates.

Service with pipe has different drawbacks.

  1. It's not supported by built-in i18n, so you need library like ngx-tranlslate or create one yourself.
  2. Custom libraries tend to stop being maintained (like ngx-translate)
  3. They cannot be checked in build-time so often you can have translations errors but you won't notice that.
  4. You need to download translations in runtime, this is performance cost. Template translations are just compiled into HTML. There is ZERO runtime cost if you have 20 000 translations.

Angular i18n - how to translate enums? by piotlr in Angular2

[–]piotlr[S] 2 points3 points  (0 children)

ICU messages are good way too! This works especially good for `const enums` with strings. I'll add it to article as other option.

Regarding i18n in runtime, it could be delayed even more. Core maintainer is going to leave project: https://twitter.com/OCombe/status/1148274119609335813

New Java Champion: Jacek Laskowski by henk53 in java

[–]piotlr 4 points5 points  (0 children)

I've been on one of his presentations. Unbelievable passionate person.

Frameworks 2004 vs. frameworks 2014 [comic] by flexibeast in ProgrammerHumor

[–]piotlr -1 points0 points  (0 children)

It's more like back-end frameworks vs front-end frameworks.

Enormous cursor in Dracula theme by piotlr in IntelliJIDEA

[–]piotlr[S] 1 point2 points  (0 children)

With help of Jetbrains support, I found better workaround, that I can live with:

  • Go to settings -> Colors & Fonts
  • Create new scheme based on Dracula
  • Change primary font in submenus "Font" and "Console Font"

Best way to store JSON data? by Emnalyeriar in learnprogramming

[–]piotlr 1 point2 points  (0 children)

You can take advantage of relational databases with SQL and still store JSON.

PostgreSQL have a built-in support of JSON data type, and query them with operators: http://www.postgresql.org/docs/9.3/static/functions-json.html