> As a keen NixOS user/contributor, if your only needs are i3 and Firefox, then I do not recommend NixOS to you. ~Any distribution can meet your needs.
I really disagree with this. NixOS is also great for simple use cases like this because it's robust. I know a lot of people who switched to Linux, need to get something to work, follow some online tutorial/directions blindly, and just break shit pretty badly.
This isn't contrived: even seemingly-inoculous commands like "pacman -Sy" on Manjaro/Arch can fuck your shit up (it basically amounts to a partial upgrade).
NixOS doesn't let you break shit like this. (Literally, upgrades are atomic and packages can never have missing dependencies.) And, even if somehow you did, you then have a nice configuration.nix to quickly get back up to speed.
Concerning fiction only: I see books as a way to experience things that I cannot experience in my (rather repetitive) "real" life otherwise.
I don't necessarily mean this in terms of the fantastical but also in terms of more pedestrian books. I still get to connect with characters (people) in ways I wouldn't in real life, experience emotions that terminals aren't very good at evoking, and have thoughts that wouldn't have otherwise occurred to me.
I don't really remember what I read very well. I can't quote some famous passage and after a few months my memory of the book is reduced to basically a blur. Since HN is ever pragmatic, one has to ask what exactly I'm walking away with in the end. I think reading (fiction) gradually imparts you with a wider soundstage through which to view (hear) life and is generally enriching in that sense. It also, unquestionably, makes you a better writer--good writers are rare in technical fields and learning to write well is really sort of arcane in some ways, so I wouldn't underestimate that. (Nor would I underestimate the value of good writing: bad writing sullies the fuck out of an otherwise good paper.)
Since I'm a student, I'll often have periods for many months where I don't read a single page. But whenever I come back to reading, I always find myself asking why I didn't keep the habit up. Reading encourages a sort of mindfulness (almost a meditation of sorts) that I always find myself missing once I rediscover it when I start reading again.
Weather still isn't climate and while the abstract states their model detect climate change within a very small time-frame (a day), it still requires global data to do so.
I'm sure the converse is true too and that models should be able to detect climate change locally within a large time-frame.
Yes, literally by eating less. You can lose weight on a diet of pure granulated sugar.
For the purposes of weight loss, exercise is absolutely overrated, especially the low intensity cardiovascular type that most individuals trying to lose weight engage in. The actual number of calories burned for the mental effort/discipline is garbage and that effort would be better spent on better dietary discipline.
High intensity training and weightlifting have better results due to increasing metabolic rate for a long period after the activity, but the key to weight loss is diet.
I don't know that much about Guix, other than "super-free Nix with scheme" (and the article wasn't particularly illuminating other than boiling down to "Guix isn't really ready for most users right now"), but it's neat that there's momentum in the declarative OS-space. I hope that both Guix and NixOS keep growing and that more people start switching.
After switching to NixOS, I'd find it very frustrating to go back to an OS with imperative-style package/service management. It's clearly the better way.
A frustrating thing about NixOS--coming from Arch Linux and being used to the AUR--is that adding packages/updating packages can be a bit slow due to the sheer volume of PRs/Issues on the nixpkgs repo. There's always the NUR[1] but it hasn't picked up that much momentum yet (probably because it's kind of hard to search the darn thing). Eitherway, the packages are just Nix expressions and repos are just collections of these expressions, so nothing's preventing a real AUR alternative other than momentum.
It's interesting that Guix uses scheme instead of a home-baked configuration language like NixOS. While I don't find Nix particularly offensive, I don't find it particularly great either. And maybe this is naivity/Nix-inexperience on my part speaking, but I really wish that Nix had a proper type system and was strictly typed.
I guess my pipe dream is "HaskellOS" that's basically NixOS configured with Haskell (just think of xmonad-style configuration for your whole OS). That'd be really nice. And my secondary-pipe dream is a baked in, extremely-comprehensive home-manager[2] so we can bid dotfiles goodbye once and for all and have your entire system-state defined in a single file.
Sounds like you've barely programmed in Haskell and don't know what you're talking about.
> It is extremely hard to learn
Haskell was the first language I learned. I didn't think this at all and I still don't. It doesn't strike me as any more difficult than learning Java or something.
You may think this because Haskell is a different paradigm than what you're used to, so while you may be able to get quickly started with Rust coming from a C++ background, Haskell will take more work because what you already know doesn't intersect with what you need to know quite as well. You may misconstrue this mismatch as Haskell being more difficult to learn.
I think Haskell syntax is less confusing/complicated than many other language. Unlike a lot of other languages, Haskell doesn't have a lot of things baked-in. As an example, lot of oft-used functions are "user-space" functions that anyone could define themselves. Like `($)` or `otherwise`.
> If I stood up in a corporate business boardroom meeting for tech analysis on a new project and said "I want to write it in Haskell", I'd get laughed + kicked out.
This is such a stupid argument: what relevance is the opinion of boardroom meeting attendees on the suitability of Haskell for a project?
It sounds like you're hating on Haskell out of ignorance and some personal encounter with the language that went poorly. Instead of actually being informed.
i.e., `False` has no constructors and hence is an empty type.
Anyway, this means that for any type `A`, you can construct a function of type `False -> A` because you just do this:
`fun (x : False) => match x with end.`
Since `False` has no constructors, a match statement on a value of type `False` has no cases to match on, and you're done. (Coq's type system requires a case for each constructor of the type of the thing being matched on.) This is why, if you assume something that is false, you can prove anything. :)
On paper, I ought to be fine here. Germanic life doesn't jive with me, that's all. I feel very culturally isolated and alienated and would go so far as to say that I find the German aesthetic/way-of-life somehow depressing.
I spent various parts of my childhood in Germanic countries and was going through a difficult time then as a kid. I think I've been unable to separate that time from my perception/understanding of Germanic countries and that that has a lot to do with it as well.
I just wanted to say thanks for all your insightful and helpful comments. A big, wide range of opinions are represented and it gave me a lot of needed perspective.
I'm still thinking carefully about my options/future and haven't come to a definite decision yet--but I wanted to give a big thanks to everyone who contributed. Thanks again.
American living in Germany here. (I also speak pretty decent German.)
I think it's hard to compare two countries like this. There's a lot more than just the objective differences--it's easy to be miserable in an objectively "better" country.
I am absolutely miserable in Germany. I don't have a particularly good reason to be; I just hate it. It simply disagrees with me, even though--objectively--Germany is a better place to live than many of the other countries I lived in.
My advice is apply for jobs in both countries. Get on-site interviews, and go to Toronto and Berlin. It's important that you see for yourself, so you can really make an informed decision.
The bit you wrote about transferring to Silicon valley, etc seems premature to me. You don't really know what you'll be doing in the future: neither choice here is bad. Choose which seems the best now, unless you have a specific, realistic goal for the future that one option enables better than the other. But without that: go to both cities and just see what you like.
Comparing salaries is also premature: you don't even have offers yet. It's all just conjecture. If both cities are serious contenders for you, apply to jobs in both and see.
(Besides, German CS salaries are definitely nothing to write home about either. And many things in Germany are more expensive: cars, gas, electricity, basically all consumer goods, etc)
I really disagree with this. NixOS is also great for simple use cases like this because it's robust. I know a lot of people who switched to Linux, need to get something to work, follow some online tutorial/directions blindly, and just break shit pretty badly.
This isn't contrived: even seemingly-inoculous commands like "pacman -Sy" on Manjaro/Arch can fuck your shit up (it basically amounts to a partial upgrade).
NixOS doesn't let you break shit like this. (Literally, upgrades are atomic and packages can never have missing dependencies.) And, even if somehow you did, you then have a nice configuration.nix to quickly get back up to speed.