HackerLangs
TopNewTrendsCommentsPastAskShowJobs

sdeframond

no profile record

Submissions

Ultra-Processed Foods and Human Health

thelancet.com
12 points·by sdeframond·8 ay önce·1 comments

comments

sdeframond
·18 gün önce·discuss
> I bet a lot of parents would buy them for their kids.

That changes the default from "anyone can do anything" to "gotta ask parents". Defaults matter at scale. It adds friction.
sdeframond
·geçen ay·discuss
Software engineers are not artists nor shoemakers. They are factory makers.

A good analyst makes a hand-crafted, custom report in a day. A programmer makes a factory that makes thousands of reports per second for a thousand clients.

I am yet to find a factory at HomeGoods.

Now the kind of factories we make might change, but isn't it the fun part?
sdeframond
·geçen ay·discuss
I use Unhook on firefox and disabled the YouTube app.

https://unhook.app/
sdeframond
·geçen ay·discuss
Groups resist to change - the bigger the group, the most resistance there is.

As a leader, pushing for rapid change cannot really be nuanced lest the push dissipates into the organization's entropy.
sdeframond
·geçen ay·discuss
This works but it does not let other modules define such methods.
sdeframond
·2 ay önce·discuss
Aaah nice! Thank you!
sdeframond
·2 ay önce·discuss
The point is to mark the constructor as "private" so that it is easy to spot unintended use during code reviews (or using linters).
sdeframond
·2 ay önce·discuss
Funny, I ran into the same pattern just a few months ago!

In practice, I found it difficult for coworkers to read and understand so I dropped the idea.

Another limitation I found is that it breaks down when you start using inheritance. For example:

```

class _A: pass

A = NewType("A", _A)

class _B(_A): pass

B = NewType("B", _B)

def foo(a: A) -> None: pass

b = B(_B())

foo(b) # Mypy is not happy: Argument 1 to "foo" has incompatible type "B"; expected "A"

foo(A(b)) # Mypy is OK

```
sdeframond
·2 ay önce·discuss
> We're all adults here and we know the consequences of reaching into implementation details.

I wish you were right but, IMHE, it requires a lot of communication once teams grow and many team member do not fully understand the consequences of what they do. It is nice to have something that helps when reviewing code.

> If you have members that users probably shouldn't touch, you prepend them with an underscore

Well, this is precisely what TFA does. It prepends the constructor with an underscore.
sdeframond
·2 ay önce·discuss
Sometimes I feel like "doing it with AI" is the new "rewriting python in rust".

Rewriting in rust does makes things faster but if an algorithm is O(n²), the improvement won't take us much farther.

Similarly with AI, if complexity is not structurally adressed, the velocity gains are but temporary.
sdeframond
·2 ay önce·discuss
> Would we regard that as a major achievement of the mathematician? I don’t think we would.

1. Does it matter, really? 2. Is it very different from previous computer-aided proofs, philosophically?
sdeframond
·2 ay önce·discuss
They don't have "etron" thought, which might explain some poor naming by Audi ?
sdeframond
·2 ay önce·discuss
> Only the actual code that gets compiled.

And tests, linter configuration, doc...
sdeframond
·2 ay önce·discuss
Oh, it is obvious.

My point is: if you try to force people into inaction, chances are they will bypass you.
sdeframond
·2 ay önce·discuss
Does this mean an adblocker could man-in-the-middle at the browser layer and strip the "single_advertiser_ad_unit" from the server responses ? But the ofc OpenAI would change its system to evade this... and so on
sdeframond
·2 ay önce·discuss
> I think the hope for 2 is that those programmers would be forced into inaction by the language safety, rather than being allowed to cause problems.

Ah! That's funny :)

In practice there are always ways to circumvent safety, especially when it is easier than the alternative.

In a Typescript codebase I work on, I configured the type-checker to fordbid `any`. Should be easy enough to use `object` When we don't know the type, right? Well then things started being serialized into `string` way more often than I'd like...
sdeframond
·3 ay önce·discuss
> In the end most challenges for a business holding them back to better code quality are organizational, not technical.

This is true. And I get sad every time it is used as an argument not to improve tooling. It feels like sort of a self-fulfilling prophecy: an organizational problem that prevents us from investing into technical improvements... is indeed an organizational problem.
sdeframond
·3 ay önce·discuss
Oops
sdeframond
·3 ay önce·discuss
No idea, but I'll fix them just in case ^^'
sdeframond
·3 ay önce·discuss
Funny, just tried a few runs of the car wash prompt with Sonnet 4.6. It significantly improved after I put this into my personal preferences:

"- prioritize objective facts and critical analysis over validation or encouragement - you are not a friend, but a neutral information-processing machine. - make reserch and ask questions when relevant, do not jump strait to giving an answer."