HNHacker News
TopNewBestAskShowJobs

vnorilo

1,989 karma · joined November 29, 2017

Music tech researcher, cellist; clojure, c++ and compilers.

https://norilo.me (portfolio) https://kronoslang.io (compiler/language project)

submissionscomments
vnorilo··on Updated Google Maps shows destruction of the city of Rafah
I find it strange that the antidotes to a lot of the bad stuff going on today is basic enlightement stuff: cultivating a citizenry who value evidence-based worldview, education and rule of law. Yet it feels like that is increasingly slipping from our fingers.
vnorilo··on Changes to Sourcehut's terms of service regarding LLMs
I use LLMs at work without much thought by now. I'm also contributing a little bit to Sourcehut and keep my personal projects there.

While I'm not necessarily in the "LLMs are evil" camp, I find I respect this position a lot. I wish more people would do what they feel is right, even if that's going to result in a backlash from those who disagree.

When it comes to my personal projects, I realize I haven't really touched many of them in the LLM age. In a way, AI has made me uninterested in programming. This might actually be a nice demarcation line: keep my free range organic code on sourcehut and actively not use AI for my personal stuff. After all, LLMs (may) mostly help with speed (sometimes) - which was never the issue for the stuff I create "just because".

vnorilo··on “Gravity is worth asking about”
Totally agreed; I was talking from the POV of someone designing an iOS app. Apple could fix a lot of this jank with better design, individual apps less so.
vnorilo··on “Gravity is worth asking about”
Screenshot and share functionality get massively overloaded on iOS, but it's not because a product person / designer lacks the necessary taste, vision or "courage". It's because the OS is not capable of composing apps well: "I want to X, but with Y". As a result, functionality like screenshots, sharing, clipboard get overloaded with all kinds of adhoc half-baked workflows to work around the single app mindset.
vnorilo··on I keep bouncing off the Scheme language
If solutions come naturally to you in OOP, why not just roll with it?

Personally I find it easiest do design data flows: think about what we need in order to compute the result. The less I have to think about state the better. Functional patterns fall out and it feels simple and easy to me, so I do it. I'm way over the phase I thought that's somehow cooler than the OOP folks, however.

vnorilo··on Show HN: I built a Cargo-like build tool for C/C++
When you need a configuration step, cmake will actually save you a lot of time, especially if you work cross platform or even cross compile. I love to hate cmake as much as the next guy, and it would be hard to design a worse scripting language, but I'll take it any time over autoconf. Some of the newer tools may well be more convenient - I tried Bazel, and it sure wasn't (for me).

If you're happy to bake one config in a makefile, then cmake will do very little for you.

vnorilo··on Wired headphone sales are exploding
The wireless used for pro audio is never bluetooth, however.
vnorilo··on We should revisit literate programming in the agent era
Indeed, which is not all that different from LLM code generation, to be honest.
vnorilo··on We should revisit literate programming in the agent era
Yes. LLMs are search engines into the (latent) space or source code. Stuff you put into the context window is the "query". I've had some good results by minimizing the conversational aspect, and thinking in terms of shaping the context: asking the LLM to analyze relevant files, nor because I want the analysis, but because I want a good reading in the context. LLMs will work hard to stay in that "landscape", even with vague prompts. Often better than with weirdly specific or conflicting instructions.
vnorilo··on Why is the Gmail app 700 MB?
When something is hundreds of megabytes, it is very unlikely to be mostly compiled code. A lot of that fits in each megabyte.
vnorilo··on Maybe the default settings are too high
Probably true for many. When thinking about hard problems I'm usually not thinking in language, at least not the kind we speak between us humans, so it can be incredibly distracting if I have to "translate" back and forth while both thinking and communicating.
vnorilo··on Dependable C
>I seriously doubt anyone who has written projects in assembly would make such comparisons...

With genuine respect, I believe this type of insinuation is rarely productive.

Someone might still have silly opinions, even if they have been paid to write assembly for 8-24-64 bit cisc, risc, ordered and out of order ISAs, and maybe compilers too. Peace :)

vnorilo··on Dependable C
sure, I was thinking of large OO cores. "Correspondd to the instructions the cpu runs and their observable order" is how I'd characterize C as well, but to each their own.
vnorilo··on Dependable C
I have empathy for this having written compiler passes for 10ish years of my career. But as I've studied register renaming, speculative branch prediction and trace caches I would no longer agree with your last sentence. It's fine though, totally just an opinion.
vnorilo··on Dependable C
And yet modern assembly does not correspond 1:1 to the micro-ops the CPU runs or even necessarily the order in which they run.

Both ISA-level assembly and C are targeting an abstract machine model, even if the former is somewhat further removed from hardware reality.

vnorilo··on Learn Your Way: Reimagining Textbooks with Generative AI
When I was in third grade, I decided I want to make computer games to get more of them. Dad got me started with GW-Basic turtle graphics and I made pictures with them - usually non-functional title screens for my games.

At some point I had made a small space ship and was able to make it turn around with the wonderful angle command [1]. However, I could not figure out how to make it move "forward" regardless of the angle.

