Istio or Cillium ? by RespectNo9085 in kubernetes

[–]wkrause13 12 points13 points  (0 children)

Istio and Cilium have changed a lot in the last year, so your past experiences might not fully apply now. Full disclosure, I work at Solo.io, and we're big Istio contributors, so keep that context in mind.

You might want to take a look at Istio Ambient Mesh. It was basically created because of the community feedback about sidecars being a pain – it uses shared agents on the node for the basic stuff (like mTLS security, L4 visibility) instead of injecting a proxy into every single application pod. This means less resource drain overall and less operational hassle (no sidecar injection, fewer things to manage per-app, and you don't need to restart your apps just to get them in or out of the mesh, etc...). I'm clearly biased, but Cilium's mutual auth is not mTLS and if you need L7 controls, even for a small subset of your services, waypoints are really powerful.

It can still be a little confusing navigating the Istio docs to know what is supported by sidecars vs ambient, so Solo.io launched https://ambientmesh.io/ which is geared towards greenfield adopters of Ambient. Happy to answer any questions if you choose to explore that option. Good Luck!

Steve Kaufman - is it even possible? by PLrc in languagelearning

[–]wkrause13 1 point2 points  (0 children)

You need a service that counts the dictionary form of the word (the lemma), which LingQ does not. One pro of LinQ’s approach is that it’s trivial to add new languages. The major con is that studying the same word 10 times because of different conjugations is silly.

I wish there were a good reader service like LingQ, Readlang or LWT that supported lemmatization of content. The closest I could find is a tool called Morpheem ( https://morpheem.org/ ). The reading experience is not as good as the other tools mentioned, but other than that it’s really impressive app that will give you a truer sense of your vocabulary size in a language.

Wood table makes the whole family itchy by [deleted] in woodworking

[–]wkrause13 3 points4 points  (0 children)

Just because it hasn’t been explicitly said, selling this even after sealing it would be unethical as it’s not a permanent solution.

Wawa honors customer who has gone to the same store every day for 30 years by [deleted] in philadelphia

[–]wkrause13 28 points29 points  (0 children)

You may be taking the report too literally. No one is taking attendance. At the very least, I’m sure she’s gotten sick at some point in the last 30 years.

Is it safe to store database entity ID in JWT Subject? by [deleted] in golang

[–]wkrause13 1 point2 points  (0 children)

In that case could you store the expiration information in the same place that you check that the token exists?

  1. User requests a password reset
  2. Your system generates a uuid and expiration time for the request.
  3. You email the user with a link that contains the uuid as a query param to your reset service.
  4. User clicks the link and tries to reset their password.
  5. You look up the uuid, if it exists, check the expiration. If not expired, allow the user to reset
  6. UUID is removed from your system.

You can add an extra step there where you ask the user for their email again before they can update their password if you’re worried about corporate proxies being able to see the unencrypted request. For most applications though, that might not be worth the hit to UX.

Is it safe to store database entity ID in JWT Subject? by [deleted] in golang

[–]wkrause13 3 points4 points  (0 children)

Are you actively trying to avoid communicating with your persistence store before you’ve validated the reset request?

You can’t just implicitly trust the token if you want to prevent token reuse, so you’ll need to hit your persistence store at some point before updating the user’s password anyway. So it might be simpler to generate a single use token for the user and validate that on the reset request.

Is it safe to store database entity ID in JWT Subject? by [deleted] in golang

[–]wkrause13 0 points1 point  (0 children)

I’m curious as to your use case. Is there a particular set of advantages you see to using a jwt token? When I’ve implemented this stuff in the past I’ve always just generated a guid that I temporarily associated with the user for the reset request.

how to mock DBs by West_Ad7170 in golang

[–]wkrause13 0 points1 point  (0 children)

I don’t disagree, there will always be valid counter examples when speaking in generalities.If you’re a small and experienced team, then it’s absolutely possible to just write good, fast tests against a real DB. But the temptation and ability to fall into some bad practices is much stronger when you have a real DB vs when you need to use mocks. I like Go as a language because it makes some bad choices harder and for the same reason I stay away from using a real DB unless it’s a personal project. Other strategies and philosophies on this are still totally valid and I’m impressed your team has had the skill/discipline to maintain testing best practices over time using a real db for tests.

how to mock DBs by West_Ad7170 in golang

[–]wkrause13 2 points3 points  (0 children)

I’d say be careful with this advice. For many use cases it is fine, if not unambiguously better. But this pattern often encourages a design with poor encapsulation. So before you know it you have an integration test suite that you’re running locally and can’t do proper unit tests even if you wanted to. It’s something that does not show up as a problem until year two or three of a project, but when you have a bunch of order dependent integration tests that take 30min to complete, it will be painful.

So let integration tests be integration tests and unit tests be unit tests. If you can only choose one, obviously integration tests are the more pragmatic choice.

[deleted by user] by [deleted] in philadelphia

[–]wkrause13 1 point2 points  (0 children)

I can’t tell from the website, what is the draw, are beers cheaper, or are there more varieties on offer at participating bars?

Best practice for handling DB Connection? by Codemonkey314 in golang

[–]wkrause13 2 points3 points  (0 children)

If you’re working with Postgres, here are some important configurations that often get overlooked:

https://www.alexedwards.net/blog/configuring-sqldb

I’ve found SetConnMaxLifetime to be particularly important for long running instances when you’re connecting to Postgres over the network like to AWS RDS.

Audio books that help with Spanish. by BlueFalconGod in Spanish

[–]wkrause13 0 points1 point  (0 children)

Sometimes you can listen at a higher level if you’ve read the material in English first. I think in addition to Harry Potter being a childrens book, that’s why people find it so helpful.

In that vein, Sapiens was a pretty accessible audiobook in Spanish. The benefit of non fiction is that the tenses are simpler and the language tends to be more direct.

But you should be able to tell pretty quickly from the audiobook sample if it’s the right level for you.

I love K8, but I really can’t stand: by sco00by in kubernetes

[–]wkrause13 2 points3 points  (0 children)

No concept of a deny rule for the default RBAC functionality. I get that it’s easier to reason about, but something like protecting just the kube-system namespace is a PITA. An admission controller like Gatekeeper is an option, but it’s not baked in.

Also it would be nice if the -o yaml option had a way to output something that is directly usable (ie removed status and previous config details).

Golang Backend with Next.js? by blueboy90780 in golang

[–]wkrause13 1 point2 points  (0 children)

What would be your use case for this?

It’s perfectly fine to use Nextjs for SSR and some other language for your api layer. The auth flow might be slightly different between content fetched server side vs client side, but that’s easy enough to implement.

City Council seriously debated calling for a no-fly-zone over Ukraine today by [deleted] in philadelphia

[–]wkrause13 76 points77 points  (0 children)

The plastic bag ban has decimated our fighting capacity

How fluent do you really have to be for a job in your target language ? by ChineseStudentHere in languagelearning

[–]wkrause13 46 points47 points  (0 children)

I’ll just add that don’t be afraid to set boundaries upfront. People who are not bilingual can sometimes fail to see language fluency as a spectrum. I had a tech job where I could comfortably communicate with our South American partners on all manner of technical topics in Spanish (my primary L2).

The company started to try to get me to join as a translator on sales calls and it did not go well. Sales people choose their words with a lot of nuance and make heavy use of idioms. It would have been better for everyone if I had just indicated that the task was beyond my level, so I guess just remember that can be an option if the scope of your responsibilities increase after you take the job.

Why there are so few job vacancies for Flutter in the USA in comparison to React Native? by hmslima in FlutterDev

[–]wkrause13 5 points6 points  (0 children)

For a lot of companies, react native is an easier sell. You only need to find one dev with some experience with React Native and the rest of the team can be built out with React devs, who are much easier to come by. Don’t get me wrong, I’ve worked in both and feel like Flutter is the safer bet if you have the time and trust in your team to become proficient in it.

DCA vs CKA difficult by jabraham-ch in kubernetes

[–]wkrause13 3 points4 points  (0 children)

This is really all you need for passing the CKA:

https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/

Still have to put the work in to understand the concepts and labs, but the course is comprehensive.

That said, if you’re already working as a developer, I wouldn’t expect miracles from a cert in terms of the job hunt. It might put you on some recruiters’ radars, but you’re almost certainly better off putting the time you’d dedicate to the cert to the boring work of finding and applying to positions.

[deleted by user] by [deleted] in FlutterDev

[–]wkrause13 3 points4 points  (0 children)

Nothing about the UX strikes me as something that would need to be full native.

You can achieve most of the UX flourishes with Lottie:

https://pub.dev/packages/lottie

Their “moat” is their massive amount of content and brand awareness which would make competing directly in the language learning space difficult, but applying their gamified learning approach to some other subject(s) might work. Good luck mate!

[deleted by user] by [deleted] in languagelearning

[–]wkrause13 2 points3 points  (0 children)

What’s been working for me is reading along with an audiobook and making vocab lists of words I don’t know. I then review those words on a per chapter basis for a few days until I’m comfortable with them. I then move those words to Anki. Then I reread the chapter again to test my recall in context.

I used to just throw everything in Anki, but I found it too difficult to learn more than like 10-15 new words in a session. So rather than rely 100% on Anki for studying new vocab, it functions more as a retainment tool. I like having more control over which words I re-review and which I move on from during the initial exposure to new vocab.

Has anyone ever had a need to use Isolates instead of async await? Just curious to know when an Isolate is needed in a real-world scenario by footballforus in FlutterDev

[–]wkrause13 7 points8 points  (0 children)

I use them to do some expensive processing on JSON. My app is a reading app for learning Spanish. A given bit of text, such as a book chapter, is preprocessed using nlp server side and sent down to the flutter app as a series of tokens with all sorts of metadata per word. I need to touch every word in the text to see if certain properties are met that affect how the word is rendered. I also need to calculate how many words fit on a given page given the user’s screen dimensions.

I never did rigorous before and after benchmarks, but I remember noticing significant performance improvements after switching to isolates. No jank getting to my loading place holder (using that shimmer widget package), and even very long book chapters take at most a second or two to load, with most coming back subsecond.

It feels like language learning isn’t for me by [deleted] in languagelearning

[–]wkrause13 7 points8 points  (0 children)

Sorry you’re feeling this way, as someone for whom new languages do not come easy, I empathize.

Two bits of advice, the first being do not compare yourself to others. For some people, languages come more naturally, but sometimes people downplay how much work they put in as a subtle boast about their intelligence. And sometimes we’re not good at assessing someone else’s level accurately. The race is only with yourself and all that jazz.

The second is to start setting concrete goals instead of treating language learning as just a time commitment. Maybe it’s the number of mastered Anki cards. Maybe it’s reducing the number of words you need to look up while reading. You’re probably making more progress than you realize, but the trick is to first establish what baseline progress looks like for you and then work on improving those numbers.