HN user

jmkr

199 karma
Posts0
Comments128
View on HN
No posts found.

Pretty much every vst, clap, etc plugin on Linux requires X calls because of how windows get created and then managed by the host.

I've moved to running Bitwig in an Ubuntu distrobox container. Hope you're enjoying 6, it seems they fixed a lot with the piano roll.

I had to set mouse warping off in my tiling manager for yabridge/wine plugins.

I play with generally lighter strings. 8.5-40 mighty slinky fender scale. I noticed when I switched my fingers pay much more attention to pressure, and being in tune with microbends.

Been thinking of going a bit lighter recently, and also getting a classical.

I have been building music theory/midi related vst plugins in JUCE.

It's mostly targeted at me, or others that make music, but are not piano players.

There isn't much to show currently, but I have a rhythm generator, and have been working on a chord builder. The main thing that has taken time has been trying to decide which things to add to a user interface to make it worth actually building.

Slow 12 months ago

I think in the western world, Art, and music are both long term projects. So much so that we seem to have "reinvented" music at least twice. Once after the Greeks into classical western music, then again when jazz went into tonal harmony.

At least parts of it are "scientific" and "directed," see the Lydian Chromatic concept for example https://en.wikipedia.org/wiki/Lydian_Chromatic_Concept_of_To...

This is a really important point that I think a lot of people who aren't vegan don't get. There might be an understanding that food is culture (lets order chinese, or italian), but realizing that's not a culture you experience but a culture you live.

The first thing many new vegans ask is "what do I eat now?" The replacement food comes first, and beyond hits the mark a lot more than seitan does because we don't culturally eat seitan.

And even more so, I think beyond has made it so an entire generation realized they could go vegan. A black bean burger just never hit the same way.

I think Lisp is more on the liberal arts side of programming languages.

That the "enlightenment" of Lisp is that you can use functions everywhere. Write macros that look like functions and modify behavior, and build your code as a language.

Things like monads are more on the evolution of functional languages, and I also fall off the bike. It's as difficult as you want it to be, and I find scheme and lisp to be easier high level languages than javascript or python and makes more sense.

The forward and preface to SICP is good reading.

https://mitp-content-server.mit.edu/books/content/sectbyfn/b...

The Dan Friedman books are pretty good in general: "The Little Schemer," and the sequel "The Seasoned Schemer" which are both more "recursion" books. He also has another book "Scheme and the Art of Programming." Which I think is a great comp sci book that's not too difficult and doesn't seem too well known.

How to Design Programs is supposed to be a pretty good comp sci intro:

https://htdp.org/2024-11-6/Book/index.html

A few weeks ago I was looking into `XReparentWindow` because certain things use it (DAW Plugins). I don't think Wayland can do something similar (but I guess XWayland works), GTK and Qt both seem to have their own version.

Looking more into plugin libraries, a lot of it is based specifically on X, I don't think that's going to be rewritten anytime soon.

I've felt for a while stuck between X and Wayland. Same with Pipewire and Jack/Pulse.

Shut up n play yer guitar.

You can practice playing over the changes, or you can go to the bar, watch netflix, or do anything else.

But in 10 years are you going to be able to play over the changes?

If you remove llms from the article everything is still the same.

One of my goals for this years was to get a jazz teacher, specifically for guitar.

A layoff killed that goal for the foreseeable future.

Theory has helped me practice like I think you're supposed to. More structured, more analysis. It also tickles the same part of the brain the certain comp sci topics do.

I think it came from wanting to learn how to improv, and then wanting to make my own songs. So I make a few tracks a week, of different genres, depending on what I'm interested in at the time. I've seen improvement, and I take notes about what I learned/what works.

A midi sequencer, which does or is supposed to do what you expect.

In the process of adding stuff like euclydian sequences, and trying to figure out how to generate melodies. Been considering using something like a simple markov probability from a bunch of jazz standards, but also starting to read more music theory behind it.

It's a programming project but it's directly related to me trying to figure out music. So not a random sequence of notes in scale or not. The idea is more to generate backing tracks or song starters.

Yes this is pretty much it and it's obvious to me.

There's a big corollary to FOSS and gpl, but a lot of people seem to miss it. This future isn't for our culture, it's for business. And since our culture requires making money to make things adjacent to art, less culture will be made.

A lot of generated music is good enough to wind up in playlists. Lots of live bands already fake it, and lots of music venues have already replaced live music. That doesn't mean music will die, it just means it's harder to discover new music and go see a show.

I think there's some European countries that have some kind of basic income/stipend for artists. If this is the direction of the future we need to ensure something like this exists.

I really hate that companies are allowed to use "natural flavors" and I refuse to buy any products that say that unless they are able to specifically tell me what's not in it.

Lots of people don't realize that "natural" can mean pretty much anything that's not produced in a lab.

There is a trend though where some companies include in the nutrition facts the sources of their ingredients. That's how it should be.

In the US you can write "modified food starch" and that can mean a million different things. In Europe they have specific numbers for different types of "modified food starch."

Musicians love a good trend to dump money into.

If I get just one more thing my music will sound good :)

Euroracks will not go out of style in any serious way, in the same way guitar has not gone out of style over the years even though there were fads.

A few months ago I bought a https://www.dreadbox-fx.com/erebus-reissue/ (semi) and within an hour I decided modular was cool.

Funny enough I was just looking at the Erica Synths github the other day. There's been a few synth and audio posts on HN the past few months. Pretty cool to see it.

