Dennis Hackethal’s avatar

Dennis Hackethal

@dennis.hackethal·​Joined Jun 2024·​2,892 ideas: 1,920 adoptable, 972 rejectable
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 commented on idea #4328.

Could the application layout live in ApplicationHelper#layout?

#4328·​Dennis HackethalOP, 8 months ago

Yes. As of 4fd7a0e, to be released in version 1.6.0, the layout named X lives in XHelper#layout, just as it would in layouts/X.html.erb, so the application layout lives in ApplicationHelper#layout. yield and yield(:title) work as in an ERB layout, and layout files keep working for a gradual migration.

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

Hiccdown finds an action's helper method through params[:action] rather than the controller's action_name. When a controller runs without the router, as in ProductsController.action(:show).call(env), params[:action] is nil and rendering raises NoMethodError: undefined method 'to_sym' for nil instead of calling ProductsHelper#show.

#5840·​Dennis HackethalOP, 14 days ago·​AI-assisted

Fixed as of 31cf174, to be released in version 1.6.0.

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

Calling render with options only, such as render status: :not_found or render layout: 'admin', skips the action's helper method and looks for an ERB template instead. Without one, it raises ActionView::MissingTemplate:

ruby
class ProductsController < ApplicationController
def show
render status: :not_found # MissingTemplate, though ProductsHelper#show exists
end
end

Naming the action works around it: render :show, status: :not_found.

#5839·​Dennis HackethalOP, 14 days ago·​AI-assisted

Fixed as of 9c46c61, to be released in version 1.6.0.

  Dennis Hackethal posted criticism #5840.

Hiccdown finds an action's helper method through params[:action] rather than the controller's action_name. When a controller runs without the router, as in ProductsController.action(:show).call(env), params[:action] is nil and rendering raises NoMethodError: undefined method 'to_sym' for nil instead of calling ProductsHelper#show.

  Dennis Hackethal posted criticism #5839.

Calling render with options only, such as render status: :not_found or render layout: 'admin', skips the action's helper method and looks for an ERB template instead. Without one, it raises ActionView::MissingTemplate:

ruby
class ProductsController < ApplicationController
def show
render status: :not_found # MissingTemplate, though ProductsHelper#show exists
end
end

Naming the action works around it: render :show, status: :not_found.

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

When an empty block is passed to render, it results in an empty tag '<>'

#4333·​Dennis HackethalOP, 8 months ago

Fixed as of c36fa5c, version 1.5.2.

  Dennis Hackethal updated discussion ‘How Does Veritula Work?’.

The ‘About’ section changed as follows:

New to Veritula? Start here to get oriented.

  Dennis Hackethal archived idea #3974 along with any revisions.
  Dennis Hackethal addressed 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.
#3974·​Dennis HackethalOP, 9 months ago

Fixed as of ed8868b, version 1.3.1.

  Dennis Hackethal revised idea #5746.

Improve copy


Rational Decision-Making

It is rational to adopt only those ideas which, as written, don’t have pending criticisms, and to reject ideas that do.

If an idea, as written, has no pending criticisms, it’s rational to adopt it and irrational to reject it. What reason could you have to reject it? If it has no pending criticisms, then either 1) no reasons to reject it (ie, criticisms) have been suggested or 2) all suggested reasons have been addressed already.

If an idea, as written, does have pending criticisms, it’s irrational to adopt it and rational to reject it – by reference to those criticisms. What reason could you have to ignore the pending criticisms and adopt it anyway? After all, the previous paragraph applies to pending criticisms.

See also:

Rational Decision-Making

It’s rational to adopt only those ideas which, as written, don’t have pending criticisms, and to reject ideas that do.

If an idea, as written, has no pending criticisms, it’s rational to adopt it and irrational to reject it. What reason could you have to reject it? If it has no pending criticisms, then either no reasons to reject it (ie, criticisms) have been suggested or all suggested reasons have been addressed already.

