Oddbean new post about | logout

Notes by no_name | export

â–² â–¼
 should we use external hardware signing device instead of root password to prevent privilege escalation through keylogger? 
â–² â–¼
 root wants to login
"please confirm operation through your hw signing device"

i wonder if someone has made something like trezor integration to linux login management 
â–² â–¼
 make sure xinput is not installed for tiny bit of protection,
although there sure are other ways to do the same 
â–² â–¼
 lxc may add some security

terminal:
# xinput test
Unable to connect to X server

terminal through x2go client:
$ xinput list
"pointer"	id=0	[XPointer]
"keyboard"	id=1	[XKeyboard]
ubuntu@u3:~$ xinput test 1
unable to find device '1'
ubuntu@u3:~$ xinput test 0
unable to find device '0'
ubuntu@u3:~$ 
 
â–² â–¼
 though im not sure why it would not find a device which it just listed...? 
â–² â–¼
 whenever you type
sudo pacman -S application

then you type sudo password
your root may have been compromised

instead do
shutdown -r 0
login as root
pacman -S application
shutdown -r 0
login as normal user again

wow this is fun way to use computer
 
â–² â–¼
 any #linux user can install #keylogger and steal #sudo password whenever root types login password

wow such system security

https://superuser.com/questions/301646/linux-keylogger-without-root-or-sudo-is-it-real

see first answer for instructions 
â–² â–¼
 sudo / su is fake security and password is super easy to steal
only way to protect this is to only login to root after fresh boot without logging to any possibly compromised user level account
or maybe run qubes os

nostr:note1xds03mnh2lej9j6q7q268w00xj702xnjyzslg8zye06p4cw8g33sarwk4a  
â–² â–¼
 updates:
- improved / fixed video loading
- added npub support

example npub link:
(;v1 == load only videos, ;v == load images and videos, neither == load only images)

ps. primal breaks the link, (do copy paste)

https://bafybeib4img4dhsxvyfdtks7ifpaeabe2hqc6nta6ssl2oepuljb5lktzi.ipfs.dweb.link/media.html#npub1tsrs6ptjnq5hluxawfme5sfxalfscapequm3ej0yfw65scwu8lys8q7y7l;v1 
â–² â–¼
 edit: primal breaks the link only in preview, works now 
â–² â–¼
 updates to media viewer (link in my profile)
- images take  full width (way better on mobile)
- maximized images are centered 
â–² â–¼
 nvm found trick to fix
unicode-bidi: plaintext; 
â–² â–¼
 ok wtf

<html>
<style>
  div {
    direction: rtl;
  }
</style>
<body>
  <div>hello world</div>
  <div>#hello #world</div>
</body>
</html>

looks like following. why?

hello world
hello #world#

#css #dev 
â–² â–¼
 npubs can be replaced with #p2p #blockchain #dns 
â–² â–¼
 rarely do i debug why toggling css class takes seconds rather than milliseconds 
â–² â–¼
 it appears, just too much text/links within element 
â–² â–¼
 #primal can you add web+nostr: protocol handler?
iris is broken atm 
â–² â–¼
 lotsa nameservers out there
https://public-dns.info/nameservers.txt

unfortunately none of these seem to resolve decentralized domains

trying to resolve name here...

./curl --dns-servers $(ns=$(cat ~/nameservers.txt | head -n 65000 | tail -n 5000 | while read ip; do echo -n $ip","; done); echo ${ns::-1}) ipfsgate.bit

naah, doesnt work 
â–² â–¼
 So never had problems with browsers then where 1 function will work with one browser but not the ... 
â–² â–¼
 was

edge is chromium 
â–² â–¼
 i have never understood massive usage of javascript frameworks

vanilla is simplest to handle, most resource effective, least amount of code 
â–² â–¼
 why is #apple worlds largest company?

one core principle is enough:

focus! the less features you have, better you can implement those features

#devs 
â–² â–¼
 some small updates