This is why learning guitar when I was younger was so difficult to me

I agree. The downvoted op is right in a way. Guitarists have a way to make things difficult. Just learn to play the 1 octave major scale/arpeggio, and triads, then 7th shells. The guitar is relative, a 1 octave scale on a guitar is the same, on keyboard it's positional.

However it's worth mentioning that I think Berklee does teach patterns, and a few jazz guitarists say to learn it too. It almost seems like learning guitar is not as worked out as other instruments. Everybody that gets good winds up having to learn all the things other guitarists have had to figure out over years after they rote learned it.

A symbol being arbitrary doesn't influence the reality of the meaning behind a thing. I've always thought about `zero` while counting, it never was about `0`.

I observe zero.

I don't think zero is an absence of quantity. I don't think zero is the null set.

You can write types in a programming language, but there are other type theory books that do include zero in the natural numbers. And type theory comes from number/set theory. So it's ok if you decide to exclude it, but this is just as arbitrary.

In fact I'd be happy to write `>=0` or `>0` or `=0` any day instead of mangling the idea of zero representing 0 and zero representing something like `None`, `null` or any other tag of that sort. I don't think the natural world has anything like "nothing" it just has logical fallacies.

+1 for peano arithmetic club.

I never realized it was controversial. I think I've always included 0 in the nat numbers since learning to count.

But there are some programming books I've read, I want to say the Little Typer, or similar, that say "natural number" or "zero". Which makes actually confuses me.

Thanks. Yeah that makes sense for low hanging fruit. Going through the gcc flags it does seem like a lot of tradeoffs have to be made so you can't cover everything. A quick look through compiling Rust it seems it does at least some of this checking at MIR. I'll have to read more about it.

Can you explain what that low hanging fruit is (or refer me to docs), and also explain it being a decision problem a bit more thoroughly. I will accept that if you have to run a program to decide if it's memory safe then that fits the criteria, but from my understanding static analysis doesn't run the program, and a compiler is parsing and lexing anyway so it should be able to catch at least some things (the low hanging fruit)?

Since I have actually started using C I realized how easy it is to be lazy and not handle memory right so it makes Rust and maybe C++ seem more appealing, but trying to figure out random segfaults it seems like address sanitizer and valgrind catches more than I would have assumed is a low hanging fruit.

I guess I should look more into how Rust manages that safety or understand what memory safety is trying to accomplish more formally. I've taken GC for granted for years until I needed to care about memory.

I think this is addressed in the link under that section

https://paulgraham.com/power.html

I think that the main reason we take the trouble to develop high-level languages is to get leverage, so that we can say (and more importantly, think) in 10 lines of a high-level language what would require 1000 lines of machine language.

...

5. Write rereadable code. All programmers know it's good to write readable code. [...] If you're writing for other people, you may not want to make code too dense. Some parts of a program may be easiest to read if you spread things out [...] Whereas if you're writing code to make it easy to reload into your head, it may be best to go for brevity.

This is probably a common; lisp/scheme type of thought. Dan Friedman also said something about how he only likes code that he can hold in his head to think about in the shower. I forgot the source, but it's in one of the talks. I think Sussman has also said something similar.

There's some idiom that says something like "you don't understand something if you can't explain it." I think this is the real point of code review. To make a case for why your code is valuable. If it's just a blob of 1000 lines of "refactor" or "adding feature." It means nothing. A good commit has some kind of abstract tailored to what work was done.

Then a review becomes something like "the claim was made this function does this, does it look like the function does what it says it does?" If you can understand it in context, then you've added trust and knowledge of how it works.

However it seems to often be the case a review turns into "I like this word better than that word" so back to the explaining it point, it becomes a bit of a self review with the hope it might be helpful to somebody else in the future.

Functional Parsing 2 years ago

Been interested in parser combinators for a while now but never really understood how people use them outside of toy examples (including watching this video multiple times).

Are there any books like the popular compilers books that use them to build a language. Or is it just finding parsec implementations?

I've been interested in Coalton lately, and I guess this is one of the examples, so maybe I've answered my own question.

https://github.com/coalton-lang/coalton/tree/main/examples/q...

Code as Art 2 years ago

Thanks!

I've been chipping away at something similar. I mostly keep writing "what is art," "who are artists," and "what is programming" "what is a programmer?" So I may reach out. It's not formal, but is inspired from my academic career and interests.

The first step in our study of aesthetic standards in source code will identify the aesthetic ideals ascribed by programmers to the source code they write and read; that is, the syntactic qualifiers and semantic fields that they refer to when discussing program texts. To that end, we first start by clarifying whom we refer to by the term programmers , revealing a multiplicity of practices and purposes, from massively-distributed codebases to ad hoc , one-line solutions, cryptic puzzles and printed code.

Even this paragraph is similar how I've written in terms of word choice. :)

Nice bibiliography too. Happy to see Tractatus there.

Code as Art 2 years ago

But aesthetically, the source code used to construct the latter array is more "readable" than the former.

Not aesthetically, visually.

Article has some pretty great links.

Programming and aesthetics (Art) are probably the two things that itch my mind the most.

There's a certain type of mindset that people that do and participate in creative programming/digital art have in common with other passionate/creative types. Part of it is the discovery, the inquisitiveness, the plasticity, and the unexpected.

In general sarcastic prose. When you focus more on the creative side you get the general purpose dynamic, memory managed languages. Just make something cool. When you focus more on the comp sci side you get the strongly functional languages, Haskell, Ocaml. And if you mix them together you get lisp.