LESSWRONG
LW

472
papetoast
37112252
Message
Dialogue
Subscribe

Year 4 Computer Science student

find me anywhere in linktr.ee/papetoast

Posts

Sorted by New

Wikitag Contributions

Comments

Sorted by
Newest
1papetoast's Shortforms
3y
61
1papetoast's Shortforms
3y
61
Open Thread Autumn 2025
papetoast7h20

LW uses graphql. You can follow the guide below for querying if you're unfamiliar with it.

https://www.lesswrong.com/posts/LJiGhpq8w4Badr5KJ/graphql-tutorial-for-lesswrong-and-effective-altruism-forum (For step 3 it seems like you now want to hover over output_type instead of input)

Reply
GraphQL tutorial for LessWrong and Effective Altruism Forum
papetoast7h10

For step 3 it seems like you now want to hover over output_type instead of input

Reply
papetoast's Shortforms
papetoast1d10

How I use AI for coding.

I wrote this in like 10 minutes for quick sharing.

  • I am not a full time coder, I am a student who code like 15-20 hours a week.
    • Investing too much time on writing good prompts make little sense. I go with the defaults and add pieces of nudges as needed. (See one of my AGENTS .md at the end)
  • Mainly codex (cloud) and Cursor. Claude Code works, but being able to easily revert is helpful, so Cursor is better.
    • I still try out claude code for small pieces of edits, but it doesnt feel worth it.
    • I have no idea why people like claude code so much? CLI is inferior to GUI
    • Using cursor means I don't need to have multiple git worktrees for each agent, as long as I get them to work on different parts of the codebase
  • Mobile coding is real and very convenient with codex (cloud), but I still review and edit on desktop.
  • Using multiple agents is possible, but usually one big feature and multiple smaller background edits.
    • Or multiple big features using codex cloud, and delay review to a later time.
  • Codex cloud is good but only generate one commit for PR, often I need to manually split them up. I am eyeing on other cloud agents solution but havent tried them seriously yet.

Current prompt for one of the python projects

## Code Style  
- 120-character lines  
- Type hints is a must  
- **Don't use Python 3.8 typings**: Never import `List`, `Tuple` or other deprecated classes from `typing`, use `list`, `tuple` etc. instead, or import from `collections.abc`  
- Do not use `from __future__ import annotations`, use forward references in type hints instead. `TYPE_CHECKING` should be used only for imports that would cause circular dependencies.  
  
## Documentation and Comments  
Add code comments sparingly. Focus on why something is done, especially for complex logic, rather than what is done. Only add high-value comments if necessary for clarity or if requested by the user. Do not edit comments that are separate from the code you are changing. NEVER talk to the user or describe your changes through comments.  
  
### Using a new environmental variable  
When using a new environmental variable, add it to `.env.example` with a placeholder value, and optionally a comment describing its purpose. Also add it to the `Environment Variables` section in `README.md`.  
  
### Using deal  
We only use the exception handling features of deal. Use `@deal.raises` to document expected exceptions for functions/methods. Do not use preconditions/postconditions/invariants.  
  
Additionally, we assume `AssertionError` is never raised, so `@deal.raises(AssertionError)` is not allowed.  
  
## Testing Guidelines  
To be expanded.  
  
Mocking is heavily discouraged. Use test databases, test files, and other real resources instead of mocks wherever possible.  
  
Allowed pytest markers:  
- `@pytest.mark.integration`  
- `@pytest.mark.slow`  
- `@pytest.mark.docker`  
- builtin ones like `skip`, `xfail`, `parametrize`, etc.  
  
We do not use  
- `@pytest.mark.unit`: all tests are unit tests by default  
- `@pytest.mark.asyncio`: we use `pytest-asyncio` which automatically handles async tests  
- `@pytest.mark.anyio`: we do not use `anyio`  
### Running Tests  
Use `uv run pytest ...` instead of simply `pytest ...` so that the virtual environment is activated for you.  
  
## Asking for Help  
- Refactoring:  
As a command-line only tool, you do not have access to helpful IDE features like "Refactor > Rename Symbol". Instead, you can ask the user to rename variables, functions, classes, or other symbols by providing the current name and the new name. It is important that you don't rename public variables yourself, as you might miss some occurrences of the symbol across the codebase.  
  
## Information  
Finding dependencies: we use `pyproject.toml`, not `requirements.txt`. Use `uv add <package>` to add new dependencies.

(Note that the Asking for Help is basically useless. It was experimental and I never got asked lol)

Reply
You Should Get a Reusable Mask
papetoast6d51

I don't doubt the conclusion, but I think we would be buying (life expectancy - age) life years instead of 1 life.

Reply
What I've Learnt About How to Sleep
papetoast9d10

Are you guys talking about tin foil for small lights that some appliances emit? For windows I don't understand why not just use a curtain.

Reply
shortplav
papetoast11d10

It is a bit unintuitive for me that hallucination are made-up inputs, but it does make sense.

Reply
AllAmericanBreakfast's Shortform
papetoast23d12

Hard to tell simply with what you said, mind sharing the conversation?

Reply
Quality Precision
papetoast1mo10

I apologize. Should have searched before talking.

Reply
Quality Precision
papetoast1mo00

Side note: This seems like a completely different topic from your top level comment. Kind of weird to start a mostly tangential argument inside an unresolved argument thread.

You'd still be better off creating the 1M x 100 world than the (1M + 1) x (100 - ε) world.

  1. Where does (1M + 1) come from?
    1. In the post Ben mentions that manufacturer doing hundreds of experiments, not millions. Of course, in the limiting case the smallest quality drop can and will be observed, but I believe Ben is not talking about that.
    2. Even we use the 1M base figure, it doesn't explain why it is +1 rather than e.g. +1000
  2. You are assuming that the icecream manufacturer is trying to maximise aggregate utility, which seems obviously false to me.
[This comment is no longer endorsed by its author]Reply
Dating Roundup #7: Back to Basics
papetoast1mo30

Alternatively, what about matching people by browser history? If there is a way to avoid data security and privacy concerns (ha!) then there are actually a lot of advantages.

I have recently learned that Fully Homomorphic Encryption (doing calculations on encrypted data) 1. exists and 2. is usable in a small scale. 

https://bozmen.io/fhe
https://bozmen.io/fhe-current-apps (FHE Real-world Applications)

Current FHE has 1,000x to 10,000x computational overhead compared to plaintext operations. On the storage side, ciphertexts can be 40 to 1,000 times larger than the original. It's like the internet in 1990—technically awesome, but limited in practice.

Reply
Load More
Instrumental convergence
2 years ago
(+21/-11)
Conversation (topic)
3 years ago
(+11/-11)