Hacker News new | past | comments | ask | show | jobs | submit | stelcodes's comments login

For anyone on Fedora 36 wanting to play with Ardour 6.9.0 with some awesome free effects and synth plugins, try this:

  sudo dnf install ardour6 lv2-calf-plugins-gui ladspa-autotalent-plugins lsp-plugins-lv2 lv2-zam-plugins lv2-synthv1 lv2-amsynth-plugin
All the plugins will automatically show up in the plugin manager!


Hi Paul, just wanted to say thanks for working so hard on Ardour. I just started playing with Ardour in Fedora on my Framework laptop, but I've been thinking about buying a M1 mac to make music because I miss Logic and Ableton. These release notes have got me hyped because now I might not want to! I'm very excited to try out the clips and freesound features. I'll definitely be buying a license soon. You (and the rest of the brilliant Ardour contributors) seriously rock!


Thank you. Just to be clear about one thing: nobody buys a license for Ardour, it is released under the GPL.

You can choose to pay us for the service of building it for you, or if you like, providing a ready-to-run version that we can actually support. That revenue allows myself and other Ardour contributors to work on Ardour as a way of making a living.


Thanks also, I had the privilege to exchange with you on the linux-audio-dev mailing list a few times way back in the time of quasimodo and creation of LADSPA, I learned so much thanks to your dedication and knowledge about audio programming and how to create an useful api !


I used Nix and NixOS for more than a year as my daily driver. I've contributed to Nixpkgs. I agree with the author on most if not all of their points. Here's some advice: If you're interested in Nix, take steps not leaps. Use the Nix package manager. It's a great addition to distros like Debian. Then maybe use Home Manager (even though I think Home Manager is way over-hyped, see below). Then write a bunch of derivations. Then go learn the ins and outs of systemd. THEN go play with NixOS. If you skip any steps before the NixOS part, you will get lost in the weeds. The happy path of NixOS is very happy. The other paths are very challenging. You should really know a lot about both Nix and more traditional Linux packaging methods before you go all in on NixOS. And honestly, learning more traditional Linux utilities is a far better use of your time than learning the complex, ever-changing Nix landscape. It's a super cool project, I'm so glad it exists. But it should really be viewed as a _research_ project. Many good things will come out of it. Hopefully one of those things (like the author mentions) is a Nix clone written in a common language with a much better UX. Until then, try to avoid the urge to play with shiny things and stick to just using the Nix package manager and more traditional tooling.

And about Home Manager, the reason why I think it's over-hyped is because it provides a declarative approach to something that was... already declarative. Your $XDG_CONFIG directory does not need a leaky Nix abstraction on top of it. It actually just makes everything 10x harder. The Home Manager Nix abstractions are terrible but people seem to love it? Why would I write my i3 config in Nix?? An i3 config literally cannot get any simpler. Why make it more complicated for no benefit? I also don't need a declarative list of all installed packages. I'd rather just use `nix-env` personally.


> And about Home Manager, the reason why I think it's over-hyped is because it provides a declarative approach to something that was... already declarative. Your $XDG_CONFIG directory does not need a leaky Nix abstraction on top of it

I don't really agree, I spent about 30mins to get my home-manager config to support an m1 mac [0]. I don't really want to think how long it would take me to look up all of the homebrew package names, and learn a new package manager. Instead, I just pushed all of the linux-specific items into their own bin, a little more logic, and I was able to get back to a comfortable terminal + git + vim settings.

Also, nix exposes congruent configuration management[1]. The state of my system is an exact reflection of the configuration. With other tools like ansible, vagrant, etc, I would get reconciliation configuration which is close on initial install but configuration drift is an ever-present concern; not to mention that large recipes and playbooks can take a very long time to run. Going the homebrew route would be divergent configuration, it would be very hard for me to get back to a certain configuration. With nix (and by extension home-manager), I can version control the configuration, improve it, roll it back, w/e I want.

> Why would I write my i3 config in Nix??

You do get some type checking, although the iteration time would probably be similar. You could also just do `xsession.windowManager.i3.extraConfig = builtins.readFile ./i3.config;` if you really just wanted to wholesale read in your existing profile.

> I'd rather just use `nix-env` personally.