If an idea, as written, does have pending criticisms, it’s irrational to adopt it and rational to reject it – by reference to those criticisms. What reason could you have to ignore the pending criticisms and adopt it anyway? After all, the previous paragraph applies to pending criticisms, too.

See also:

  Dennis Hackethal revised idea #4902.

Rational Decision-Making

Expanding on #2112…

If an idea, as written, has no pending criticisms, it’s rational to adopt it and irrational to reject it. What reason could you have to reject it? If it has no pending criticisms, then either 1) no reasons to reject it (ie, criticisms) have been suggested or 2) all suggested reasons have been addressed already.

If an idea, as written, does have pending criticisms, it’s irrational to adopt it and rational to reject it – by reference to those criticisms. What reason could you have to ignore the pending criticisms and adopt it anyway?

Or, simplified:

It is rational to adopt only those ideas which, as written, don’t have pending criticisms, and to reject ideas that do.

Rational Decision-Making

It is rational to adopt only those ideas which, as written, don’t have pending criticisms, and to reject ideas that do.

If an idea, as written, has no pending criticisms, it’s rational to adopt it and irrational to reject it. What reason could you have to reject it? If it has no pending criticisms, then either 1) no reasons to reject it (ie, criticisms) have been suggested or 2) all suggested reasons have been addressed already.

If an idea, as written, does have pending criticisms, it’s irrational to adopt it and rational to reject it – by reference to those criticisms. What reason could you have to ignore the pending criticisms and adopt it anyway? After all, the previous paragraph applies to pending criticisms.

See also:

  Dennis Hackethal archived idea #3950 along with any revisions.
  Dennis Hackethal revised criticism #5700 and marked it as AI-assisted.

Mark as AI-assisted


A sticky button can't work here: the main content area has to be a horizontal scroll container so deeply nested trees can grow sideways, and that stops position: sticky from sticking. The workarounds (reworking the global layout, or JavaScript positioning that jitters on mobile) are too risky for such a small benefit.

(Generated with Claude.)

A sticky button can't work here: the main content area has to be a horizontal scroll container so deeply nested trees can grow sideways, and that stops position: sticky from sticking. The workarounds (reworking the global layout, or JavaScript positioning that jitters on mobile) are too risky for such a small benefit.

  Dennis Hackethal posted idea #5730.

Tyler suggested (#3904) we use the chart type from Kialo:

Kialo chart

Could be a useful visualization in addition to trees.

Each top-level idea would be the center node. Then red segments around it for pending criticisms. Gray for non-pending criticisms and neutral comments.

Unlike Kialo, though, each segment would have the same size as the other segments on its circle.

  Dennis Hackethal posted criticism #5729.

Offer easy way to link to latest version of an idea. The ability already exists – an idea link + /latest will always go to the latest version – but isn’t directly exposed in the form of a link or button yet.

  Dennis Hackethal archived idea #4437 along with any revisions.
  Dennis Hackethal archived idea #3905 along with any revisions.
  Dennis Hackethal archived idea #4827 along with any revisions.
  Dennis Hackethal addressed criticism #5726.

Reiterating/refining #3904: There should be a graphical indication for pending criticisms. The dropdown line should be red if the comment it leads to is a pending criticism. The yellow pills can be turned gray to be easier on the eyes.

#5726·​Dennis HackethalOP revised 21 days ago

Done as of c00ed18.

  Dennis Hackethal revised criticism #5719. The revision addresses idea #5725.

Reiterating/refining #3904: There should be a graphical indication for pending criticisms. The dropdown line should be red if the comment it leads to is a pending criticism.

Reiterating/refining #3904: There should be a graphical indication for pending criticisms. The dropdown line should be red if the comment it leads to is a pending criticism. The yellow pills can be turned gray to be easier on the eyes.

  Dennis Hackethal addressed criticism #5719.

Reiterating/refining #3904: There should be a graphical indication for pending criticisms. The dropdown line should be red if the comment it leads to is a pending criticism.

#5719·​Dennis HackethalOP revised 21 days ago

This says nothing about the yellow color of the criticisms pills, which I think Tyler is saying are too harsh on the eyes.