I want to use the latest F# on my Linux and FreeBSD computers, but F# .NET Core is only available for download from Microsoft's website. It contains a bunch of spyware for collecting telemetry. I am afraid of installing .NET Core on my innocent computers. What should I do? F# has far better support for making web apps than OCaml, but I don't want to deal with Microsoft's shady tricks. Mono is probably not suitable for production use on long-running servers, and it is ASP.NET (not .NET Core).
What should I do? Should I switch to Haskell to use its web programming libraries? But I don't like laziness ...
Microsoft is truly an enemy of privacy and open source.
Why not use OCaml? It is so nice. I wish I had an excuse to use it.
>>2
The F# ecosystem has some widely used web frameworks such as Giraffe and Suave.
What does OCaml have? OCaml programmers only have Opium (apparently still in beta) and Eliom (made by ivory tower academics).
I fear that I am gradually being seduced into Microsoft's orbit.
I don't know what OCaml has, as I never used it for web programming. I try to avoid web programming in general... But Ocsigen seems to be similar to Smalltalk's Seaside and I did try that and it was very pleasant to use.
What don't you like about laziness or Haskell?
>>2
>>3
Why not a different ML? I understand not liking OCaml but it's not the only non-F# ML.
>>6
There is Standard ML, but its ecosystem is too small.
What other MLs do you have in mind?
I'm pretty sure you can turn the telemetry off.
Failing that: program in a VM. Connect to your VM using networked emacs.
.NET Core telemetry
Apparently it can be disabled?
https://wiki.archlinux.org/title/.NET_Core#Telemetry
>>8,9
Silly of Microsoft. It is acting like a entitled brat by not disabling telemetry by default. Imagine if every piece of software had telemetry enabled by default. Imagine if ls
, cp
, mv
, rm
, cc
, vi
, emacs
, etc. all had telemetry enabled by default.
>>10
With free software, users will have the freedom to fork and change any function. It's too bad that people are too blind to invest their life energy into software freedom.
>>11
When you recall that bulding fences requires energy as well, it sounds especially ridiculous that you are telling to invest life energy to *not* to occlude the freedom.
>>12
The thing about free software is that people are free to fork and share the software. Take for example MS VS Code, it is partly free software and it has features that many users object to. Some people forked it to remove the malfeatures and now we have a version that achieves the main essence of VS Code without the bad stuff; we don't have to invest our effort to continually patch out the bad stuff in VS Code, we can just focus our energy on the forks that don't harm us.
I see people doing using their energy to continually patch out malfeatures of proprietary software because they feel that the proprietary software desired features are worth the energy of constantly fighting with the ideals of the software owner. This is not necessary with free software, you can invest energy one time to remove malfeatures, then all future energy goes towards extending and improving the desired features.
>>13
Note that people need to remove malfeatures and not to add them.
>>14
s/add them/add missing features/
>>10-13
Here's a useful version of the GNU command line tools: https://github.com/diafygi/gnu-pricing
>>16
A non-ironic version of this would be a nice idea, where you could donate a fixed amount of money to various projects you use, proportional to the time/number of invocations you made over a month.
Way back a long time ago, Thompson and Ritchie were sitting opposite one another at the commissary, sipping coffees and discussing their evolving behemoth.
“This behemoth of ours,” said Ken, “is becoming rather popular, wouldn't you say?” “Yes,” said Dennis. “Every time I want to do a compilation, I have to wait for hours and hours. It's infuriating.” They both agreed that the load on their system was too great. Both sighed, picked up their mugs, and went back to the workbench. Little did they know that an upper-management type was sitting just within earshot of their conversation.
“We are AT&T Bell Laboratories, aren't we?” the upper-management type thought to himself. “Well, what is our organization best known for?” The brill-cream in his hair glistened. “Screwing people out of lots of money, of course! If there were some way that we could keep tabs on users and charge them through the nose for their CPU time...”
The accounting utilities were born.
>>17
Most Unix-like systems, including Linux, have process accounting facilities. However, process accounting is not standardized.
You can use Nix to install it and even override some attributes to remove the telemetry out. Although the latter requires you to compile the dotnet runtime.
>>20
More package managers, more complexity, more bloat. Welcome to Nix.
>>21
It's slightly better than Guix though.
>>22
Until guix is completely free of nix.
>>1
Did you consider Facebook's Reason ML or just using one of the OCaml web frameworks (if you want a framework at all). Oscigen Eliom is very neat for example: http://ocsigen.org/eliom/
why do some people dislike OCaml?
>>25
'Cause it's drug induced.
No real multicore support yet.
>>27
For webshit you can just spin up multiple instances and load balance between them. I haven't actually paid attention in a while to how multicore-OCaml is coming along.
>>28
Multicore OCaml was merged into mainline OCaml on 2022-01-10. OCaml 5 will be multicore, and it will be released in the first half of 2022.
>>20 I just wish Paket had a JSON output option. It would make life so much easier to integrate F# + Nix...
I came across this OCaml web framework that looks neat: https://aantron.github.io/dream/
>>31
Here's a tutorial series in using Dream and Bonsai for ``full-stack'' web-development using OCaml: https://ceramichacker.com/blog/category/ocaml-webdev