nix-env is a double edge sword. You can rollback (somewhat, I believe it's just a stack of all changes), which is an improvement. However, nix only retains the "derivation name" to try and management. But for packages like python38, if you try to upgrade it, it will determine that `python-3.11-a3` is the package which is the most up-to-date. I try to discourage using nix-env.

[0]: https://github.com/jonringer/nixpkgs-config/commit/37ddfefa1... [1]: https://blog.flyingcircus.io/2016/05/06/thoughts-on-systems-...


WRT Home Manager, that makes sense and portability is definitely a cool benefit of Home Manager. But keeping all of your config for multiple workstations in one has drawbacks too. I found myself frustrated when I wanted to install something but I forgot to push changes from another computer so I needed to stash or rebase later on. Just to install a package! I only have one workstation and a small amount of servers, and I tried running NixOS on everything. It worked well (I still have multiple servers running NixOS actually) but for me, the benefits just weren't worth the overhead of living full time in Nix land. Now I use Debian stable for new servers and I prefer it. But yeah, lots of personal preference here. And WRT nix-env, it seems troubling to me that the fundamental tool of the Nix CLI is something that you recommend people stay away from. I think you may have be right about that recommendation, but I think it shows that Nix as a product is far off from being a "pick up and run" tool for average developers. I really hope that it will somehow get to that point but, like the author says, I don't think it will be Nix itself because it has burrowed itself into a bespoke, complicated UX that has a huge learning curve. I like simple things with elegant UX so that's where I'm coming from. There's just so many ways to use Nix, like, TOO many ways. But I'm glad that they're pioneering this space.


Yep, same. Speaks volumes!


I mean, Clojure kinda does that


So the solution to the problems that Copilot tries to solve is "migrate your workplace to Clojure"? Ordinary devs can't do that.


Oh I was just chiming in really, not trying to say anything about copilot


I feel like Clojure companies should be on here too as it is very much a LISP


> This list intended only for company with Common Lisp and Scheme usage

Debate aside, this group seems to be fairly explicit about their intent.

Here's an issue where they discussed the decision recently: https://github.com/azzamsa/awesome-lisp-companies/issues/43.


> This list intended only for company with Common Lisp and Scheme usage

I remember reading somewhere that user-generated tags were a good idea, even if there are some "synonims", because people that talk about "films" and people that talk about "cinema" clearly don't want to spend time together. I think it's the case here. People that want to exclude anything that's not Scheme or Lisp aren't going to be convinced.


If you hang around here long enough, you get to see people insisting on pretty much anything being a Lisp.


There are a lot of people who would debate that point. There are even some fairly common macros that are used when this comes up. My favorite is this one:

«I find Clojure revolting.

It is the most explicit to date abandonment of the age-old Lispers' Dream, "Lisp All The Way Down." Clojure is the antithesis of the Lisp Machine. Instead of a crystalline pyramid of comprehensible mutually-interlocking concepts, behind every Clojure primitive there lurks Black Magic. The Clojure user who is missing some routine or other will run crying to Java for help, rather than implementing the feature himself correctly - that is, as a natural part of the entire language, built on the same concepts. Clojure pisses on everything I've ever loved about Lisp.

Clojure is the False Lisp, which Reeketh of the Cube Farm. A Lisp unworthy of the name; one which encourages users to pepper their code with calls to opaque routines having no underlying Lispiness. A Lisp which barfs Java stack traces. It promotes - no, mandates - the use of undigestable foreign matter in Lisp code: primitives on which you cannot pop the hood to reveal intelligible innards.

The cult of Good Enough which seems to pervade all of modern computing has finally chewed its way through to the Lisp community, with Clojure as the result. I am tired of this abomination being hailed as the future of Lisp. Aficionados of real Lisps, such as myself, will keep hoping, dreaming, and working on systems which do not betray the original virtues of the language.»


All: please let's not do programming language flamewar here. I realize this is just a quote, but such things are activating and we all need to just not take the bait.

This sort of hyper-rant did years' worth of damage to the CL community and I'd especially not like to see HN be a vehicle for its return. As for Clojure, Rich knows at least as much as the rest of us do about the design tradeoffs it took to get a viable Lisp on the JVM.


Even pg participated in Lisp flaming; what he said about newLISP on LtU, for example. It's tradition!

But yes, Lisp flamewar is not very productive. I do think there's a debate to be had as to whether or not Clojure is a Lisp, though, and the quote was offered to give a humorous example of a macro posted by people who are against Clojure in it, since stelcodes seemed to be unaware.


Nice to see software language purists who are not assembly-line stamped Haskellteers fresh out of college. But the fact that they appear unable to see the beauty implied by `/usr/bin/env bb` or `shadow-cljs publish`, suggests to me that they don't recognize the implications of clojure and deep, modern software ecosystem interoperability.


I think most of the people who spam the macro are Emacs Lisp and CL users, so while in the Emacs case they might not understand modern software ecosystem interoperability, they definitely understand deep software ecosystems.


But the fact that they appear unable to see the beauty implied by `/usr/bin/env bb` or `shadow-cljs publish`

lol, what beauty are you referring to with those two?

Sorry but you aren't any different.


Can you clarify what number you mean by “a lot” and/or cite some research to corroborate this claim?

You quote one article [0], which has been received by the Clojure community with almost unanimous disagreement, as the author himself acknowledges (in less than friendly words).

That article in turn contains little factual information and lots of expressive verbiage. In my experience, this opinion is very much in the minority, albeit a vocal one.

[0]: http://www.loper-os.org/?p=42


I quoted a macro that gets spammed on discussion forums. Of course it isn't popular with Clojurists, it mocks them. The origin article is irrelevant. If you copy and paste that paragraph into a search engine, you'll find it on multiple discussion forums.

Go to just about any Lisp forum that isn't explicitly for Clojure, and you'll find people hating on Clojure. Hating on Clojure and hating on newLISP are the only two things that Lisp users can agree on. I like both of them (though I like Clojure a lot less), but I find the slander hilarious and can understand why people disagree that they're real dialects.


Wow that’s fascinating. I’m glad I care more about building software than language purity


Heh

The impression I gathered from last decade's flirtations with Lisp is that the choice between Clojure and Common Lisp is mostly a choice between whether the code you ultimately call that Gets Stuff Done will be C or Java


whoever wrote that has never finished or contributed substantially to a project.


This is exactly the kind of closed thinking that is luckily absent from Clojure and the Clojure community and one of the reasons I'd prefer it over any lisp.



How irritating, when people want to talk about things made in Lisp-the-language, and people instead come around to debate Lisp-the-religion.


I think it's hilarious, personally, and I'd disagree that the two are meaningfully distinct.

Acting like any language that makes use of parentheses is a Lisp is similar to the Diogenes plucked chicken allegory. There are a lot of ways in which Clojure clucks like a chicken, to put it in terms of the metaphor. There is definitely room for a debate.

It's like calling Postscript meaningfully a Forth just because the syntax is superficially the same. There's certainly someone in this thread who could give a good thousand word comment on that.


It doesn’t matter which distro you use… unless it’s NixOS. Declarative operating systems are the future. NixOS is incredible. My whole configuration is a git repo. My servers have the exact same neovim/tmux/zsh config as my laptop. Switching between desktop environments couldn’t be easier. Messed up your system? Simply choose a previous generation on the boot screen. Seriously, try NixOS.


caveat: gargantuan learning curve. Expect to be learning a small yet slightly odd programming language and an ecosystem years in the making. As a distro it is strictly only useful for very technically minded people or people who rely on someone like that to maintain their distro for them.

But once you do learn it and fully prepared your set-up, it's amazing. Around a month ago I switched from Arch to NixOS after using the former for around a decade and I'm very happy with it despite its warts.


I agree that there is a large learning curve. It certainly took me a many months to get a good configuration repo going. But I see this as a failure of documentation rather than a failure of NixOS. The way I have my config setup is really not complicated, but it took so long to figure out the design. I really want to write a blog post series about how I do NixOS because I highly value simplicity and I think there are too many NixOS “learning” resources that are written by and for highly technical NixOS gurus. NixPills is a prime example of this. That blog post series is NOT for beginners. At all. But somehow is referenced as a learning resource.


Is your config on GitHub or are you on Twitter or something? I'd love to see what you came up with. I'd like to try NixOS but I don't have the time/motivation to learn something too complicated


My config isn’t open-source just because it’s pretty personal information. You would be able to see every database in my local Postgres instance for example. And every one of my servers. But I do plan on making a open-source version as an example soon. And some blog posts. On twitter I’m https://twitter.com/stelstuff. The blog posts will be on https://stel.codes. GitHub I’m https://github.com/stelcodes


I've also switched from Arch (has been on it for ~10 years) to NixOS (~1 year so far), and fully agree it's amazing.

I've been thinking how interesting it would be to create a user-friendly Linux distribution on top of standard NixOS (similar to what Manjaro is to Arch), which would not require learning Nix language or tinkering with the configs. I mean, system configuration/choosing packages/drivers/kernels should not really require a user to write in Nix language - the sane choices can mostly be represented by a set of GUI checkboxes. There also could be GUI utilities for other Nix goodness, such as creating nix-shells with necessary dependencies available, declaring wrappers for proprietary software, or building temporary VMs. So, I would say, the user absolutely does not need to know a lot about Nix to fully appreciate robustness of NixOS way, and in principle, with the right tools/GUIs it can be very approachable for even non-technical users - it's just that user friendliness seemingly has not been a priority so far.


Ive thought about this too! That seems totally possible. I think that’s such a great idea. It could truly bring Linux to the masses!


I wholeheartedly agree, and I am a giant NixOS fan, BUT:

1. You need space for the Nix store, so it's not appropriate for every system (I like building small embedded appliances).

2. A six month release cycle can get a bit tiresome after a while. I know it's personal preference, but I wish it was a bit longer.

3. Or, in order to contribute to the project, you need to chase the dragon with the unstable channel.

4. Forcing all the system state through the funnel of a single config file is great, except that it doesn't cover home directories. I found that I ended up with a massive unmanaged blob of state in my home directory which I couldn't capture (I never tried out home-manager, maybe I should have).

This is not to detract from NixOS! NixOS is great, and I remain a massive fan :-). But on my personal systems I find myself using macOS and Debian these days. ¯\_(ツ)_/¯

