Not only is Substack right-wing broligarchy garbage, it's way more expensive than Ghost
solrize @ solrize @lemmy.world Posts 31Comments 2,294Joined 2 yr. ago
Monads are like burritos?
Wait til they meet my friend Little Bobby Tables.
Wait, they want me to upload my docs to their AI for free? Nice try. I might consider it depending on the doc, but they'd have to pay me a decent amount to even consider it.
I had totally forgotten this 6 month old post but sure.
Saving you a click: Montana, New Mexico, Vermont, Michigan, Maine, North Dakota, Oklahoma, and Wyoming, in that order.
Github: Microsoft code hosting site that feeds all your code through AI training and tries to lock you in through their pull request and related machinery. Once used a motto like "social coding", but let go of that when they realized Facebook for nerds didn't sound that great. Software is mostly proprietary besides Git itself.
Gitlab: 1) a Github competitor (gitlab.com, code hosting site with somewhat similar features; 2) the software for that site, huge and bloaty and slow, written with Ruby on Rails. You can self host it if you want, but yecch.
Forgejo: Git front end software, fork of Gitea and/or Gogs. Small and fast and written in Go. Fewer features than Github or Gitlab. If you want to self-host, I'd use this or some variant. Quite easy to install and run.
Gitweb: comes with git, pretty rudimentary but has old school attractiveness at least for me. Really just a browsing interface. No pull requests or anything like that.
Git, just plain Git: if you are self-hosting a project for yourself and maybe a few friends/collaborators, it's fine to just use git with no web stuff, and push/pull by ssh. You'd manually install account credentials for your friends. This is really the simplest, but NO fluffy UI or other creature comforts.
Fossil: amazingly small and fast alternative to all the above (fossil-scm.org) but uses its own VCS (Fossil) that doesn't interoperate with Git. I think the author said he might convert it over sometime. It's written in C! Uses sqlite as repo backend instead of the file system like git uses. Has built in wiki, bug tracking, documentation viewer, etc. and used about 2MB of ram last time I tried it, ridiculously small (Gogs used around 40MB and Gitlab uses gigabytes).
Sourceforge (sf.net), very old school code hosting site, not of much relevance any more. They released an old old version of the software a long time ago and that got forked to become Savannah.
Savannah (savannah.gnu.org) hosting site for GNU and related software. Also savannah.nongnu.org for non-GNU stuff in the same spirit. I don't know the exact criteria for putting stuff on nongnu but I think it's on a project-approval basis, rather than letting everyone upload whatever they want.
Darcs (darcs.net), another alternative to git, better in some ways, written in Haskell, lost most of its users after a self-inflicted footbullet around 5y ago. There was a hosting site (darcsweb?) for it but that looks to be gone now.
There are a few more of them too, none of much importance these days even though some were interesting.
There have been a bunch of other phones and devices using that style of keyboard. I used a Nokia E63 for years. Were they under license? What about the one Lilygo sells now? Maybe whoever manages RIM's portfolio just stopped caring. Anyway this is kind of interesting. I always liked that keyboard.
Concrete technical answer (one of many): imagine you have a list ("array") of 5 numbers, and you try to print the 10th number in the array. A secure language will say "error! it's a list of 5 numbers, there is no 10th one!!". C will instead print some random garbage (whatever happens to be in the part of memory following the 5 element list), or maybe do something even crazier (try searching "nasal demon"), without indicating that anything has gone wrong. There are many other issues like this with C. You end up with programs going completely into the weeds, turning control over to attackers, etc.
Abstract philosophical answer: Secure languages like Ada and (hopefully) Rust are designed to help you ensure the absence of unwanted behaviours, rather than just the presence of wanted ones. If you want behaviour X, the goal of old languages like C was to make sure you could write a program in which X was present. That was a big enough challenge in the old days that language designers stopped once they reached that point. If you don't want behaviour Y (let's say Y is a security attack), it's up to you to just write the program without behaviour Y. 50+ years of experience have shown that to be inhumanly difficult once the program gets complicated, so you really do need help from the language. Accountants invented double-entry bookkeeping 700 years ago for similar sorts of reasons: to keep small errors in complicated systems from sending the system into a nose dive.
Ensuring the absence of behaviours is the classic problem of proving a negative, so there are limits on how thorough the checking can be, and the technical features (like the notorious Rust borrow checker) can be difficult to use. But if you're willing to endure a certain amount of pain and runtime inefficiency (requiring the program to do a little extra work at each operation to make sure the result makes sense, like the example of the 10th element of the 5-element list), you can make programs much safer than you can in C.
Does that help?
Added: Rust is getting some flak because it is pretty new, is still a work in progress, has various unmet goals, etc. It's not fully baked yet but it is getting there (I'm studying it right now). Ada is an older language that is way more mature than Rust, but is more of a pain to use in many ways, so Rust is currently getting more attention.
Just turn off voting, it's a net negative.
I guess they all gather there because they are all into the same things. I've found that site unbearable to look at.
I'll probably have to read through it or maybe the Ferrocene standard, but for now, Comprehensive Rust is pretty good. I've been busy today but hope to finish it soon. Is it really true as someone mentioned that Rust binaries are always statically linked? That has its attractions but I would hope it's controllable. Can you use the regular linker (ld) with it?
Thanks, "Comprehensive Rust" is readable so far, though I haven't gotten to the "fun" (memory management) parts yet.
I know that the "project" approach to learning a language works for some people, but I've found l greatly prefer to read a book from beginning to end before undertaking any projects. It helps me start out with a clear picture. I'm finding "Comprehensive Rust" to be fairly good so far. Thanks for all the help, everyone.
Thanks, Rust by Example looks ok, and I'm acquainted with one of Programming Rust's authors, which is cool. I'm currently looking at "Comprehensive Rust". All these though seem to be about the Rust software ecosystem (compilers, package tools, libraries) as much as they are about the language. I had hoped to start by just reading about the language, if something like that exists. I don't particularly want to write any Rust programs until I've finished reading some kind of language overview, which means that all the stuff about build tools are just a distraction during that stage. As another commenter in this thread said though, ecosystems and languages have become pretty much inseparable, so maybe that's why the books are that way.
This also looks interesting:
https://dr-knz.net/rust-for-functional-programmers.html
This says nothing about Rust, but it's a humorous classic. I'd be interested to know how to describe Rust in these terms.
https://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html
Thanks, Roc sounds interesting. Ocaml also maps more closely to machine operations than Haskell does, so it has always seemed like another alternative. AMD has something called ROCm which is their version of CUDA, but I assume that is unrelated.
True, but of course it's always a trade-off. At a certain point I have to defer to your judgment, at least until I've written some Rust code. But I've written a fair amount of C++ and a little bit of Ada and don't find them all that convenient compared to Python or Haskell or whatever. We'll see. ;)
Thanks, I was looking for a more straightforward academic-style textbook for non-beginning programmers, but I'll make do with what is out there.
From what I can tell, the most widely used antidepressants are long off patent and pretty cheap as generics. That's why insurance companies want doctors to prescribe them instead of sending you to expensive therapy. Overprescribing antidepressants in that sense is more like overprescribing aspirin. Medically unnecessary, maybe even potentially harmful? Maybe. But, the stuff is too cheap for Big Pharma to be doing it purely for the money. That's what opiods were for ;).
The attraction of substack for at least some writers is that substack actually pays their more popular or prestigious writers. I don't know how many or whether there is a published list of them, but at least a few of them are getting paid rather well (6 figures/year or maybe more). If Substack is recruiting and paying Nazis, then that is of interest and concern. Most writers there aren't getting paid by substack, though they may have readers who buy subscriptions. That is open to pretty much everyone and the fanfiction saying "don't like, don't read" works for me here. Saying Ghost is a more attractive platform because it has more censorship is kind of a head scratcher. And calling Taibbi and Greenwald Nazis is ridiculous. Disliking the Democrats doesn't make someone into a Nazi.
That said, I don't personally like substack very much and am always glad to hear about alternatives.