HNHacker News
TopNewBestAskShowJobs

gnulinux

6,378 karma · joined October 22, 2017

submissionscomments
gnulinux··on How economical is your local Taco Bell?
I live in Boston, MA. Taco Bell is horrendously low quality, I can only imagine it's right at the border of being "barely legal to sell" it as food. If you eat it and don't get explosive diarrhea you should consider yourself lucky. People still eat it because (1) it used be (before COVID) actually extremely cheap (really, in Boston's expensive standards it was almost as cheap as cooking food at your home, but worse quality) now it's about the same as any other fast-food chain maybe slightly cheaper (2) some people like the comfort food aspect of it.
gnulinux··on How does cosine similarity work?
I agree with you I like Chebyshev Distance too, but as far I can tell you, dot product is not that much more complex than Chebyshev, I'd classify them as about the same. But if there is a good argument to argue Chebyshev is much simpler, and it's about as good, then I'd prefer Chebyshev too.

Having said this, nowadays the metric I like the most is SAD (sum of absolute difference) which is Sum(abs(x2i - x1i)), which is the L1-norm of the difference image. I find this oddly easy/simple to reason and implement, so I use it in any model where it works.

gnulinux··on How does cosine similarity work?
Simplicity is a feature, unless there is a good justification, it's not always better to have a more complex model.
gnulinux··on How does cosine similarity work?
This is a very odd statement and depicts the different ways human brain works. As a musician, I find playing (or thinking music in terms of) sheet music so much more intuitive than play by ear. It feels like the very reason people notate, write music is because anything written down is easier to think/play than anything listened.
gnulinux··on Changes to `impl Trait` in Rust 2024
This is an extremely well-written and readable post. Nice and to the point. The use<T>, use<>, 'static trick is really fascinating and made me understand the issue at hand better. E.g. in the last example since the type of "the length of the slice" is irrelevant to "the type of slice" we ideally want to be able to express that in the type system. As an Agda developer, and a proponent of formal methods, it's very pleasurable to see these kind of novel PLT ideas being used in a mainstream language.

The implications of this on async seem tremendous. I'm a believer of async, even though it did do quite a bit of damage to the ecosystem, in the long term I bet on it being the correct abstraction (and Rust's implementation being close to the correct implementation). I think this change will make async more convenient and less restrictive to use.

gnulinux··on Tell HN: Burnout is bad to your brain, take care
"Mental health problems and life struggle doesn't matter unless you're privileged like me."
gnulinux··on Tell HN: Burnout is bad to your brain, take care
It's not possible to do so due to having my entire life here and nothing "back home" where I haven't even visited last 15 years. I have my fiancée, my cat, my house, my career here and there I have nothing. Would you leave your future wife, mom of your future kids, and go to the other end of the world to a country you last visited when you were a kid?
gnulinux··on Tell HN: Burnout is bad to your brain, take care
This is a very naive take. There are people who live paycheck to paycheck with the threat of homelessness. They can't just "accept" they have burnout, they have to work as if they don't just like any other person. I myself had a brutal burnout recently (hopefully recovering now slowly) but it was very difficult because I work on a visa and I can't afford to take a break or PTO etc. Yes I "accepted" that I'm burned out in an academic manner but almost everything my therapist offered was out of question. In that sense of course "I can't be burned out because I have too much to do." I still have to work every day, churn the churn, hustle the hustle, write the performance review forms, avoid PIPs, otherwise I'm deported in a matter of months. Managers expect exponential return every quarter!
gnulinux··on Writing a book in the age of open source
How does one write something like a math textbook in Word, I'm curious how it's even possible. Do you handwrite every single formula in the point-and-click UI, wouldn't that be extremely time consuming and expensive?
gnulinux··on Writing a book in the age of open source
Obsidian is an extremely extensible and customizable software. Truthfully, there is no text editor as customizable as Emacs, but if you're looking for something other than that, Obsidian is pretty close to being "Emacs for Markdown". I use Emacs for coding but I'm not a fan of the orgmode so I use Obsidian for note taking, and writing things.
gnulinux··on Writing a book in the age of open source
Will publishers not accept Latex?
gnulinux··on Writing a book in the age of open source
This is also what I do. I use markdown+git for all kinds of writing. I use Obsidian with tons of extensions. It's integrated with my personal knowledge base, notes etc. If I'm writing fiction or poetry, one file is one chapter/unit, but sometimes if I'm making huge changes, I'll rename that file to "Chapter X Draft 4" or something like that, so that I can instantly see very old versions without git. If I want to look at the full history git history on "Chapter X" will give the entire thing. It's also nice to write tiny scripts to assemble finished chapters into volumes etc and auto-convert to PDF.

