HNHacker News
TopNewBestAskShowJobs

catchclose8919

385 karma · joined February 28, 2022

https://youtu.be/frAEmhqdLFs
submissionscomments
catchclose8919··on Claws Mail
How does this compare with Thunderbird?
catchclose8919··on Why software engineers like woodworking
That's a long and thorough list of all I hate about software development and hope to fix (at least a bit of it)...
catchclose8919··on Show HN: Common Lisp running natively over WebAssembly for the first time
...you're not joking, right? jeeezus
catchclose8919··on Show HN: Common Lisp running natively over WebAssembly for the first time
...god, my eyes ...why is everything CL plagued by such horrible design choices (hyperspec, Lisp-IDEs... all!) - why such ugly colors, ugly typography, bad contrasts, ugly logos, ugly diagrams, ugly supporting graphics?!

I know that even the language itself is kind of the opposite of "beautiful", but the way all docs, blogs, websites etc. look ...seriously, is this intended to scare away any aesthetically sensitive people? Programming languages are about aesthetics too, and Lisp at its core (not CL ofc) is absolutely beautiful!

catchclose8919··on Chaos: The Problem with Quantum Mechanics
> what is the multi-universe equivalent of this discussion

Probably it's a smeared out infinity of quasy-equal probability arising... and the people that see multi-universe as a "real thing" in that multiple classical universes actually exist get queasy by this because they intuitively feels this is off as an inifinity of infinity etc. of universes would violate the conservation of some meta-universal thinggy.

...but if you just take the Everett / many-worlds interpretation that many quantum phisicists say they subscribe too as just meaning "the wave function is the only real thing" and "we're just talking of multiple classical universes" as an "interpretation" because classical universes are the only thing that human intuition can grasp, so we'll talk about this to at least get some semblance of useful intution, as the real thing is intuitively incomprehensible and you can only "shut up and do the math" with regards to it :P

Humans are really bad at accepting the limitations of their own minds so they try to come up with all sorts of "interpretations" and "understandings" to paper over it and the fret out about made-up problems with these made up interpretations not agreeing with each-other.

