Dennis Hackethal’s avatar

Dennis Hackethal

@dennis.hackethal​·​Joined Jun 2024​·​Ideas
Log in or sign up to follow Dennis or post on their wall.

Founder Veritula.
Author. Software engineer. Ex Apple. Translator of The Beginning of Infinity.
dennishackethal.com

  Dennis Hackethal addressed criticism #3951.

Done as of cc1ab95.

Ruby example:

ruby
def criticized? idea
pending_criticisms(idea).any?
end
def pending_criticisms idea
criticisms(idea).filter { |c| pending_criticisms(c).none? }
end
def criticisms idea
children(idea).filter(&:criticism?)
end

JS example (h/t ChatGPT):

javascript
function criticized(idea) {
return pendingCriticisms(idea).length > 0;
}
function pendingCriticisms(idea) {
return criticisms(idea).filter(c => pendingCriticisms(c).length === 0);
}
function criticisms(idea) {
return children(idea).filter(c => c.isCriticism);
}
#3951​·​Dennis HackethalOP, 5 months ago

There’s an issue with horizontal scroll for overflowing code blocks in the activity feed on mobile. Can’t scroll all the way to the right.

  Dennis Hackethal commented on idea #1867.

The red ‘Criticized’ label could be a link leading to a filtered version of ideas#show.

#1867​·​Dennis HackethalOP revised 9 months ago

Yeah or see #2628.

  Dennis Hackethal addressed criticism #2886.

I am currently unable to zoom out to the full width when accessing Veritula on mobile.

#2886​·​Benjamin Davies, 7 months ago

Give this another shot. Should be fixed as of 6c7e74b.

For very deeply nested discussions, you may still need to scroll sideways to see some ideas. But you should now be able to zoom out far enough to always fit any idea into the viewport.

  Dennis Hackethal addressed criticism #3951.

Done as of cc1ab95.

Ruby example:

ruby
def criticized? idea
pending_criticisms(idea).any?
end
def pending_criticisms idea
criticisms(idea).filter { |c| pending_criticisms(c).none? }
end
def criticisms idea
children(idea).filter(&:criticism?)
end

JS example (h/t ChatGPT):

javascript
function criticized(idea) {
return pendingCriticisms(idea).length > 0;
}
function pendingCriticisms(idea) {
return criticisms(idea).filter(c => pendingCriticisms(c).length === 0);
}
function criticisms(idea) {
return children(idea).filter(c => c.isCriticism);
}
#3951​·​Dennis HackethalOP, 5 months ago

There’s a small issue related to previewing changes in code blocks: even when there are no changes yet, if the code overflows horizontally, the scroll shadow is shown through DOM manipulation, which in turn triggers the diffing library into thinking the user made a change.

So then the same code block is shown without any changes, under the ‘Changes’ tab, which is confusing. It should still just say ‘No changes’.

  Dennis Hackethal addressed criticism #3951.

Done as of cc1ab95.

Ruby example:

ruby
def criticized? idea
pending_criticisms(idea).any?
end
def pending_criticisms idea
criticisms(idea).filter { |c| pending_criticisms(c).none? }
end
def criticisms idea
children(idea).filter(&:criticism?)
end

JS example (h/t ChatGPT):

javascript
function criticized(idea) {
return pendingCriticisms(idea).length > 0;
}
function pendingCriticisms(idea) {
return criticisms(idea).filter(c => pendingCriticisms(c).length === 0);
}
function criticisms(idea) {
return children(idea).filter(c => c.isCriticism);
}
#3951​·​Dennis HackethalOP, 5 months ago

The diff view can’t handle the removal/replacement of entire code blocks yet. The removed block looks broken, the new block doesn’t show at all.

  Dennis Hackethal archived idea #3986 along with any revisions.
  Dennis Hackethal addressed criticism #3986.

Bounties should be clear about what currency they are being paid out in.

#3986​·​Benjamin Davies, 5 months ago

Valid. As of 7af3c7b, the site uses ‘USD’ throughout.

  Dennis Hackethal archived idea #3107 along with any revisions.
  Dennis Hackethal addressed criticism #3107.

Preview links of discussions should show the name of the discussion being linked.

See eg https://x.com/agentofapollo/status/1991252721618547023

h/t @benjamin-davies*

#3107​·​Dennis HackethalOP, 7 months ago

I implemented this a while back.

X caches link previews, so old previews remain the same. But new previews feature the discussion title, see eg https://www.opengraph.xyz/url/https%3A%2F%2Fveritula.com%2Fdiscussions%2Fcriticisms-of-zcash.

  Dennis Hackethal revised criticism #4001.

Feature idea: pay people to criticize your idea.

You start a ‘criticism bounty’ of 100 bucks, say, which is prorated among eligible critics after some deadline.

The amount should be arbitrarily customizable (while covering transaction costs). Minimum of $5.

There could then be a page for bounties at /bounties. And a page listing a user’s bounties at /:username/bounties.

When starting a bounty, the user indicates terms such as what kinds of criticism they want. This way, they avoid having to pay people pointing out typos, say.

Anyone can start a bounty on any idea. There can only be one bounty per idea at a time.

To ensure a criticism is worthy of the bounty, the initiator gets a grace period of 24 hours at the end to review pending criticisms. Inaction automatically awards the bounty to all pending criticisms at the end of the grace period.

Feature idea: pay people to criticize an idea.

You start a ‘criticism bounty’ of 100 bucks, say, which is prorated among eligible critics after some deadline.

The amount should be arbitrarily customizable (while covering transaction costs). Minimum of $5.

There could then be a page for bounties at /bounties. And a page listing a user’s bounties at /:username/bounties.

