the more i try to make bun work the more it feels like a fucking meme
`bun:sqlite` are such great and blazing-fast™ sqlite bindings that the database can't be even be cleaned up properly in wal mode!
```js
import { Database } from 'bun:sqlite'
const db = new Database('test.db')
db.exec('pragma journal_mode = wal')
db.exec('create table test (test text)')
db.close()
```
yep this wont work and will keep the `-wal` and `-shm` files even after the script ended. and an issue on (a likely related) bug is open for almost a year already.
nobody uses `bun:sqlite` i suppose :D
@[email protected] im fairly certain this is supposed to be a temporary solution so it can already be semi-usable without having to implement everything from scratch, but it does feel weird and misleading.
esp when its such a widely used AND performant-critical thing, like `crypto` or `zlib`.
100% compatibility with node!*
<small>* using pre-existing pure-js polyfills because the scope of the project is just so enormous we don't have time to do everything from scratch</small>
turned out zlib is also polyfilled from browserify, bruh :neocat_woozy:
i could probably just make a native addon that would export the missing stuff i need, but i don't care about bun enough to spend time on that so ill probably just re-use my browser wasm
funnn
`crypto.pbkdf2` just randomly returns some gibberish instead of a real result, while `deriveBits` works correctly every time.
```log
pbkdf2(a8b841c8dbbbaae2ecb53851aa577be41b805e03c02e6ef1db200c0884df1439, a53001962360393006d081ca77608b3fc984fcb8f231b29e2a55da4c92df39585dc7173c98a61a8c, 100000, 64, sha512)
node crypto result: e760cb6df317d349d29c42f7a49d1939296339434831c825c1f8dda392edeb5d8912650059e7d5560081544fe0afe40fed5215fd7b7054cf2166abcc5ce87316
subtle crypto result: c034cfb2e1c48945ad062b93b5725b0722a50d33680dd6526bccae2b95a6adee9b020c7be3e47c734e471ccf2516c895d04aa74b9ddffca1e2e1fd7e02a90236
```
and it turned out bun doesn't even implement node's crypto on its own! it uses [crypto-browserify](https://npm.im/crypto-browserify), which haven't been updated in **6 YEARS** ([src](https://github.com/oven-sh/bun/blob/main/src/node-fallbacks/crypto.js)). and yes, it's **slow as shit** (like, noticably slow, there's even an [issue about this](https://github.com/oven-sh/bun/issues/883))
i can't even get a proper minimal repro, since it works fine *sometimes*, and i don't care enough to debug this further, since the issue is probably in the underlying library which likely won't even be updated anytime soon.
fucking hell. blazing fast my ass
fun, there seems to be some bug with bun's implementation of node's `crypto` module which breaks my srp implementation. and my tests somehow don't catch this either.
plugging in the crypto impl i use for the web works fine.
it will be a pain to debug :neocat_cry:
@[email protected] idk about rust, but for typescript worked absolutely nothing. literally just notepad.exe but in rust.
i dont think zed will become usable anytime soon..
like, it tried to start both eslint lsp and tsserver but failed to do either and just died miserably
@[email protected] ну справедливо конечно что это по большей части ебучая бюрократия ради бюрократии, но мне просто очень тяжело морально подобное сабмитить :neocat_woozy:
мои отзывы конечно все равно не особо полезны и не то чтобы сильно влияют на что то, но все же хочется быть хоть немножко более полезной
ну и нас постоянно перед ревью тыкают что "вот такого рода отзывы бесполезны и не надо их делать", так что хз.
asking chatgpt to help writing reviews is stupid
>THEIR CONTRIBUTION TO THE DEVELOPMENT WAS SIGNIFICANT
>THEY HAVE SHOWN A GOOD UNDERSTANDING OF THE TASKS AND BUSINESS REQUIREMENTS
>THEIR PARTICIPATION IN [project name] ADDED VALUE TO THE PROJECT
do people really write reviews like this?
these are utterly fucking useless and mean absolutely nothing :neocat_woozy:
@[email protected] @[email protected] literally this. the worst part about current llms is that they cant say "i dont know" and would rather come up with some nonsense, making them utterly useless on their own.
llms are *really* good at writing *convincing* texts, which is really all that they should be doing. paired with a human that would be able to discern hallucinations from reality. not the other way around.
agi is scary and all, but llms just wont become agi anytime soon
@[email protected] @[email protected] decorators are not in the standard.
field initializers were only standardized recently.
`constructor(readonly foo: string) {}` shorthand has no alternative in the standard.
a lot of ts-specific stuff like type aliases just don't exist at runtime and is just removed, leading to a different number of lines
*a lot* of code is targeting commonjs, which leads to ugly generated imports/exports code.
just off the top of my head
@[email protected] @[email protected] no its not a minimizer? ts only adds the required shims for the code to work as intended, which sometimes changes the code so much it has to be written in a different number of lines.
if you use esnext and esm as target this is much less of a problem, since its much closer to ts. also source maps exist precisely to solve that issue.
still waiting for native types in js though...
ok now [this](https://www.vedomosti.ru/finance/news/2024/03/20/1026730-otkritie-schetov-podrostkam) is fucked up
> State Duma deputies will consider a bill that would prohibit credit institutions from opening accounts for teenagers aged 14 to 18 years without the consent of legal representatives
> At the same time, parents, adoptive parents and trustees are allowed to request information related to banking secrecy about accounts and deposits opened by children, as well as about transactions performed.
yay, lets fucking enable domestic abuse towards minors even further. this WILL damage countless children.
this is so fucked up...
@[email protected] @[email protected] по моему на серверах телеги как раз виспер гоняется :D
как минимум по выхлопу похоже
ну и мб стоило не tiny пробовать, да
man i love coming to the office to have zero fucking tables available and having to sit on a fucking couch for the whole day
bitch i could do that at home whats the point
@[email protected] ok now that im doing frontend again i agree that being able to just yolo is kinda nice.
i still try to do at least some level of decoupling, but every time i remember 60-props components at work its just :neocat_googly_shocked:
ignore my previous posts, backend brainrot :neocat_woozy:
@[email protected]
> rather than testing what the users actually see, they end up testing the internal code instead
that's kinda the point though?
it often makes sense to test the business logic without ui
and to test ui interactions without being tied to the outside world
@[email protected] ehh, decoupling ui from data is important even on the web tho
makes testing stuff much easier, and also improves maintainability since you have a clean boundary between presentation logic and business logic
and yeah its not entirely compatible with native node addons either: https://github.com/oven-sh/bun/issues/6506
at least on macos most of the native addons just dont work
bun is cool but im honestly starting to think that the path they chosen (being fully compatible with node) is not really sustainable :neocat_woozy:
ok nevermind lmao, i think i am stupid actually
turned out it actually run under node, because bun needs to be run as `bun --bun` for it to run under bun.
no wonder it worked fine :neocat_woozy:
and it also turned out vitest doesn't even work under bun because of [api incompatibilities](https://github.com/oven-sh/bun/issues/4145), lol
and i can't just use `bun test` because of [this](https://very.stupid.fish/notes/9q5u4ydvkap2010i) and [this](https://github.com/oven-sh/bun/issues/3623) and incompatibilities in snapshots format and ...
@[email protected] ehh, imo the yuri aspect was kinda nice
though i have to admit i haven't really watched any "good" yuris except for maybe yagakimi
if they make s2 just a yuri sol it would be cute i think
@[email protected] there are a lot of p2p exchanges (in russia at least, idk about us)
https://t.me/wallet even has one, as well as very much not binance (commex)
as long as you have a bank account in one of the major banks - you are good to go
crypto to cash is a bit more complicated
i haven't heard of atms here, most of such trades are made in person, in moscow and start from ~5k$
see bestchange, most of those exchanges are listed there