EDIT: Line spacing


Valid points. I definitely wouldn’t use NixOS on embedded. About contributing, You don’t really need to be on the unstable channel completely. I use a mix of stable and unstable packages. It’s not hard to do but it’s also not super intuitive either. And about home directories, I don’t use Home Manager either. I find that it introduced too much complexity and I don’t actually like it all that much. What I do is globally install all my packages and put configuration files in /etc. if the programs don’t have an /etc location to look for, I just create a symlink to config file in my home directory. That way all my config files are in my nixos-config repo.

I want to write a blog post about my way of setting up NixOS. There are many ways to go about it and I feel like mine prioritizes simplicity and doesn’t use complex Nix techniques, so it may be very helpful for beginners.


For 1., it's possible (easy even? I've never tried this in a cross-compiling situation) to build packages on one system and push them to another via SSH.

I suppose an upgrade would still result in two copies of everything, at least temporarily, but at least the target system doesn't need source code, compilers, etc.

https://nixos.org/manual/nix/unstable/command-ref/nix-copy-c...


> Declarative operating systems are the future.

Is there a version of this future where I don't have to learn a new language just to effectively use a computer?


Doesn’t every declarative tool require some new learned syntax? The Nix language is pretty damn good at configuration IMO. It is significantly less complex than python, for example.