https://npub1cjyu9wezc6flcjl673zvcd8my37zzv5e26p6kevjyfe9yuxczc6sll7r7x.hostr.cc/d/media.html#;v

- images from chat are no longer automatically shown on front page
- replaced with list of tags from chat 
â–² â–¼
 why are you in jail?
prisoner 1: i killed a man
prisoner 2: i raped a girl
prisoner 3: i shared ai generate picture
prisoner 1, prisoner 2: 😂
nostr:note1znh0hcqy8gezdezkfwnzg2gw6nmsh5lqrlm9z4dlwkhpnty850tqgp53x9 
â–² â–¼
 web browsers are the bottleneck
they are too slow to implement modern technologies

and why are you using big tech web browser that tracks everything you do for their financial gain? 
â–² â–¼
 then i can just:
grep -Rnwi query
my favourite
wonder what time it would take, probably 2 secs 
â–² â–¼
 oops i was totally confused and hallucinating (in llm terms)
but this index file could contain eg <event_id>:<author_id>:tags
that would be reasonable to store and grep 
â–² â–¼
 77 million nostr note hashes would be ~ 5 GB
with rough estimate this would be < 300 MB

im just thinking of porting all notes to ipfs
index file of directory would be this gzipped list of notes

list of all note ids:
ipfs://<dir_cid>/

note json contents would be:
ipfs://<dir_cid>/<note_id> 
â–² â–¼
 *300 MB gzipped estimate 
â–² â–¼
 then i can just:
grep -Rnwi query
my favourite
wonder what time it would take, probably 2 secs 
â–² â–¼
 what this is, it is single transaction #swap from #litecoin to #thorchain using only #electrum, same works with other thorchain supported chains too, like ltc to btc, ltc to eth etc.
nostr:note1aqw89yqkquh0xegenh5ucmqggu48hd8erv6ft88xfqw6cnwpw9qqy5v4zm 
â–² â–¼
 also because #electrum-ltc is just a fork of #electrum, it works with bitcoin too using og #btc electrum
btc -> #ltc
btc -> #rune
btc -> #eth
etc. 
â–² â–¼
 so now before memoless transactions are a thing, i was wondering if you could do #thorchain #swap from #electrum-ltc

yes you can
tools -> pay to many

here is tx template:
ltc_asgard_vault_address,amount_to_swap
OP_RETURN utf8_swap_memo_as_byte_string,0.0001

where
ltc_asgard_vault_address: idk where you should find one. i found one from inspecting other swaps in explorer. at the time of writing this is the one: https://thorchain.net/address/ltc1qh7cjvuc3gtt3r4afm0zqvhvrpkfw0ahx845dsv. where it says: vault type=asgard, status=ActiveVault. 

amount_to_swap: amount, eg 0.1

utf8_swap_memo_as_byte_string convert swap memo, eg
=:THOR.RUNE:thorchain_address into bytes without spaces, you can find such tool with duckduckgo 
â–² â–¼
 successfull tx will look something like this in block explorer
http://anopic.ag/rDZuVFasmQaZw7lJpc6omzGfrVHyG5mjIPwvaf0x.png 
â–² â–¼
 there are no gpu instances available, but can you run some llm with 128 GB ram maybe?

https://stats.golem.network/network/provider/0xc549189ebc5fea88c76d7e78da57094033cf300c
#golem 
â–² â–¼
 only 27 of 514 providers are running tasks rn
there should be plenty of compute power available
#golem 
â–² â–¼
 offline tasks work, eg:
echo "1+2" | bc

but doing curl request requires internet permission, which there is no provider available:

WARN: Could not start any work on Golem. Processed 160 initial proposals from yagna, filters accepted 0. Check your proposal filters if they are not too restrictive.

#golem 
â–² â–¼
 mainnet result may or may not be different
(usually crypto testnets just dont work very well)

