HN user

jimwhite42

89 karma
Posts0
Comments43
View on HN
No posts found.

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'.

"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.

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.

Microsoft just announced 10 million dollar effort to make Rust their default systems language for their infrastructure

This seems like an incredibly low amount of money to achieve something like that.

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.

I'm not sure if I'm remembering it right, but I think it was on a Raphaël Millière interview on Mindscape, where Raphaël said something along the lines of when there are many dimensions in a machine learning model, the distinction between interpolation and extrapolation is not clear like it is in our usual areas of reasoning. I can't work out if this could be something similar to what the article is talking about.

Have you listened to Carroll on the subject? As someone who knows next to nothing on this subject, he seems to me to be claiming that dark matter explains a lot of things in the universe and is very established, whereas MOND is very fringe. The claims in this post, that NGC 1277 is not a particular issue for MOND, seem to ignore the general consensus on MOND vs dark matter. The post seems to be focused on a very specific thing which doesn't seem unreasonable to me, but doesn't change the wider context that dark matter is very established and mainstream, and MOND is not, and this single issue doesn't change the big picture. Is this a flawed reading?

The things you do name are unquestionably going to be massive issues, and yet these don't get nearly the airtime of the incredibly speculative 'AI will kill all humans if we don't do something drastic'.

Is it too cynical to claim the the noise about existential risks is a convenient distraction from these unquestionably real issues we will face, maybe even a deliberate part of helping it happen?

Here's a random bit of fun prescience:

From Dune, by Frank Herbert:

JIHAD, BUTLERIAN: (see also Great Revolt) — the crusade against computers, thinking machines, and conscious robots begun in 201 B.G. and concluded in 108 B.G. Its chief commandment remains in the O.C. Bible as “Thou shalt not make a machine in the likeness of a human mind.”

The usual interpretation is something along the lines that AIs took over the thinking for the leaders, making the leaders lazy, impotent, and society fragile and chaotic. This fits with a lot of Herbert's themes.

But, from Children of Dune:

Three — Planetary feudalism remained in constant danger from a large technical class, but the effects of the Butlerian Jihad continued as a damper on technological excesses. Ixians, Tleilaxu, and a few scattered outer planets were the only possible threat in this regard, and they were planet-vulnerable to the combined wrath of the rest of the Imperium. The Butlerian Jihad would not be undone. Mechanized warfare required a large technical class. The Atreides Imperium had channeled this force into other pursuits. No large technical class existed unwatched. And the Empire remained safely feudalist, naturally, since that was the best social form for spreading over widely dispersed wild frontiers — new planets.

Arguable paints a different picture - that the AI in the hands of the masses would be too threatening to the status quo.

Joins 13 Ways 3 years ago

True, but I think slightly pedantic for this context. I think there have been proposed relational operators which produce the result you describe - a join, then remove the join key fields from the result.

If we are in a pedantic mood, also, a relational-tuple is not exactly the same as a mathematical tuple, relational tuples take different forms depending on who's system you are following (e.g. whether the fields are ordered or not).

Joins 13 Ways 3 years ago

In the functional interpretation of relational theory, a join is function composition, surprised that one was left out.

There's a document that I think was an unofficial project management document from NASA, I can't find it now, but one of the items was something along the lines of 'if your space mission isn't reusing an existing launch vehicle, it will be a launch vehicle development project and everything else, including what you think is the focus of your mission, will be secondary to this'.

Edit: additional bit I remembered, this statement is prefixed with something like 'you may start thinking you project will be cheaper/more efficient if you develop a launch vehicle suited to your particular mission instead of compromising on an existing one, but', then the above.