If that is true, then I definitely don't want a declarative operating system to be my future. I'd rather have things designed simply and understandably than overcomplicate them in this way.


I used NixOS for years now and it would be my first choice for anything else, but I wouldn't use it for desktop.

Solus has that on lock for me and initially I didn't see it as particularly special, I too thought distros didn't matter much anymore. I thought I could switch away from it to any number of capable distros, but it never worked out and I returned to Solus every time.


I joke with a friend -- a serious emacs maven of 20+ years -- that he took up NixOS only because he was no longer daunted by emacs.

NixOS looks neat, but holy hell I absolutely do not have the time to deal with the learning curve OR the implicit abandonment of all the tools I use to do my job.


Lol emacs is honestly too complex for me to dive into. I like vim because it’s simpler! I seriously value simplicity. And wanting to stay on whatever works for you, that’s totally fair. If it ain’t broke don’t fix it. The beauty of NixOS is that makes all the package management and configuration completely declarative and versioned. And includes a huge amount of options that abstract away complex Linux tooling, making things “just work” for 99% of use cases.


Can you bootstrap a NixOS installation via WiFi? I've been using Nix as a package manager, but I avoid distros like Arch that are (or at least were) a pain to install if you don't have an ethernet connection to bootstrap from.


I've installed NixOS over wifi a few times, most recently for a desktop that wasn't next to my router and that I didn't feel like relocating to connect via ethernet. The fully featured install ISO (not the minimal version) comes with a GNOME desktop environment and you can point-and-click to set up your wifi for the install.