I was also attending an after hours computer graphics club, mostly about Deluxe Paint, taught by a 20-something student (who much later went on to found a GPU company and got acquihired by ATI/AMD). He would help me occasionally, and in this case he took a tiny slip of paper and wrote down a couple of lines about sin and cos. No questions, no explanations, no gatekeeping.

Just like that I internalized this foundational piece of trig - later when it arrived in school maths it was easy and obvious for me. I had a practical application, but even more I think was because it started as a need I had, and when given to me, felt like a gift and an enabler.

Still much later I studied Seymour Papert's pedagogy and understood I had lived it. I consider myself fortunate.

1: http://www.antonis.de/qbebooks/gwbasman/draw.html

vnorilo··on You know more Finnish than you think
Finnish has been very peripheral and isolated due to geography. It is closely related to Estonian, but remains much more similar to their common archaic root, while Estonian has streamlined and developed due to more contact and exchange.

(Disclaimer: Finn)

vnorilo··on AI driven drop in human web traffic
In my experience search engines have rapidly deteriorated - probably because of the SEO arms race - and LLMs often feel like search engines used to feel back when they worked. Who knows what will happen once all the marketing attention shifts towards influencing LLM output.
vnorilo··on Ruby 3.4 frozen string literals: What Rails developers need to know
Not in general. Immutable strings can be deduplicated, leading to a different performance tradeoff that is often quite good. This is mentioned in TFA.
vnorilo··on Haskell, Reverse Polish Notation, and Parsing
For sure. Data structures and call graphs like to converge, so when designing a data model, you are actually designing the (most natural) program flow too.
vnorilo··on The Princeton INTERCAL Compiler's source code
The recent C# feature called interceptors [1] pretty much looks like comefrom from where I stand. Yet everyone talking about it has either been serious, or very good at trolling.

1: https://khalidabuhakmeh.com/dotnet-8-interceptors

vnorilo··on Reverse engineering the 386 processor's prefetch queue circuitry
I wrote blitters in assembly back in those days for my teenager hobby games. When I could actually target the 386 with its dword moves, it felt blisteringly fast. Maybe the 386 didn't run 286 code much faster but I recall the chip being one of the most mind-blowing target machine upgrades I experienced. Much later I recall the FPU-supported quadword copy in 486dx and of course P6 meeting MMX in Pentium II. Good times.
vnorilo··on Ex-Facebook director's new book paints brutal image of Mark Zuckerberg
> But I don't think you can limit people's wealth and not call it communism.

In communism, an individual can not own any means of production - effectively 0% of the society's total capital. I don't think it follows that any non-communist system must permit any single individual to gain up to 100% of the society's wealth.

I don't know what the limit could look like or how to make it work, but societies commonly called capitalist already implement various brakes on free trade, from regulation to capital and immigration controls, subsidies, tariffs...

vnorilo··on Zig's comptime is bonkers good
C++ monomorphises generics on demand too. That's why it can have errors specific to specialization and why template error messages spam long causal chains.

C++ compile times are due to headers. Which in case of templates result in a lot of redundant work then deduplicated by the linker.

vnorilo··on Hofstadter on Lisp (1983)
In my mind Clojure is Lispy, Python is not, nor is Javascript.

In addition to REPL and macros, I think two other Lispy features are essential:

nil is not just the sad path poison value that makes everything explode: lisp is written so that optionals compose well.

Speaking of composing, Lisps tend to be amazing with regard to composability. This is another line that cuts between CL, Scheme and Clojure on one side, with Python and Javascript firmly on the other side in my experience.

Lisps are as dynamic a languages ever go, unapologetically.

vnorilo··on They stole my voice with AI
Not sure the lynch mob would pause to check that the web of trust is unbroken.
vnorilo··on "Frost crack" sounds may come from sky, not trees
First I heard prof Laine talk about recording auroras in the early 00s I and many of my student friends thought he was an old eccentric (in some less polite words too).

Seeing him come through with such a solid long term effort, rigorously done and communicated with clarity is amazing, with a pinch of healthy embarrasment.

(I studied in the same academic cluster of music/audio/acoustic labs he made his career at)

vnorilo··on Inline Assembly Dangers
The more I've written code close to metal (mostly SIMD for signal processing), the more I've grown to prefer either intrinsics or separate translation unit for assembly.

If you want your code to intertwine with what the C compiler does, intrinsics are great.

If you don't, .s is great.

vnorilo··on Stable Audio 2: Generates 3 minutes of AI music
Text and/or audio to music. Trained on AudioSparx data, with opt-out for artists. Music is somewhat coherent, but struggles to produce anything with direction or character. Only tried text to music for now, could be a lot more interesting with audio prompts.
vnorilo··on Show HN: A platform for remote piano lessons based on the Web MIDI API
It will be quite a while before anything else besides the student just engaging with playing and sticking with it matters at all. IMO.

To that end, I think a crappy plastic MIDI keyboard can do a better job than a steinway if it is easier to acquire and accommodate. Being at hand is more important than being just right at this stage.

I say this as a music major, but it is not in any way a universal opinion to be sure.

Page 1 of 18Next →