Here's an attempt to explaining the irrational part of programmers deciding which programming language to use. Part of it goes into more detail on ideas like C programmers insisting 'on the danger because they cannot stand the possibility of the danger being taken away from them'.
> IMO actual leaders are just people who think ahead so when other people don't know what to do they have some sort of answer. They may not be in positions of authority at all.
That's a really great pithy summary. It gels with one popular definition of software architecture: good software architecture anticipates which bits of a codebase/solution are likely to change more effectively than bad software architecture.
I think the Sorites paradox may point to something specific about these kinds of ideas, which is not shared with the meaning of things like evil or knowledge. There's a page on it on SEP: https://plato.stanford.edu/entries/sorites-paradox/
I think a little hesitance on the overall success of these sorts of projects is prudent, given the history of axiomatic and formal expections and reality.
But let's say they make huge amounts of progress - they might improve the ergonomics enough that the formal foundations of mathematics will be brought into mathematics departments as a standard, legitimate and popular subject. But I still can't see how this would affect most mathematics.
I think it's likely that axiomatic approaches, and formal approaches will continue to produce interesting results and have some effect on regular mathematics.
But this is very different to suggesting that most regular mathematics will switch to using formal proofs. There's a big ergonomics gap at the moment.
An analogy could be to look how pure mathematicians look down on applied mathematicians' work, the applied mathematicians don't care, they just get on with their own standards. You need regular mathematicians to choose to switch over en masse, what will compel them to do that?
> It seems like it should be possible, in theory, but it takes too much work.
The definition of a valid mathematical proof that I've heard mathematicians use is if it convinces other mathematicians. I think there's integrity in depth in mathematical proofs for lots of reasons, tying back to an axiomatic basis is a lot of extra work for likely no benefit.
On formal mathematics, almost no mathematicians pay attention to this afaik. It's something that lives in philosophy departments, not mathematics.
I like some of what I think I understand about Feyerabend's ideas, but I didn't get on with his actual books. I expected something ethnographic-y or observation based, but only found incredibly abstract stuff.
I listened to a few interviews with Liam Kofi Bright, and his ideas about what truth is are pretty interesting. The perspective of 'giving us truths' or 'getting to the truth', is unsatisfying to me.
I think there has to be a core of some kind of 'predict what will happen when we do something, then see how close we got, tweak it in response to these observations, then repeat'.
I think there's a subtlety which isn't implicit in what you say. There is the ideal of science - which I think there's a case to be made that it's not something that can be fixed, but constantly evolves - and the practice.
But I think there's also a separate distinction between good faith and successful enough attempts to do science, and people just gaming the system. The fact that there's plenty of the latter must be acknowledged (in fact, I think the people who discovered this current set of issues and made a big deal of it are from the same group of academics as the ones abusing this loophole, and also, it's likely to be a perennial problem), but the former also exists and is not the same as the abstract ideal you bring up.
I'm not sure I would characterize Sagan's system here as specifically best expressing the scientific ideal. I think it's a great list to think carefully about to help with clear thinking, but I'm not sure applying the label of 'science' to all these points is the right way to think about them, although I'm not sure it isn't either.
> To take the obvious example of using exactly what Popper was trying to oppose. the current Chinese communist party's claim that capitalism will eventually transition into socialism once a certain level of development is achieved, it is a prediction, it will be falsifiable later. Clearly it is still not science.
I think this is the point on this issue, right? It can't count as falsifiable later, or still not science, unless they describe what they mean by "socialism" specifically enough in advance - which I think is a pretty nebulous constraint? Not sure about it. Definitely, there's a lot of (reasonable IMO) theoretical controversy about what 'welfare capitalism' has to do with proper socialist ideas, even though it's usually given the label 'socialist'.
I've also been wondering things like what working scientists do, and what this thing is that we call science generally - non research related stuff like teaching, or using science to do better engineering, and what the connection is between the two.
Is there still a place for any variation of falsifiability?
Bonus cheeky request: do you have any recommendations on modern philosophy of science?
I've been wondering if falsifiability is misunderstood, based on what a few people have commented about it. The alternative version is only that if claims are made that a system has made specific predictions that proved to be true, then it should be falsifiable on that basis. This was Popper's criticism of Marxists claiming Marxism was scientific - they would constantly claim that Marxism can predict what already happened, but it's bogus to claim this in retrospect, they repeatedly claimed this for occurrances only after they had occurred. Is this the same as demanding every theory be falsifiable?
Sean Carroll talks pretty positively about string theory. I think he paints the picture that although the popular view is it's not falsifiable (or not yet), therefore it's somewhere between very suspicious and junk, but actual theoretical physicists are much more positive about it.
As far as I can tell, the issue is people misrepresenting what the review says, not that the review is faulty.
The review concludes that we have evidence that masks are effective, but the set of papers reviewed cannot be used to conclude we know the level of effectiveness enough to make accurate judgements on tradeoffs in many of the kinds of situations where people were asked to wear masks in the pandemic. So we don't know enough yet.
I read a bunch of the criticisms of this paper and criticism of the anti-maskers misrepresentation of what it said, and none of the ones I found suggested that there were missed papers which provide the precision the review didn't find.
The Guardian article is a mixed bag in my opinion. It tries to get around the idea that we really need more research, it confuses a lot of things.
(BTW, I am not an anti masker, I wore a mask, I find people who whine about wearing them to be a bit pathetic most of the time.)
Can you say where he does this? I only remember him referring to first normal form as something historical, that he doesn't use that particular normal form directly at all.
> Also I dont see how it isn’t hierachical? Nested tables create a hierachical structure just like nested records in a hierachical database. What is the difference?
I haven't seen any reasonable uses of nested relations in base relvars, I think they are slightly different to nested records if you can query them declaratively instead of via imperative looking nested loop code.
But nested tables can be used in queries - the group and ungroup operators are pretty useful. It's a straightforward way to define (and even implement) group by aggregates for instance.
> Allowing nested tables would require extensions to the query language but wouldn’t give any additional expressive power since you can already express the same relationships using foreign keys.
Everything is a tradeoff. There are lots of queries that you can write using correlated subqueries in SQL, but I think would be much simpler if you could use group and ungroup.
I don't really follow your last paragraph at all. I would much rather use Date and Darwen's relational theory than Codd's. I think they have the right amount of respect for Codd, and definitely aren't shy to highlight where they differ from him, or to contradict him.
Do you have an example of them trying to redefine something in the way you say?
I'm a bit fuzzy, but I think Vertica allows duplicating tables stored in multiple orders - then I think the appropriate version is picked automatically by the query optimiser. So this works not that differently to an index (which is also dbms managed performance denormalization).
There's also materialized views - if you have automatic incrementally updated materialized views, which are transparently substituted into queries, that's along these lines. I think there's a lot of progress being made here, and plenty of compromises used in the field that have been in production for a long time.
I think there's some ambitious work on materialized views being done in postgres.
> It gets mentioned in the Date/Darwen books as being the right way to do things, but no actual information seems to be given.
I don't think they ever convincingly got into the details on it.
> The "normal forms" could merely be suggestions for a database designer, not a technical limitation enforced by the software itself.
I think most of the motivation for normal forms is to avoid 'update anomalies', which is essentially, don't represent the same information in two places in your base relation variables (aka tables in SQL). So you can have repeated values or nested relations in queries, and you can have them in base tables which are morally normalized, as long as there's no possibility that these lead to the same information being recorded in two distinct places.
When people talk about 'denormalizing' and it's justified, I think it's breaking this rule about representing information in two or more places in exchange for performance. If you do this, the application programmer has to be careful to keep these multiple locations in sync - a kind of consistency you don't have to think about in a clean database design. I think that database management software in general cannot enforce normalisation - it can only make it easier or more difficult to use it with normalized databases.
In theory, the DBMS itself could directly support 'physical denormalization' and make this performance optimisation easier to implement and transparent to the application code. I think some SQL DBMSs have attempted to do things like this.
Date and Darwen (spritual successors to Codd?), have a relational theory which allows nested relation values and I think it doesn't contradict the motivation behind first normal form, and it isn't hierarchical in the pre-relational database sense. I think they cleaned up Codd's ideas very effectively.
"The Pervert's Guide to Computer Programming Languages" https://www.youtube.com/watch?v=mZyvIHYn2zk
It's pretty out there, but I thought also interesting.