At this point, folks are seeing how far they can push the Typescript type system because it's capable of expressing so, so much more with its types than is seen typically(including in most other languages).
2,564 karma · joined December 28, 2011
Elixir, Ruby, JS, Docker, Kubernetes
Contact me anytime, [this-username]@gmail.com
At this point, folks are seeing how far they can push the Typescript type system because it's capable of expressing so, so much more with its types than is seen typically(including in most other languages).
Parsing is determining whether you should do it or not- it's about setting up a boundary from which you never attempt something that would be a maybe.
The one thing I'm absolutely desperate for, is a fix to Youtube's Watch Later playlist issues.
If you ever hit maximum on it, it seems permanently broken afterward to not delete watched videos- which means the only way to delete videos is manually, behind a 3-dot menu per video. Since the playlist max size is 5000, that'd be a minimum 10,000 clicks, and since the 3 dot menu only shows up once you're over a video, a certain level of hunting too.
I tried to make an extension for this once, but bungled it pretty bad so it'll take another effort sometime. Youtube's my primary content source outside of games, so for me it hurts pretty bad.
Instead, they didn't. And we all suffer for it.
What compiler failure? Go literally does not warn you until it hits the error at runtime for these exceptions.
I'm not sure how you're misunderstanding, but why would it go across the country when it's guaranteed to run from the same parent? Just deploy the app in the region you want, and now its Flame pools will be deployed in the same region.
If you want to switch the region it runs in, you can also easily just contact the other cluster to tell it to pick up the work.
You can do it right now even without Flame, just by opening two Elixir nodes, then it's as simple as
```elixir
iex(first_node@localhost)> name = "Santa"
iex(first_node@localhost)> Node.spawn_link(:other_node@localhost, fn -> IO.puts "Hello #{name}" end)
Hello Santa
#PID<1337.42.0>
```
Note that while the string interpolation and `IO.puts` was run on `other_node@localhost`, it still did stdout from the first node- this is because it was the one that called `Node.spawn_link`, making it the 'group leader'. Outside of which stdout it went to, all the work was done in the other node.
Or they require a GPU.
Or your core service only needs 1-2 servers, but you need to scale up to dozens/hundreds/thousands on demand, for work that only happens maybe once a day.
- Flame still assumes you have a server somewhere- this is purely for elastic workloads.
- Dynamically scaling horizontally is not something "linux" can do for you: It's a legitimately hard problem because of all the usual distributed systems difficulties.
- Often, there are workloads that are only needed occasionally but also have very different resource needs than the rest of the system. Being forced to not only create a new version of your application, but additionally a bespoke server setup and dedicated VM/Container image for that case takes something that could be trivial in the Flame model, and makes it take hours even for someone experienced.
Basically, you really should've read the article first.
1. https://www.erlang.org/doc/man/gen_server.html 2. https://hexdocs.pm/elixir/1.12/GenServer.html
Only allow composition. Allow composition techniques to add state, detect the presence of other composition types, etc.
How does a paradigm like that survive? I might be a fan of functional, but I'm not even saying go that way- stay procedural! Learn your abstractions over time and only build them when necessary.
For example, an Arcane Trickster throwing up a reaction 'shield' spell doesn't cause the hit to miss either, it just was blocked(as it added 5 to AC).
Now, you've got `dbg()` and running whatever you're running via `iex -S <whateveryouweredoinghere>`.
Prior to `dbg()` you had `IEx.pry()`.
You could guess that since the Community edition is MIT licensed that it's free, but then again the language right above it says "non-production or experimental use", where Standard says "production and business use". Now, MIT I know basically means "It's on you, so if you wanna go prod go prod", but that wording just isn't friendly.
Looking over the Community Edition further, I'd honestly be stunned who would ever use this, and thus, what, if anything, about this is "Open":
- Only 5 replicas per function, ie, hope any given function doesn't have more than 5 invocations at once.
- No "scale to zero", (which is the usual cost benefit of serverless)
- There is an in-mem queue, except it's being End-of-Life'd in June, which is... a week from now.
- It does separately support cron triggers! This is great.
- It does not support any other triggers except direct call.
- Can't integrate it with any other K8s deployment tool
I honestly cannot fathom why someone would use this.
This makes a difference, and means you do not require queues for properly silo'd background tasks.
What of Phoenix are you looking to tackle?
1. Its maintenance/activity appear sporadic at best. 2. It's inscrutable. Whenever I've had issues, I don't have any idea even how to approach solving them. Half the time they reference in-depth mathematical terms that just are not relevant to anyone who isn't implementing the language 95% of the time. 3. The tooling often just... doesn't work. I'll go to run a commend given in the official tutorial, and it fails in a way that is just beyond me, as an experienced engineer.
TBH, I'd really love to use it. I've been finding myself using `fp-ts` on many of my projects for just such a reason, and have even set up `unplugin-auto-import` to automatically detect and import those modules, so it's like I have more in my stdlib. I've even thought of making a true language out of these primitives.
I'm doubtful I'll see it used much outside the BEAM community, but then again it's been a "successful despite a lack of mass usage" community for awhile.
I've had a project going to build my own but admittedly have been somewhat dumb/lazy about it.