HN user

spdustin

4,658 karma

[ my public key: https://keybase.io/spdustin; my proof: https://keybase.io/spdustin/sigs/axdS8uwdXgqT3BEcP5d1fe5XZFIrLhmUzVuMo8Tuo74 ]

Posts68
Comments1,289
View on HN
www.theverge.com 1y ago

Verizon's mobile services are down across the country

spdustin
11pts2
www.youtube.com 2y ago

Intuitive Machines' Odysseus lander is likely on its side [video]

spdustin
16pts3
news.ycombinator.com 2y ago

Ask HN: Have you ever moved from VSCode to Emacs?

spdustin
4pts5
www.youtube.com 2y ago

Information Society: 300bps N, 8, 1 (Terminal Mode Or Ascii Download) [video]

spdustin
1pts2
news.ycombinator.com 2y ago

OpenAI GPT Store Launches Next Week

spdustin
1pts1
blog.google 2y ago

Google's NotebookLM (RAG-based chat) now available in the US

spdustin
2pts0
chat.openai.com 2y ago

AutoExpert (Academic) GPT for analyzing scholarly papers

spdustin
1pts2
github.com 2y ago

ChatGPT's "Browse with Bing" (allow|deny)lists

spdustin
2pts2
old.reddit.com 2y ago

ChatGPT will read instructions from a PDF and lie to you

spdustin
14pts10
github.com 2y ago

ChatGPT "All Tools" System omni-prompt

spdustin
1pts1
github.com 2y ago

ChatGPT’s system prompts

spdustin
827pts389
github.com 2y ago

Show HN: ChatGPT AutoExpert (Supercharged Custom Instructions for ChatGPT)

spdustin
7pts0
spdustin.substack.com 2y ago

What're You Lookin' At, ChatGPT?

spdustin
2pts1
www.amazon.com 2y ago

Amazon ending Alexa Guard, will charge for alarm and glass break detection

spdustin
2pts1
clockwise.page 3y ago

DIY, full featured and smart wall clock

spdustin
2pts0
www.elotl.co 3y ago

Nova: Multi-Cluster Federated Kubernetes

spdustin
1pts0
www.nbcnews.com 4y ago

Twitter sues Elon Musk, accuses him of [ ] 'trashing the company'

spdustin
7pts0
news.ycombinator.com 5y ago

Ask HN: Do you recommend anti-malware to your family?

spdustin
14pts15
abcnews.go.com 5y ago

Illinois Facebook users tagged in photos can now submit class action claims

spdustin
2pts1
news.ycombinator.com 5y ago

Ask HN: PM, KMS, CMS is there one tool to rule them all?

spdustin
1pts0
nginxproxymanager.com 6y ago

Nginx Proxy Manager – UI to manage letsencrypt-secured reverse proxies

spdustin
18pts1
news.ycombinator.com 6y ago

Ask HN: Sources for $10K Seed Money?

spdustin
2pts3
news.ycombinator.com 7y ago

Ask HN: Best free compute and other resources for startups?

spdustin
389pts143
en.wikipedia.org 7y ago

List of Cognitive Biases

spdustin
5pts1
news.ycombinator.com 8y ago

Ask HN: Aside from Emacs/Clojure, how/why do you use Lisp?

spdustin
4pts2
www.mautic.org 8y ago

Open Source Marketing Automation: Mautic

spdustin
1pts0
www.thelightphone.com 8y ago

The Light Phone: Leave your smartphone behind

spdustin
4pts3
medium.com 8y ago

For Social Media Companies, You Are the Product. You Deserve Better

spdustin
3pts0
twitter.com 8y ago

HHS to take healthcare.gov offline for 12 hours every Sunday

spdustin
3pts0
medium.com 9y ago

Is There a “Bots for Trump” Takeover?

spdustin
3pts0
Various LLM Smells 2 months ago

- “(The) honest caveat:” (or “genuine caveat:”, both with the colon)

- “(The) honest answer:” (again, with colon)

- “The thing to internalize:”

- “The smoking gun:”

(really, sentences that start with “The <tag suggesting the next clause is the key point>:” are a strong tell, but those four are the most prolific)

- “load bearing” (when not talking about architecture)

- “blast radius” (when not talking about actual explosives, but rather the effect of an event/action)

- “smoke test” (esp. when “sanity check” is more apropos)

- Lists of three clauses/adjectives where the third is really just a combination of the first two

- Referring to the “shape” of things figuratively

- Social media posts that end with “Curious if anyone…”

- Stories or anecdotes using. “Oh. Oh.” (where the second “oh” is italicized)

Edit: Yes, some of those last ones are terms that we often use as devs...but I would argue about the actual frequency of their use. Plus, these tells live on in prose generated by the latest models.

Well done! I’ve built this same sort of thing for my family to play with. My advice for the best results:

1) Structure the choices offered by the LLM; add “choice_type” and add instructions to the LLM on what those choices should do. E.g. action, dialogue, investigation, whatever makes sense for the genre—the LLM can even generate these at story start—then “choice should direct the narrator to focus on an action-oriented moment”, “choice should direct the narrator to focus on a dialogue between two or more characters in the scene”, etc.

