You can build bootstrap in tailwind, but you can't build tailwind with bootstrap.
Both are tools to help you design something, but the tradeoffs of each one are quite different.
494 karma · joined September 10, 2012
You can build bootstrap in tailwind, but you can't build tailwind with bootstrap.
Both are tools to help you design something, but the tradeoffs of each one are quite different.
The end result is that the web right now has stuff that works only on Chrome and stuff that works everywhere besides Safari.
And the fact that iOS users can't change their browser forces developers that want their projects to reach the maximum amount of users to have Safari as a baseline instead of the current standard, making Safari a de facto standard.
So yeah, I think that both are the new IE, just in different stages of the life of IE.
Honestly, it is a mess...
There are specific payment methods that are common in a single country where people prefer to use that instead of credit cards, as a result sometimes we have to integrate a bunch of different payment processors, a couple of them with non-existent or terrible documentation which result in a ton of emails and calls to clarify stuff.
Stripe is in Beta in Brazil for a while but I never developed something with it for the local market, there is a countrywide processor here that have great documentation and support everything that Brazilian customers are used to and the fees are in the same ballpark, so there's no need to use it.
> We heard it’s better than Brazil.
Which is funny for me, integrating payment processors in Brazil isn't a big deal and I had a lot of trouble with a few LatAm processors, but if I had to guess the reason I would say that a lot of old cards and cards for people with low income used to be national only, they couldn't pay anything in other currencies, nowadays the card situation is a bit better and most issued cards can purchase international goods but since stripe apparently is coming to Brazil, if you could process your payments through it it should work flawlessly.
I have nothing but a giant respect for teachers that are usually underpaid for the giant importance that they carry on their shoulders, a good teacher can help completely change the life of their students.
That's awesome, I have a module that is a helper to inject data in a socket to use with liveview but the data that I need isn't present in the dev environment and mocking it is annoying because if I use Mix.env the code in the release breaks, being able to pass an ENV var and just check it to decide to mock it or not will simplify a good amount of code.
But I agree with your main point, concurrency is hard if the language isn't built from the ground to be concurrent.
If your cat is anything like mine, it is on demand for them...
When they don't want to play they climb in the highest place that they can and look down on me and my frustrated attempts to convince them to get down for play or food.
I don't mind writing dune files, but yeah, ocaml tooling is a bit lacking by modern standards...
It isn't purely about speed, it is about perception, a very slow first page load is way more annoying that a couple half or quarter second loads distributed over a long interaction, after the js is cached all is nearly instantaneous, but you don't have to wait a while to start using the site in your first visit.
If you want you can also wait for the first page to download completely and them import the remaining js while the user is on the first page, but I didn't tried to see how well it works.
I'm rebuilding a site for a client and using a bunch of dynamic imports, if you don't touch a video route, you'll not download the videojs bundle at all, I set a performance baseline for the site to be interactive and anything that makes it go over the baseline needs a good reason to be there.
I know that these probably are solvable problems, but they left a pretty bad taste...
For high school level, sure.
But I can't see a sane way to let students handle acids like I did in chemistry labs during college, and physics labs have equipment that is too complex/expensive/dangerous to send to the students.
The way that the BEAM does that it is that it store the old and the current version of the module, any new calls made will call the functions exported in the new module, but any process already running will call the functions of the old module.
But how do you handle types in a system like that, where the type of a message can change at runtime? There's no guarantees that your valid types that the compiler just approved will be valid at runtime...
learnyousomeerlang has this quote about rolling upgrades:
"We're getting into one of the most complex parts of OTP, difficult to comprehend and get right, on top of being time consuming. In fact, if you can avoid the whole procedure (which will be called relup from now on) and do simple rolling upgrades by restarting VMs and booting new applications, I would recommend you do so. Relups should be one of these 'do or die' tools. Something you use when you have few more choices."
https://learnyousomeerlang.com/relups#the-hiccups-of-appups-...
From the fingers of Robert Virding itself: https://elixirforum.com/t/how-hard-would-it-be-to-have-a-str...
Erlang/OTP was designed for systems where the amount of acceptable downtime is 0, you don't want phone calls failing because you have to fix a bug, the solution is a system where you can replace parts of it running live, if you replace a module all processes currently running it will still work normally but any new call to the module will use the updated version of it.
https://blog.appsignal.com/2018/10/16/elixir-alchemy-hot-cod...
It goes way back, 1998 was when they open sourced it, the language was in development and use inside Ericsson since 1986.
When we're talking about physical sciences most of the work is done by universities and research centers, a lot of them funded by public money.