Search

Ideas that are…

Search Ideas


2721 ideas match your query.:

Sometimes postponement is impossible due to external factors, say. But maybe you can create a new option in time.

Even if you can’t create a completely new option, you could create an option saying, ‘in this situation, I have to act, and I’m running out of time to come up with new ideas, so I’m deciding to do X because Y’. And then that option, as I just phrased it, may have no pending criticisms, in which case you can still act on it. So the rule of not acting on problematic ideas remains intact because ideas are discrete and immutable.

The way out of such conundrums as Podge described them is usually (always?) to create new options (see BoI ch. 13).

#4523​·​Dennis HackethalOP, 6 months ago​·​Criticism

Podge wrote in the FoR book club:

[A]n institution that forbids action unless unanimity is reached seems not to function coherently. There are two possibilities. If postponement is uncontroversial, then no special rule is needed, since institutions for adjudicating between competing preferences are only operative when there is disagreement. If postponement itself is contested, then it’s not clear how this rule could be applied consistently, because not acting on x is itself a choice about which we are conflicted.

#4522​·​Dennis HackethalOP, 6 months ago​·​CriticismCriticized1

Maybe fun = profitable thought. Not in the sense of ‘thought that leads to good monetary decisions’. I mean it in the literal sense that there’s a kind of wealth being created inside your mind.

#4517​·​Dennis Hackethal revised 6 months ago​·​Original #4514

Maybe fun = profitable thinking. Not in the sense of ‘thoughts that lead to good monetary decisions’. I mean it in the literal sense that there’s wealth being created inside your mind.

#4515​·​Dennis Hackethal revised 6 months ago​·​Original #4514​·​Criticized1

Maybe fun = profitable thinking.

#4514​·​Dennis Hackethal, 6 months ago​·​Criticized1

Idea: ability to lock an idea to prevent edits. If you submit the first version, you get to lock the idea. Useful especially on your own profile that you might use as more of a blog and don’t necessarily want others changing your ideas.

#4513​·​Dennis HackethalOP, 6 months ago

web-haptics: Haptic Feedback Finally Comes to iOS Safari

lochie just published a package bringing haptic feedback to the web on iOS: web-haptics. I spent four years at Apple working mostly on UIs, so I pay close attention to design and UX. In terms of presentation, use case, and attention to detail, this package comes as close to perfect as I’ve seen.

The problem

On Android, haptics have been available through navigator.vibrate(), but iOS does not support this API. There is a workaround, though – the input element with the switch attribute:

html
<input type="checkbox" switch>

See this switch input in action here. On iOS, the input renders not as a regular checkbox but as a switch that can be toggled on or off:

Switch input

Open the link on your iPhone, tap the switch, and you’ll feel haptic feedback. As far as I know, this is currently the only known practical workaround to trigger haptic feedback on the web in iOS.

Implementation

lochie cleverly bases his package on this single workaround and pushes it to its limits. The key lines are here, creating a switch input on the fly:

javascript
const hapticCheckbox = document.createElement("input");
hapticCheckbox.type = "checkbox";
hapticCheckbox.setAttribute("switch", "");

The package also creates an associated label and clicks it to trigger haptic feedback on the connected input:

javascript
this.hapticLabel.click();

(My understanding is that iOS will not trigger the haptic feedback when the input is programmatically clicked – so the ‘workaround within the workaround’ is to click the associated label instead.)

Custom haptics (!)

But web-haptics can do more than just trigger a single haptic ‘pulse’. The trigger function lets you pass in your own patterns with pulses of different duration and intensity, and even delays.

Want a simple success haptic? Trigger two pulses, as shown on the package homepage:

javascript
trigger([
{ duration: 30 },
{ delay: 60, duration: 40, intensity: 1 },
])

Or simply call trigger('success') as a shortcut.

Here’s an error haptic I made based on Apple’s human interface guidelines:

javascript
trigger([
{ duration: 40, intensity: 0.7 },
{ delay: 40, duration: 40, intensity: 0.7 },
{ delay: 40, duration: 40, intensity: 0.9 },
{ delay: 40, duration: 50, intensity: 0.6 },
])

