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 criticized idea #2635.

I could lazy load ideas: only load the parts of the page that would be visible on the current viewport. Then load more parts as the user scrolls.

#2635​·​Dennis HackethalOP, 8 months ago

That means cmd + f won’t always work.

  Dennis Hackethal commented on criticism #2630.

Discussions are getting slower to render as they grow. It’s a rendering issue (not a db issue).

#2630​·​Dennis HackethalOP revised 8 months ago

The top level ideas could be rendered as turbo frames of ideas#show.

  Dennis Hackethal criticized idea #2675.

I could have a separate route at /ideas/:id/isolated which renders only the idea without any parents or children. And then a discussion could render a bunch of deeply nested turbo frames loading that route.

#2675​·​Dennis HackethalOP, 8 months ago

For large discussions, wouldn’t that flood the server with requests?

  Dennis Hackethal commented on criticism #2630.

Discussions are getting slower to render as they grow. It’s a rendering issue (not a db issue).

#2630​·​Dennis HackethalOP revised 8 months ago

I could have a separate route at /ideas/:id/isolated which renders only the idea without any parents or children. And then a discussion could render a bunch of deeply nested turbo frames loading that route.

  Dennis Hackethal revised criticism #2672.

The thread contains a suggested solution: use authenticated do … blocks in routes.rb instead of before_action :authenticate_user! in controllers.

The thread contains a suggested solution: use authenticated do … blocks in routes.rb instead of before_action :authenticate_user! in controllers.

It’s probably a good idea to do this anyway to avoid divulging the existence of routes that unauthenticated users don’t need to know exist. (They will get a 404 instead of a 401.)

  Dennis Hackethal addressed criticism #2670.

Incompatible with Devise authentication: https://github.com/heartcombo/devise/issues/2332

#2670​·​Dennis HackethalOP, 8 months ago

The thread contains a suggested solution: use authenticated do … blocks in routes.rb instead of before_action :authenticate_user! in controllers.

  Dennis Hackethal criticized idea #2659.

I could use ActionController::Live to stream top-level ideas to the page one by one. Instant page load.

#2659​·​Dennis HackethalOP revised 8 months ago

JS modules are always deferred and unusable until the page is fully loaded. As a result, comment buttons and gutters won’t work while ideas are still streaming onto the page.

  Dennis Hackethal criticized idea #2659.

I could use ActionController::Live to stream top-level ideas to the page one by one. Instant page load.

#2659​·​Dennis HackethalOP revised 8 months ago

Incompatible with Devise authentication: https://github.com/heartcombo/devise/issues/2332

  Dennis Hackethal posted criticism #2669.

Feature idea: pay people to address criticisms (either revise an idea and check off criticisms or counter-criticize).

  Dennis Hackethal commented on idea #2659.

I could use ActionController::Live to stream top-level ideas to the page one by one. Instant page load.

#2659​·​Dennis HackethalOP revised 8 months ago

This page used to take ~3.5 seconds to load. Now it renders within 600ms :)

  Dennis Hackethal revised criticism #2653.

‘Veritula’ is a difficult name, people don’t know how to pronounce it. They usually can’t remember it.

‘Veritula’ is a difficult name, people don’t know how to spell or pronounce it. They can’t easily remember it.

  Dennis Hackethal criticized idea #2654.

Idea: ‘The Second Renaissance’, ‘2nd Renaissance’, ‘2R’ for short.

#2654​·​Dennis HackethalOP, 8 months ago

‘Renaissance’ isn’t exactly easy to spell either.

  Dennis Hackethal revised criticism #444.

The following commits should address this:

  • 3af3966 Clarify in title that someone revised an idea (rathen than originated idea)

    The HTML title now says ‘Idea x revised by…’

  • 6c70cea Underneath idea, indicate that someone revised an idea (rather than submitted it)

    It says ‘Dennis Hackethal, 1 day ago’ for new ideas, ‘Dennis Hackethal revised 1 day ago’ for revisions

  • d20d386 Explain that users can revise each others’ ideas

    As part of the alert on the revision page, when the user is about to revise someone else’s idea.

  • c5748e3 Turn ‘revise’ link into ‘revise their idea’ when it’s someone else’s idea

    Underneath each idea.

  • e0fbd41 List user under each revision in version history

    So that each version is clearly attributed to the corresponding user.

  • 06d3241 List contributors at top of version history

    Comma-separated list to see all contributors at a glance. Eg see here