2) Use reasoning whenever making tool calls for choices, summarize the reasoning, and include it in narrative summaries provided as part of the context for future narrative requests. For example, the combined summary might be: “In the last narrative I wrote for the user, Harry and Luna were startled by the noise coming from the edge of the forest. Important scene developments: 1) Luna and Harry had been approaching the edge of the forbidden forest for the last three narrative turns, and in the turn I just wrote they arrived at the edge. 2) Harry seemed to be the more courageous of the two in previous narrative turns, but in the most recent one, the user’s choice resulted in Harry becoming more deferential to Luna. 3) In the most recent narrative turn, the noise that had been emanating from the forest was now accompanied by a flickering light. I then suggested paths that would allow for character development through dialogue between Harry and Luna (I gave two options here), a path to move the story forward by having Harry take Luna’s hand before running into the forest, and another path that would slow the pace by having Luna investigate the flickering light accompanying the sound. The user’s choice: ‘Have Luna investigate the flickering light.’

3) Add an RNG weighted by story length or whatever works for you that will result in choices that lead the story to a conclusion. Include that direction in the tool call for generating choices, along with a countdown to the finale choice.

This is a rough mental sketch of what worked the best for me, i purposefully left out implementation or application details, as I don’t know what you’re wanting to do next.

Good luck, looks great!

My answer to this in my own pet project is to mask terms found by the NER pipeline from being corrected, replacing them with their entity type as a special token (e.g. [male person] or [commercial entity]). That alone dramatically improved grammar/spelling correction, especially because the grammatical "gist" of those masked words is preserved in the text presented to the LLM for "correction".

One note: For truly "responsive" text (and other measures, like padding/margins), I often use relative units of measurement. At the very least, rem/em, but more and more I'm using viewport¹ (including dynamic) and container query² units. I'm not your target market, and I know that owning the renderer makes this request more complex that it would seem, but I thought I'd point it out just in case you think it should be on your radar.

1) https://caniuse.com/viewport-units, https://drafts.csswg.org/css-values/#viewport-relative-lengt... (includes dynamic and inline/block lengths)

2) https://caniuse.com/css-container-query-units, https://www.w3.org/TR/css-contain-3/#container-lengths