lochie’s website even gives you an editor to make custom haptics. As you click and drag, both pulses and code update in real time. This experience is developer bliss:

Haptic editor

Usage

Importing the package is easy. In Rails, for example:

ruby
# config/importmap.rb
pin "web-haptics", to: "https://esm.sh/web-haptics@0.0.6"
javascript
import { WebHaptics } from 'web-haptics';
// In a Stimulus controller somewhere
let haptics = new WebHaptics();
haptics.trigger('success'); // or 'error', 'warning', etc for built-in haptics
haptics.trigger([
{ duration: 40, intensity: 0.7 },
{ delay: 40, duration: 40, intensity: 0.7 },
])

Pass a debug option to the constructor to hear clicks in development/on desktop:

javascript
new WebHaptics({ debug: true });

Again, this package comes as close to perfect as I’ve seen. In fact, I already use it on Veritula: as you type in a text field, an error haptic plays when you exceed the max length (#4473).

I highly recommend web-haptics by lochie.

#4511​·​Dennis Hackethal revised 6 months ago​·​Original #4509

web-haptics: Haptic Feedback Finally Comes to iOS Safari

lochie just published a package bringing haptic feedback to the web: web-haptics. I spent four years at Apple working mostly on UIs, so I pay close attention to design and UX. In terms of presentation, use case, and attention to detail, this package comes as close to perfect as I’ve seen.

The problem

On Android, haptics have been available through navigator.vibrate(), but iOS does not support this API. There is a workaround, though – the input element with the switch attribute:

html
<input type="checkbox" switch>

See this switch input in action here. On iOS, the input renders not as a regular checkbox but as a switch that can be toggled on or off:

Switch input

Open the link on your iPhone, tap the switch, and you’ll feel haptic feedback. As far as I know, this is currently the only known practical workaround to trigger haptic feedback on the web in iOS.

Implementation

lochie cleverly bases his package on this single workaround and pushes it to its limits. The key lines are here, creating a switch input on the fly:

javascript
const hapticCheckbox = document.createElement("input");
hapticCheckbox.type = "checkbox";
hapticCheckbox.setAttribute("switch", "");

The package also creates an associated label and clicks it to trigger haptic feedback on the connected input:

javascript
this.hapticLabel.click();

(My understanding is that iOS will not trigger the haptic feedback when the input is programmatically clicked – so the ‘workaround within the workaround’ is to click the associated label instead.)

Custom haptics (!)

But web-haptics can do more than just trigger a single haptic ‘pulse’. The trigger function lets you pass in your own patterns with pulses of different duration and intensity, and even delays.

Want a simple success haptic? Trigger two pulses, as shown on the package homepage:

javascript
trigger([
{ duration: 30 },
{ delay: 60, duration: 40, intensity: 1 },
])

Or simply call trigger('success') as a shortcut.

Here’s an error haptic I made based on Apple’s human interface guidelines:

javascript
trigger([
{ duration: 40, intensity: 0.7 },
{ delay: 40, duration: 40, intensity: 0.7 },
{ delay: 40, duration: 40, intensity: 0.9 },
{ delay: 40, duration: 50, intensity: 0.6 },
])

lochie’s website even gives you an editor to make custom haptics. As you click and drag, both pulses and code update in real time. This experience is developer bliss:

Haptic editor

Usage

Importing the package is easy. In Rails, for example:

ruby
# config/importmap.rb
pin "web-haptics", to: "https://esm.sh/web-haptics@0.0.6"
javascript
import { WebHaptics } from 'web-haptics';
// In a Stimulus controller somewhere
let haptics = new WebHaptics();
haptics.trigger('success'); // or 'error', 'warning', etc for built-in haptics
haptics.trigger([
{ duration: 40, intensity: 0.7 },
{ delay: 40, duration: 40, intensity: 0.7 },
])

Pass a debug option to the constructor to hear clicks in development/on desktop:

javascript
new WebHaptics({ debug: true });

Again, this package comes as close to perfect as I’ve seen. In fact, I already use it on Veritula: as you type in a text field, an error haptic plays when you exceed the max length (#4473).

I highly recommend web-haptics by lochie.

#4510​·​Dennis Hackethal revised 6 months ago​·​Original #4509​·​Criticized1

web-haptics: Haptic Feedback Finally Comes to iOS Safari

lochie just published a package bringing haptic feedback to the web: ‘web-haptics’. I spent four years at Apple working mostly on UIs, so I pay close attention to design and UX. In terms of presentation, use case, and attention to detail, this package comes as close to perfect as I’ve seen.

The problem

On Android, haptics have been available through navigator.vibrate(), but iOS does not support this API. There is a workaround, though – the input element with the switch attribute:

html
<input type="checkbox" switch>

See this switch input in action here. On iOS, the input renders not as a regular checkbox but as a switch that can be toggled on or off:

Switch input

Open the link on your iPhone, tap the switch, and you’ll feel haptic feedback. As far as I know, this is currently the only known practical workaround to trigger haptic feedback on the web in iOS.

Implementation

lochie cleverly bases his package on this single workaround and pushes it to its limits. The key lines are here, creating a switch input on the fly:

javascript
const hapticCheckbox = document.createElement("input");
hapticCheckbox.type = "checkbox";
hapticCheckbox.setAttribute("switch", "");

The package also creates an associated label and clicks it to trigger haptic feedback on the connected input:

javascript
this.hapticLabel.click();

(My understanding is that iOS will not trigger the haptic feedback when the input is programmatically clicked – so the ‘workaround within the workaround’ is to click the associated label instead.)

Custom haptics (!)

But web-haptics can do more than just trigger a single haptic ‘pulse’. The trigger function lets you pass in your own patterns with pulses of different duration and intensity, and even delays.

Want a simple success haptic? Trigger two pulses, as shown on the package homepage:

javascript
trigger([
{ duration: 30 },
{ delay: 60, duration: 40, intensity: 1 },
])

Or simply call trigger('success') as a shortcut.

Here’s an error haptic I made based on Apple’s human interface guidelines:

javascript
trigger([
{ duration: 40, intensity: 0.7 },
{ delay: 40, duration: 40, intensity: 0.7 },
{ delay: 40, duration: 40, intensity: 0.9 },
{ delay: 40, duration: 50, intensity: 0.6 },
])

lochie’s website even gives you an editor to make custom haptics. As you click and drag, both pulses and code update in real time. This experience is developer bliss:

Haptic editor

Usage

Importing the package is easy. In Rails, for example:

ruby
# config/importmap.rb
pin "web-haptics", to: "https://esm.sh/web-haptics@0.0.6"
javascript
import { WebHaptics } from 'web-haptics';
// In a Stimulus controller somewhere
let haptics = new WebHaptics();
haptics.trigger('success'); // or 'error', 'warning', etc for built-in haptics
haptics.trigger([
{ duration: 40, intensity: 0.7 },
{ delay: 40, duration: 40, intensity: 0.7 },
])

Pass a debug option to the constructor to hear clicks in development/on desktop:

javascript
new WebHaptics({ debug: true });

Again, this package comes as close to perfect as I’ve seen. In fact, I already use it on Veritula: as you type in a text field, an error haptic plays when you exceed the max length (#4473).

I highly recommend web-haptics by lochie.

#4509​·​Dennis Hackethal, 6 months ago

Users can now pick a custom @username.

I just changed mine from @dennis-hackethal* to @dennis.hackethal. (Period instead of hyphen.) Old profile links are automatically redirected. Old @mentions have an asterisk and explain the change on hover while linking to the updated URL.

@usernames used to be assigned automatically based on a user’s first and last name. Now, users can choose.

To change your @username, go to Settings.

#4507​·​Dennis Hackethal revised 6 months ago​·​Original #4506

Users can now pick a custom @username.

I just changed mine to @dennis.hackethal. (Period instead of hyphen.) Old profile links are automatically redirected. Old @mentions are automatically updated.

@usernames used to be assigned automatically based on a user’s first and last name. Now, users have more choice.

To change your @username, go to Settings.

#4506​·​Dennis Hackethal, 6 months ago​·​Criticized1

I did some e-sleuthing around this thought and found On Creativity - The joys of 5 minute timers by Neel Nanda. …

My favourite part of the article is this:

I noticed a slight inconsistency here. You give exact links for each quote (by “exact” I mean links to highlighted passages) except this one, where you link to the article as a whole. If you turn the word “part” into a link to the passage, you’ll have perfect quoting consistency.

Here’s the exact link: https://www.lesswrong.com/posts/FHiM34PmrN224pqTz/on-creativity-the-joys-of-5-minute-timers#:~:text=Set%20a%205%20minute%20timer%2C%20and,5%20minute%20brainstorm%20for%20anything%20left.

It’s nice that you give exact links. Makes verification easier for readers.

#4503​·​Dennis Hackethal, 6 months ago​·​Criticism

There is, in the comments.

#4502​·​Dennis HackethalOP, 6 months ago​·​Criticism

But there’s no indication that the current version has been superseded.

#4501​·​Dennis HackethalOP, 6 months ago​·​CriticismCriticized1

…the site should let [visitors] know if there is a superseding revised version of [an idea].

There are arrow buttons linking to the previous and next version, and the UI says which version you’re currently looking at.

#4500​·​Dennis HackethalOP, 6 months ago​·​Criticism

I first want to see some more people posting to their profiles so there’ll be enough ideas to show in that tab.

#4499​·​Dennis HackethalOP, 6 months ago​·​Criticism

Valid, done.

#4498​·​Dennis HackethalOP, 6 months ago​·​CriticismArchived

Both ideas are about working toward a universal theory of creation by studying parallels between mind and economy.

#4497​·​Dennis Hackethal, 6 months ago​·​Criticism

Somebody on Twitter wrote, addressing old-school programmers in the context of vibe coding, “Your once exclusive access just got democratized.”

I wonder if that’s the same or at least analogous to minds error correcting some skill to the point they automatize it.

In both cases, access to knowledge becomes cheap and fast.

#4485​·​Dennis Hackethal, 6 months ago

Let me know what you think about all this.

One of my colleagues at Apple was an incredibly competent veteran engineer whom I respected a lot. One of the things he taught me was to not always go with my first instinct, but to come up with several solutions to a problem and seeing which one is best. (Looking back and putting it in Veritula terms, I’d rephrase it as: which one survives all criticism. I think in practice, that’s what he did, too.) So your post resonates with me.

Many of my choices are kind of uncreative—I simply do the first thing that pops into my mind …

This approach isn’t necessarily bad, though. I think it depends on whether you already have a considered opinion on a matter. Sometimes, you might do the first thing that pops into your mind because it’s the result of many rounds of previous error correction from similar situations, and you’ve automatized the solution. Then I think it’s fine.

#4484​·​Dennis Hackethal, 6 months ago

But don't let impatience cause you to reduce the number of minutes you go with—the best ideas often come when we are getting bored or feeling a little friction.

That sounds like it could be a bit self-coercive at times.

#4483​·​Dennis Hackethal, 6 months ago​·​Criticism

Some of those ideas would suck, but some of them would probably be a lot more useful and interesting than whatever I would’ve done otherwise that week if I didn’t spend 5 minutes exclusively thinking about it.

Should it say ‘hadn’t spent’ rather than “didn’t spend”? Or ‘would do … if I didn’t’.

#4482​·​Dennis Hackethal, 6 months ago​·​Criticism

I also found Nate Soares blogposts talking about using this approach (I’m guessing the Neel Nanda article was at least partly inspired by Nate Soares):

In 'Obvious advice', Nate Soares writes:

You have two consecutive colons there. Maybe you meant to merge those two parts?

#4481​·​Dennis Hackethal, 6 months ago​·​Criticism

Fixed as of 9ea99f9.

#4480​·​Dennis HackethalOP, 6 months ago​·​CriticismArchived

Should be fixed as of 9ea99f9 but let me know if you’re still having issues.

#4479​·​Dennis HackethalOP, 6 months ago​·​CriticismArchived