385 karma · joined February 28, 2022
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!
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 :)
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!
> 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.
(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.)
...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.
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.
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 :)
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?
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.
In Python everything sort of almost works good enough for each use case, so half thought solutions keep staying in each niche...
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>
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!
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 :)
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...
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>
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!
...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).
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".
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 :)
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!
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" ;)
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!