Well, my wife and I have been on a months-long experiment. We have HomePod minis, Macs and iPhones/iPads in the house. They are able to access the internet without restriction (other than using my own DNS resolver for ad/malware blocking purposes.

Our TVs (2020-era Vizio and 2018-era Samsung) are on a separate VLAN for home automation control, and are otherwise blocked from the internet¹. Additionally, they have the various "content intelligence" features disabled...just in case.

We also have a few Nest devices (the 1st gen wired Hello doorbell cam, The Nest/Yale deadbolt, a 2nd gen thermostat, and some Nest Protects) that are normally similarly segmented, though the Hello is allowed to communicate to the necessary domains for video streaming and PubSub notifications.

On August 1, while on a neighborhood walk without any electronic devices, we formulated the plan: every day, we'd find a reason to discuss mulch² in the presence of various devices in our home. What color of mulch we think would look best around various trees. The virtues of recycled rubber as a mulch substitute. The drainage issues it causes. And so on.

We committed to never searching for mulch online (to hide from the ever-present surveillance online), never discussing it with anyone (to avoid social network effects), never buying it (no data broker can hoover up mulch purchases), not dwelling on any social media post about mulch (analytics, man, it's crazy what that bit of metadata can do)...not even hanging around the garden department of local stores (gotta avoid bluetooth/BLE/wifi tracking).

But I DID disable the DNS blocklists (much to our browsing frustration). And while the smart home stuff remained on its own VLAN, I allowed it otherwise unfettered access to the internet during the month of August.

Since the experiment began, we've seen the net sum of zero (0) targeted ads about mulch. No banners, no interstitial social media posts, no phone calls, no flyers in the mailbox. Nothing.

I really don't believe that our devices are eavesdropping on us, but in the interest of science, the experiment continues for another month.³

---

1) Yes, I recognize that Sidewalk/ethernet-over-HDMI/hard-coded DNS/etc is a purported "thing", but I don't believe it's likely. I'm controlling for this during the month of September by re-enabling the filtering mentioned at the start; if our TVs are committed to exfiltrating surveillance data.

2) We've not really been discussing mulch. I'm using that as a proxy here, because all of the internet is a series of tubes that lead to advertising networks. But we did choose a unique topic of conversation that would be relevant to our demographics, geographical location, and season, and meaningful to advertisers.

3) On September 1, I re-enabled all the blocklists and VLAN network filters/blackholes. But we continue to discuss, er, mulch. Like I said, if our stuff really really wants to phone the mothership to have Big Mulch pay us a visit, there are supposed to be ways for them to do that. Right?

___

EDIT: The topic we chose is also something that's not typically discussed in our social network, nor our kids' social networks. I will say that it's related to a profitable market, and we're in the target demographic, but we did our best to identify a market that we didn't have in common with our social groups.

It storms a lot here. And kids are notorious for not hearing things that are obvious to the rest of us. :)

My kids aren't paranoid, they don't freak out about the storms. It's just a natural thing, and a reminder that there's a potential that nature's best light show is in store for them. A nice side effect is that they're not afraid of storms—they look forward to watching them.

A similar one changes my LED-filled floor lamp (running WLED) to a pattern that matches the current weather conditions. Falling rain, lightning, heat "rising". Sort of an ambient notification system.

Another warns my wife if her commute time home is expected to be longer than usual, so she can opt to get a bit more work done if it means a quicker drive with a similar arrival time.

My favorite is the laundry notification. Current sensing outlets let us know when the washer or dryer is in use, and door sensors track if the lid to the washer or dryer is open/closed. So if someone starts laundry, the HomePods play a chime and announcement that "the washing machine is done!" If the door isn't opened in 15 minutes, it chimes again. Another 15 minutes, and a notification is sent to me and my wife. :D

Building are different in different countries, and other geopolitical divisions. The UK authorities, for example, say it's safe to shower during a storm as long as your plumbing has been properly integrated into a standards-compliant equipotential bonding, noting that said standards change over time. So, you'd have to know them and trust/verify the builder followed them.

Or, you know, just wait a while and enjoy the show.

Whatever. You do you.

The risk of death of showering during a lightning storm could be the same as the risk of death going for a 15 mile drive[0].

A typical lightning bolt is about 300 million Volts and about 30,000 Amps. Since even the best-grounded home certainly can't sink 30,000 amps of current into the neutral-bonded earth bar, it has to go somewhere. It finds multiple paths, and the current is shared between them. There's also the conversion to heat in all those insufficient conductors, etc.

[0] https://www.independent.co.uk/news/science/is-it-safe-to-tak...

It largely centers on this template sensor:

    {% set distance = states('sensor.lightning_detector_lightning_distance')|int(999) %}
    {% set bearing = states('sensor.lightning_detector_lightning_azimuth')|int %}
    {% set wind_bearing = states('sensor.pirateweather_wind_bearing')|int %}
    
    {% set bearing_normalized = bearing % 360 + 360 %}
    {% set bearing_left = (wind_bearing-80) % 360 + 360 %}
    {% set bearing_right = (wind_bearing+80) % 360 + 360 %}
    {% set distance_max = 20 %}
    {% set bearing_min = ([bearing_left,bearing_right]|sort)[0] %}
    {% set bearing_max = ([bearing_left,bearing_right]|sort)[-1] %}
    {% set approaching = bearing_min < bearing < bearing_max %}
    {% set close = distance < distance_max %}
    {{ close and approaching }}
It normalizes the bearings to avoid dealing with the 0-degree crossover, and is reevaluated automatically whenever the three tracked entities change their state.

The automation itself is set to "restart" mode, and fires whenever the template sensor is true. It then waits for the sensor to be false for 15 minutes, and for the nearest lightning distance to be > 20 miles for 15 minutes.

Why a 20 mile radius? It's a good enough proxy for the time it takes them to prep for (get clothes ready, etc) and then actually shower (and brush teeth, 30 minutes total), and most storms in my area tend to move through at ~40mph.

The difference in expected utility from showering (either during a lightning storm or not) is minimally affected by the choice to postpone it. That's why I'm content to call it a binary rule.

The choice of showering/bathing at all has a different risk profile, yes, and also a different expected utility. Comparing the two is a false equivalence.

Statistically speaking: our kids (and their parents) simply enjoy watching storms, and we all choose to shower when the risk of lightning is zero. That choice maximizes utility, as our subjective enjoyment of the light show isn't diminished by postponing something as pedestrian as a shower for an hour.

Yes, especially in older homes or homes with poor grounding. Lightning can discharge through water supply lines[0]. There are even cases of toilets exploding due to lightning strikes[1]. (Google for more)

Sure, it's exceedingly rare. But it's also exceedingly easy to avoid. I've taught my kids that some decisions are easier when defined as binary rules; judgment calls in cases like this just don't offer any tangible benefit other than "I showered an hour earlier than I would have otherwise."

[0] https://www.weather.gov/safety/lightning-indoors

[1] https://fox8.com/news/lightning-blows-up-toilet-after-travel...

MythBusters even did a bit on it. They rated it "plausible".

From the repo:

    Data is served through a public MQTT server (dedicated to serve requests for this component) - thanks to geohash-based topics and some other optimizations it greatly reduces amount of data sent to clients comparing to direct websocket connection to Blitzortung servers (it is also required by Blitzortung data usage policy - third party apps must use their own servers to server data for their own clients).

For my kids, I have a virtual light switch in HomeKit called "Shower Is Safe". It's pinned to the top of the Home app.

I use the Home Assistant integration to fetch this data and run some calculations on the past few minutes of lightning activity. Since the API returns lightning strike time and bearing from a given location, I can (in combination with wind direction) determine if the lightning is approaching or receding.

If it's approaching and less than 30 minutes away (or if any strike is within 20 miles in any direction), it turns off the light switch. It then waits until it's been receding for at least 15 minutes (and with no more detections within 20 miles) before switching "Shower is Safe" back on.

I can (and do) override it if I notice it's potentially hazardous to shower.

The issue with using Pydantic's model_to_json is that nested objects will return a nested schema, and OpenAI ignores description annotations for anything not at the root level. In practice, that means any nested parameters (e.g. array of objects) need to be really well-named, or have their descriptions hoisted up to the parent parameter.

Even better: extract them to their own function, list all the resulting functions when composing the completion request, and re-assemble the final object when the completion is returned.

DHT22 isn't too bad (and certainly more accurate than the DHT11), and even though it's slow, it seems fine for the OP's use case.

Personally, I like the HDC3021. It's I2C, uses different addresses for different sample rates, high accuracy and precision, and has a built-in heater so your code can command it to cook off condensation if dew points are high. It's also more expensive, but man, it's a robust component.

[dead] 2 years ago

Please consider removing the last para. It's not relevant, and we don't need to give folks on the right even more reason to respond to the left with violence.

I'm concerned that readers are getting the wrong idea. This seems to be guidelines for agencies placing ads on behalf of Mozilla. As in, if Mozilla contracts with Acme Ads to run a campaign, Acme can't do retargeting, etc.