• 0 Posts
  • 26 Comments
Joined 1Y ago
cake
Cake day: Jul 03, 2023

help-circle
rss

Oh, if you worked at a company that uses them (which is a lot of companies), you’d definitely be familiar with them as they hog up a ton of fucking CPU/disk. I basically had an entire CPU core dedicated to running their bullshit.


I’m not, really. They’re one of our largest operating expenses and we’re trying to work on reducing our log output to reduce the cost.

For what they do I’m not aware of any players in the space that come anywhere close, though.


Common Lisp isn’t a functional programming language. Guile being based on Scheme is closer, but I’d still argue that opting into OOP is diverging from the essence of FP.



https://porkmail.org/era/unix/award#cat

jq < file.json

cat is for concatenating multiple files, not redirecting single files.


Meanwhile, I can open a 1GB file in (stock) vim without any trouble at all.

Formatting is what xmllint is for.



I understand what you’re saying—I’m saying that data validation is precisely the purpose of parsers (or deserialization) in statically-typed languages. Type-checking is data validation, and parsing is the process of turning untyped, unvalidated data into typed, validated data. And, what’s more, is that you can often get this functionality for free without having to write any code other than your type (if the validation is simple enough, anyway). Pydantic exists to solve a problem of Python’s own making and to reproduce what’s standard in statically-typed languages.

In the case of config files, it’s even possible to do this at compile time, depending on the language. Or in other words, you can statically guarantee that a config file exists at a particular location and deserialize it/validate it into a native data structure all without ever running your actual program. At my day job, all of our app’s configuration lives in Dhall files which get imported and validated into our codebase as a compile-time step, meaning that misconfiguration is a compiler error.


You’re just describing parsing in statically-typed languages, to be honest. Adding all of this stuff to Python is just (poorly) reinventing the wheel.

Python’s a great language for writing small scripts (one of my favorite for the task, in fact), but it’s not really suitable for serious, large scale production usage.


Ah gotcha, fair enough. Definitely depends on the workload. If you have compute you want to dedicate to solely to a single task, have at it.


Umm, queueing is standard practice particularly when a task is performance intensive and needs limited resources.

Basically any programming language using any kind of asynchronous runtime is using queues in their scheduler, as well.


I mean, it still doesn’t change the fact that no one actually wants this shit.


My pixel 7 pro is perfectly smooth and seamless. Oh and voice assistant is far faster than anything on iPhone thanks to the on-board Tensor chip.


I definitely associate “ninja” with wannabe JavaScript developers.

Pureblood is pretty funny, though of course we actually use Haskellers. Honorable mention goes to “Haskellnaut” to (playfully) describe taking the language as far as it can go.


Yeah, in most statically-typed languages this is simply the default behavior unless you specifically declare a field as optional.



Yup. Especially since it’s written in Rust… Like why? Rust has a great cross-platform story.


Vim doesn’t take any thought for me, it’s all muscle memory.



It’s less of an issue of reviewing all packages than it is that this causes DOS in the first place. It’s pretty damn stupid that you can’t unpublish packages others depend on, and the whole recursive dependencies thing makes the situation a lot worse than it otherwise would be. Neither of these are issues with other package registries.


Gmail is a (bad) web application. A marketing website or even an ecommerce store are not.


Haskell being so high really doesn’t make any sense. Experience level maybe?

It’s one of the tersest languages out there.


It’s never too late to learn about them. They’re super common in practice so it’s very helpful to know about them. A lot of things are a DAG, like tree data structures and dependency graphs. Having no cycles in a directed graph has a lot of nice properties too, like allowing one to use efficient graph traversal algorithms, topological sorting, or its transitive closure. It’s come up multiple times in my career so it’s definitely worth knowing imo.


It’s very well-known and common knowledge. It’s certainly something that I will talk about without feeling the need to define terms or something. I would assume anyone unfamiliar with it either didn’t pay attention in school or never went to school to begin with.


It’s “open source” as a technical matter, but the fact is that plenty of common extensions are still strictly controlled by Microsoft (like say, Live Share) and can’t be used with vscodium due to licensing. It’s a pretty useless editor without extensions, and the marketplace isn’t exactly “open”, either.


I’ve always used and will continue to always use curl.