I also do literate programming (write code as if it's a book written for your future self) with this exact same approach. Just write a two line script that removes everything that's not between ```python ``` and you can code inside Obsidian. (E.g. you can use a markdown parser like `marko` for python) I personally don't need syntax highlighting, but if you do, you can open it in your IDE/Emacs/etc and IDE should highlight most languages in Markdown files. You obviously don't get all the IDE bells and whistles, for those you can have separate files and import them in, or enable Python mode in markdown files (somehow). (Obsidian should support basic syntax highlighting for most common languages anyway)

Since Obsidian is so awesome, this approach has endless possibilities. E.g. you can do project management inside Obsidian via Kanban board, you can use Excalidraw tool in Obsidian to draw architecture diagrams, write music inside Obsidian with its Lilypond plugin, write math with LaTeX plugin etc. It just automatically works out of the box.

gnulinux··on Code review antipatterns
GP here, I don't disagree with you, engineering is all about trade-offs and you can't engineer things to perfection by taking months to solve easy problems. You need progress, and efficiency so sometimes less important problems need to be fixed with less than ideal hacks etc. I agree with this, but having a culture of "everything is due yesterday", "if it can be done in 6 months, tell customer it'll be ready in 2 months" etc just to create stress and increase productivity lowers the engineering quality exponentially more than it increases productivity and expediency.
gnulinux··on Code review antipatterns
> projects are always late

This is the root of all evil. The artificially created deadlines that make something that can be resolved next week "urgently today" just to increase your adrenaline levels so you work 30 mins more today is what causes a lot of software to end up being a piece of shit.

Software is about deep thinking, and comprehensive understanding. Yes, it's all about trade offs, but there is a point where things can't be any faster.

gnulinux··on The Blue Collar Jobs of Philip Glass
I always find those criticism hilarious. Glass with his "sold out" style made more innovation in WCM tradition than pretty much anyone else in 20th century who lived before him, except perhaps Schoenberg who came close to his levels of iconoclasm. Once you're that good and creative, "you sold out" stops being a valid criticism. Bach would poop out a cantata weekly for the church he was a Kapellmeister at, because his job was to write music for the church for people to listen to during various ceremonies. That's not selling out, that's just working for money.
gnulinux··on The Blue Collar Jobs of Philip Glass
The reason is simple, Western classical music was extremely, extremely (and it's impossible to stress this enough: extremely) conservative in late 20th century. Anything that's not part of the canon Schoenbergian atonalism, or Mahlerian Romanticism was considered "wrong", "illogical" etc. Believe it or not WCM had a just as rich of a history and stream of movements as any other tradition of art, but by mid-to-late 20th century academia -- one by one -- killed every single vehicle of creativity for simply being "incorrect". Here is a theory from 1880s and 1920s from a German musicologist that "proves" mathematically that this music is incorrect and should be rewritten.

No artist can make rent money in that atmosphere.

Artists like Steve Reich and Philip Glass were gigantic innovators, they were iconoclasts, they wanted WCM to go way beyond what it was stuck at in 1970s. Of course they spent decades being considered a charlatan by their colleagues. Philip Glass in an interview explains how, when he founded the Philip Glass Ensemble and started producing his early (brutally minimalist) music people tried "helping" him by teaching basic musical composition, and told him that he needs to learn basics first before writing music like that. It's a farce really, from 2020s having listened to 21st century post-minimalism, if you go back and listen to early minimalism in 1970s and 1980s (think, Music for 18 musicians, Music in 12 parts, Einstein on the beach, in C, Glass Violin Concerto, De Stijl etc) it's just haunting how creative their music is. They had to invent everything from scratch! You have to go all the way back to 1640s Froberger to find anything that remotely sounds idiomatic within the tradition, while aggressively responding to their contemporaries like the extreme-complexity of Boulez etc. It's really unfortunate, my sense is, modern music education creates very conservative, robotic craftsmen who play technically perfectly but are unable to see innovation and artistic response.

I would like to say 21st century WCM is in a much better situation and there is more creativity, but I would say it's likely a marginal improvement over late 20th century, rather than a significant transformation.

gnulinux··on Galois Theory
Yes and no, it's a bit too simplistic and doesn't explain the actual "why" of Galois Theory, just the how. The brilliant insight Galois figured out is that there is a fundamental connection between fields and groups, but that is just the "technique" with which he solved the problem. The "why even bother" is a bit more complex but simply put Galois wanted to establish a criterion to determine what polynomials are solvable or unsolvable in which fields. E.g. we know x^2=-1 is solvable in C with x=i but not in real numbers. Can we generalize that proof to such a degree that we can mechanistically run it for arbitrary polynomials in arbitrary fields?
gnulinux··on LibreCUDA – Launch CUDA code on Nvidia GPUs without the proprietary runtime
Does it make sense to buy Nvidia GPUs as a linux user in 2024 anyway? I thought Nvidia has abysmal linux support, if you don't have Nvidia GPU what's the point of LibreCUDA?
gnulinux··on The real "Wolf of Wall Street" sales script
> And was I supposed to like the main character?

The whole point of the movie you watched was that he's a disgusting piece of human garbage. There are tons of people around him that treat him like some kind of deity, but he's like the worst human being you can possibly know. It's a societal criticism.

gnulinux··on The lie of music discovery algorithms
Unfortunately it's an extremely unprofitable industry, with very little revenue in general, and that little revenue shared by a few duopolists. Although it's an art, it's capitalistically treated like a craft, successful practitioners serving the same, safe, "good-enough", risk-free, pleasant sound again and again. I like offensive, avant-garde, creative, novel, strange music and (1) artists I love live in immense poverty (i.e. artist life) (2) even though this is the biggest passion of my in life and I think I do have some skills, working on music is 99.999...% surefire way to have financial hardship.
gnulinux··on Bayesian Statistics: The three cultures
This statement is correct only on a very basic, fundamental sense, but it disregards the research practice. Let's say you're a mathematician who studies analysis or algebra. Sure, technically there is no fundamental reason for constructive logic and classical logic to "compete", you can simply choose whichever one is useful for the problem you're solving, in fact {constructive + lem + choice axioms} will be equivalent to classical math, so why not just study constructive math since it's higher level of abstraction and you can always add those axioms "later" when you have a particular application.

In reality, on a human level, it doesn't work like that because, when you have disagreements on the very foundations of your field, although both camps can agree that their results do follow, the fact that their results (and thus terminology) are incompatible makes it too difficult to research both at the same time. This basically means, practically speaking, you need to be familiar with both, but definitely specialize in one. Which creates hubs of different sorts of math/stats/cs departments etc.

If you're, for example, working on constructive analysis, you'll have to spend tremendous amount of energy on understanding contemporary techniques like localization etc just to work around a basic logical axiom, which is likely irrelevant to a lot of applications. Really, this is like trying to understand the mathematical properties of binary arithmetic (Z/2Z) but day-to-day studying group theory in general. Well, sure Z/2Z is a group, but really you're simply interested in a single, tiny, finite abelian group, but now you need to do a whole bunch of work on non-abelian groups, infinite groups, non-cyclic groups etc just to ignore all those facts.

gnulinux··on The algebra and calculus of algebraic data types (2015)
Infinity is not a number but transfinite numbers [1] like omega [2] or aleph-null [3] are. They are just as number as 0, 1, -5, 6/7, pi, i, or quaternion numbers. What is a "number" is not well-defined, any mathematical algebraic object can be called a number with some justification. Mathematicians just don't do it anymore, they just call it "X Algebra" instead of "X Numbers" but there is no fundamental distinction. From this perspective, arithmetic with infinity is not only possible but also extremely useful for Programming Language Theory, e.g. for Dependent Type Theory.

[1] https://en.wikipedia.org/wiki/Transfinite_number

[2] https://en.wikipedia.org/wiki/Ordinal_number#Ordinals_extend...

[3] https://en.wikipedia.org/wiki/Aleph_number#Aleph-null

gnulinux··on Ask HN: What's Prolog like in 2024?
I recommend that you check Souffle programming language out, here: https://souffle-lang.github.io/index.html

* It is a dialect of Prolog

* It reads from and writes to SQLite database format as well as CSV. This allows you to preprocess or postprocess data Souffle produces, or Souffle reasons. E.g. you can generate bunch of data in Python, output Sqlite, reason in Souffle. Load reasoning output back into python via sqlite.

* It is pretty feature complete when it comes to logical reasoning, and transactional database management. You get best of both Prolog and Sqlite worlds.

gnulinux··on Exploring biphasic programming: a new approach in language design
No it's not, you can write an extremely large set of programs in non-Turing complete languages. I personally consider Turing completeness a bug, not a feature, it simply means "I cannot prove the halting problem of this language" which blocks tons of useful properties.

You can write useful programs in Agda. I wrote all kinds of programs in Agda including parsers and compilers.

gnulinux··on Exploring biphasic programming: a new approach in language design
That's not necessarily the only approach though. In a dependently typed language like Agda, there is also no difference between compile-time or runtime computation, not because things can change any time (Agda is compiled to machine code and is purely functional) but because types are first-class citizens, so any compute you expect to be able to run at runtime, you can run at compile time. Of course, this is in practice very problematic since you can make compiler infinitely loop, so Agda deals with that by automatically proving each program will halt (i.e. it's Turing-incomplete). If it's not possible to prove, Agda will reject to compile, or alternatively programmer can use a pragma to force it (in which case programmer can make the compiler run infinitely).
gnulinux··on Horses may have been domesticated twice
I really wonder people who say these things ever owned a cat. I cannot see how cats are "less capable of living with humans albeit they're less dangerous". My anecdotes show:

* Cats absolutely can be obedient with training. I've been clicker training my cat for years and he can do any trick a dog can do. He also understands his name. I tested this many many times by yelling random words, seeing him continue sleeping, then yelling his name, causing him to jump and run towards me.

* Cats can be trained not to attack at hands like dogs. This is called "cat inhibition" and it's standard practice for cat owners, all good cat owners must know and practice inhibition training.

* Cats clearly prefer sitting next to humans and sleep close to them. If you never experienced this you never lived with a cat long term. It's actually fascinating, when a cat is "sleeping" they're actually not sleeping in a human sense, it's a particularly light sleep. They're still ready to hunt. What most cat owners will see is that when your cat is sleeping next to you, and you suddenly change the room to clean dishes or use the bathroom, your cat will get up and sleep somewhere close to you. Although a human interprets this as cat being lazy, they're exhibiting hypersocial behavior for their species.

* Cats are not weak. Have you ever fought a cat? I did. I'm a full sized human male who weight trains regularly and my cat can barely overpower me if he puts all his power. Go watch some feral cat vet videos, you'll see cats require a strongman sized vet to be fully seized (and rarely some still get away). An adult cat will have no problem overpowering a human female. If you think "cats are attacking their owners" you seriously have no idea how incredibly powerful these creatures are. When a cat slaps you or whatever they're merely warning you in a "polite" way (and, as explained before this is a sort of behavior that can usually be curbed with training)

gnulinux··on The new math of how large-scale order emerges
Amazing paper, thank you for sharing!
gnulinux··on Paris Closed 100 Streets to Cars for Good. Now, the City Is a Cyclists' Paradise
It's a very slow progress. Boston has been making tons and tons of progress over the last few years that impressed me but any benefit public derived from increasing bike lanes, safer bike lanes etc were essentially undone by the absolute unspeakable clusterfuck public transportation became (frequent subway closures due to maintenance, practically unusable bus service due to disgusting amount of traffic, no investment etc...). I am hopeful things will improve steadily and Boston will be a European-lite city in USA in the next decade or so, but I might be too optimistic. It's relatively practical to bike in NYC and Philadelphia as well. I personally enjoy biking in NYC but many New Yorkers complain about safety, which makes sense given how chaotic and aggressive NYC traffic is, you do not want to be a meat pie on the road. We have tons of more progress to do, not enough investment into this because 99% of Americans who don't live inside a major non-driving big city don't give a shit about non-car transportation.
gnulinux··on Poets' Odd Jobs
My favorite contemporary composer.

When you support yourself through odd jobs, you can make bolder artistic statements, and show a middle finger to the art world, if you will. When an artist is a professor/teacher whose job is to teach the tradition in the mainstream way, they end up being immensely conservative. Just look at someone like Schoenberg who is -- of course -- considered an iconoclast by the academic art elite but his music is an extremely conservative extension of Western counterpoint and late German Romanticism in a very predictable way: make it more harmonically adventurous/experimental within the 12EDO framework... It's been everyone's go-to since forever, I mean Chopin made a fortune (and a mountain of novel piano music) off of it. Schoenberg simply refused to see what was right in front of his eyes, even though he clearly had gigantic artistic talent, spirit, and motivation (he is also one of my favorite composers, so I'm biased, granted). I really think teaching is not very compatible for artists who first and foremost want to be artists. Someone who wants to create, first and foremost, something new, profound, and personal... Of course, you'll find countless people who'll disagree with me staunchly...

gnulinux··on Teranoptia – a typeface that allows you to imagine chimeric creatures
That game data is text, and that you reverse the game by hitting backspace are interesting ideas. I'm curious if there is any utility beyond novelty though. It's certainly very creative, I'll be thinking about it.
← PreviousPage 5 of 34Next →