• 3 Posts
  • 287 Comments
Joined 2 years ago
cake
Cake day: June 18th, 2023

help-circle










  • Oh, I definitely meant far future. While the differences are far too big today, I can see gradually increasing cooperation between e.g. the EU and African Union at some point culminating in the construction of a governmental body that has some regulatory power over them both.

    Once such a body exists, I can imagine that it over time accumulates power, bringing the two unions even closer together. The EU started out as a relatively small organ, and has grown gradually to what it is today over many decades. My point was that if some “global government” ever forms, I think that kind of gradual process is how it will happen. Starting out with trade agreements, and then gradually regulating more aspects of government.


  • These don’t need to be mutually exclusive though. A lot of the progress in Europe the past 80 years is a result of the improved cooperation brought by the EU.

    The EU isn’t like the UN, where everyone is equally represented (sans veto powers), but is a democratically elected super-national body with opposing super-national political factions. I can see a concept like that working on a global scale some time in the (relatively far) future.


  • I think something like this is the most reasonable, and we’re already closer to it than at any previous point in history. We have the EU, the African Union (AU), and I think there’s a South American union as well (?) there’s also the US, which is a bit between a union and a single state (US states have more autonomy than regional municipalities most other places, but far less than any full-fledged county).

    I think that if a “global government” ever develops, it will be due to these unions forming an overarching union. The major hurdle is that we’re a very far way off anybody wanting to concede any governing power to an organisation above the “continental union” level. Even holding the EU together is non-trivial, because a lot of people feel that too much power is concentrated far away in Brussels.

    Regarding judicial systems and military forces, the UN has showed that it’s possible to have a kind of global system for this, but it’s still a far stretch from anything that could be called a “global judicial system with enforcement powers”.




  • The fundamental difference to me, which makes me not see “a website with extensive docs and a download button” as marketing, is whether you need to seek it out or not.

    If I need to seek it out myself, it’s not marketing, it’s simply “providing solid information” and “making your product accessible”, which is a whole different ballgame from “shoving your shit into peoples face in the hope that they’ll give you money”.


  • I think there’s a substantial difference between “supplying information about a product without shoving it in people’s face”, and what most people associate with “marketing”.

    If a company putting up neutral, verifiable information about their product on their own webpage where I can find it by searching for something I’m looking for after reflexively scrolling past the ads counts as marketing, then yes, I “fall for marketing” all the time. However, what I typically associate with “marketing” involves me somehow being fed information about a product without seeking it out. Usually when that happens, I’ll actively look somewhere else.



  • Similarly, what would you gain by saying uint32_t const* x = my_var.get<uint32_t>();

    To be frank: You gain the information that MyConcreteType::get<uint32_t> returns a uint32_t, which I otherwise couldn’t infer from the docs. Of course, I could assume it, based on the template parameter, but I don’t want to go around assuming a bunch of stuff in order to read docs.

    Take an example like auto x = my_var.to_reduced_form(), it’s very clear that x is the “reduced form” of my_var, which could be meaningful in itself, but what type is it? I need to know that if I want to do anything with x. Can I do x += 1? If I do, will that modify my_var? Let’s say I want to make a vector of whatever to_reduced_form returns… and so on.

    All these questions are very easily answered by MyConcreteType x = my_var.to_reduced_form(). Now I immediately know that everything I can do with my_var, I can also do with x. This makes me happy, because I need to do less digging, and the code becomes clearer to read.


  • Thanks, that was a good read :)

    However, my impression is that he’s largely using the existence of templates and polymorphism as arguments that “we don’t really care about type”. I disagree: A template is essentially a generic type description that says something about what types are acceptable. When working with something polymorphic, I’ll prefer ParentClass&, to indicate what kind of interface I’m working with.

    Sure, it can be very useful to hide exact type information in order to generalise the code, but I think that’s a weak argument for hiding all type information by default, which is what auto does.