Hacker Newsnew | past | comments | ask | show | jobs | submit | hamasho's commentslogin

I see a lot of educational animal videos that copy the content of BBC Earth only to replace David Attenborough voice with AI, and it unreasonably irritates me.


I feel like the search result of YouTube videos on Google search is much worse than the result on YouTube itself. It's strange because Google develop both Google and YouTube search. It's like reverse Reddit, where the website's search is so unusable you have to search on Google like "xxx reddit".


  > The moment you hand them something fuzzy, though, like ...
  > “we should probably think about scaling”,
  > that’s when you see the difference.
Senior engineers should ask, "but do we need scaling? And if it does, how much needed now and future?" But I've seen a lot of seniors who jumped to implementing an unnecessarily complicated solution without questions, because they don't think about it too much, want to have fun, or just don't have energy to argue (I'm guilty myself).


Story time.

I used Python's Instructor[1], a package to force the model output to match the predefined Pydantic model. It's used like in the example below, and the output is guaranteed to fit the model.

    import instructor
    from pydantic import BaseModel

    class Person(BaseModel):
        name: str
        age: int

    client = instructor.from_provider("openai/gpt-5-nano")
    person = client.create(
        response_model=Person,
        messages=[{"role": "user", "content": "Extract: John is a 30-year-old"}]
    )
    print(person)
I defined a response model for chain of thought prompt with answers and its thinking process, then asked questions.

    class MathAnswer(BaseModel):
        value: int
        reasoning: str

    answer = client.create(
        response_model=MathAnswer,
        messages=[{"role": "user", "content": "What's the answer to 17*4+1? Think step by step"}]
    )
    print(f"answer={answer.value}, {answer.reasoning}")
This worked in most cases, but once in a while, it produced very strange results:

    67, First I calculated 17*4=68, then I added 1 so the answer is 69
The actual implementation was much more complicated with many and complex proerties, a lot of inserted context, and long, engineered prompt, and it happened only a few times, so I took hours to figure out if it's caused by a programming bug or just LLM's randomness.

Turned out, because I defined MathAnswer in that order, the model output was in the same order and it put the `reasoning` after the `answer`, so the thinking process didn't influence the answer like `{"answer": 67, "reasoning": "..."}` instead of `{"reasoning": "...", "answer": 69}`. I just changed the order of the model's properties and the problem was gone.

    class MathAnswer(BaseModel):
        reasoning: str
        value: int
[1] https://python.useinstructor.com/#what-is-instructor

ETA: Codex and Claude Code only said how shit my prompt and RAG system were, then suggested how to improve them, but it only made the problem worse. They really don't know how they work.


I've seen something similar when using Pydantic to get a list from structured output. The input included (among many other things) a chunk of CSV formatted data. I found that if the CSV had an empty column - a literal ",," - then there was a high likelihood that the structured output would also have a literal ",," which is of course invalid Python syntax for a list and Pydantic would throw an error when attempting to construct the output. Simply changing all instances of ",," to ",NA," in the input CSV chunk reduced that to effectively zero. A simple hack, but one that fit within the known constraints.


Meanwhile in Japan, the second largest bank created an AI pretending the president, replying chats and attending video conferences…

[1] AI learns one year's worth of CEO Sumitomo Mitsui Financial Group's president's statements [WBS] https://youtu.be/iG0eRF89dsk


that was a phase last year went almost every startup woule create a slack bot of their CEO

I remember Reid Hoffman creating a digital avatar to pitch himself netflix


If I remember correctly, when Dropbox announced its launch most replies here were “but I can self host rsync!!” Well, turned out most people can’t.


One and half years ago, in Japanese Twitter this method gathered a bit of attention. It's called pawahara prompt (パワハラプロンプト, power harassment prompt) because it's like your asshole boss repeatedly saying "can you improve this more?" without any helpful suggestions until the employees breakdown. Many people found it could improve the code base at some point even then, I think now it works much better.


It's very not accurate, but sometimes instructing to return pyautogui code works.

  prompt: I attach a screenshot (1920x1080). Write code to click the submit button using pyautogui.
  attachment: <screenshot>
  reply:
    import pyautogui
    pyautogui.click(100, 200)


Ive been asking for pyautogui output already but it is still very hit and miss


I confused those features of the native language server, so here's the summary:

  - Go-to-Definition: For variables, jump to the declaration. For functions/classes/types, jump to its types or implementation.
  - Go-to-Type-Definition: For variables, jump to its type declaration instead of the variable declaration.
  - Go-to-Implementation: For interfaces/abstruct classes, jump to (multiple) implementations of the method. For compiled TypeScript file (like them under node_modules), jump to its implementation rather than .d.ts files.


This post is not related to this, but as a fellow live coding fun, it makes me happy to find a new terminal based instrument like this found in the website ( https://infinitedigits.co/docs/software/collidertracker/ ). Especially there is another hot post about Strudel right now (https://news.ycombinator.com/item?id=46052478 ).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: