![](/static/66c60d9f/assets/icons/icon-96x96.png)
![](https://lemmy.world/pictrs/image/4271bdc6-5114-4749-a5a9-afbc82a99c78.png)
It sounds funny but it’s not an uncommon phrase.
It sounds funny but it’s not an uncommon phrase.
I’d say it’s definitely worth it. I don’t actually use nixos itself, but I do use nix a lot. I have everything I need for work in a home manager configuration, so I can literally just install nix and load up my config and have all programs and configuration of said programs installed and ready to go (on any UNIX system). I started doing this since changing jobs means a new machine, and I got really tired of all of the inconsistencies between machines when bringing over my dotfiles, and having to install a bunch of packages I use every time I changed jobs.
I do want to make the switch from Arch to nixos on my personal machine eventually too, but I hardly spend any time on computers outside of work these days, unfortunately. But the great thing is that my home manager configuration can pretty easily slide right into a nixos configuration, which is what many people do.
The tooling has improved dramatically since then. There’s now a full-fledged language server (https://haskell-language-server.readthedocs.io/en/stable/), ghcup
(https://www.haskell.org/ghcup/) is now a thing for installing/managing different versions of GHC/cabal/HLS, there’s now formatters (https://github.com/tweag/ormolu) and cabal has modernized significantly and supports multi-package projects much more comfortably now. Nix-based Haskell infrastructure is also now pretty nice. There’s even stuff like https://github.com/srid/haskell-template/blob/master/flake.nix to very quickly get spun up on a new project using Haskell and nix, including vscode, formatter, HLS, and a full development shell with a bunch of useful commands.
Another great modern thing (which powers HLS) is that GHC can now emit .hie
files for each file it compiled, which is basically a standardized representation of the AST for that module that can be consumed/manipulated programatically. Lots of tools can use this. One such tool that’s particularly useful is https://github.com/wz1000/HieDb, which constructs an sqlite database from the information in these files, so you basically can have an index of every symbol definition, reference, export, etc. all readily available to use however you want.
https://www.shellcheck.net/ is probably one of the most well-known.
https://simplex.chat/ is written entirely in Haskell.
https://pandoc.org/ is another big one.
https://serokell.io/blog/best-haskell-open-source-projects has a (non-exhaustive) list of a bunch more.
Haskell. It’s a fantastic language for writing your usual run of the mill DB-backed web APIs (and a bunch of other stuff like compilers, data processing, CLIs, even scripting) and can do a lot of things that other languages simply can’t (obviously not in terms of computation, but in terms of what’s possible with the type system).
I’ve been writing it professionally for a while and am very happy with it. Would be nice if the job market for it was a bit broader. You can definitely get jobs doing it, you just don’t have quite as broad of a pool to choose from.
It’s currently the best tool for doing UX/design work.
It wasn’t all sunshine and rainbows. I remember losing hundreds of hours of progress on games due to memory card corruption. Or game cartridges/CDs no longer working, requiring you to buy a new copy. Or consoles getting straight-up bricked.
Hell, a ton of people have memories of blowing into N64/SNES cartridges to get them to work since they had notoriously unreliable connectors. But even though it was something that didn’t work great, everybody has fond memories of doing it since there wasn’t this amalgamation of voices from every direction telling you to be upset about it and clamoring for retribution. If something was broken, you got frustrated about it, complained to your friends, and then moved on with your life since there wasn’t anything else you could do.
Yeah it’s pretty great, especially when so many people are so quick to assume that OOP is essential for managing complexity.
OOP is the poster child for solving the problems that it creates itself.
Huh, you know what, maybe I’ll give something like that a try. In the past I’ve tried doing one worktree per branch, but it was a pretty big hassle since I’d have to copy over a bunch of files every time (stuff sitting in the directory but not version-controlled). Yeah it can be automated, but it didn’t seem worth it. But a persistent set of work trees that I can use to parallelize when needed sounds pretty good.
No, because raw-dogging JavaScript isn’t something grown-up software shops do.
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.
The similarities are superficial at best. The only thing similar is that it uses braces for attribute sets (objects) and square brackets for lists. And I guess quotes for strings.
But otherwise it’s a full (functional) programming language, with functions, variable bindings, etc.
Flakes aren’t perfect, but they are really good for ensuring that you have completely reproducible builds since the version used for every dependency is pinned.
Yeah, in most statically-typed languages this is simply the default behavior unless you specifically declare a field as optional.
https://en.m.wikipedia.org/wiki/Regular_language
HTML is famously known for not being a regular language. An explanation isn’t required, you can find many formal proofs online (indeed, a junior year CS student should be able to write a proof after their DS/algo/automata classes).
This very old post is funny because despite it being so famously known as being irregular, stack overflow questions kept popping up asking how to use regular expressions to parse HTML, which you can’t do.
For sure. If 32-year-old vim can handle multi-GB files smoothly, you don’t need a GPU.
Yup. Especially since it’s written in Rust… Like why? Rust has a great cross-platform story.
For an adult? Nah. You can certainly kindly let them know that this isn’t really gonna work and explain why (and let them know you appreciate the effort), but the rest of it is way overkill and could easily be seen as patronizing, imo. They’re an adult, not a 13 year old.
Also, I interpreted the OP as finding it humorously absurd (which it is) rather than being frustrated or anything.
Vim doesn’t take any thought for me, it’s all muscle memory.
Visual… programming languages? Yikes.