HackerLangs
TopNewTrendsCommentsPastAskShowJobs

mpoteat

no profile record

Submissions

We want strict narrowly typed JSX

github.com
5 points·by mpoteat·5 maanden geleden·2 comments

Unicode variation selectors for invisible LLM injection

code.lol
3 points·by mpoteat·10 maanden geleden·1 comments

comments

mpoteat
·3 maanden geleden·discuss
You can actually do better: hint - variational selectors, low bytes.
mpoteat
·5 maanden geleden·discuss
I also have a corresponding blog post here, where I use this capability to embed custom JSX types as an alternative way to express 'concatenative' higher-kinded pipelines: https://code.lol/post/programming/jsx-hkt/

I just think it's neat
mpoteat
·8 maanden geleden·discuss
I've had similar issues with conversation memory in ChatGPT, whereby it will reference data in long-deleted conversations, independent of my settings or my having explicitly deleted stored memories.

The only fix has been to completely turn memory off and have it be given zero prior context - which is best, I don't want random prior unrelated conversations "polluting" future ones.

I don't understand the engineering rationale either, aside from the ethos of "move fast and break people"
mpoteat
·8 maanden geleden·discuss
This is a LLM directly, purposefully lying, i.e. telling a user something it knows not to be true. This seems like a cut-and-dry Trust & Safety violation to me.

It seems the LLM is given conflicting instructions:

1. Don't reference memory without explicit instructions

2. (but) such memory is inexplicably included in the context, so it will inevitably inform the generation

3. Also, don't divulge the existence of user-context memory

If a LLM is given conflicting instructions, I don't apprehend that its behavior will be trustworthy or safe. Much has been written on this.
mpoteat
·8 maanden geleden·discuss
Actually, it's even simpler: you should just be able to use signature overloading:

  myFunc(x: true): number
  myFunc(x: false): string
The article's assertion that TypeScript can't represent this is quite false.
mpoteat
·9 maanden geleden·discuss
> I also avoid technologies where the code I write is different from the code being executed.

Not to be snarky, but as opposed to writing assembly? Where do you draw the line if you don't allow TypeScript (which is, with limited exceptions, only type erasure unless you specifically request polyfill), but allow other forms of compilation? Would you define JVM bytecode or IR as messy-looking junk code?

It's hard to see how a principled line could be drawn here.
mpoteat
·9 maanden geleden·discuss
@marvinborner

Is there any hope for a "hashlife" style cache for a TC language? My understanding is that hashlife exploits spatial locality / "causation speed" in GoL, which isn't available in LC because of beta reduction. Thoughts?
mpoteat
·9 maanden geleden·discuss
I like to refer to code that has been overly injected with syntactic sugar as "caramelized". We need more culinary metaphors for programming jargon!
mpoteat
·10 maanden geleden·discuss
Recently, LeetCode has begun hiding instructions (using css) in their competitions to use particular unique variable names like 'dexolarniv' - and anyone using such a variable name in their submission gets summarily banned.

In their implementation, the hidden prompt does show up on copy/paste - however I tested this method, and the LLM (i.e. ChatGPT) does still follow the Unicode-hidden instruction and uses 'dexolarniv' in the code returned! So I think this is (right now) a viable invisible injection strategy.
mpoteat
·7 jaar geleden·discuss
Many developers, IMO, actively ignore their community (close issues, ignore pull requests) and take their project the direction they want to without external interference. (and this is their divine right)

However I think this implicit obligation you refer to would keep projects open.