When starting a bounty, the user indicates terms such as what kinds of criticism they want. This way, they avoid having to pay people pointing out typos, say.

Anyone can start a bounty on any idea. There can only be one bounty per idea at a time.

To ensure a criticism is worthy of the bounty, the initiator gets a grace period of 24 hours at the end to review pending criticisms. Inaction automatically awards the bounty to all pending criticisms at the end of the grace period.

  Dennis Hackethal revised criticism #3481.

Feature idea: pay people to criticize your idea.

You start a ‘criticism bounty’ of ten bucks, say, per pending criticism received by some deadline.

The amount should be arbitrarily customizable (while covering transaction costs). The user also indicates a ceiling for the maximum amount they are willing to spend.

There could then be a page for bounties at /bounties. And a page listing a user’s bounties at /:username/bounties.

When starting a bounty, the user indicates terms such as what kinds of criticism they want. This way, they avoid having to pay people pointing out typos, say.

Anyone can start a bounty on any idea. There can only be one bounty per idea at a time.

To ensure a criticism is worthy of the bounty, the initiator gets a grace period of 24 hours at the end to review pending criticisms. They may even award a bounty to problematic criticisms, at their discretion. Inaction automatically awards the bounty to all pending criticisms at the end of the grace period. If doing so would exceed the ceiling, more recent criticisms do not get the bounty.

Feature idea: pay people to criticize your idea.

You start a ‘criticism bounty’ of 100 bucks, say, which is prorated among eligible critics after some deadline.

The amount should be arbitrarily customizable (while covering transaction costs). Minimum of $5.

There could then be a page for bounties at /bounties. And a page listing a user’s bounties at /:username/bounties.

When starting a bounty, the user indicates terms such as what kinds of criticism they want. This way, they avoid having to pay people pointing out typos, say.

Anyone can start a bounty on any idea. There can only be one bounty per idea at a time.

To ensure a criticism is worthy of the bounty, the initiator gets a grace period of 24 hours at the end to review pending criticisms. Inaction automatically awards the bounty to all pending criticisms at the end of the grace period.

  Dennis Hackethal criticized idea #3061.

Could this feature be unified with #2669 somehow?

#3061​·​Dennis HackethalOP, 7 months ago

No need, see #3420.

  Dennis Hackethal addressed criticism #3912.

Been trying a slight modification of bounties in prod for a couple of weeks or so. Working well so far.

@dirk-meulenbelt recently offered to chip in for a bounty I want to run. That got me thinking: multiple people should be able to fund bounties.

#3912​·​Dennis HackethalOP, 5 months ago

This is now a feature, see the ‘Funding’ section of a bounty.

  Dennis Hackethal revised criticism #2430.

I notice that when I amend a criticism I have made, I’m not able to see what I am criticising. It would be good if the edit screen showed the comment I am disagreeing with similar to how it does when I first go to write a criticism.

When I revise a criticism, I can’t see what it criticises. The edit screen should show the parent idea, similar to when I write a new criticism.

  Dennis Hackethal archived idea #1789 along with any revisions.
  Dennis Hackethal addressed criticism #2717.

Feature to collapse all criticized ideas of a discussion? Useful for todo lists.

#2717​·​Dennis HackethalOP revised 7 months ago

Archiving covers this.

  Dennis Hackethal archived idea #2669 along with any revisions.
  Dennis Hackethal revised idea #3062 and marked it as a criticism.

Could this feature be unified with #2811 somehow?

Could this feature be unified with #2811 somehow?

  Dennis Hackethal addressed criticism #3978.

The sentiment of the sentence stands. Even with uncomputable functions, one shouldn't waste time in trying to solve them.

#3978​·​Zelalem MekonnenOP revised 5 months ago

Then I suggest revising #3968 so that it still captures the sentiment without containing factual falsehoods.

  Dennis Hackethal archived idea #3975 along with any revisions.
  Dennis Hackethal addressed criticism #3975.

Should not autopair behind a word character.

Steps to reproduce:

  1. Type 'foo'.
  2. With the cursor behind the second 'o', hit single quote: '.
  3. The text now reads foo'' but should only read foo'.

After a non-word character (eg linebreak, period, colon, semicolon etc) though, it should still autopair.

#3975​·​Dennis HackethalOP, 5 months ago

Fixed as of bbcefa8.

  Dennis Hackethal posted criticism #3975.

Should not autopair behind a word character.

Steps to reproduce:

  1. Type 'foo'.
  2. With the cursor behind the second 'o', hit single quote: '.
  3. The text now reads foo'' but should only read foo'.

After a non-word character (eg linebreak, period, colon, semicolon etc) though, it should still autopair.

  Dennis Hackethal posted criticism #3974.

Undo/redo stack should preserve cursor position.

Steps to reproduce:

  1. Start with empty textarea.
  2. Type '('.
  3. Cursor is now inside '(|)'.
  4. Hit undo.
  5. Hit redo.
  6. Cursor is now behind '()|' but should be inside like in step 3.
  Dennis Hackethal started a discussion titled ‘autopair.js’.

Issue tracker for the autopairing + typethrough package at https://github.com/dchacke/autopair.js

  Dennis Hackethal criticized idea #3968.

By definition, there is nothing in the unknowable, since it can't be known. One can rationally and with confidence move on and not even entertain anything that claims to be 'beyond human understanding.'

#3968​·​Zelalem MekonnenOP, 5 months ago

By definition, there is nothing in the unknowable, since it can't be known.

This isn’t true. There are unknowable things. Look up uncomputable functions, see eg

So there are things that computers like our brains can never access – there are fundamental, natural limitations.

In this context, I think of mysticism as restricting criticism and preventing error correction, ie creating a man-made barrier for reason. That’s different.