https://stats.golem.network/ 
â–² â–¼
 ipfs website editor, type code, upload files, publish
https://bafybeicr4kexiexeidxkdwydrbvszhnrtfkl62dgzrvprmz6ykcudvlgd4.ipfs.dweb.link 
â–² â–¼
 https://m.primal.net/HWWw.png

dotbit part still needs some tuning
i tried to create systemd service, but it wasnt that easy
https://rentry.org/namecoin-installer
 
â–² â–¼
 updated chainsafe command line tool

create api key:
python chainsafe.py init

upload file:
python chainsafe.py upload <file_path>

https://rentry.org/chainsafe 
â–² â–¼
 just my coding stuffs
ipfs://bafybeiglbj7cenhlk2gejvn4k4t3c2hv6oaj5aicht3zjkxtnw4aszbdwa 
â–² â–¼
 create chainsafe api key from command line
no metamask needed

chainsafe is free ipfs pinning service for up to 20 GB per api key

$ python chainsafe.py 
email your_tmp_email@1secmail.net
waiting for confirmation email
verification code a16ntgw 

key id your_key_id
key secret your_key_secret

https://rentry.org/chainsafe

#ipfs #filecoin 
â–² â–¼
 is there a model where someone makes a proposition
then people can donate their money in there
and whoever implements that proposition gets it all?
nostr:note16ahw3pcr82plf6yaa0r36uacsppq2g43k5c5l8xp64lx3a85sk6suk5u75 
â–² â–¼
 like there are all these kickstarters and stuff, but:
they already know who would implement that proposition
but: if we dont know who will implement the proposition, yet collect the money
then: whenever someone implements that proposition, he/she will get all the money 
â–² â–¼
 protocols dont care about law
law for social control only
machines dont care about law 
â–² â–¼
 where is tos
protocolize it
tos no more 
â–² â–¼
 * then they forked it and coded us law into https * 
â–² â–¼
 user story: i want to upload my file. i want it replicated and being available for 1 year with 100 % uptime. there shall be no limitations of what bits the file may contain. i will pay with monero. i will not give you any personal information.

how much does it cost? 
â–² â–¼
 market incentiviced internet is most tranformative thing for internet in a long time

nostr is baby steps

add financial incentives. now 
â–² â–¼
 #ipfs + #filecoin + #nostr

it cannot be taken down
its equivalent of blockchain for the internet apps

100 % uptime for anything 
â–² â–¼
 kill 404. never again. 
â–² â–¼
 send your file
send few cents

you file is uploaded. replicated. and it stays there for what its paid for

can we deliver? 
â–² â–¼
 the question is:
can market incentivized protocol keep any file uploaded and available?

here is the answer: yes

just that the app doesnt exists, yet 
â–² â–¼
 this may be promising
https://rentry.org/filecoinjs

can we: 
- add funds?
- upload files?

all within browser js, without metamask stuffs

maybe 
â–² â–¼
 send your file
send few cents

you file is uploaded. replicated. and it stays there for what its paid for

can we deliver? 
â–² â–¼
 is this our best attempt at storing files? #filecoin
https://m.primal.net/HWTr.png 
â–² â–¼
 you can also send images to localhost
http://anopic.ag/0lypb5FqJO7GYKOV0j84fv888m4VOHxoMTLr9cRY.png

what this means is that a query will be made to http://localhost:8000/?feh=image_url_1;image_url_2

you can eg. use feh-watch.sh to start feh (image viewer) automatically
http://bafybeigrzv5fxp6yuyhxqkjh2lo6ymbch62fozhyt44bol7uf7caoy3wzu.ipfs.localhost:8080/feh-watch.sh 
â–² â–¼
 fucking docs
lets just brute force it

https://x0.at/y9E0.txt

cat filecoin-providers.txt | head -n 20 | while read p; do boost deal --verified=false --http-url=something.car --commp=something --car-size=1566 --piece-size=4294967296 --payload-cid=something --storage-price 100000000000 --provider=$p; done 
â–² â–¼
 and what next??