The following commits should address this:

  • 3af3966 Clarify in title that someone revised an idea (rather than originated idea)

    The HTML title now says ‘Idea x revised by…’

  • 6c70cea Underneath idea, indicate that someone revised an idea (rather than submitted it)

    It says ‘Dennis Hackethal, 1 day ago’ for new ideas, ‘Dennis Hackethal revised 1 day ago’ for revisions

  • d20d386 Explain that users can revise each others’ ideas

    As part of the alert on the revision page, when the user is about to revise someone else’s idea.

  • c5748e3 Turn ‘revise’ link into ‘revise their idea’ when it’s someone else’s idea

    Underneath each idea.

  • e0fbd41 List user under each revision in version history

    So that each version is clearly attributed to the corresponding user.

  • 06d3241 List contributors at top of version history

    Comma-separated list to see all contributors at a glance. Eg see here

  Dennis Hackethal revised criticism #2658.

Changing the view logic so that the controller can stream each deeply nested idea separately sounds non-trivial. It’s not clear to me how to do that currently, It may be possible someday if I adjust Hiccdown to allow the use of enumerators or something like that.

Changing the view logic so that the controller can stream each deeply nested idea separately sounds non-trivial. It’s not clear to me how to do that currently. It may be possible someday if I adjust Hiccdown to allow the use of enumerators or something like that.

  Dennis Hackethal revised idea #2646. The revision addresses idea #2658.

I could use ActionController::Live to stream ideas to the page one by one. Instant page load.

I could use ActionController::Live to stream top-level ideas to the page one by one. Instant page load.

  Dennis Hackethal criticized idea #2646.

I could use ActionController::Live to stream ideas to the page one by one. Instant page load.

#2646​·​Dennis HackethalOP, 8 months ago

Changing the view logic so that the controller can stream each deeply nested idea separately sounds non-trivial. It’s not clear to me how to do that currently, It may be possible someday if I adjust Hiccdown to allow the use of enumerators or something like that.

  Dennis Hackethal criticized idea #2635.

I could lazy load ideas: only load the parts of the page that would be visible on the current viewport. Then load more parts as the user scrolls.

#2635​·​Dennis HackethalOP, 8 months ago

Complex, requires non-trivial scroll listeners correlated to deeply nested ideas.

  Dennis Hackethal commented on criticism #1954.

I see the value in having quiet areas to think, I agree that it is important, but I at times find the quiet distracting. I sometimes work better in environments that have some level of noise, nothing like a club, more like a somewhat crowded cafe. So are you talking about “quieter” environments such as a cafe, or are you talking about complete silence in your observation?

#1954​·​Lola Trimble, 9 months ago

Just saw this app that lets you play ambient sounds at home: https://x.com/mirdhaaakanksha/status/1983238682154021218

  Dennis Hackethal commented on criticism #2653.

‘Veritula’ is a difficult name, people don’t know how to pronounce it. They usually can’t remember it.

#2653​·​Dennis HackethalOP, 8 months ago

Idea: ‘Return to Reason’, ‘RR’

  Dennis Hackethal commented on criticism #2653.

‘Veritula’ is a difficult name, people don’t know how to pronounce it. They usually can’t remember it.

#2653​·​Dennis HackethalOP, 8 months ago

Idea: ‘The Second Renaissance’, ‘2nd Renaissance’, ‘2R’ for short.

  Dennis Hackethal posted criticism #2653.

‘Veritula’ is a difficult name, people don’t know how to pronounce it. They usually can’t remember it.

  Dennis Hackethal addressed criticism #2647.

Including that module significantly slows down hot reloads on all pages. I need a tight feedback loop in dev.

#2647​·​Dennis HackethalOP, 8 months ago

Replacing a raw SQL query in Idea.tree with a standard ActiveRecord query solves this issue.

  Dennis Hackethal addressed criticism #2650.

After resetting my working directory and beginning to implement streams a second time, I can no longer reproduce this issue, despite reasonable attempts to reproduce it.

#2650​·​Dennis HackethalOP, 8 months ago

I’ve since been able to reproduce the issue after all. Running a raw SQL query in Idea.tree in combination with the inclusion of the Live module seems to mess with Rails’s reloader.

  Dennis Hackethal addressed criticism #2647.

Including that module significantly slows down hot reloads on all pages. I need a tight feedback loop in dev.

#2647​·​Dennis HackethalOP, 8 months ago

After resetting my working directory and beginning to implement streams a second time, I can no longer reproduce this issue, despite reasonable attempts to reproduce it.

  Dennis Hackethal addressed criticism #2648.

Fast UX is more important than fast developer experience.

#2648​·​Dennis HackethalOP, 8 months ago

A slow developer experience will slow down all further development, including bug fixes and feature rollouts, which hurts UX as well.