(Though tbh, I'm not even sure that intuitively working with a non-real-probabilities universe is beyond our intuition... even examples from stuff like human legal practice and other cases where we work with incomplete information allow useful ways to grok this stuff... there's also extra-boolean logical systems like the pentavalent buddhist logic that could be generalized to include negative interactions and quantitative represantations... dunno, maybe we're just very early in understanding the universe... closer to cockroaches than the quasi-gods we imagine ourselves :P ...probably we should just be humble and focus on the math when intuition fails but not give up on trying to expland intuition too...)

Edit+: P.S. And it's probably obvious that I dislike superdeterminists because of their conceited lack of humility... but I actually think superdeterminism is a very useful stance, because if there are some/many extra hidden variables, then we need to assume their existence if we are ever to devise experiments to actually get to them... otherwise we're stuck. So maybe the superdeterministic stance is the best for moving experimental particle phisics further faster, the Everettian worldview could get too many people stuch in weird philosophical traps and dead ends. Kind of like Nietzsche said that christianity helped modern science arise and grow (with it's focus of clearly separating good vs. evil, then by extension true vs. false theories etc. rising in the end to the scientific methodology)... superdeterminism could probably helps us make the next baby-steps forward faster :)

catchclose8919··on Chaos: The Problem with Quantum Mechanics
...or you just take the wave function as the real-reality, and in this reality a "chaotic system" is one with even macroscopic position probabilities "smeared out" too uniformly have any one be "classically-real".

If classic reality is the illusion, and our intuition is fundamentally limited and incapable of grasping the actual reality, then even many-worlds is a bit of clutch... we imagine an infinity of "parallel" classical universes simply because it's the best we can do: one wave function universe where all the variants are "real" at the same time only that being real is a complex-numbered-probability so some are more real than other with different orientations and magnituded too.

...we could just give up hoping that our ape-brains can fully "grasp" reality, and just focus on getting the math to work: if some math systems make chaos and qm both work, then move on with that regardless of our primitive intuitions and preconceptions/superstitions of that the workld ought to be!

catchclose8919··on DigitalOcean Functions: A powerful serverless computing solution
Also

> DO will simply pass my complaint on to the spammer

Again, as a DO customer I want to be able to see any complains fired against me. Point in plus for them from the perspective of a potential customer.

...you seem to misunderstand what the desired attributes of a cloud provider are. Besides at most having marginally more spam in the world, how you seem to say the ideal cloud provider should behave is really worse for everyone. You're playing a "oh but think of the children" argument but with "spam" recipients instead of the children so it's hard to have any sympathy for such malicious reasoning.

catchclose8919··on DigitalOcean Functions: A powerful serverless computing solution
Shrug. So anyway, since most of us use 3rd party services to send emails, using DO is perfectly fine. Whatever.

(And if the extra profit they get from hosting spammers results in slightly lower prices for me then I'm glad to profit. It's about sending spam, not firing missiles or dropping bombs. Again, whatever.)

catchclose8919··on SwiftUI in 2022
...no comparison with Flutter or at least remarks of what would also apply to it?
catchclose8919··on DigitalOcean Functions: A powerful serverless computing solution
Uhm, you just sounded like an add for DO here: "DO won't randomly shut down your account because they guess you might be doing something fishy like spamming"

...and don't tell me you don't get "spam" from AWS users. Only GCP is doing more policing, but as a dev I'd be wary of using them of fear of being labeled "suspicious" because some weirder scraping usage patterns or whatever.

catchclose8919··on New York rolling out noise law, listening tech for souped-up speedsters
Tip: buy large balcony plants (ideally w/ ceramic pots), use plausibly insecure fence attachments, have fun :)

On a more serious note, you could probably get convicted for smth like involuntary manslaughter in most countries, and the probability of hitting someone else than the intended target is too high to be worth it... so DON'T.

catchclose8919··on New York rolling out noise law, listening tech for souped-up speedsters
...lots of stressed new parent are inches-away-from-killing stressed. I imagine that in places like the US with prevalent gun ownership the regular punch-some-annoying-coworker-or-bystander-in-the-face can easily turn into something else.

Lots of people are pre-programmed to not be very far from deploying lethal violence against people around them... don't just assume that if you're not one of them you're not surrounded by at least one or two like us... we may satisfy our urges by hunting or whatching snuff or high-violence gaming or whatever, to each his own, but... be careful :)

catchclose8919··on Correctness and composability bugs in the Julia ecosystem
> a type system that could describe and enforce numerical stability traits

Wow, that sounds cool! have your reasearched if anyone has done anything in this are? how would you even start to approach the problem?

Do you think it has any change of being done without massive sacrifices to performance?

catchclose8919··on Correctness and composability bugs in the Julia ecosystem
Only thing "interesting" to me there would be the automatic differentiation bugs ...but is there any argument as to them being the fault of the language, instead of just poor engineering from the library developers' part?

I mean, one can't expect all algorithms to work correctly with all datatypes just because the compiler allows that code to run ...you write tests and guarantee numerical stability for a small subset of types you can actually do it for, and then it's the code's consumers' job to ensure it work with types it's not documented to work and such, no? ...Julia is quite a dynamic language, JITed or what not, its semantics are closer to Python and Lisp than to Rust or Haskell ...maybe don't expect guarantees that aren't there and just code more defensively when making libraries others depends on?

Probably the Python + C(++) ecosystems works better bc their devs know they are working in loose, dynamic and weekly typed shoot-your-foot-off type languages and just take action and code defensively and test things properly, whereas Julia devs expect the language to give them guarantees that aren't there.

catchclose8919··on Managing Python Versions with Pyenv
It's a mess... there is no convergence on package managers or anything and everything sucks. Node/nvm at least was forced to fix its s by how bad it originally was.

In Python everything sort of almost works good enough for each use case, so half thought solutions keep staying in each niche...

catchclose8919··on Ask HN: What is the most compelling reason young people should learn to program?
"You don't really understand something until you can explain it to a computer!" / "If you can "explain" something to a computer then you've understood it, you don't need anyone else's confirmation of your understanding."

This were the breakthrough sparks of enlightenment for me, even if at first I only groked them viscerally... only decades later I found the words for this.

Programming is a tool for thought, a tool for thinking in a very peculiar, rare and valuable way. It doesn't matter if you'll rarely/ever use it to actually write usable software. In other kinds of thoughts, we can always glance over stuff and be misleading or imprecise without even realizing it. When you put something into code and something really dumb, eg. a computer, executes them, you have a rare chance to actually se how incredibly bad your thinking and your instructions and your communication in general are!

(And that it's good at making you feel stupid... this alone is good reason to make everyone learn it, most people think themselves way too smart and don't understand how complex everything is around them! Math used to feel this niche, but programming makes it more visceral - when you've learned a programming language well enough, have access to a powerful computer, have a known to be solvable problem in your face - but just not succeeding to get at a working solutions and realizing it's only of how bad the shitty chunk of jelly in your head is at thinking, that's enlightening. Making you lose some of that self-confidence engendered by your otherwise rich education and artistic taste and developed culture and whatever not... realizing that no, neither that nor anything else will make you less dumb.)

Learning about computation helps up think better and helps us better model other people in our heads.

This is why I think computer science + practical programming should be mandatory for majoring in literature, linguistics, psychology or philosophy!

</unpopular_and_mildly_hated_opinion>

catchclose8919··on The elitist philanthropy of so-called effective altruism (2013)
That's eye opening - to know that effective altruism and the whole movement exists, the article itself is the opposite of right of course. Next time I am to donate time or money to charity I will instead choose to invest in in improving the infrastructure for evaluating the performance and impact of existing charities to help people better decide where yo donate their moneys instead of getting emotionally-hijacked by the charities with the best PR.

I think we should all take better attention to this, there's a lot of money in philantropy and tons of either ineffective or downright predatory or manipulative charities!

catchclose8919··on The elitist philanthropy of so-called effective altruism (2013)
...you're mixing a straw man with a red-herring with a couple non-sequiturs ...then dumping a Marx quote at the end.

Congrats for creating an argument that is un-atackable because it blocks attempts of rational criticism by means of inducing choice paralysis of where to even begin criticizing it from :)

catchclose8919··on How many radioactive bananas would you need to power a house?
> Forests, and even whales, are potentially renewable resources.

The whole focus on sustainable and renewable is a really broken way of thinking... Nothing needs to be either sustainable or renewable! (And nothing actually is, in a long/broad enough context. Live will always live off negative-entropy and that is a limited resource in the universe as a whole. You can say that itself is consumption on exhaustion of non-renewable resource at its core, our "ecological loops" are just small-time/space scale repetitions but it's all winding down in the end...)

Everything has a finite life, even our planet - we just need to accelerate our evolution so that when whatever has evolved from us needs to leave (or before that), it's advanced enough to so so and go infect/colonize the rest of the universe.

There's nothing wrong with using non-renewable resources, as long as they're not producing toxic pollutants or disturbing the balance of planetary systems like the climate. When one unsustainable resource is exhausted we'll go to the new one: soil uranium, thorium, sea-water uranium, deuterium for fusion etc.

So sure, oil is horrible, but not because it's non renewable or unsustainable. Nothing is sustainable, it's a never ending race 'till the thermal death of everything and that's the fun of it.

We need a solid experts driven approach to climate problems if we want to have any change... the current crop of eco-heads are most of them severely mentally impaired, infected with really bad ideas that they spread around to others, and focused on all the wrong priorities...

catchclose8919··on Perl, the first postmodern computer language (1999)
...to this day, I still can't wrap my head on how PHP even got to exist in a world where Perl was already filling the web niche just fine.

Also, if they wouldn't have made it too-weird-for-math-and-physics people, Perl would've probably filled Python's niche too.

And with that kind of resources focused on it, Perl 6 could've actually turned up into a clean nice new language that would've unified us all by also supporting nice compile-to-wasm.

</alternative-reality>

catchclose8919··on Why Hy?
Basically all you mentioned above can be done in modern Python.

Unfortunately I've seen it done... and God, the results are horrible, in Python. "Wait did calling this method just change the class of the object the method was on??!!!! Fuuuu..."

But simple stuff like incrementally building classes method by method in eg. jupyter notebooks can be done and it's even quite clean, it's just that nobody is teaching people the techniques for doing it... (And the jupyter autoreload magic doesn't seem to like it so you'd have to "do it by hand")

And sure, since Python got scoping and concurrency quite wrong, if you go full-interactive on things you'll shoot yourself in the foot faaast!

catchclose8919··on Why Hy?
> If we can do that in Python, I've been in my cave for too long^^

...practically speaking you're kind of right, you (almost) can't.

In theory one can use `sys.excepthook` to start the python interactive debugger on error and/or %debug jupyter magic, but the "change it, recompile it, come back to the debugger" is not really possible unless you the yuuuuucky thing of changing it from the interactive debugger itself (think change def in code, paster changed def in interactive debugger).

As a python expert you can do it. Even modify classes at runtime etc. Tried at various times doing the various things mentioned above. But tbh you learn to rarely do it because you easily get in a twilight zone hell where it's impossible to reproduce anything, no idea what state of code is "active" and what your functions and variables actually are :)

...but basically what Python lacks to enable proper implementations of such feature is decent concurrency - while a thread is paused at the breakloop, the interpreter should allow another to eg. execute code that updates functions and classes definitions - all Jupyter's magic can't do this bc concurrency in the Python interpreter is not doable :)

...in theory the Julia jupyter kernel for example could actually implement all the features mentioned by people describing CL loops - just that someone would need to put the tons of work in, and unfortunately Julia folks seem focused on the automagic-reactive approach to recreating excell-but-as-a-notebook (I don't like this magic-reactive approach tbh... try doing that and have a random variable change "accidentally" triggering recomputing something with a 10gb dataframe you had in var or the retraining of a big deep learning model).

catchclose8919··on Why Hy?
Which CL "interactive development" feature can't you get with either a jupyter notebook or ipython + autoreload enables? With a smart editor like VSCode or Spyder you also get visual variable inspections, history of executed code in one way or another etc. Only that can't easily save an "image" auto-magically, but data science and ML people wouldn't want to do this other than explicitly (eg. using fast loading formats like feather to reload semi-processed vars etc.).

I don't think you are aware how much the Python workflows of AI / ML / datasci people resemble you "common lisp ideal" ...but with a different language and better libraries :)

And if Julia succeeded, it will also bring decent performance to such workflows.

Sure, the way backend devs or devops people use Python is very static and different, but any experienced ML practitioners are at home with "interactive development".

catchclose8919··on Crafting Interpreters
How does it compare with "Writing An Interpreter In Go"? (https://interpreterbook.com/)
catchclose8919··on Things I can’t do on macOS which I can do on Ubuntu (2020)
Or you can design the system generally enough and solidly enough in preserving useful invariants that adding wobbly windows to it would be "trivial", and testing it would not even be worth it!

Decades ago a Linux window manager drawing engine added wobbly windows just to show off that with their new system was trivial not because anyone needed it or wanted it! This is the kind of software and attitude I love and want to see everywhere! Doing something so well that the cost of a "luxury" feature drops to almost zeros and you just add it to show off in some free time :) Unfortunately not all of Linux is build like this and most of its parts are not really compatible with each other so they need to be forcibly ducktaped together by layers of glue code to resemble a full system, but that's a different story...

There's different ways to think about software and do software than our hellish local maximum we're stuck in... you're just going full "stockholm syndrome" and justifying the badly designed an non-extensible non-generalizable systems we're stuck with because doing things differently would've generated 5% less profit in the last quarter :)

catchclose8919··on Things I can’t do on macOS which I can do on Ubuntu (2020)
> For every wacky feature or option someone wants, that has to be built, maintained, tested.

No, it doesn't. We seem to have forgotten that there are more general ways to think about software and engineering and math and the world.

You can just design a system that is guaranteed to work fine:

- regardless of where widget X is positioned

- regardless of what font and font size (from an interval) and color is selected by the user for a certain UI components

- ...and you can have all UI on all apps on the whole computer be customizable in the same way without having to write any (zero!) extra lines of code by just inheriting functionality for some common components

- etc.

You don't have to just dumbly test all scenarios to guarantee sane global behaviors of systems.

And you don't get the burden of maintaining the "test cases for all possible scenarios" because you just don't write those tests in the beginning, they are useless in a well behaved system that follows LAWS and properly preserves INVARIANTS and just burn money through their tests-maintainance costs! (Like lots/some of pre-web systems actually were!)

We've now built for ourselves a crazy computing world where there are no longer stable (across years and decades) contracts, laws and invariants in software, so we have to defensively code and over-test everything! We could've had-the-cake-and-eaten-it too if we would've just put the effort of building more solid software foundations for ourselves, but instead we're torturing ourselves building Electron web apps on desktops in languages with lacking or handicaped type systems and run them on operating systems that offer no sane components with contractually guaranteed interfaces...

</rant>

...imagine if physics worked like that, you'd have to re-test the laws of physics every time you wanted to build a house because the laws could vary by neighbourhood and not even basic invariants like the conservation of energy were guaranteed to hold. Oh, you can't just ask for more than a 1-room rectangular uncostumizable house of standard size, because properly testing anything else doesn't crash on you in our universe with non-uniform physics is just too expensive! Just get used with you sensible defaults citizen, stop questioning the party and the world!

catchclose8919··on Cog: Containers for Machine Learning
How does this compare to BentoML (https://www.bentoml.com/)?
catchclose8919··on The silenced deaths of the Shanghai 2022 lockdown
Authoritarian regimes benefit from cultivating fear of death and disease in their people, it makes them more manageable... Similar to not allowing regular people to own guns etc. etc.

Once you become willing to die, to let others die if needed, and to kill, for freedom or other purposes, you're no longer an "easy to manage sheep" ;)

catchclose8919··on The silenced deaths of the Shanghai 2022 lockdown
...the Chinese seem to ignore the global play here: as Covid is endemic in the rest of the world and variants will keep emerging just like they do for common cold (it's basically just a new addition to the bundle of viruses that give the "common cold", but unfortunately with higher mortality since humans haven't been exposed to it), they'll have to isolate themselves from the rest of the world FOREVER! How about all the people who need to travel internationally often?

Let's stop this nonsense and come back to thinking solutions and measures in the "open international borders" context we enjoyed before. A new minor virus shouldn't make us change our ways!

catchclose8919··on The silenced deaths of the Shanghai 2022 lockdown
"working" ? ...as in just pushing some deaths a few months in the future while being extremely inconvenient for everything and everyone and damaging to the global economy to an extent that might be more than the price of those lives
← PreviousPage 3 of 5Next →