sent deal proposal
deal uuid: something
storage provider: f02236965
client wallet: something
payload cid: something
url: https://x0.at/something.car
commp: something
start epoch: something
end epoch: something
provider collateral: 1.xxx mFIL 
â–² â–¼
 boost deal-status --deal-uuid something --provider f02236965
got deal status response
  deal uuid: something
  deal status: Error: data-transfer failed: transfer context canceled err: failed to send http req: Get "https://x0.at/something.car": dial tcp 167.235.245.18:443: i/o timeout
  deal label: something
  publish cid: <nil>
  chain deal id: 0
 
â–² â–¼
 ok enough debugging for now

$ boost deal-status --deal-uuid something --provider f01025366
got deal status response
  deal uuid: something
  deal status: Error: failed to verify CommP: failed to generate CommP: performing local commp: failed to get CARv2 reader: invalid header: malformed stream: invalid appearance of int token; expected start of map
  deal label: something
  publish cid: <nil>
  chain deal id: 0 
â–² â–¼
 if someone knows how to make filecoin deal i would like to know too :D 
â–² â–¼
 filecoin getting started guides are so much fun
ok so you have to specify this provider id

nobody tells you how to get actual list of providers that accept storage deals!!

maybe i do loop of explorer to try first 10000 providers if one of them works! 
â–² â–¼
 boost client cannot make a deal with storage provider f01917208 because it does not support protocol version 1.2.0

storage provider f066476 has no multiaddrs set on-chain

OK!!!

ANY WORKING PROIVIDER? 
â–² â–¼
 these #nip96 servers are weird

```js
links are so important, your code cannot contain links
h ttps://nostrcheck.me
```
```js
links are so important, your code cannot contain links
https://nostrcheck.me
```

#iris 
â–² â–¼
 these #nip96 servers are weird

```js
const servers = [
  ["https://nostrcheck.me", /\.png$/, ".webp"],
  //["https://nostrage.com", /\.png$/, ".webp"],
  ["https://sove.rent", /\.png$/, ".webp"],
  ["https://nostr.build", /:\/\/media\.nostr\.build\/public\//, "://image.nostr.build/"],
  ["https://files.sovbit.host", /\.png$/, ".webp"],
  ["https://void.cat", /\/public\//, "/"],
]
```
i have to do regexp replace to find correct urls
they dont tell the correct url format in /.well-known/nostr/nip96.json as they should 
â–² â–¼
 test
nostr:nevent1qqs9hvkeyf5dgn33htlc7f5g398ptf8t5ps92dglkdqx74nv6nxqp0qppemhxue69uhkummn9ekx7mp0qythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qy08wumn8ghj7en9v4j8xtnwdaehgu3wvfskuep0wphhqatvv9eqz8thwden5te0wfjkccte9ehx7um5wgh8jmm4d3hhgtn0wfnj7qg0waehxw309ahzu7rdwgh8xef0qyvhwumn8ghj7cmp9ec82unsd3jhyetvv9ujucm0d5hszythwden5te0dehhxarj9emkjmn99uq3yamnwvaz7tmsw4e8qmr9wpskwtn9wvq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7qgkwaehxw309aex2mrp0yhxummnw3ezucnpdejqj0mg8t 
â–² â–¼
 here  we can see that iris.to loads image from data uri,
however it seems to require click from user
nostr:note1twedjgng638rrwhl3ung3z2wzkjwhgrq2563lv6qdatxe4xvqz7quzdgxz 
 The best monetization is the Digital Costco model.  You pay a membership to Amethyst and we bring... 
â–² â–¼
 is there a model where someone makes a proposition
then people can donate their money in there
and whoever implements that proposition gets it all?
nostr:note16ahw3pcr82plf6yaa0r36uacsppq2g43k5c5l8xp64lx3a85sk6suk5u75