However, a fun trick I learned recently is to tether your phone to your computer while installing any Linux distro. My phone's tether connection over USB just looks like ethernet (as far as I can tell), so there is less fiddling around. My Android phone can tether to my wifi as well, so no need to use your cellular data.


So NixOS is great for using the same setup between computers. What about for people with one computer? Is it still good? Is it as easy as Ubuntu?


Yes definitely good for one computer! And I really think that NixOS is simpler than Ubuntu but there are many different ways of setting up your configuration repo and that is difficult for beginners. The way I do NixOS is very simple. And I really want to make a comprehensive guide on how to do it my way because it’s so nice! But I had to wrestle with it for many months to get to where I’m at with my config repo.


Is it equivalent to initialize Git repository in $HOME ?


No. It replaces the FHS with a whole new vision of how the OS is arranged and managed.


A year? Curtis Flowers spent over 20 years on Death Row without being convicted of anything. A couple years ago he was set free! Why? Because of a true crime podcast called In The Dark. Seriously. Listen to season 2 and your mind will be blown. The “justice” system in this country is horrific.

https://en.wikipedia.org/wiki/Curtis_Flowers?wprov=sfti1


I agree with your distress at the state of the justice system, but it doesn’t make sense to say that someone was on death row without having been convicted. The article you link to explains that his convictions were overturned. Although I would never rely on information in a Wikipedia article, you did link to it, so presumably you find it credible.


Every time he was “convicted”, the prosecution was found to be in blatant violation of laws on appeal. They intimidated witnesses, kept black people off the jury, and more. So no, he was never rightfully convicted! The prosecution broke so many laws, way more than Curtis Flowers ever did! And they just did it over and over again for 20 years. None of them have faced any consequences. They effectively imprisoned an innocent man for 20 years because they didn’t like him. And big surprise, Curtis is black.


What you are describing is different from convicting someone withoht trial, it's way worse.


The prosecution breaking the law doesn't mean the trial didn't happen. "rightful conviction" and "conviction" are very different things.


If your dependency is on GitHub, this tool makes it super easy. https://github.com/seppeljordan/nix-prefetch-github


Pretty sure there was/is a TON of exploitation in the crude oil industry


Don't the technicians that maintain remote oil-rigs make $200k+/yr though?


I mean sure, there are some people who (sacrifice their whole lives for their oil bosses and) make high salaries, but these corporations will pay the absolute minimum they can and unless you are unionized you have no chance of a fair negotiation. And every time the pipes break plants/animals/ecological systems die. And it poisons our water, the single most important shared resource we have. And when we burn that oil en masse our planet’s climate balance shifts and plants/animals/ecological systems die. And going back this oil comes from the European conquest and mass genocide of indigenous Americans. A highly strategic, centuries long conquest that openly called for the eradication of an entire race of people. We literally live on and extract resources from stolen land won via carefully planned out genocide. There were ~100 million indigenous people in the Americas before European contact. 1/5 of the worlds population at the time. “Exploitation” is a euphemism, all things considered. It’s more like “extremely violent” and “deeply sick” IMO.


Do you realize that most native Americans were killed by European disease decades or centuries before a European ever showed up to their area? And since no one even understood the concept of disease or how it was spread, it was really hard to imagine the Spanish purposefully showing up in Mexico with the explicit purpose of killing people in S. America via smallpox.

And paying someone a high salary to do a job they can leave at any time, isn't causing them to sacrifice their life, it's called free trade is generally considered 'winning'.


> And since no one even understood the concept of disease or how it was spread, it was really hard to imagine the Spanish purposefully showing up in Mexico with the explicit purpose of killing people in S. America via smallpox.

True, but smallpox blankets did happen. Not often. Perhaps only once, but it was documented at the time. https://en.wikipedia.org/wiki/Siege_of_Fort_Pitt


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: