597 karma · joined August 8, 2018
Our mission is to develop the best education in the world and make it universally accessible. Our culture is eng-driven, friendly, and very data-driven thanks to our large userbase. Check out our blog to see what engineering at Duolingo can look like: https://blog.duolingo.com/hub/engineering/
Tech stack: (frontends) Swift/Kotlin/TypeScript, (backend) Python/Kotlin/Postgres/Dynamo, (infra) AWS/k8s/Terraform.
We're always hiring for engineers. A few roles below:
Senior Engineering Manager, Chess (NY) https://careers.duolingo.com/jobs/8385137002
Senior Android Engineer (NY) https://careers.duolingo.com/jobs/8217266002
Senior iOS Software Engineer (NY) https://careers.duolingo.com/jobs/8318257002
Engineering Director (London) https://careers.duolingo.com/jobs/8444624002
Senior Gameplay Programmer (London) https://careers.duolingo.com/jobs/8424809002
Base salary: $177-240K for the NY-based roles, unsure about the London-based roles.
Perks: breakfast and lunch served in office, 2-week winter break + 20 days of flexible time off.
Our mission is to develop the best education in the world and make it universally accessible. Our culture is eng-driven, friendly, and very data-driven thanks to our large userbase. More info about working as an engineer at Duolingo here: https://www.youtube.com/watch?v=WThT8sufdBE
Tech stack: (frontends) Swift/Kotlin/TypeScript, (backend) Python/Kotlin/Postgres/Dynamo, (infra) AWS/k8s/Terraform.
We're always hiring for engineers. A few roles below:
Senior Engineering Manager, Monetization: https://careers.duolingo.com/jobs/8414653002
Senior Android Engineer: https://careers.duolingo.com/jobs/8217266002
Engineering Manager, Chess: https://careers.duolingo.com/jobs/8385137002
Senior iOS Software Engineer: https://careers.duolingo.com/jobs/8318257002
Base salary: $200K-300K for Senior Eng Manager, $177K-$240K for the others (+equity).
Perks: free lunch, 2-week winter break + 20 days of flexible time off.
"If it sounds too good to be true, it usually isn't (true)"
vs
"If it sounds too good to be true, it usually is (too good to be true)"
Even more specifically, a blockchain is for when you want Byzantine fault tolerance, i.e. you don't trust one or more of the actors involved. This is the main distinguishing feature of blockchains IMO, the reason we have proof of work, proof of stake, etc. It's also the main thing I saw people getting wrong when using blockchains during the earlier waves of cryptocurrency fever; most proposals for blockchains did make sense as distributed public ledgers, but didn't really need the extra computational overhead because only trusted parties were adding blocks to begin with.
It's true that the English language has a very large number of phonemes... but accents tend to regularize/restrict these phonemes. For example, a typical bilingual speaker of Indian English and Hindi will replace instances of the /æ/ phoneme (as in "blast" or "fast") with another phoneme like /a:/ (as in "father"). Which isn't that unusual since /æ/ is pretty uncommon among languages.
Other rare English phonemes include the dental fricatives, i.e. the "th" sounds in "ether" (voiceless) and "either" (voiced). Speakers of Indian English often replace this with a dental stop, a "t" sound (voiceless) or "d" sound (voiced). (Note that Devanagari has a _lot_ of stops, so this is one place where it cannot be cleanly encoded into the Latin alphabet without diacritics.)
So overall: while I think Devanagari can't encode e.g. American English, it can actually do a pretty solid job of encoding Indian English, but not the other way around.
Many things were technically feasible pre-pandemic but not done habitually: remote work, streaming movies instead of going to the theater, ordering delivery instead of dining out, and so on. The pandemic forced many people to change their habits and get over any initial inertia (e.g. investing in a WFH setup or home theater). The result is that when the world returned to normal, the markets didn't: consumer habits had already moved on.
This is OK and fair use: Training LLMs on copyrighted work, since it's transformative.
This is not OK and not fair use: pirating data, or creating a big repository of pirated data that isn't necessarily for AI training.
Overall seems like a pretty reasonable ruling?
Note that fish does also support bash's "$(foo)" syntax and has for a few years now.
In this case, jumpscaring yourself would just be considered punishment (or "positive punishment").
* Professional support, including on-prem hosting when applicable
* Additional features that enterprises care about (encrypted databases, SSO)
* Compliance documentation/certifications
I think this is a good summary. The best thing about fish is that you don't need to install any plugins to get all of the nice things that other people put a lot of effort into configuring: tab completion, syntax highlighting, and so on. It's also just really comfortably ergonomic in a way that is hard to describe unless you've used it - multiline commands automatically update their indentation as you type, completions for most common programs come pre-bundled, you can easily set environment variables globally across all of your shell instances without fiddling with config files or reloading your shells, and so on.
1. It's written in Python, which makes it slower and prone to bootstrapping issues.
2. It doesn't manage your Python installation, which necessitates the use of a tool like pyenv.
Rye sidesteps both of those by (a) being written in Rust and (b) trying to solve all of the problems solved by poetry and pyenv in one go.
Av = λv
=> Av - λv = 0
=> (A - λI)v = 0
=> det(A - λI) = 0
Which then yields the characteristic polynomial. Skipping the determinant means you need a different approach.Big fan of this approach! Though I have warmed up to determinants ever since I saw 3Blue1Brown give a fairly intuitive explanation for them [0].
I'm kind of curious as to how they covered eigenvalues/the characteristic polynomial without determinants. Maybe they just jumped straight to diagonalization?
Until now I've been using jq with up [0] for interactive queries, but I don't find myself liking up's UX much (especially for long queries or non-ASCII data) so I'm keen on looking for a replacement.
[0] https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-st...
Please, for modern software UTF-8 everywhere is the way to go!
[0] https://docs.clarolang.com/common_programming_concepts/varia...
> The possible values of N are evenly distributed [1...100] (we discount the N=0 case because we drew a red ball)
These probabilities over N are not actually even anymore; the fact that you drew a red ball means that higher values of N are more likely.
It can. With a little help. I use this:
Having been to Dr. Pavlo's office - or at least, one of them - I can attest to there being multiple cardboard boxes filled with gifted shirts from different companies. One of my favorite designs was actually from CMU's DB group itself - it has a little "this database kills fascists" tag on it, with a skull motif :D
[0]: https://ottertune.com/blog/2022-databases-retrospective