1. 14
  1. 41

    This sort of post-hoc rationalisation is a classic Capricorn.

    1. 8

      Not exactly sure what you mean by Capricorn there (link?), but my experience at least generally fits with what is written in the article, especially the piece stating “start in the center with a little implementation and work your way out”.

      It’s certainly possible to “start in the center” in any language, but Haskell’s entire type system and ethos make this the de facto way to construct an application/system. Whereas 5-year-ago me may have begun the design process by thinking about database tables and endpoints, now I think about concepts and domains (even when writing C++ or any other imperative language). Of course the database and API are ultimately extremely important, but by modeling the internals of the application (in a pure world!) before attempting to design the outer layers, my experience is a much more robust, flexible, performant overall system that allows for natural distribution and extensibility.

      TL;DR: For me, working with Haskell is a joy unparalleled by other languages and it made me a much better engineer. No affiliation to the article or its author.

      1. 29

        This is such an Aries reply.

        1. 10

          https://en.wikipedia.org/wiki/Capricorn_(astrology)

          I assume this was a joke about the company’s actual business: https://www.costarastrology.com/

          1. 9

            “Powered by AI that merges NASA data with the insight of human astrologers.”

            This is, like, astrology for smart people!

            1. 2

              The contemplation of the world began from the noblest spectacle that the human senses present to us, and that our understanding can bear to follow in their vast reach [i.e. the starry sky]; and it ended — in astrology. Morality began with the noblest attribute of human nature, the development and cultivation of which give a prospect of infinite utility; and ended — in fanaticism or superstition.

              — Kant

            2. 1

              Yeah, I got whooshed big time!

        2. 12

          astrology, inane as it is, does seem to equip a lot of people with a very simple and rich language for discussing the human condition. The parallels with functional programming and computation are striking

          1. 4

            It’s not like I disagree with those frequently repeated points, being a typed functional languages proponent myself. I don’t think they are convincing without data to back them up though.

            I loved Thomas Leonard’s post about his migration of 0install to OCaml from Python and classes of bugs in the new vs old implementation.

            It would be nice to see more such retrospectives and see what kind of bugs people had in their code and whether those bugs could have been prevented by a stronger type system or it was a pure domain logic problem.

            1. 10

              I find it funny to read “Haskell makes illegal states unrepresentable.” in that article when astrology is all just made up nonsense. All of your states are illegal in this universe because nothing you “calculate” has any real meaning at all. Any amount of functional programming can’t hide that astrology is a pseudo-science of made up nonsense.

              1. 9

                I think Haskell, a language that’s all about applying advanced maths concepts to software engineering, is great for an astrology company. After all, both maths and astrology are about making up a set of axioms and then deriving stuff from them - it’s just that in maths, that stuff is occasionally much more applicable to the real world, and the derivation much more rigorous.

                1. 7

                  I don’t think the positions of celestial bodies at the time of my birth have anything to do with my personality or fortunes…and math is great and all…

                  BUT

                  IMO astrology is WAY more applicable to most peoples’ idea of “the real world” than the majority of what mathematicians study! :P

                  1. 3

                    When your “axioms” and “derivations” are such hand-wavy, make-believe woo-woo as to make a mockery of the terms, I dunno if applicability to the real world even enters the picture, really…

                    RIP James Randi.

                    1. 8

                      Absolutely. I’m not saying astrology is a good predictive system, just that I don’t think it’s inherently incompatible with maths.

                      1. 5

                        Astrology has a lot of shared history with mathematics. For example, Pythagoras is regarded as the father of Numerology, in addition to his contributions to real mathematics.

                        More relevant here, the key thing that you learn about in formal verification (straight out of Goeddel’s Incompleteness Theorem) is that you can only prove self consistency, not truth or correctness, with mathematics. Any proof system starts with some axioms. Axioms are not things that are true, axioms are things that relate the mathematical model to something external: if the axioms hold in the external system then all of the proofs that you’ve made within that system will also hold. This is closely related to the Principle of explosion, often referred to by its Latin name ex falso quodlibet. This is useful in proof by contradiction but it demonstrates that if you start with an axiom that is false then you can prove any premise within the logical system derived from that. I think that applies pretty well to astrology, don’t you?

                    2. 5

                      This post has nothing to do with the object-level business of astrology, but makes some interesting points and observations about programming in Haskell. Do you have anything worthwhile to say about that or are you content to take cheap shots and pat yourself on the back about how smart you are for calling out astrology?

                      1. 3

                        how smart you are for calling out astrology?

                        Honestly, calling out astrology doesn’t require much smarts ;-P

                        1. 1

                          lol That’s very true, which is kind of my point. It is well known, especially in nerd culture, that astrology is fake so derailing an otherwise interesting post to yell about it doesn’t actually do anything. It’s simply Applause Light.

                        2. 3

                          Keep your ad hominems for you.

                          I am always going to openly speak out against nonsensical anti-science, pseudo magical concepts. If the pandemic taught us anything then that we need less garbage like horoscopes and more science education so people understand how things work in the real world. Astrology is not just some game, there are people that orient their life around this. It is a slippery slope into more esoteric things.

                          No amount of Haskell changes that.

                          1. 2

                            No amount of Haskell changes that.

                            I’m not a Haskeller myself, but I’d be surprised if a few weren’t cringing at this article.

                            The last thing any minority needs is to be publicly associated with crazy, even if that minority is just a programming language community.

                        3. 2

                          There’s nothing fundamentally different from an app that presents astrology data according to different systems (“houses”?) than from a “real” system like an ERP.

                          In both cases you have inputs that need to be calculated the same way despite your code changes.

                          1. 2

                            Yes, they are fundamentally different. If you think that esoteric practices like horoscopes and other pseudo-science are just some quirky thing, you must be closing your eyes to reality. We are in the middle of a pandemic and people from the esoteric spectrum are spreading false information about vaccines, the virus and how this is all a big conspiracy. People who believe in nonsense like horoscopes will tend to believe in other made up nonsense too. I will always speak up against this, because it is harmful to the rest of us.

                            1. 1

                              People who believe in nonsense like horoscopes will tend to believe in other made up nonsense too.

                              What’s the solution to this? I don’t think it’s likely that education will work. It’s been tried. Elimination is certainly not an option. ISTM, the best bet is to give people harmless nonsense to believe in. Better horoscopes than lots of other things they could believe in. Just teach people to keep their hand on their wallets when they’re being taught the secrets of the universe…

                        4. 6

                          Let’s not beat about the bush here; Co-Star is a scam.

                          But it quite nicely illustrates a challenge for data modellers: it doesn’t always matter how carefully conceived your models are, or how well protected your language and frameworks are against invalid state.

                          If your premises are fundamentally broken, your conclusions are likely to be valueless or worse.

                          I’m sure that Co-Star’s code is perfectly sound, but all they’re doing is correctly modelling scammy nonsense.

                          1. 2

                            Their description of my birth sign sounds nothing like me for sure. Though it’s curious how their descriptions are written in a way that one can disagree with, while a typical horoscope is just too vague to argue with.

                            1. 2

                              Necroing this thread for sure, but: it’s a variation on the old stock picking scam, and like the stock picking scam, works because of the size of the audience.

                              If you have millions or even billions of potential victims, you can afford to be fairly specific. The relatively small subset of victims who receive specific and seemingly accurate successive horoscopes will still be quite large.

                              At which point, the victims who haven’t been selected out by “bad” horoscopes are convinced you can predict the future …

                              1. 1

                                This is an interesting observation. I’d imagine if you give people predictions randomly, that subset will be selected out pretty soon as well. What is the trick, is it simply to have a large enough audience so that even when people drop out it’s still worthwhile due to newcomers replacing them, or you need to incorporate some feedback loops to slow down the negative selection, or people who fall for it are unlikely to drop out later on average and negative selection is too slow to need counter-acting?

                                1. 2

                                  I think mostly just audience scale, but with everything else you listed in play as well :).

                                  If you look at the typically low conversation rates of most SaaS software, the numbers on this may even compare favourably.

                                  This is why I believe I’m being quite accurate in calling it a scam (despite my -2 unkind votes). Whether it’s a conscious scam or not, I don’t know. I suspect many psychics, mystics, etc. genuinely do believe they’re achieving what they claim they are.

                                  It might just be that the Co-Star founders lucked out (heh) by inadvertently picking a known scam practice for their business model.

                          2. 3

                            I love how their codebase is called horrorscope