https://wiki.abuissa.net/api.php?action=feedcontributions&user=Razzi&feedformat=atomrazwiki - User contributions [en]2024-03-28T19:52:52ZUser contributionsMediaWiki 1.39.5https://wiki.abuissa.net/index.php?title=Blog:_2024-03-26&diff=1049Blog: 2024-03-262024-03-26T20:48:08Z<p>Razzi: Created page with "Messing with emoji <pre> >>> "\U0001F604" '😄' >>> "\U0001FA76" '🩶' >>> "\U0001FA75" '🩵' >>> "\U0001FA74" '🩴' >>> "\U0001FA74" </pre>"</p>
<hr />
<div>Messing with emoji<br />
<br />
<pre><br />
>>> "\U0001F604"<br />
'😄'<br />
>>> "\U0001FA76"<br />
'🩶'<br />
>>> "\U0001FA75"<br />
'🩵'<br />
>>> "\U0001FA74"<br />
'🩴'<br />
>>> "\U0001FA74"<br />
</pre></div>Razzihttps://wiki.abuissa.net/index.php?title=Fav_issues&diff=1047Fav issues2024-03-26T01:43:06Z<p>Razzi: </p>
<hr />
<div> #favissue wikipedia dark mode uses invert and images load inverted before loading normally<br />
<br />
#favissue going back in wikipedia does not restore scroll position<br />
https://protonmail.uservoice.com/forums/284483-feedback/suggestions/11564985-please-make-it-possible-to-open-the-next-email-aut advance to next message protonmail #favissue<br />
<br />
deno in apt https://github.com/denoland/deno/issues/1583 #favissue</div>Razzihttps://wiki.abuissa.net/index.php?title=Fav_issues&diff=1046Fav issues2024-03-26T01:42:50Z<p>Razzi: It makes sense that uri fragments would be case sensitive actually, you could have different targets with different capitalization</p>
<hr />
<div> #favissue https://en.wikipedia.org/wiki/URI_fragment does not work with capital letters! https://airflow.apache.org/docs/apache-airflow/stable/tutorial.html#Testing versus [https://airflow.apache.org/docs/apache-airflow/stable/tutorial.html#testing https://]<br />
<br />
#favissue wikipedia dark mode uses invert and images load inverted before loading normally<br />
<br />
#favissue going back in wikipedia does not restore scroll position<br />
https://protonmail.uservoice.com/forums/284483-feedback/suggestions/11564985-please-make-it-possible-to-open-the-next-email-aut advance to next message protonmail #favissue<br />
<br />
deno in apt https://github.com/denoland/deno/issues/1583 #favissue</div>Razzihttps://wiki.abuissa.net/index.php?title=MTG_resources&diff=1043MTG resources2024-03-15T21:39:29Z<p>Razzi: </p>
<hr />
<div>https://mtg.dawnglare.com/?p=pioneer<br />
<br />
https://scryfall.com/<br />
<br />
https://archidekt.com/sandbox - playtest from decklist</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-03-13&diff=1040Blog: 2024-03-132024-03-13T20:55:13Z<p>Razzi: Created page with "Alright, last day in Colombia and I'm chillin. Checked out of my room but left my suitcase at the hostel and I'm here now in a hammock. Nice all the hammocks that are here. 3:40pm, quite warm this time of day though there isn't much sun out today. Was planning on doing laundry but decided I'll make it back to the states and deal with it then. Ended up withdrawing some more money to pay for clothing since my card was declining, nice to do because then I had cash to buy a..."</p>
<hr />
<div>Alright, last day in Colombia and I'm chillin. Checked out of my room but left my suitcase at the hostel and I'm here now in a hammock. Nice all the hammocks that are here. 3:40pm, quite warm this time of day though there isn't much sun out today. Was planning on doing laundry but decided I'll make it back to the states and deal with it then. Ended up withdrawing some more money to pay for clothing since my card was declining, nice to do because then I had cash to buy a smoothie, will have cash to pay for my ride back to the airport; not having any local currency and having to pay for everything by card makes me hesitant to shop.<br />
<br />
And shopping is a lot of what I do, I suppose. There's an outdoor public gym which is nice. There's plenty of parks, internet access at the hostel, and sights to see by walking around, but yeah capital is kinda everywhere. The currency here is COP - Colombian Pesos I believe - and the exchange rate is that 1 USD buys about 3000 pesos (3.000 in the local writing). Apparently their currency has stabilized as of late; meanwhile Ecuador is just using dollars and now Argentina is supposed to dollarize with the election of Javier Millei.<br />
<br />
Before traveling here, I checked the foreign notices and the alert level from the united states is 3/4; I suppose there's some danger at the border with Venezuela. But here I pretty much always felt safe, only occasionally getting solicited by people for money or anything. Then again I seem to be in a rich neighborhood here, and nevertheless the poverty of the indigenous people is apparent. One night I was eating ramen and some sort of standoff between the indigenous people and the police happened; people were lining the streets, and it ended with a policeman swinging his baton and chasing them down; it wasn't apparent that he ever hit one, and nobody seemed to be injured. Sadly the presence of indigenous people is indicative of the fact that they were not killed off / displaced, as was the case back where I'm from.<br />
<br />
I've been eating well here overall, though occasionally I'm on my computer through dinnertime and end up going to a bakery for "dinner" and just getting a couple sweets. I was thinking about how it's hard to go to a restaurant here by myself; prefer to eat somewhere without much fanfare. But that's just social anxiety / conditioning, there's really no problem with it at all; unless they're totally packed and I'm taking up a table that a group of several guests could eat at. But then again that's what the bar is for! So it's not a bad thing at all... I think part of the reality is also that I stress over what to order, should it be vegetarian, vegan, meat, how expensive, how much food, how healthy, ??? But at the end of the day Michael Pollan had it right: eat food. Not too much. Mostly plants. And I'm rarely at risk of eating too much food.<br />
<br />
Well typing in this hammock feels pretty good. Keyboard is right here and I'm supported by the cloth. Though all the better to just relax in one of these...</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-03-09&diff=1039Blog: 2024-03-092024-03-09T15:49:52Z<p>Razzi: Created page with "Interesting stuff https://superuser.com/questions/1762066/how-to-let-qemu-acquire-memory-dynamically Default qemu ram size is 128M https://www.qemu.org/docs/master/system/qemu-manpage.html Finally understand this "target triplet" https://wiki.osdev.org/Target_Triplet osdev.org seems like a good resource. Starting a virtualization guide, it'll be good to collect some definitions."</p>
<hr />
<div>Interesting stuff https://superuser.com/questions/1762066/how-to-let-qemu-acquire-memory-dynamically<br />
<br />
Default qemu ram size is 128M https://www.qemu.org/docs/master/system/qemu-manpage.html<br />
<br />
Finally understand this "target triplet" https://wiki.osdev.org/Target_Triplet<br />
<br />
osdev.org seems like a good resource.<br />
<br />
Starting a virtualization guide, it'll be good to collect some definitions.</div>Razzihttps://wiki.abuissa.net/index.php?title=People_Razzi_follows&diff=1038People Razzi follows2024-03-08T01:45:53Z<p>Razzi: </p>
<hr />
<div>https://ridiculousfish.com/ - fish<br />
<br />
https://kennethreitz.org/ - requests<br />
<br />
http://armin.ronacher.eu/ - flask<br />
<br />
http://geemus.com/ - ruby & cloud<br />
<br />
https://brooklynhacker.com/ - hackathon mentor<br />
<br />
https://mek.fyi/ - interested in archiving<br />
<br />
http://invece.org/ - redis, linenoise, philosophy<br />
<br />
http://morrick.me/ - tech blogging<br />
<br />
http://swannodette.github.io/ - clojurescript<br />
<br />
https://drewdevault.com/ - sourcehut<br />
<br />
https://rigsomelight.com/ - clojure tools like rebel readline<br />
<br />
https://www.jasondonenfeld.com/ - password store and wireguard<br />
<br />
https://moxie.org/ - signal and fun stories<br />
<br />
https://feaneron.com/ - added gnome filepicker thumbnails<br />
<br />
https://arunoda.me/ - prolific in JS<br />
<br />
https://nondot.org/sabre/ - llvm & Swift<br />
<br />
https://www.jeriellsworth.com/ - chip fabrication<br />
<br />
http://sam.zeloof.xyz/ - home chip fab<br />
<br />
https://ericnormand.me/# - clojure character<br />
<br />
https://www.simonmweber.com/<br />
<br />
http://dtrace.org/blogs/bmc/ - oxide and strong opinions on Amazon<br />
<br />
https://www.bellard.org/ - prolific in code, in particular qemu<br />
<br />
https://intuitiveexplanations.com/ - Radon Rosborough, good emacs configuration & writing<br />
<br />
https://hakim.se/ - cool js & slid.es product<br />
<br />
https://git-blame.blogspot.com/ - git maintainer with a slick username gitster<br />
<br />
https://www.cellio.org/ - SE moderation -> codidact<br />
<br />
https://0pointer.net/blog/ - Lennart Poettering: I think systemd is cool... faster boot good...<br />
<br />
https://www.simonallardice.com/ - taught me to code js :)<br />
<br />
https://en.wikipedia.org/wiki/Steve_Huffman - taught me to code web applications thru Udacity CS 253<br />
<br />
https://brixit.nl/ - postmarketOS, linux for mobile devices<br />
<br />
https://xkcd.com - Randall Monroe, can be kinda overdone but often well done<br />
<br />
https://daringfireball.net/ - inventor of Markdown, a little obsessed with apple but prolific and "in the know"<br />
<br />
https://brokeassstuart.com/ - SF local writer<br />
<br />
https://tinyclouds.org/ - Ryan Dahl: node.js, deno runtime, good talks<br />
<br />
https://www.destroyallsoftware.com/screencasts - Ryan Bernhardt, fun & illustrative talks like Wat and The Birth & Death of Javascript<br />
<br />
https://blog.ian.stapletoncordas.co/ - python tools, foss<br />
<br />
https://xenodium.com/ - Alvaro Ramirez, emacs and even recipes...<br />
<br />
https://jaylittle.com/ writes about tech and stuff<br />
<br />
https://viewsourcecode.org/ - Paige Ruten, explanation on kilo editor (see Antirez above)<br />
<br />
https://en.wikipedia.org/wiki/Why_the_lucky_stiff isn't posting any more but his ouevre stands strong<br />
<br />
https://bzg.fr/en/ - just discovered this one, active in emacs org mode<br />
<br />
https://www.jeffgeerling.com/ - linux videos including risc-v<br />
<br />
https://technomancy.us/ - good blogs<br />
<br />
https://emersion.fr/ - open source, works at sourcehut<br />
<br />
https://ma.ttias.be/ - good articles on dev stuff<br />
<br />
https://www.schneier.com/ - security and policy<br />
<br />
https://www.daemonology.net/blog/ - creator of tarsnap is a proficient writer on math/security<br />
<br />
https://colececil.io/ - Iowa City game dev organizer<br />
<br />
https://pluralistic.net/ - Cory Doctorow, good old fashioned blogging<br />
<br />
http://danluu.com/ - technology and engineering blog<br />
<br />
http://progrium.xyz/ - dokku and early ngrok alternative localtunnel<br />
<br />
https://substack.net/ - nodejs library author, mad scientist vibes<br />
<br />
https://benjmann.net/ - aspiring mad scientist<br />
<br />
http://dshen6.github.io/ - games and stuff<br />
<br />
https://aphyr.com/ - databases and pop culture<br />
<br />
https://cassidoo.co/ - code and its social aspects<br />
<br />
http://www.benjaminoakes.com/ - area coder<br />
<br />
Rich Hickey - clojure designer, author of several great programming talks. And the first person to make this list without a personal website! :)<br />
<br />
https://stevelosh.com/ - good writer in technology, wrote Learn Vimscript The Hard Way, a terrible beautiful thing<br />
<br />
https://thume.ca/ - impressive projects and good writing about text editing<br />
<br />
https://technomancy.us/colophon - clojure and tech, fennel is a lua lisp, looks good<br />
<br />
https://www.mistys-internet.website/ - brew maintainer, made a courageous fork for old macs<br />
<br />
https://awesomekling.github.io/ - developer of SerenityOS with its own browser<br />
<br />
https://blog.paulbiggar.com/ - CircleCI and human rights<br />
<br />
https://dominictarr.com/ - creator of Secure Scuttlebutt and makes nice fairy tale technology analogies<br />
<br />
https://metaredux.com/ - Bozdihar Batsov, emacs and clojure<br />
<br />
https://tpo.pe/ - Tim Pope, prolific and creative in vim script<br />
<br />
http://ln.hixie.ch/ - Ian Hixie, developer of web standards, good blog posts<br />
<br />
https://www.fsfla.org/~lxoliva/ - develops [https://en.wikipedia.org/wiki/Linux-libre Linux Libre ] and ends his blog posts with "so blong" :)<br />
<br />
https://taavi.wtf/ - contributor to mediawiki and surrounding infrastructure<br />
<br />
https://aurel32.net/ - debian developer with well-written blog</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-03-07&diff=1037Blog: 2024-03-072024-03-08T01:44:18Z<p>Razzi: </p>
<hr />
<div>Looked into ronin again, and after some curiosity about debian version 12 being hardcoded, I took a deep dive on architectures and os stuff. Here are some of the highlights:<br />
<br />
* https://gitlab.com/giomasce/dqib / https://people.debian.org/~gio/dqib/ - doing stuff with qemu and debian. Hardcodes ssh keys.<br />
* https://lists.debian.org/debian-riscv/2023/07/msg00053.html<br />
* https://postmarketos.org/blog/2024/03/05/adding-systemd/<br />
<br />
* https://mirror.postmarketos.org/temp.fdcc091b56f5/ - gives me a feel for what devices people are using with postmarketos. purism makes an appearance.<br />
<br />
* https://en.wikipedia.org/wiki/Debian_version_history#Port_timeline - visual of architecture support in debian over time. Missing risc-v :) though I guess the support is not ... supported yet<br />
<br />
* list of debian development machines: https://db.debian.org/machines.cgi?host=debian-riscv64-porterbox-01</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-03-07&diff=1036Blog: 2024-03-072024-03-08T01:43:08Z<p>Razzi: Created page with "Looked into ronin again, and after some curiosity about debian version 12 being hardcoded, I took a deep dive on architectures and os stuff. Here are some of the highlights: * https://gitlab.com/giomasce/dqib / https://people.debian.org/~gio/dqib/ - doing stuff with qemu and debian. Hardcodes ssh keys. * https://lists.debian.org/debian-riscv/2023/07/msg00053.html * https://postmarketos.org/blog/2024/03/05/adding-systemd/ * https://mirror.postmarketos.org/temp.fdcc091b5..."</p>
<hr />
<div>Looked into ronin again, and after some curiosity about debian version 12 being hardcoded, I took a deep dive on architectures and os stuff. Here are some of the highlights:<br />
<br />
* https://gitlab.com/giomasce/dqib / https://people.debian.org/~gio/dqib/ - doing stuff with qemu and debian. Hardcodes ssh keys.<br />
* https://lists.debian.org/debian-riscv/2023/07/msg00053.html<br />
* https://postmarketos.org/blog/2024/03/05/adding-systemd/<br />
<br />
* https://mirror.postmarketos.org/temp.fdcc091b56f5/ - gives me a feel for what devices people are using with postmarketos. purism makes an appearance.<br />
<br />
* https://en.wikipedia.org/wiki/Debian_version_history#Port_timeline - visual of architecture support in debian over time. Missing risc-v :) though I guess the support is not ... supported yet</div>Razzihttps://wiki.abuissa.net/index.php?title=MTG_resources&diff=1034MTG resources2024-03-04T18:02:57Z<p>Razzi: </p>
<hr />
<div>https://mtg.dawnglare.com/?p=pioneer<br />
<br />
https://scryfall.com/</div>Razzihttps://wiki.abuissa.net/index.php?title=MTG_resources&diff=1033MTG resources2024-03-04T18:02:50Z<p>Razzi: Created page with "https://mtg.dawnglare.com/?p=pioneer https://scryfall.com/"</p>
<hr />
<div>https://mtg.dawnglare.com/?p=pioneer<br />
https://scryfall.com/</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-27&diff=1032Blog: 2024-02-272024-02-27T08:06:14Z<p>Razzi: Created page with "Moment of realization just now: why can't you shutdown debian from the login screen? bc it would need a root user to submit the "shutdown" command. Even when you switch with alt-f2 or whatever to the text login screen, it prompts for username; you can't enter commands from there. Maybe the solution is to boot to a root repl (like safe mode) and from there you can launch login gui. Other realization I'll note down here: lots of software isn't available in apt because its..."</p>
<hr />
<div>Moment of realization just now: why can't you shutdown debian from the login screen? bc it would need a root user to submit the "shutdown" command. Even when you switch with alt-f2 or whatever to the text login screen, it prompts for username; you can't enter commands from there. Maybe the solution is to boot to a root repl (like safe mode) and from there you can launch login gui.<br />
<br />
Other realization I'll note down here: lots of software isn't available in apt because its compile step requires being offline, and much of software is pulling dependencies from the internet: rust with cargo, python with pip, node with npm. All transitive dependencies need to be packaged with apt for an application to also be packaged in apt. "app style" applications bundle all their dependencies and end up with a 300mb blob, that needs to be completely removed when you do a point release (see signal apt; 3rdparty built with fpm)</div>Razzihttps://wiki.abuissa.net/index.php?title=Back_to_Blogging&diff=1031Back to Blogging2024-02-23T19:49:53Z<p>Razzi: Created page with "You may notice this website's blog is unorganized and untidy. That's by design "Blog" is a truncation of "weblog" - breaking that word apart we get web log. That's what this blog is, it's a log of my web activities. Mostly for me, but you're welcome to browse as well. In the early days of internet, I think "bloggers" were simply logging their lives. Posting pictures and stuff, since social media hadn't taken off. It was a uninhibited and exciting time... Some people w..."</p>
<hr />
<div>You may notice this website's blog is unorganized and untidy. That's by design<br />
<br />
"Blog" is a truncation of "weblog" - breaking that word apart we get web log. That's what this blog is, it's a log of my web activities. Mostly for me, but you're welcome to browse as well.<br />
<br />
In the early days of internet, I think "bloggers" were simply logging their lives. Posting pictures and stuff, since social media hadn't taken off. It was a uninhibited and exciting time...<br />
<br />
Some people would write and edit and publish almost like journalism quality or research quality material. Those blogs were highly renowned. Over time I think we fell into the trap of thinking that was what blogging should be - but in reality that only makes sense if you're extremely good at what you're doing or spend your whole life writing and editing. If you make your living from your blog, live your life like a brand, that sort of thing.<br />
<br />
So this is a return to the early spirit of blogging. Logging links and notes that I may or may not want to return to later. On an internet site, so I can update this log from any client.<br />
<br />
For my polished posts and guides see my main website https://razzi.abuissa.net/</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-23&diff=1030Blog: 2024-02-232024-02-23T19:43:27Z<p>Razzi: Created page with "Thinking about this book https://en.wikipedia.org/wiki/The_Story_About_Ping#cite_note-4 after seeing ducks on the https://en.wikipedia.org/wiki/Rice page And I have been rewarded with some internet lore https://ftp.arl.army.mil/~mike/ping.html"</p>
<hr />
<div>Thinking about this book https://en.wikipedia.org/wiki/The_Story_About_Ping#cite_note-4<br />
<br />
after seeing ducks on the https://en.wikipedia.org/wiki/Rice page<br />
<br />
And I have been rewarded with some internet lore https://ftp.arl.army.mil/~mike/ping.html</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-21&diff=1029Blog: 2024-02-212024-02-22T02:49:23Z<p>Razzi: Created page with "Alright I was trying to do some tmux pane renaming and this is what I came up with <pre> if not string-empty $TMUX function _fish_tmux_window_title_command --on-event fish_preexec tmux rename-window (echo $argv | cut -d ' ' -f 1) end function _fish_tmux_window_title_pwd --on-event fish_postexec tmux rename-window (curdir) end end </pre> Now I'm restoring it out bc I don't care for the feature"</p>
<hr />
<div>Alright I was trying to do some tmux pane renaming and this is what I came up with<br />
<br />
<pre><br />
if not string-empty $TMUX<br />
function _fish_tmux_window_title_command --on-event fish_preexec<br />
tmux rename-window (echo $argv | cut -d ' ' -f 1)<br />
end<br />
<br />
function _fish_tmux_window_title_pwd --on-event fish_postexec<br />
tmux rename-window (curdir)<br />
end<br />
end<br />
</pre><br />
<br />
Now I'm restoring it out bc I don't care for the feature</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-19&diff=1027Blog: 2024-02-192024-02-19T08:31:18Z<p>Razzi: Created page with "Realizing it's not actually trivial for a copy operator to do a whole line, and not dump the line after the current character on paste. Need p to be aware of clipboard length I guess, then paste after current line if the clipboard has its own newline... I guess the oscyank has probably been doing the right thing, it'd say the number of characters that would include a newline. Tired, bedtime."</p>
<hr />
<div>Realizing it's not actually trivial for a copy operator to do a whole line, and not dump the line after the current character on paste. Need p to be aware of clipboard length I guess, then paste after current line if the clipboard has its own newline...<br />
<br />
I guess the oscyank has probably been doing the right thing, it'd say the number of characters that would include a newline. Tired, bedtime.</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-18&diff=1026Blog: 2024-02-182024-02-19T05:08:20Z<p>Razzi: </p>
<hr />
<div>cool got rid of needrestart which was posting the "need restart" messages like<br />
<br />
<pre><br />
No services need to be restarted.<br />
<br />
No containers need to be restarted.<br />
<br />
No user sessions are running outdated binaries.<br />
<br />
No VM guests are running outdated hypervisor (qemu) binaries on this host.<br />
</pre><br />
<br />
Thanks to https://forum.siduction.org/index.php?topic=7025.0<br />
<br />
Also installed https://github.com/4U6U57/wsl-open and symlinked it to /usr/local/bin so it's earlier in my path than open which is really xdg-open (on wsl)<br />
<br />
* alt-a right to move focus to end of textarea #hotkeys</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-18&diff=1025Blog: 2024-02-182024-02-19T05:07:11Z<p>Razzi: </p>
<hr />
<div>cool got rid of needrestart which was posting the "need restart" messages like<br />
<br />
<pre><br />
No services need to be restarted.<br />
<br />
No containers need to be restarted.<br />
<br />
No user sessions are running outdated binaries.<br />
<br />
No VM guests are running outdated hypervisor (qemu) binaries on this host.<br />
</pre><br />
<br />
Thanks to https://forum.siduction.org/index.php?topic=7025.0</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-18&diff=1024Blog: 2024-02-182024-02-19T05:06:56Z<p>Razzi: Created page with "cool got rid of needrestart which was posting the "need restart" messages like <pre> No services need to be restarted. No containers need to be restarted. No user sessions are running outdated binaries. No VM guests are running outdated hypervisor (qemu) binaries on this host. </pre>"</p>
<hr />
<div>cool got rid of needrestart which was posting the "need restart" messages like<br />
<br />
<pre><br />
No services need to be restarted.<br />
<br />
No containers need to be restarted.<br />
<br />
No user sessions are running outdated binaries.<br />
<br />
No VM guests are running outdated hypervisor (qemu) binaries on this host.<br />
</pre></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-15&diff=1023Blog: 2024-02-152024-02-16T05:59:07Z<p>Razzi: Created page with "The pretty silly CVE disclosure Bad Apple!! https://m1racles.com/"</p>
<hr />
<div>The pretty silly CVE disclosure Bad Apple!! https://m1racles.com/</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-13&diff=1022Blog: 2024-02-132024-02-13T16:00:45Z<p>Razzi: </p>
<hr />
<div>How does this work but it doesn't seem to when you use the read and write methods on the io objects?<br />
<br />
<pre><br />
proc = subprocess.Popen(['bc'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)<br />
os.write(proc.stdin.fileno(), b'100+200\n')<br />
print(os.read(proc.stdout.fileno(), 4096))<br />
</pre>https://stackoverflow.com/questions/39899074/communicate-multiple-times-with-a-subprocess-in-python<br />
<br />
Ok it was about: buffering and flushing<br />
<br />
<pre><br />
import os<br />
import subprocess<br />
<br />
proc = subprocess.Popen(['bc'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)<br />
proc.stdin.write(b'100+200\n')<br />
proc.stdin.flush()<br />
print(proc.stdout.readline())<br />
</pre><br />
<br />
flush was missing, and readline reads just a line rather than read which blocks</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-13&diff=1021Blog: 2024-02-132024-02-13T06:59:29Z<p>Razzi: </p>
<hr />
<div>How does this work but it doesn't seem to when you use the read and write methods on the io objects?<br />
<br />
<pre><br />
proc = subprocess.Popen(['bc'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)<br />
os.write(proc.stdin.fileno(), b'100+200\n')<br />
print(os.read(proc.stdout.fileno(), 4096))<br />
</pre>https://stackoverflow.com/questions/39899074/communicate-multiple-times-with-a-subprocess-in-python</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-13&diff=1020Blog: 2024-02-132024-02-13T06:59:18Z<p>Razzi: Created page with "How does this work but it doesn't seem to when you use the read and write methods on the io objects? <pre> proc = subprocess.Popen(['bc'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) os.write(proc.stdin.fileno(), b'100+200\n') print(os.read(proc.stdout.fileno(), 4096)) </pre>"</p>
<hr />
<div>How does this work but it doesn't seem to when you use the read and write methods on the io objects?<br />
<br />
<pre><br />
proc = subprocess.Popen(['bc'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)<br />
os.write(proc.stdin.fileno(), b'100+200\n')<br />
print(os.read(proc.stdout.fileno(), 4096))<br />
</pre></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-12&diff=1019Blog: 2024-02-122024-02-13T05:46:29Z<p>Razzi: </p>
<hr />
<div>Started on this quest to have a scheme repl where the outputs are italicized, like the SICP book.<br />
<br />
Printing italics is pretty easy:<br />
<br />
<pre><br />
In [1]: line = 'a'<br />
<br />
In [2]: print(f'\x1B[3m{line}\x1B[0m')<br />
a<br />
</pre><br />
''It's italic, trust me!''<br />
<br />
But when it comes to spawning a scheme subprocess and interacting with its stdin and stdout, I took many turns, eventually trying nodejs since its asynchronous io model more closely fits this use case.<br />
<br />
Here's what worked (or at least is a work in progress)<br />
<br />
(basically just a copy from the docs of https://www.npmjs.com/package/node-pty which it uses)<br />
<br />
<pre><br />
var pty = require('node-pty');<br />
<br />
var ptyProcess = pty.spawn('scheme')<br />
<br />
ptyProcess.onData((data) => {<br />
process.stdout.write(data);<br />
});<br />
<br />
ptyProcess.write('(+ 3 3)\r');<br />
</pre><br />
<br />
<pre><br />
hack $ node scheme_pty.js<br />
(+ 3 3)<br />
Could not open file init.scm<br />
TinyScheme 1.41<br />
ts> 6<br />
ts><br />
</pre><br />
<br />
This also sorta works, but right now only processes the stdin with it being ended:<br />
<br />
<pre><br />
var spawn = require('child_process').spawn<br />
<br />
scheme = spawn('scheme')<br />
<br />
scheme.stdout.on('data', data => {<br />
console.log('data')<br />
console.log(data.toString())<br />
console.log()<br />
})<br />
<br />
scheme.stderr.on('data', data => {<br />
console.log('err')<br />
console.log(data.toString())<br />
console.log()<br />
})<br />
<br />
// setTimeout(() => {<br />
scheme.stdin.write('(+ 3 3)\r')<br />
// scheme.stdin.write('3\r\n')<br />
scheme.stdin.end()<br />
// }, 500)<br />
<br />
// scheme<br />
<br />
// setInterval(() => {}, 1000)<br />
</pre><br />
<br />
What a mess... I didn't even get python working.. though it has pty built in so it probably would work<br />
<br />
----<br />
<br />
Ok meanwhile back in python I got a repl working using a 3rd party tool https://pexpect.readthedocs.io/en/stable/api/replwrap.html that confusingly shadows the built in pexpect. Could incorporate the ideas from it to accomplish this with only the standard library expect. Anyway here's the code, nice and simple in the end<br />
<br />
<br />
<syntaxhighlight lang="python3"><br />
from subprocess import Popen, PIPE<br />
from pexpect.replwrap import REPLWrapper<br />
<br />
<br />
def safe_input(prompt):<br />
try:<br />
return input(prompt)<br />
except EOFError:<br />
return 'q'<br />
<br />
def main():<br />
scheme = REPLWrapper('scheme', 'ts> ', prompt_change=None)<br />
<br />
while True:<br />
line = safe_input('> ')<br />
if line == 'q':<br />
return<br />
<br />
result = scheme.run_command(line)<br />
print(f'\x1B[3m{result}\x1B[0m')<br />
<br />
main()<br />
</syntaxhighlight></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-12&diff=1018Blog: 2024-02-122024-02-12T18:07:10Z<p>Razzi: Created page with "Started on this quest to have a scheme repl where the outputs are italicized, like the SICP book. Printing italics is pretty easy: <pre> In [1]: line = 'a' In [2]: print(f'\x1B[3m{line}\x1B[0m') a </pre> ''It's italic, trust me!'' But when it comes to spawning a scheme subprocess and interacting with its stdin and stdout, I took many turns, eventually trying nodejs since its asynchronous io model more closely fits this use case. Here's what worked (or at least is a..."</p>
<hr />
<div>Started on this quest to have a scheme repl where the outputs are italicized, like the SICP book.<br />
<br />
Printing italics is pretty easy:<br />
<br />
<pre><br />
In [1]: line = 'a'<br />
<br />
In [2]: print(f'\x1B[3m{line}\x1B[0m')<br />
a<br />
</pre><br />
''It's italic, trust me!''<br />
<br />
But when it comes to spawning a scheme subprocess and interacting with its stdin and stdout, I took many turns, eventually trying nodejs since its asynchronous io model more closely fits this use case.<br />
<br />
Here's what worked (or at least is a work in progress)<br />
<br />
(basically just a copy from the docs of https://www.npmjs.com/package/node-pty which it uses)<br />
<br />
<pre><br />
var pty = require('node-pty');<br />
<br />
var ptyProcess = pty.spawn('scheme')<br />
<br />
ptyProcess.onData((data) => {<br />
process.stdout.write(data);<br />
});<br />
<br />
ptyProcess.write('(+ 3 3)\r');<br />
</pre><br />
<br />
<pre><br />
hack $ node scheme_pty.js<br />
(+ 3 3)<br />
Could not open file init.scm<br />
TinyScheme 1.41<br />
ts> 6<br />
ts><br />
</pre><br />
<br />
This also sorta works, but right now only processes the stdin with it being ended:<br />
<br />
<pre><br />
var spawn = require('child_process').spawn<br />
<br />
scheme = spawn('scheme')<br />
<br />
scheme.stdout.on('data', data => {<br />
console.log('data')<br />
console.log(data.toString())<br />
console.log()<br />
})<br />
<br />
scheme.stderr.on('data', data => {<br />
console.log('err')<br />
console.log(data.toString())<br />
console.log()<br />
})<br />
<br />
// setTimeout(() => {<br />
scheme.stdin.write('(+ 3 3)\r')<br />
// scheme.stdin.write('3\r\n')<br />
scheme.stdin.end()<br />
// }, 500)<br />
<br />
// scheme<br />
<br />
// setInterval(() => {}, 1000)<br />
</pre><br />
<br />
What a mess... I didn't even get python working.. though it has pty built in so it probably would work</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-09&diff=1017Blog: 2024-02-092024-02-10T05:16:18Z<p>Razzi: </p>
<hr />
<div>Ok rather than any of the nice projects I talked about on 2/7, I now have... the idea of making a ronin alternative, that uses podman instead of qemu. Coincidentally, I can see this converging, as I dig into the implementation of podman and see qemu.<br />
<br />
<pre><br />
$ podman system connection list<br />
Name URI Identity Default<br />
podman-machine-default ssh://core@127.0.0.1:50117/run/user/501/podman/podman.sock /Users/razzi/.ssh/podman-machine-default true<br />
podman-machine-default-root ssh://root@127.0.0.1:50117/run/podman/podman.sock /Users/razzi/.ssh/podman-machine-default false<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: -drive if=virtio,file=/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2: Could not open '/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2': No such file or directory<br />
<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine rm podman-machine-default <br />
<br />
The following files will be deleted:<br />
<br />
/Users/razzi/.ssh/podman-machine-default<br />
/Users/razzi/.ssh/podman-machine-default.pub<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.ign<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.json<br />
</pre>Oh right, I'm thinking of calling this podman-based tool po. Like https://en.wikipedia.org/wiki/B%C5%8D<br />
<br />
Getting this helpful message upon startup<pre><br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Mounting volume... /Users:/Users<br />
Mounting volume... /private:/private<br />
Mounting volume... /var/folders:/var/folders<br />
<br />
This machine is currently configured in rootless mode. If your containers<br />
require root permissions (e.g. ports < 1024), or if you run into compatibility<br />
issues with non-podman clients, you can switch using the following command:<br />
<br />
podman machine set --rootful<br />
<br />
API forwarding listening on: /Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
<br />
The system helper service is not installed; the default Docker API socket<br />
address can't be used by podman. If you would like to install it, run the following commands:<br />
<br />
sudo /usr/local/Cellar/podman/4.8.2/bin/podman-mac-helper install<br />
podman machine stop; podman machine start<br />
<br />
You can still connect Docker API clients by setting DOCKER_HOST using the<br />
following command in your terminal session:<br />
<br />
export DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock'<br />
<br />
Machine "podman-machine-default" started successfully<br />
<br />
</pre>Sure enough<pre><br />
$ docker ps<br />
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?<br />
$ env DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock' docker ps<br />
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br />
</pre>Ok I added a po user but when I switched to it I got no sudo! Looks like it's not installed by default. Here are the packages before any updates/installs<pre><br />
root@123bc29e561f:/# apt list<br />
Listing... Done<br />
adduser/now 3.134 all [installed,local]<br />
apt/now 2.6.1 amd64 [installed,local]<br />
base-files/now 12.4+deb12u4 amd64 [installed,local]<br />
base-passwd/now 3.6.1 amd64 [installed,local]<br />
bash/now 5.2.15-2+b2 amd64 [installed,local]<br />
bsdutils/now 1:2.38.1-5+b1 amd64 [installed,local]<br />
coreutils/now 9.1-1 amd64 [installed,local]<br />
dash/now 0.5.12-2 amd64 [installed,local]<br />
debconf/now 1.5.82 all [installed,local]<br />
debian-archive-keyring/now 2023.3+deb12u1 all [installed,local]<br />
debianutils/now 5.7-0.5~deb12u1 amd64 [installed,local]<br />
diffutils/now 1:3.8-4 amd64 [installed,local]<br />
dpkg/now 1.21.22 amd64 [installed,local]<br />
e2fsprogs/now 1.47.0-2 amd64 [installed,local]<br />
findutils/now 4.9.0-4 amd64 [installed,local]<br />
gcc-12-base/now 12.2.0-14 amd64 [installed,local]<br />
gpgv/now 2.2.40-1.1 amd64 [installed,local]<br />
grep/now 3.8-5 amd64 [installed,local]<br />
gzip/now 1.12-1 amd64 [installed,local]<br />
hostname/now 3.23+nmu1 amd64 [installed,local]<br />
init-system-helpers/now 1.65.2 all [installed,local]<br />
libacl1/now 2.3.1-3 amd64 [installed,local]<br />
libapt-pkg6.0/now 2.6.1 amd64 [installed,local]<br />
libattr1/now 1:2.5.1-4 amd64 [installed,local]<br />
libaudit-common/now 1:3.0.9-1 all [installed,local]<br />
libaudit1/now 1:3.0.9-1 amd64 [installed,local]<br />
libblkid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libbz2-1.0/now 1.0.8-5+b1 amd64 [installed,local]<br />
libc-bin/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libc6/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libcap-ng0/now 0.8.3-1+b3 amd64 [installed,local]<br />
libcap2/now 1:2.66-4 amd64 [installed,local]<br />
libcom-err2/now 1.47.0-2 amd64 [installed,local]<br />
libcrypt1/now 1:4.4.33-2 amd64 [installed,local]<br />
libdb5.3/now 5.3.28+dfsg2-1 amd64 [installed,local]<br />
libdebconfclient0/now 0.270 amd64 [installed,local]<br />
libext2fs2/now 1.47.0-2 amd64 [installed,local]<br />
libffi8/now 3.4.4-1 amd64 [installed,local]<br />
libgcc-s1/now 12.2.0-14 amd64 [installed,local]<br />
libgcrypt20/now 1.10.1-3 amd64 [installed,local]<br />
libgmp10/now 2:6.2.1+dfsg1-1.1 amd64 [installed,local]<br />
libgnutls30/now 3.7.9-2+deb12u1 amd64 [installed,local]<br />
libgpg-error0/now 1.46-1 amd64 [installed,local]<br />
libhogweed6/now 3.8.1-2 amd64 [installed,local]<br />
libidn2-0/now 2.3.3-1+b1 amd64 [installed,local]<br />
liblz4-1/now 1.9.4-1 amd64 [installed,local]<br />
liblzma5/now 5.4.1-0.2 amd64 [installed,local]<br />
libmd0/now 1.0.4-2 amd64 [installed,local]<br />
libmount1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libnettle8/now 3.8.1-2 amd64 [installed,local]<br />
libp11-kit0/now 0.24.1-2 amd64 [installed,local]<br />
libpam-modules-bin/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-modules/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-runtime/now 1.5.2-6+deb12u1 all [installed,local]<br />
libpam0g/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpcre2-8-0/now 10.42-1 amd64 [installed,local]<br />
libseccomp2/now 2.5.4-1+b3 amd64 [installed,local]<br />
libselinux1/now 3.4-1+b6 amd64 [installed,local]<br />
libsemanage-common/now 3.4-1 all [installed,local]<br />
libsemanage2/now 3.4-1+b5 amd64 [installed,local]<br />
libsepol2/now 3.4-2.1 amd64 [installed,local]<br />
libsmartcols1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libss2/now 1.47.0-2 amd64 [installed,local]<br />
libstdc++6/now 12.2.0-14 amd64 [installed,local]<br />
libsystemd0/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libtasn1-6/now 4.19.0-2 amd64 [installed,local]<br />
libtinfo6/now 6.4-4 amd64 [installed,local]<br />
libudev1/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libunistring2/now 1.0-2 amd64 [installed,local]<br />
libuuid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libxxhash0/now 0.8.1-1 amd64 [installed,local]<br />
libzstd1/now 1.5.4+dfsg2-5 amd64 [installed,local]<br />
login/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
logsave/now 1.47.0-2 amd64 [installed,local]<br />
mawk/now 1.3.4.20200120-3.1 amd64 [installed,local]<br />
mount/now 2.38.1-5+b1 amd64 [installed,local]<br />
ncurses-base/now 6.4-4 all [installed,local]<br />
ncurses-bin/now 6.4-4 amd64 [installed,local]<br />
passwd/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
perl-base/now 5.36.0-7+deb12u1 amd64 [installed,local]<br />
sed/now 4.9-1 amd64 [installed,local]<br />
sysvinit-utils/now 3.06-4 amd64 [installed,local]<br />
tar/now 1.34+dfsg-1.2 amd64 [installed,local]<br />
tzdata/now 2023c-5+deb12u1 all [installed,local]<br />
usr-is-merged/now 35 all [installed,local]<br />
util-linux-extra/now 2.38.1-5+b1 amd64 [installed,local]<br />
util-linux/now 2.38.1-5+b1 amd64 [installed,local]<br />
zlib1g/now 1:1.2.13.dfsg-1 amd64 [installed,local]<br />
</pre>Merrily proceeding along, I installed doas and enabled `permit po as root` into /etc/doas.conf<br />
<br />
I modified this to be `permit nopass po as root`; no nano or vim, just used echo again.<br />
<br />
Then I thought "I'll set up fish" but I got a huge dependency tree:<pre><br />
po@123bc29e561f:/$ doas apt install fish<br />
Reading package lists... Done<br />
Building dependency tree... Done<br />
Reading state information... Done<br />
The following additional packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish-common groff-base krb5-locales libbsd0 libexpat1<br />
libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
Suggested packages:<br />
bzip2-doc doc-base groff gdbm-l10n gpm krb5-doc krb5-user sensible-utils apparmor less perl-doc<br />
libterm-readline-gnu-perl | libterm-readline-perl-perl make libtap-harness-archive-perl<br />
python3-doc python3-tk python3-venv python3.11-venv python3.11-doc binutils binfmt-support<br />
readline-doc<br />
The following NEW packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish fish-common groff-base krb5-locales libbsd0<br />
libexpat1 libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
0 upgraded, 58 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 29.0 MB of archives.<br />
After this operation, 135 MB of additional disk space will be used.<br />
Do you want to continue? [Y/n] <br />
</pre><br />
<br />
Lunchtime!<br />
<br />
----<br />
<br />
Ok here's this snippet of a blog post I was thinking about earlier<br />
<br />
<blockquote><br />
=== But you can’t stop a gold rush ===<br />
When you think about it, OpenSea would actually be much “better” in the immediate sense if all the web3 parts were gone. It would be faster, cheaper for everyone, and easier to use. For example, to accept a bid on my NFT, I would have had to pay over $80-$150+ just in ethereum transaction fees. That puts an artificial floor on all bids, since otherwise you’d lose money by accepting a bid for less than the gas fees. Payment fees by credit card, which typically feel extortionary, look cheap compared to that.</blockquote>I'm finding a lot of packages have a lot of unnecessary "requires". Now installing with<br />
$ doas apt install --no-install-recommends neofetch<br />
<br />
<pre><br />
po@123bc29e561f:/$ doas apt install --no-install-recommends neofetch <br />
Reading package lists... Done<br />
Building dependency tree... Done<br />
Reading state information... Done<br />
Recommended packages:<br />
chafa caca-utils imagemagick jp2a libsixel-bin w3m-img pciutils<br />
The following NEW packages will be installed:<br />
neofetch<br />
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.<br />
</pre>I think I'll make this the default in my config. Downloaded 81.8kB, versus installing recommended packages as well:<pre><br />
0 upgraded, 156 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 71.2 MB of archives.<br />
After this operation, 254 MB of additional disk space will be used.<br />
</pre>And neofetch works just fine without recommends:<pre><br />
po@123bc29e561f:/$ neofetch<br />
_,met$$$$$gg. po@123bc29e561f <br />
,g$$$$$$$$$$$$$$$P. --------------- <br />
,g$$P" """Y$$.". OS: Debian GNU/Linux 12 (bookworm) x86_64 <br />
,$$P' `$$$. Host: KVM/QEMU (Standard PC (Q35 + ICH9, 2009) pc-q35-8.2) <br />
',$$P ,ggs. `$$b: Kernel: 6.6.13-200.fc39.x86_64 <br />
`d$$' ,$P"' . $$$ Uptime: 9 hours, 42 mins <br />
$$P d$' , $$P Packages: 101 (dpkg) <br />
$$: $$. - ,d$$' Shell: bash 5.2.15 <br />
$$; Y$b._ _,d$P' Resolution: 1280x800 <br />
Y$$. `.`"Y$$$$P"' CPU: 06/45 (2) @ 2.300GHz <br />
`$$b "-.__ Memory: 363MiB / 1964MiB <br />
`Y$$<br />
`Y$$. <br />
`$$b. <br />
`Y$$b.<br />
`"Y$b._<br />
`"""<br />
<br />
</pre><br />
<br />
Cool, was able to generate a dependency tree of fish to see why lynx was included, like so:<br />
<br />
debtree fish | dot -Tpdf > out.pdf<br />
<br />
And get it out of podman (tab completion gave me the container name):<br />
<br />
podman cp wonderful_robinson:/home/po/out.pdf .<br />
<br />
Here's the jpeg render:<br />
<br />
[[File:Debtree for fish.jpg|frameless|700px]]</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-09&diff=1016Blog: 2024-02-092024-02-10T05:15:56Z<p>Razzi: </p>
<hr />
<div>Ok rather than any of the nice projects I talked about on 2/7, I now have... the idea of making a ronin alternative, that uses podman instead of qemu. Coincidentally, I can see this converging, as I dig into the implementation of podman and see qemu.<br />
<br />
<pre><br />
$ podman system connection list<br />
Name URI Identity Default<br />
podman-machine-default ssh://core@127.0.0.1:50117/run/user/501/podman/podman.sock /Users/razzi/.ssh/podman-machine-default true<br />
podman-machine-default-root ssh://root@127.0.0.1:50117/run/podman/podman.sock /Users/razzi/.ssh/podman-machine-default false<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: -drive if=virtio,file=/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2: Could not open '/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2': No such file or directory<br />
<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine rm podman-machine-default <br />
<br />
The following files will be deleted:<br />
<br />
/Users/razzi/.ssh/podman-machine-default<br />
/Users/razzi/.ssh/podman-machine-default.pub<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.ign<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.json<br />
</pre>GOh right, I'm thinking of calling this podman-based tool po. Like https://en.wikipedia.org/wiki/B%C5%8D<br />
<br />
Getting this helpful message upon startup<pre><br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Mounting volume... /Users:/Users<br />
Mounting volume... /private:/private<br />
Mounting volume... /var/folders:/var/folders<br />
<br />
This machine is currently configured in rootless mode. If your containers<br />
require root permissions (e.g. ports < 1024), or if you run into compatibility<br />
issues with non-podman clients, you can switch using the following command:<br />
<br />
podman machine set --rootful<br />
<br />
API forwarding listening on: /Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
<br />
The system helper service is not installed; the default Docker API socket<br />
address can't be used by podman. If you would like to install it, run the following commands:<br />
<br />
sudo /usr/local/Cellar/podman/4.8.2/bin/podman-mac-helper install<br />
podman machine stop; podman machine start<br />
<br />
You can still connect Docker API clients by setting DOCKER_HOST using the<br />
following command in your terminal session:<br />
<br />
export DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock'<br />
<br />
Machine "podman-machine-default" started successfully<br />
<br />
</pre>Sure enough<pre><br />
$ docker ps<br />
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?<br />
$ env DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock' docker ps<br />
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br />
</pre>Ok I added a po user but when I switched to it I got no sudo! Looks like it's not installed by default. Here are the packages before any updates/installs<pre><br />
root@123bc29e561f:/# apt list<br />
Listing... Done<br />
adduser/now 3.134 all [installed,local]<br />
apt/now 2.6.1 amd64 [installed,local]<br />
base-files/now 12.4+deb12u4 amd64 [installed,local]<br />
base-passwd/now 3.6.1 amd64 [installed,local]<br />
bash/now 5.2.15-2+b2 amd64 [installed,local]<br />
bsdutils/now 1:2.38.1-5+b1 amd64 [installed,local]<br />
coreutils/now 9.1-1 amd64 [installed,local]<br />
dash/now 0.5.12-2 amd64 [installed,local]<br />
debconf/now 1.5.82 all [installed,local]<br />
debian-archive-keyring/now 2023.3+deb12u1 all [installed,local]<br />
debianutils/now 5.7-0.5~deb12u1 amd64 [installed,local]<br />
diffutils/now 1:3.8-4 amd64 [installed,local]<br />
dpkg/now 1.21.22 amd64 [installed,local]<br />
e2fsprogs/now 1.47.0-2 amd64 [installed,local]<br />
findutils/now 4.9.0-4 amd64 [installed,local]<br />
gcc-12-base/now 12.2.0-14 amd64 [installed,local]<br />
gpgv/now 2.2.40-1.1 amd64 [installed,local]<br />
grep/now 3.8-5 amd64 [installed,local]<br />
gzip/now 1.12-1 amd64 [installed,local]<br />
hostname/now 3.23+nmu1 amd64 [installed,local]<br />
init-system-helpers/now 1.65.2 all [installed,local]<br />
libacl1/now 2.3.1-3 amd64 [installed,local]<br />
libapt-pkg6.0/now 2.6.1 amd64 [installed,local]<br />
libattr1/now 1:2.5.1-4 amd64 [installed,local]<br />
libaudit-common/now 1:3.0.9-1 all [installed,local]<br />
libaudit1/now 1:3.0.9-1 amd64 [installed,local]<br />
libblkid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libbz2-1.0/now 1.0.8-5+b1 amd64 [installed,local]<br />
libc-bin/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libc6/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libcap-ng0/now 0.8.3-1+b3 amd64 [installed,local]<br />
libcap2/now 1:2.66-4 amd64 [installed,local]<br />
libcom-err2/now 1.47.0-2 amd64 [installed,local]<br />
libcrypt1/now 1:4.4.33-2 amd64 [installed,local]<br />
libdb5.3/now 5.3.28+dfsg2-1 amd64 [installed,local]<br />
libdebconfclient0/now 0.270 amd64 [installed,local]<br />
libext2fs2/now 1.47.0-2 amd64 [installed,local]<br />
libffi8/now 3.4.4-1 amd64 [installed,local]<br />
libgcc-s1/now 12.2.0-14 amd64 [installed,local]<br />
libgcrypt20/now 1.10.1-3 amd64 [installed,local]<br />
libgmp10/now 2:6.2.1+dfsg1-1.1 amd64 [installed,local]<br />
libgnutls30/now 3.7.9-2+deb12u1 amd64 [installed,local]<br />
libgpg-error0/now 1.46-1 amd64 [installed,local]<br />
libhogweed6/now 3.8.1-2 amd64 [installed,local]<br />
libidn2-0/now 2.3.3-1+b1 amd64 [installed,local]<br />
liblz4-1/now 1.9.4-1 amd64 [installed,local]<br />
liblzma5/now 5.4.1-0.2 amd64 [installed,local]<br />
libmd0/now 1.0.4-2 amd64 [installed,local]<br />
libmount1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libnettle8/now 3.8.1-2 amd64 [installed,local]<br />
libp11-kit0/now 0.24.1-2 amd64 [installed,local]<br />
libpam-modules-bin/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-modules/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-runtime/now 1.5.2-6+deb12u1 all [installed,local]<br />
libpam0g/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpcre2-8-0/now 10.42-1 amd64 [installed,local]<br />
libseccomp2/now 2.5.4-1+b3 amd64 [installed,local]<br />
libselinux1/now 3.4-1+b6 amd64 [installed,local]<br />
libsemanage-common/now 3.4-1 all [installed,local]<br />
libsemanage2/now 3.4-1+b5 amd64 [installed,local]<br />
libsepol2/now 3.4-2.1 amd64 [installed,local]<br />
libsmartcols1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libss2/now 1.47.0-2 amd64 [installed,local]<br />
libstdc++6/now 12.2.0-14 amd64 [installed,local]<br />
libsystemd0/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libtasn1-6/now 4.19.0-2 amd64 [installed,local]<br />
libtinfo6/now 6.4-4 amd64 [installed,local]<br />
libudev1/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libunistring2/now 1.0-2 amd64 [installed,local]<br />
libuuid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libxxhash0/now 0.8.1-1 amd64 [installed,local]<br />
libzstd1/now 1.5.4+dfsg2-5 amd64 [installed,local]<br />
login/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
logsave/now 1.47.0-2 amd64 [installed,local]<br />
mawk/now 1.3.4.20200120-3.1 amd64 [installed,local]<br />
mount/now 2.38.1-5+b1 amd64 [installed,local]<br />
ncurses-base/now 6.4-4 all [installed,local]<br />
ncurses-bin/now 6.4-4 amd64 [installed,local]<br />
passwd/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
perl-base/now 5.36.0-7+deb12u1 amd64 [installed,local]<br />
sed/now 4.9-1 amd64 [installed,local]<br />
sysvinit-utils/now 3.06-4 amd64 [installed,local]<br />
tar/now 1.34+dfsg-1.2 amd64 [installed,local]<br />
tzdata/now 2023c-5+deb12u1 all [installed,local]<br />
usr-is-merged/now 35 all [installed,local]<br />
util-linux-extra/now 2.38.1-5+b1 amd64 [installed,local]<br />
util-linux/now 2.38.1-5+b1 amd64 [installed,local]<br />
zlib1g/now 1:1.2.13.dfsg-1 amd64 [installed,local]<br />
</pre>Merrily proceeding along, I installed doas and enabled `permit po as root` into /etc/doas.conf<br />
<br />
I modified this to be `permit nopass po as root`; no nano or vim, just used echo again.<br />
<br />
Then I thought "I'll set up fish" but I got a huge dependency tree:<pre><br />
po@123bc29e561f:/$ doas apt install fish<br />
Reading package lists... Done<br />
Building dependency tree... Done<br />
Reading state information... Done<br />
The following additional packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish-common groff-base krb5-locales libbsd0 libexpat1<br />
libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
Suggested packages:<br />
bzip2-doc doc-base groff gdbm-l10n gpm krb5-doc krb5-user sensible-utils apparmor less perl-doc<br />
libterm-readline-gnu-perl | libterm-readline-perl-perl make libtap-harness-archive-perl<br />
python3-doc python3-tk python3-venv python3.11-venv python3.11-doc binutils binfmt-support<br />
readline-doc<br />
The following NEW packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish fish-common groff-base krb5-locales libbsd0<br />
libexpat1 libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
0 upgraded, 58 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 29.0 MB of archives.<br />
After this operation, 135 MB of additional disk space will be used.<br />
Do you want to continue? [Y/n] <br />
</pre><br />
<br />
Lunchtime!<br />
<br />
----<br />
<br />
Ok here's this snippet of a blog post I was thinking about earlier<br />
<br />
<blockquote><br />
=== But you can’t stop a gold rush ===<br />
When you think about it, OpenSea would actually be much “better” in the immediate sense if all the web3 parts were gone. It would be faster, cheaper for everyone, and easier to use. For example, to accept a bid on my NFT, I would have had to pay over $80-$150+ just in ethereum transaction fees. That puts an artificial floor on all bids, since otherwise you’d lose money by accepting a bid for less than the gas fees. Payment fees by credit card, which typically feel extortionary, look cheap compared to that.</blockquote>I'm finding a lot of packages have a lot of unnecessary "requires". Now installing with<br />
$ doas apt install --no-install-recommends neofetch<br />
<br />
<pre><br />
po@123bc29e561f:/$ doas apt install --no-install-recommends neofetch <br />
Reading package lists... Done<br />
Building dependency tree... Done<br />
Reading state information... Done<br />
Recommended packages:<br />
chafa caca-utils imagemagick jp2a libsixel-bin w3m-img pciutils<br />
The following NEW packages will be installed:<br />
neofetch<br />
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.<br />
</pre>I think I'll make this the default in my config. Downloaded 81.8kB, versus installing recommended packages as well:<pre><br />
0 upgraded, 156 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 71.2 MB of archives.<br />
After this operation, 254 MB of additional disk space will be used.<br />
</pre>And neofetch works just fine without recommends:<pre><br />
po@123bc29e561f:/$ neofetch<br />
_,met$$$$$gg. po@123bc29e561f <br />
,g$$$$$$$$$$$$$$$P. --------------- <br />
,g$$P" """Y$$.". OS: Debian GNU/Linux 12 (bookworm) x86_64 <br />
,$$P' `$$$. Host: KVM/QEMU (Standard PC (Q35 + ICH9, 2009) pc-q35-8.2) <br />
',$$P ,ggs. `$$b: Kernel: 6.6.13-200.fc39.x86_64 <br />
`d$$' ,$P"' . $$$ Uptime: 9 hours, 42 mins <br />
$$P d$' , $$P Packages: 101 (dpkg) <br />
$$: $$. - ,d$$' Shell: bash 5.2.15 <br />
$$; Y$b._ _,d$P' Resolution: 1280x800 <br />
Y$$. `.`"Y$$$$P"' CPU: 06/45 (2) @ 2.300GHz <br />
`$$b "-.__ Memory: 363MiB / 1964MiB <br />
`Y$$<br />
`Y$$. <br />
`$$b. <br />
`Y$$b.<br />
`"Y$b._<br />
`"""<br />
<br />
</pre><br />
<br />
Cool, was able to generate a dependency tree of fish to see why lynx was included, like so:<br />
<br />
debtree fish | dot -Tpdf > out.pdf<br />
<br />
And get it out of podman (tab completion gave me the container name):<br />
<br />
podman cp wonderful_robinson:/home/po/out.pdf .<br />
<br />
Here's the jpeg render:<br />
<br />
[[File:Debtree for fish.jpg|frameless|700px]]</div>Razzihttps://wiki.abuissa.net/index.php?title=File:Debtree_for_fish.jpg&diff=1015File:Debtree for fish.jpg2024-02-10T05:13:32Z<p>Razzi: </p>
<hr />
<div>debtree for fish shell</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-09&diff=1014Blog: 2024-02-092024-02-10T03:19:30Z<p>Razzi: </p>
<hr />
<div>Ok rather than any of the nice projects I talked about on 2/7, I now have... the idea of making a ronin alternative, that uses podman instead of qemu. Coincidentally, I can see this converging, as I dig into the implementation of podman and see qemu.<br />
<br />
<pre><br />
$ podman system connection list<br />
Name URI Identity Default<br />
podman-machine-default ssh://core@127.0.0.1:50117/run/user/501/podman/podman.sock /Users/razzi/.ssh/podman-machine-default true<br />
podman-machine-default-root ssh://root@127.0.0.1:50117/run/podman/podman.sock /Users/razzi/.ssh/podman-machine-default false<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: -drive if=virtio,file=/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2: Could not open '/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2': No such file or directory<br />
<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine rm podman-machine-default <br />
<br />
The following files will be deleted:<br />
<br />
/Users/razzi/.ssh/podman-machine-default<br />
/Users/razzi/.ssh/podman-machine-default.pub<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.ign<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.json<br />
</pre>GOh right, I'm thinking of calling this podman-based tool po. Like https://en.wikipedia.org/wiki/B%C5%8D<br />
<br />
Getting this helpful message upon startup<pre><br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Mounting volume... /Users:/Users<br />
Mounting volume... /private:/private<br />
Mounting volume... /var/folders:/var/folders<br />
<br />
This machine is currently configured in rootless mode. If your containers<br />
require root permissions (e.g. ports < 1024), or if you run into compatibility<br />
issues with non-podman clients, you can switch using the following command:<br />
<br />
podman machine set --rootful<br />
<br />
API forwarding listening on: /Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
<br />
The system helper service is not installed; the default Docker API socket<br />
address can't be used by podman. If you would like to install it, run the following commands:<br />
<br />
sudo /usr/local/Cellar/podman/4.8.2/bin/podman-mac-helper install<br />
podman machine stop; podman machine start<br />
<br />
You can still connect Docker API clients by setting DOCKER_HOST using the<br />
following command in your terminal session:<br />
<br />
export DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock'<br />
<br />
Machine "podman-machine-default" started successfully<br />
<br />
</pre>Sure enough<pre><br />
$ docker ps<br />
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?<br />
$ env DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock' docker ps<br />
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br />
</pre>Ok I added a po user but when I switched to it I got no sudo! Looks like it's not installed by default. Here are the packages before any updates/installs<pre><br />
root@123bc29e561f:/# apt list<br />
Listing... Done<br />
adduser/now 3.134 all [installed,local]<br />
apt/now 2.6.1 amd64 [installed,local]<br />
base-files/now 12.4+deb12u4 amd64 [installed,local]<br />
base-passwd/now 3.6.1 amd64 [installed,local]<br />
bash/now 5.2.15-2+b2 amd64 [installed,local]<br />
bsdutils/now 1:2.38.1-5+b1 amd64 [installed,local]<br />
coreutils/now 9.1-1 amd64 [installed,local]<br />
dash/now 0.5.12-2 amd64 [installed,local]<br />
debconf/now 1.5.82 all [installed,local]<br />
debian-archive-keyring/now 2023.3+deb12u1 all [installed,local]<br />
debianutils/now 5.7-0.5~deb12u1 amd64 [installed,local]<br />
diffutils/now 1:3.8-4 amd64 [installed,local]<br />
dpkg/now 1.21.22 amd64 [installed,local]<br />
e2fsprogs/now 1.47.0-2 amd64 [installed,local]<br />
findutils/now 4.9.0-4 amd64 [installed,local]<br />
gcc-12-base/now 12.2.0-14 amd64 [installed,local]<br />
gpgv/now 2.2.40-1.1 amd64 [installed,local]<br />
grep/now 3.8-5 amd64 [installed,local]<br />
gzip/now 1.12-1 amd64 [installed,local]<br />
hostname/now 3.23+nmu1 amd64 [installed,local]<br />
init-system-helpers/now 1.65.2 all [installed,local]<br />
libacl1/now 2.3.1-3 amd64 [installed,local]<br />
libapt-pkg6.0/now 2.6.1 amd64 [installed,local]<br />
libattr1/now 1:2.5.1-4 amd64 [installed,local]<br />
libaudit-common/now 1:3.0.9-1 all [installed,local]<br />
libaudit1/now 1:3.0.9-1 amd64 [installed,local]<br />
libblkid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libbz2-1.0/now 1.0.8-5+b1 amd64 [installed,local]<br />
libc-bin/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libc6/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libcap-ng0/now 0.8.3-1+b3 amd64 [installed,local]<br />
libcap2/now 1:2.66-4 amd64 [installed,local]<br />
libcom-err2/now 1.47.0-2 amd64 [installed,local]<br />
libcrypt1/now 1:4.4.33-2 amd64 [installed,local]<br />
libdb5.3/now 5.3.28+dfsg2-1 amd64 [installed,local]<br />
libdebconfclient0/now 0.270 amd64 [installed,local]<br />
libext2fs2/now 1.47.0-2 amd64 [installed,local]<br />
libffi8/now 3.4.4-1 amd64 [installed,local]<br />
libgcc-s1/now 12.2.0-14 amd64 [installed,local]<br />
libgcrypt20/now 1.10.1-3 amd64 [installed,local]<br />
libgmp10/now 2:6.2.1+dfsg1-1.1 amd64 [installed,local]<br />
libgnutls30/now 3.7.9-2+deb12u1 amd64 [installed,local]<br />
libgpg-error0/now 1.46-1 amd64 [installed,local]<br />
libhogweed6/now 3.8.1-2 amd64 [installed,local]<br />
libidn2-0/now 2.3.3-1+b1 amd64 [installed,local]<br />
liblz4-1/now 1.9.4-1 amd64 [installed,local]<br />
liblzma5/now 5.4.1-0.2 amd64 [installed,local]<br />
libmd0/now 1.0.4-2 amd64 [installed,local]<br />
libmount1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libnettle8/now 3.8.1-2 amd64 [installed,local]<br />
libp11-kit0/now 0.24.1-2 amd64 [installed,local]<br />
libpam-modules-bin/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-modules/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-runtime/now 1.5.2-6+deb12u1 all [installed,local]<br />
libpam0g/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpcre2-8-0/now 10.42-1 amd64 [installed,local]<br />
libseccomp2/now 2.5.4-1+b3 amd64 [installed,local]<br />
libselinux1/now 3.4-1+b6 amd64 [installed,local]<br />
libsemanage-common/now 3.4-1 all [installed,local]<br />
libsemanage2/now 3.4-1+b5 amd64 [installed,local]<br />
libsepol2/now 3.4-2.1 amd64 [installed,local]<br />
libsmartcols1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libss2/now 1.47.0-2 amd64 [installed,local]<br />
libstdc++6/now 12.2.0-14 amd64 [installed,local]<br />
libsystemd0/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libtasn1-6/now 4.19.0-2 amd64 [installed,local]<br />
libtinfo6/now 6.4-4 amd64 [installed,local]<br />
libudev1/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libunistring2/now 1.0-2 amd64 [installed,local]<br />
libuuid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libxxhash0/now 0.8.1-1 amd64 [installed,local]<br />
libzstd1/now 1.5.4+dfsg2-5 amd64 [installed,local]<br />
login/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
logsave/now 1.47.0-2 amd64 [installed,local]<br />
mawk/now 1.3.4.20200120-3.1 amd64 [installed,local]<br />
mount/now 2.38.1-5+b1 amd64 [installed,local]<br />
ncurses-base/now 6.4-4 all [installed,local]<br />
ncurses-bin/now 6.4-4 amd64 [installed,local]<br />
passwd/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
perl-base/now 5.36.0-7+deb12u1 amd64 [installed,local]<br />
sed/now 4.9-1 amd64 [installed,local]<br />
sysvinit-utils/now 3.06-4 amd64 [installed,local]<br />
tar/now 1.34+dfsg-1.2 amd64 [installed,local]<br />
tzdata/now 2023c-5+deb12u1 all [installed,local]<br />
usr-is-merged/now 35 all [installed,local]<br />
util-linux-extra/now 2.38.1-5+b1 amd64 [installed,local]<br />
util-linux/now 2.38.1-5+b1 amd64 [installed,local]<br />
zlib1g/now 1:1.2.13.dfsg-1 amd64 [installed,local]<br />
</pre>Merrily proceeding along, I installed doas and enabled `permit po as root` into /etc/doas.conf<br />
<br />
I modified this to be `permit nopass po as root`; no nano or vim, just used echo again.<br />
<br />
Then I thought "I'll set up fish" but I got a huge dependency tree:<pre><br />
po@123bc29e561f:/$ doas apt install fish<br />
Reading package lists... Done<br />
Building dependency tree... Done<br />
Reading state information... Done<br />
The following additional packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish-common groff-base krb5-locales libbsd0 libexpat1<br />
libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
Suggested packages:<br />
bzip2-doc doc-base groff gdbm-l10n gpm krb5-doc krb5-user sensible-utils apparmor less perl-doc<br />
libterm-readline-gnu-perl | libterm-readline-perl-perl make libtap-harness-archive-perl<br />
python3-doc python3-tk python3-venv python3.11-venv python3.11-doc binutils binfmt-support<br />
readline-doc<br />
The following NEW packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish fish-common groff-base krb5-locales libbsd0<br />
libexpat1 libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
0 upgraded, 58 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 29.0 MB of archives.<br />
After this operation, 135 MB of additional disk space will be used.<br />
Do you want to continue? [Y/n] <br />
</pre><br />
<br />
Lunchtime!<br />
<br />
----<br />
<br />
Ok here's this snippet of a blog post I was thinking about earlier<br />
<br />
<blockquote><br />
=== But you can’t stop a gold rush ===<br />
When you think about it, OpenSea would actually be much “better” in the immediate sense if all the web3 parts were gone. It would be faster, cheaper for everyone, and easier to use. For example, to accept a bid on my NFT, I would have had to pay over $80-$150+ just in ethereum transaction fees. That puts an artificial floor on all bids, since otherwise you’d lose money by accepting a bid for less than the gas fees. Payment fees by credit card, which typically feel extortionary, look cheap compared to that.</blockquote>I'm finding a lot of packages have a lot of unnecessary "requires". Now installing with<br />
$ doas apt install --no-install-recommends neofetch<br />
<br />
<pre><br />
po@123bc29e561f:/$ doas apt install --no-install-recommends neofetch <br />
Reading package lists... Done<br />
Building dependency tree... Done<br />
Reading state information... Done<br />
Recommended packages:<br />
chafa caca-utils imagemagick jp2a libsixel-bin w3m-img pciutils<br />
The following NEW packages will be installed:<br />
neofetch<br />
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.<br />
</pre>I think I'll make this the default in my config. Downloaded 81.8kB, versus installing recommended packages as well:<pre><br />
0 upgraded, 156 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 71.2 MB of archives.<br />
After this operation, 254 MB of additional disk space will be used.<br />
</pre>And neofetch works just fine without recommends:<pre><br />
po@123bc29e561f:/$ neofetch<br />
_,met$$$$$gg. po@123bc29e561f <br />
,g$$$$$$$$$$$$$$$P. --------------- <br />
,g$$P" """Y$$.". OS: Debian GNU/Linux 12 (bookworm) x86_64 <br />
,$$P' `$$$. Host: KVM/QEMU (Standard PC (Q35 + ICH9, 2009) pc-q35-8.2) <br />
',$$P ,ggs. `$$b: Kernel: 6.6.13-200.fc39.x86_64 <br />
`d$$' ,$P"' . $$$ Uptime: 9 hours, 42 mins <br />
$$P d$' , $$P Packages: 101 (dpkg) <br />
$$: $$. - ,d$$' Shell: bash 5.2.15 <br />
$$; Y$b._ _,d$P' Resolution: 1280x800 <br />
Y$$. `.`"Y$$$$P"' CPU: 06/45 (2) @ 2.300GHz <br />
`$$b "-.__ Memory: 363MiB / 1964MiB <br />
`Y$$<br />
`Y$$. <br />
`$$b. <br />
`Y$$b.<br />
`"Y$b._<br />
`"""<br />
<br />
</pre></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-09&diff=1013Blog: 2024-02-092024-02-10T02:52:19Z<p>Razzi: </p>
<hr />
<div>Ok rather than any of the nice projects I talked about on 2/7, I now have... the idea of making a ronin alternative, that uses podman instead of qemu. Coincidentally, I can see this converging, as I dig into the implementation of podman and see qemu.<br />
<br />
<pre><br />
$ podman system connection list<br />
Name URI Identity Default<br />
podman-machine-default ssh://core@127.0.0.1:50117/run/user/501/podman/podman.sock /Users/razzi/.ssh/podman-machine-default true<br />
podman-machine-default-root ssh://root@127.0.0.1:50117/run/podman/podman.sock /Users/razzi/.ssh/podman-machine-default false<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: -drive if=virtio,file=/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2: Could not open '/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2': No such file or directory<br />
<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine rm podman-machine-default <br />
<br />
The following files will be deleted:<br />
<br />
/Users/razzi/.ssh/podman-machine-default<br />
/Users/razzi/.ssh/podman-machine-default.pub<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.ign<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.json<br />
</pre>GOh right, I'm thinking of calling this podman-based tool po. Like https://en.wikipedia.org/wiki/B%C5%8D<br />
<br />
Getting this helpful message upon startup<pre><br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Mounting volume... /Users:/Users<br />
Mounting volume... /private:/private<br />
Mounting volume... /var/folders:/var/folders<br />
<br />
This machine is currently configured in rootless mode. If your containers<br />
require root permissions (e.g. ports < 1024), or if you run into compatibility<br />
issues with non-podman clients, you can switch using the following command:<br />
<br />
podman machine set --rootful<br />
<br />
API forwarding listening on: /Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
<br />
The system helper service is not installed; the default Docker API socket<br />
address can't be used by podman. If you would like to install it, run the following commands:<br />
<br />
sudo /usr/local/Cellar/podman/4.8.2/bin/podman-mac-helper install<br />
podman machine stop; podman machine start<br />
<br />
You can still connect Docker API clients by setting DOCKER_HOST using the<br />
following command in your terminal session:<br />
<br />
export DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock'<br />
<br />
Machine "podman-machine-default" started successfully<br />
<br />
</pre>Sure enough<pre><br />
$ docker ps<br />
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?<br />
$ env DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock' docker ps<br />
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br />
</pre>Ok I added a po user but when I switched to it I got no sudo! Looks like it's not installed by default. Here are the packages before any updates/installs<pre><br />
root@123bc29e561f:/# apt list<br />
Listing... Done<br />
adduser/now 3.134 all [installed,local]<br />
apt/now 2.6.1 amd64 [installed,local]<br />
base-files/now 12.4+deb12u4 amd64 [installed,local]<br />
base-passwd/now 3.6.1 amd64 [installed,local]<br />
bash/now 5.2.15-2+b2 amd64 [installed,local]<br />
bsdutils/now 1:2.38.1-5+b1 amd64 [installed,local]<br />
coreutils/now 9.1-1 amd64 [installed,local]<br />
dash/now 0.5.12-2 amd64 [installed,local]<br />
debconf/now 1.5.82 all [installed,local]<br />
debian-archive-keyring/now 2023.3+deb12u1 all [installed,local]<br />
debianutils/now 5.7-0.5~deb12u1 amd64 [installed,local]<br />
diffutils/now 1:3.8-4 amd64 [installed,local]<br />
dpkg/now 1.21.22 amd64 [installed,local]<br />
e2fsprogs/now 1.47.0-2 amd64 [installed,local]<br />
findutils/now 4.9.0-4 amd64 [installed,local]<br />
gcc-12-base/now 12.2.0-14 amd64 [installed,local]<br />
gpgv/now 2.2.40-1.1 amd64 [installed,local]<br />
grep/now 3.8-5 amd64 [installed,local]<br />
gzip/now 1.12-1 amd64 [installed,local]<br />
hostname/now 3.23+nmu1 amd64 [installed,local]<br />
init-system-helpers/now 1.65.2 all [installed,local]<br />
libacl1/now 2.3.1-3 amd64 [installed,local]<br />
libapt-pkg6.0/now 2.6.1 amd64 [installed,local]<br />
libattr1/now 1:2.5.1-4 amd64 [installed,local]<br />
libaudit-common/now 1:3.0.9-1 all [installed,local]<br />
libaudit1/now 1:3.0.9-1 amd64 [installed,local]<br />
libblkid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libbz2-1.0/now 1.0.8-5+b1 amd64 [installed,local]<br />
libc-bin/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libc6/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libcap-ng0/now 0.8.3-1+b3 amd64 [installed,local]<br />
libcap2/now 1:2.66-4 amd64 [installed,local]<br />
libcom-err2/now 1.47.0-2 amd64 [installed,local]<br />
libcrypt1/now 1:4.4.33-2 amd64 [installed,local]<br />
libdb5.3/now 5.3.28+dfsg2-1 amd64 [installed,local]<br />
libdebconfclient0/now 0.270 amd64 [installed,local]<br />
libext2fs2/now 1.47.0-2 amd64 [installed,local]<br />
libffi8/now 3.4.4-1 amd64 [installed,local]<br />
libgcc-s1/now 12.2.0-14 amd64 [installed,local]<br />
libgcrypt20/now 1.10.1-3 amd64 [installed,local]<br />
libgmp10/now 2:6.2.1+dfsg1-1.1 amd64 [installed,local]<br />
libgnutls30/now 3.7.9-2+deb12u1 amd64 [installed,local]<br />
libgpg-error0/now 1.46-1 amd64 [installed,local]<br />
libhogweed6/now 3.8.1-2 amd64 [installed,local]<br />
libidn2-0/now 2.3.3-1+b1 amd64 [installed,local]<br />
liblz4-1/now 1.9.4-1 amd64 [installed,local]<br />
liblzma5/now 5.4.1-0.2 amd64 [installed,local]<br />
libmd0/now 1.0.4-2 amd64 [installed,local]<br />
libmount1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libnettle8/now 3.8.1-2 amd64 [installed,local]<br />
libp11-kit0/now 0.24.1-2 amd64 [installed,local]<br />
libpam-modules-bin/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-modules/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-runtime/now 1.5.2-6+deb12u1 all [installed,local]<br />
libpam0g/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpcre2-8-0/now 10.42-1 amd64 [installed,local]<br />
libseccomp2/now 2.5.4-1+b3 amd64 [installed,local]<br />
libselinux1/now 3.4-1+b6 amd64 [installed,local]<br />
libsemanage-common/now 3.4-1 all [installed,local]<br />
libsemanage2/now 3.4-1+b5 amd64 [installed,local]<br />
libsepol2/now 3.4-2.1 amd64 [installed,local]<br />
libsmartcols1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libss2/now 1.47.0-2 amd64 [installed,local]<br />
libstdc++6/now 12.2.0-14 amd64 [installed,local]<br />
libsystemd0/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libtasn1-6/now 4.19.0-2 amd64 [installed,local]<br />
libtinfo6/now 6.4-4 amd64 [installed,local]<br />
libudev1/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libunistring2/now 1.0-2 amd64 [installed,local]<br />
libuuid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libxxhash0/now 0.8.1-1 amd64 [installed,local]<br />
libzstd1/now 1.5.4+dfsg2-5 amd64 [installed,local]<br />
login/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
logsave/now 1.47.0-2 amd64 [installed,local]<br />
mawk/now 1.3.4.20200120-3.1 amd64 [installed,local]<br />
mount/now 2.38.1-5+b1 amd64 [installed,local]<br />
ncurses-base/now 6.4-4 all [installed,local]<br />
ncurses-bin/now 6.4-4 amd64 [installed,local]<br />
passwd/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
perl-base/now 5.36.0-7+deb12u1 amd64 [installed,local]<br />
sed/now 4.9-1 amd64 [installed,local]<br />
sysvinit-utils/now 3.06-4 amd64 [installed,local]<br />
tar/now 1.34+dfsg-1.2 amd64 [installed,local]<br />
tzdata/now 2023c-5+deb12u1 all [installed,local]<br />
usr-is-merged/now 35 all [installed,local]<br />
util-linux-extra/now 2.38.1-5+b1 amd64 [installed,local]<br />
util-linux/now 2.38.1-5+b1 amd64 [installed,local]<br />
zlib1g/now 1:1.2.13.dfsg-1 amd64 [installed,local]<br />
</pre>Merrily proceeding along, I installed doas and enabled `permit po as root` into /etc/doas.conf<br />
<br />
I modified this to be `permit nopass po as root`; no nano or vim, just used echo again.<br />
<br />
Then I thought "I'll set up fish" but I got a huge dependency tree:<pre><br />
po@123bc29e561f:/$ doas apt install fish<br />
Reading package lists... Done<br />
Building dependency tree... Done<br />
Reading state information... Done<br />
The following additional packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish-common groff-base krb5-locales libbsd0 libexpat1<br />
libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
Suggested packages:<br />
bzip2-doc doc-base groff gdbm-l10n gpm krb5-doc krb5-user sensible-utils apparmor less perl-doc<br />
libterm-readline-gnu-perl | libterm-readline-perl-perl make libtap-harness-archive-perl<br />
python3-doc python3-tk python3-venv python3.11-venv python3.11-doc binutils binfmt-support<br />
readline-doc<br />
The following NEW packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish fish-common groff-base krb5-locales libbsd0<br />
libexpat1 libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
0 upgraded, 58 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 29.0 MB of archives.<br />
After this operation, 135 MB of additional disk space will be used.<br />
Do you want to continue? [Y/n] <br />
</pre><br />
<br />
Lunchtime!<br />
<br />
----<br />
<br />
Ok here's this snippet of a blog post I was thinking about earlier<br />
<br />
<blockquote><br />
=== But you can’t stop a gold rush ===<br />
When you think about it, OpenSea would actually be much “better” in the immediate sense if all the web3 parts were gone. It would be faster, cheaper for everyone, and easier to use. For example, to accept a bid on my NFT, I would have had to pay over $80-$150+ just in ethereum transaction fees. That puts an artificial floor on all bids, since otherwise you’d lose money by accepting a bid for less than the gas fees. Payment fees by credit card, which typically feel extortionary, look cheap compared to that.</blockquote></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-09&diff=1012Blog: 2024-02-092024-02-10T02:52:02Z<p>Razzi: </p>
<hr />
<div>Ok rather than any of the nice projects I talked about on 2/7, I now have... the idea of making a ronin alternative, that uses podman instead of qemu. Coincidentally, I can see this converging, as I dig into the implementation of podman and see qemu.<br />
<br />
<pre><br />
$ podman system connection list<br />
Name URI Identity Default<br />
podman-machine-default ssh://core@127.0.0.1:50117/run/user/501/podman/podman.sock /Users/razzi/.ssh/podman-machine-default true<br />
podman-machine-default-root ssh://root@127.0.0.1:50117/run/podman/podman.sock /Users/razzi/.ssh/podman-machine-default false<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: -drive if=virtio,file=/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2: Could not open '/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2': No such file or directory<br />
<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine rm podman-machine-default <br />
<br />
The following files will be deleted:<br />
<br />
/Users/razzi/.ssh/podman-machine-default<br />
/Users/razzi/.ssh/podman-machine-default.pub<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.ign<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.json<br />
</pre>GOh right, I'm thinking of calling this podman-based tool po. Like https://en.wikipedia.org/wiki/B%C5%8D<br />
<br />
Getting this helpful message upon startup<pre><br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Mounting volume... /Users:/Users<br />
Mounting volume... /private:/private<br />
Mounting volume... /var/folders:/var/folders<br />
<br />
This machine is currently configured in rootless mode. If your containers<br />
require root permissions (e.g. ports < 1024), or if you run into compatibility<br />
issues with non-podman clients, you can switch using the following command:<br />
<br />
podman machine set --rootful<br />
<br />
API forwarding listening on: /Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
<br />
The system helper service is not installed; the default Docker API socket<br />
address can't be used by podman. If you would like to install it, run the following commands:<br />
<br />
sudo /usr/local/Cellar/podman/4.8.2/bin/podman-mac-helper install<br />
podman machine stop; podman machine start<br />
<br />
You can still connect Docker API clients by setting DOCKER_HOST using the<br />
following command in your terminal session:<br />
<br />
export DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock'<br />
<br />
Machine "podman-machine-default" started successfully<br />
<br />
</pre>Sure enough<pre><br />
$ docker ps<br />
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?<br />
$ env DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock' docker ps<br />
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br />
</pre>Ok I added a po user but when I switched to it I got no sudo! Looks like it's not installed by default. Here are the packages before any updates/installs<pre><br />
root@123bc29e561f:/# apt list<br />
Listing... Done<br />
adduser/now 3.134 all [installed,local]<br />
apt/now 2.6.1 amd64 [installed,local]<br />
base-files/now 12.4+deb12u4 amd64 [installed,local]<br />
base-passwd/now 3.6.1 amd64 [installed,local]<br />
bash/now 5.2.15-2+b2 amd64 [installed,local]<br />
bsdutils/now 1:2.38.1-5+b1 amd64 [installed,local]<br />
coreutils/now 9.1-1 amd64 [installed,local]<br />
dash/now 0.5.12-2 amd64 [installed,local]<br />
debconf/now 1.5.82 all [installed,local]<br />
debian-archive-keyring/now 2023.3+deb12u1 all [installed,local]<br />
debianutils/now 5.7-0.5~deb12u1 amd64 [installed,local]<br />
diffutils/now 1:3.8-4 amd64 [installed,local]<br />
dpkg/now 1.21.22 amd64 [installed,local]<br />
e2fsprogs/now 1.47.0-2 amd64 [installed,local]<br />
findutils/now 4.9.0-4 amd64 [installed,local]<br />
gcc-12-base/now 12.2.0-14 amd64 [installed,local]<br />
gpgv/now 2.2.40-1.1 amd64 [installed,local]<br />
grep/now 3.8-5 amd64 [installed,local]<br />
gzip/now 1.12-1 amd64 [installed,local]<br />
hostname/now 3.23+nmu1 amd64 [installed,local]<br />
init-system-helpers/now 1.65.2 all [installed,local]<br />
libacl1/now 2.3.1-3 amd64 [installed,local]<br />
libapt-pkg6.0/now 2.6.1 amd64 [installed,local]<br />
libattr1/now 1:2.5.1-4 amd64 [installed,local]<br />
libaudit-common/now 1:3.0.9-1 all [installed,local]<br />
libaudit1/now 1:3.0.9-1 amd64 [installed,local]<br />
libblkid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libbz2-1.0/now 1.0.8-5+b1 amd64 [installed,local]<br />
libc-bin/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libc6/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libcap-ng0/now 0.8.3-1+b3 amd64 [installed,local]<br />
libcap2/now 1:2.66-4 amd64 [installed,local]<br />
libcom-err2/now 1.47.0-2 amd64 [installed,local]<br />
libcrypt1/now 1:4.4.33-2 amd64 [installed,local]<br />
libdb5.3/now 5.3.28+dfsg2-1 amd64 [installed,local]<br />
libdebconfclient0/now 0.270 amd64 [installed,local]<br />
libext2fs2/now 1.47.0-2 amd64 [installed,local]<br />
libffi8/now 3.4.4-1 amd64 [installed,local]<br />
libgcc-s1/now 12.2.0-14 amd64 [installed,local]<br />
libgcrypt20/now 1.10.1-3 amd64 [installed,local]<br />
libgmp10/now 2:6.2.1+dfsg1-1.1 amd64 [installed,local]<br />
libgnutls30/now 3.7.9-2+deb12u1 amd64 [installed,local]<br />
libgpg-error0/now 1.46-1 amd64 [installed,local]<br />
libhogweed6/now 3.8.1-2 amd64 [installed,local]<br />
libidn2-0/now 2.3.3-1+b1 amd64 [installed,local]<br />
liblz4-1/now 1.9.4-1 amd64 [installed,local]<br />
liblzma5/now 5.4.1-0.2 amd64 [installed,local]<br />
libmd0/now 1.0.4-2 amd64 [installed,local]<br />
libmount1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libnettle8/now 3.8.1-2 amd64 [installed,local]<br />
libp11-kit0/now 0.24.1-2 amd64 [installed,local]<br />
libpam-modules-bin/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-modules/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-runtime/now 1.5.2-6+deb12u1 all [installed,local]<br />
libpam0g/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpcre2-8-0/now 10.42-1 amd64 [installed,local]<br />
libseccomp2/now 2.5.4-1+b3 amd64 [installed,local]<br />
libselinux1/now 3.4-1+b6 amd64 [installed,local]<br />
libsemanage-common/now 3.4-1 all [installed,local]<br />
libsemanage2/now 3.4-1+b5 amd64 [installed,local]<br />
libsepol2/now 3.4-2.1 amd64 [installed,local]<br />
libsmartcols1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libss2/now 1.47.0-2 amd64 [installed,local]<br />
libstdc++6/now 12.2.0-14 amd64 [installed,local]<br />
libsystemd0/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libtasn1-6/now 4.19.0-2 amd64 [installed,local]<br />
libtinfo6/now 6.4-4 amd64 [installed,local]<br />
libudev1/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libunistring2/now 1.0-2 amd64 [installed,local]<br />
libuuid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libxxhash0/now 0.8.1-1 amd64 [installed,local]<br />
libzstd1/now 1.5.4+dfsg2-5 amd64 [installed,local]<br />
login/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
logsave/now 1.47.0-2 amd64 [installed,local]<br />
mawk/now 1.3.4.20200120-3.1 amd64 [installed,local]<br />
mount/now 2.38.1-5+b1 amd64 [installed,local]<br />
ncurses-base/now 6.4-4 all [installed,local]<br />
ncurses-bin/now 6.4-4 amd64 [installed,local]<br />
passwd/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
perl-base/now 5.36.0-7+deb12u1 amd64 [installed,local]<br />
sed/now 4.9-1 amd64 [installed,local]<br />
sysvinit-utils/now 3.06-4 amd64 [installed,local]<br />
tar/now 1.34+dfsg-1.2 amd64 [installed,local]<br />
tzdata/now 2023c-5+deb12u1 all [installed,local]<br />
usr-is-merged/now 35 all [installed,local]<br />
util-linux-extra/now 2.38.1-5+b1 amd64 [installed,local]<br />
util-linux/now 2.38.1-5+b1 amd64 [installed,local]<br />
zlib1g/now 1:1.2.13.dfsg-1 amd64 [installed,local]<br />
</pre>Merrily proceeding along, I installed doas and enabled `permit po as root` into /etc/doas.conf<br />
<br />
I modified this to be `permit nopass po as root`; no nano or vim, just used echo again.<br />
<br />
Then I thought "I'll set up fish" but I got a huge dependency tree:<pre><br />
po@123bc29e561f:/$ doas apt install fish<br />
Reading package lists... Done<br />
Building dependency tree... Done<br />
Reading state information... Done<br />
The following additional packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish-common groff-base krb5-locales libbsd0 libexpat1<br />
libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
Suggested packages:<br />
bzip2-doc doc-base groff gdbm-l10n gpm krb5-doc krb5-user sensible-utils apparmor less perl-doc<br />
libterm-readline-gnu-perl | libterm-readline-perl-perl make libtap-harness-archive-perl<br />
python3-doc python3-tk python3-venv python3.11-venv python3.11-doc binutils binfmt-support<br />
readline-doc<br />
The following NEW packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish fish-common groff-base krb5-locales libbsd0<br />
libexpat1 libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
0 upgraded, 58 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 29.0 MB of archives.<br />
After this operation, 135 MB of additional disk space will be used.<br />
Do you want to continue? [Y/n] <br />
</pre><br />
<br />
Lunchtime!<br />
<br />
----<br />
<br />
Ok here's this snippet of a blog post I was thinking about earlier<blockquote><br />
=== But you can’t stop a gold rush ===<br />
When you think about it, OpenSea would actually be much “better” in the immediate sense if all the web3 parts were gone. It would be faster, cheaper for everyone, and easier to use. For example, to accept a bid on my NFT, I would have had to pay over $80-$150+ just in ethereum transaction fees. That puts an artificial floor on all bids, since otherwise you’d lose money by accepting a bid for less than the gas fees. Payment fees by credit card, which typically feel extortionary, look cheap compared to that.</blockquote></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-09&diff=1011Blog: 2024-02-092024-02-09T18:16:16Z<p>Razzi: </p>
<hr />
<div>Ok rather than any of the nice projects I talked about on 2/7, I now have... the idea of making a ronin alternative, that uses podman instead of qemu. Coincidentally, I can see this converging, as I dig into the implementation of podman and see qemu.<br />
<br />
<pre><br />
$ podman system connection list<br />
Name URI Identity Default<br />
podman-machine-default ssh://core@127.0.0.1:50117/run/user/501/podman/podman.sock /Users/razzi/.ssh/podman-machine-default true<br />
podman-machine-default-root ssh://root@127.0.0.1:50117/run/podman/podman.sock /Users/razzi/.ssh/podman-machine-default false<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: -drive if=virtio,file=/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2: Could not open '/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2': No such file or directory<br />
<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine rm podman-machine-default <br />
<br />
The following files will be deleted:<br />
<br />
/Users/razzi/.ssh/podman-machine-default<br />
/Users/razzi/.ssh/podman-machine-default.pub<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.ign<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.json<br />
</pre>Oh right, I'm thinking of calling this podman-based tool po. Like https://en.wikipedia.org/wiki/B%C5%8D<br />
<br />
Getting this helpful message upon startup<pre><br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Mounting volume... /Users:/Users<br />
Mounting volume... /private:/private<br />
Mounting volume... /var/folders:/var/folders<br />
<br />
This machine is currently configured in rootless mode. If your containers<br />
require root permissions (e.g. ports < 1024), or if you run into compatibility<br />
issues with non-podman clients, you can switch using the following command:<br />
<br />
podman machine set --rootful<br />
<br />
API forwarding listening on: /Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
<br />
The system helper service is not installed; the default Docker API socket<br />
address can't be used by podman. If you would like to install it, run the following commands:<br />
<br />
sudo /usr/local/Cellar/podman/4.8.2/bin/podman-mac-helper install<br />
podman machine stop; podman machine start<br />
<br />
You can still connect Docker API clients by setting DOCKER_HOST using the<br />
following command in your terminal session:<br />
<br />
export DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock'<br />
<br />
Machine "podman-machine-default" started successfully<br />
<br />
</pre>Sure enough<pre><br />
$ docker ps<br />
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?<br />
$ env DOCKER_HOST='unix:///Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock' docker ps<br />
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES<br />
</pre>Ok I added a po user but when I switched to it I got no sudo! Looks like it's not installed by default. Here are the packages before any updates/installs<pre><br />
root@123bc29e561f:/# apt list<br />
Listing... Done<br />
adduser/now 3.134 all [installed,local]<br />
apt/now 2.6.1 amd64 [installed,local]<br />
base-files/now 12.4+deb12u4 amd64 [installed,local]<br />
base-passwd/now 3.6.1 amd64 [installed,local]<br />
bash/now 5.2.15-2+b2 amd64 [installed,local]<br />
bsdutils/now 1:2.38.1-5+b1 amd64 [installed,local]<br />
coreutils/now 9.1-1 amd64 [installed,local]<br />
dash/now 0.5.12-2 amd64 [installed,local]<br />
debconf/now 1.5.82 all [installed,local]<br />
debian-archive-keyring/now 2023.3+deb12u1 all [installed,local]<br />
debianutils/now 5.7-0.5~deb12u1 amd64 [installed,local]<br />
diffutils/now 1:3.8-4 amd64 [installed,local]<br />
dpkg/now 1.21.22 amd64 [installed,local]<br />
e2fsprogs/now 1.47.0-2 amd64 [installed,local]<br />
findutils/now 4.9.0-4 amd64 [installed,local]<br />
gcc-12-base/now 12.2.0-14 amd64 [installed,local]<br />
gpgv/now 2.2.40-1.1 amd64 [installed,local]<br />
grep/now 3.8-5 amd64 [installed,local]<br />
gzip/now 1.12-1 amd64 [installed,local]<br />
hostname/now 3.23+nmu1 amd64 [installed,local]<br />
init-system-helpers/now 1.65.2 all [installed,local]<br />
libacl1/now 2.3.1-3 amd64 [installed,local]<br />
libapt-pkg6.0/now 2.6.1 amd64 [installed,local]<br />
libattr1/now 1:2.5.1-4 amd64 [installed,local]<br />
libaudit-common/now 1:3.0.9-1 all [installed,local]<br />
libaudit1/now 1:3.0.9-1 amd64 [installed,local]<br />
libblkid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libbz2-1.0/now 1.0.8-5+b1 amd64 [installed,local]<br />
libc-bin/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libc6/now 2.36-9+deb12u4 amd64 [installed,local]<br />
libcap-ng0/now 0.8.3-1+b3 amd64 [installed,local]<br />
libcap2/now 1:2.66-4 amd64 [installed,local]<br />
libcom-err2/now 1.47.0-2 amd64 [installed,local]<br />
libcrypt1/now 1:4.4.33-2 amd64 [installed,local]<br />
libdb5.3/now 5.3.28+dfsg2-1 amd64 [installed,local]<br />
libdebconfclient0/now 0.270 amd64 [installed,local]<br />
libext2fs2/now 1.47.0-2 amd64 [installed,local]<br />
libffi8/now 3.4.4-1 amd64 [installed,local]<br />
libgcc-s1/now 12.2.0-14 amd64 [installed,local]<br />
libgcrypt20/now 1.10.1-3 amd64 [installed,local]<br />
libgmp10/now 2:6.2.1+dfsg1-1.1 amd64 [installed,local]<br />
libgnutls30/now 3.7.9-2+deb12u1 amd64 [installed,local]<br />
libgpg-error0/now 1.46-1 amd64 [installed,local]<br />
libhogweed6/now 3.8.1-2 amd64 [installed,local]<br />
libidn2-0/now 2.3.3-1+b1 amd64 [installed,local]<br />
liblz4-1/now 1.9.4-1 amd64 [installed,local]<br />
liblzma5/now 5.4.1-0.2 amd64 [installed,local]<br />
libmd0/now 1.0.4-2 amd64 [installed,local]<br />
libmount1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libnettle8/now 3.8.1-2 amd64 [installed,local]<br />
libp11-kit0/now 0.24.1-2 amd64 [installed,local]<br />
libpam-modules-bin/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-modules/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpam-runtime/now 1.5.2-6+deb12u1 all [installed,local]<br />
libpam0g/now 1.5.2-6+deb12u1 amd64 [installed,local]<br />
libpcre2-8-0/now 10.42-1 amd64 [installed,local]<br />
libseccomp2/now 2.5.4-1+b3 amd64 [installed,local]<br />
libselinux1/now 3.4-1+b6 amd64 [installed,local]<br />
libsemanage-common/now 3.4-1 all [installed,local]<br />
libsemanage2/now 3.4-1+b5 amd64 [installed,local]<br />
libsepol2/now 3.4-2.1 amd64 [installed,local]<br />
libsmartcols1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libss2/now 1.47.0-2 amd64 [installed,local]<br />
libstdc++6/now 12.2.0-14 amd64 [installed,local]<br />
libsystemd0/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libtasn1-6/now 4.19.0-2 amd64 [installed,local]<br />
libtinfo6/now 6.4-4 amd64 [installed,local]<br />
libudev1/now 252.19-1~deb12u1 amd64 [installed,local]<br />
libunistring2/now 1.0-2 amd64 [installed,local]<br />
libuuid1/now 2.38.1-5+b1 amd64 [installed,local]<br />
libxxhash0/now 0.8.1-1 amd64 [installed,local]<br />
libzstd1/now 1.5.4+dfsg2-5 amd64 [installed,local]<br />
login/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
logsave/now 1.47.0-2 amd64 [installed,local]<br />
mawk/now 1.3.4.20200120-3.1 amd64 [installed,local]<br />
mount/now 2.38.1-5+b1 amd64 [installed,local]<br />
ncurses-base/now 6.4-4 all [installed,local]<br />
ncurses-bin/now 6.4-4 amd64 [installed,local]<br />
passwd/now 1:4.13+dfsg1-1+b1 amd64 [installed,local]<br />
perl-base/now 5.36.0-7+deb12u1 amd64 [installed,local]<br />
sed/now 4.9-1 amd64 [installed,local]<br />
sysvinit-utils/now 3.06-4 amd64 [installed,local]<br />
tar/now 1.34+dfsg-1.2 amd64 [installed,local]<br />
tzdata/now 2023c-5+deb12u1 all [installed,local]<br />
usr-is-merged/now 35 all [installed,local]<br />
util-linux-extra/now 2.38.1-5+b1 amd64 [installed,local]<br />
util-linux/now 2.38.1-5+b1 amd64 [installed,local]<br />
zlib1g/now 1:1.2.13.dfsg-1 amd64 [installed,local]<br />
</pre>Merrily proceeding along, I installed doas and enabled `permit po as root` into /etc/doas.conf<br />
<br />
I modified this to be `permit nopass po as root`; no nano or vim, just used echo again.<br />
<br />
Then I thought "I'll set up fish" but I got a huge dependency tree:<pre><br />
po@123bc29e561f:/$ doas apt install fish<br />
Reading package lists... Done<br />
Building dependency tree... Done<br />
Reading state information... Done<br />
The following additional packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish-common groff-base krb5-locales libbsd0 libexpat1<br />
libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
Suggested packages:<br />
bzip2-doc doc-base groff gdbm-l10n gpm krb5-doc krb5-user sensible-utils apparmor less perl-doc<br />
libterm-readline-gnu-perl | libterm-readline-perl-perl make libtap-harness-archive-perl<br />
python3-doc python3-tk python3-venv python3.11-venv python3.11-doc binutils binfmt-support<br />
readline-doc<br />
The following NEW packages will be installed:<br />
bsdextrautils bzip2 ca-certificates file fish fish-common groff-base krb5-locales libbsd0<br />
libexpat1 libgdbm-compat4 libgdbm6 libgpm2 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3<br />
libkrb5support0 libmagic-mgc libmagic1 libncursesw6 libnsl2 libpcre2-32-0 libperl5.36<br />
libpipeline1 libproc2-0 libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib libreadline8<br />
libsqlite3-0 libssl3 libtirpc-common libtirpc3 libuchardet0 libx11-6 libx11-data libxau6 libxcb1<br />
libxdmcp6 lynx lynx-common mailcap man-db media-types netbase openssl perl perl-modules-5.36<br />
procps psmisc python3 python3-minimal python3.11 python3.11-minimal readline-common xsel xz-utils<br />
0 upgraded, 58 newly installed, 0 to remove and 0 not upgraded.<br />
Need to get 29.0 MB of archives.<br />
After this operation, 135 MB of additional disk space will be used.<br />
Do you want to continue? [Y/n] <br />
</pre>Lunchtime!</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-09&diff=1010Blog: 2024-02-092024-02-09T17:32:08Z<p>Razzi: Created page with "Ok rather than any of the nice projects I talked about on 2/7, I now have... the idea of making a ronin alternative, that uses podman instead of qemu. Coincidentally, I can see this converging, as I dig into the implementation of podman and see qemu. <pre> $ podman system connection list Name URI Identity Default podman-machine-default ssh://core@127.0...."</p>
<hr />
<div>Ok rather than any of the nice projects I talked about on 2/7, I now have... the idea of making a ronin alternative, that uses podman instead of qemu. Coincidentally, I can see this converging, as I dig into the implementation of podman and see qemu.<br />
<br />
<pre><br />
$ podman system connection list<br />
Name URI Identity Default<br />
podman-machine-default ssh://core@127.0.0.1:50117/run/user/501/podman/podman.sock /Users/razzi/.ssh/podman-machine-default true<br />
podman-machine-default-root ssh://root@127.0.0.1:50117/run/podman/podman.sock /Users/razzi/.ssh/podman-machine-default false<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine start<br />
Starting machine "podman-machine-default"<br />
Waiting for VM ...<br />
Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: -drive if=virtio,file=/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2: Could not open '/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2': No such file or directory<br />
<br />
$ podman machine list<br />
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE<br />
podman-machine-default* qemu 5 months ago 3 months ago 1 2GiB 100GiB<br />
$ podman machine rm podman-machine-default <br />
<br />
The following files will be deleted:<br />
<br />
/Users/razzi/.ssh/podman-machine-default<br />
/Users/razzi/.ssh/podman-machine-default.pub<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.ign<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman-machine-default_fedora-coreos-38.20230819.2.0-qemu.x86_64.qcow2<br />
/Users/razzi/.local/share/containers/podman/machine/qemu/podman.sock<br />
/Users/razzi/.config/containers/podman/machine/qemu/podman-machine-default.json<br />
</pre></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-07&diff=1009Blog: 2024-02-072024-02-08T05:08:45Z<p>Razzi: </p>
<hr />
<div>Quick repo sync!<br />
<br />
cat ~/.repos.txt | xargs -I{} -P (nproc) fish -c 'sync-repo {}'<br />
<br />
Couple ideas of projects<br />
<br />
* python version manager, still... though maybe apt is just the way to do this... but not really, pinning versions is nice, and installing prereleases, etc.<br />
* fish issue https://github.com/fish-shell/fish-shell/issues/7944<br />
* fish_indent removing spaces after redirection (related to https://github.com/fish-shell/fish-shell/issues/2899)<br />
* pager with some features like https://wiki.abuissa.net/wiki/Pager_features<br />
* better dark mode for mediawiki, without using invert transformations<br />
* protonmail auto advance and general ui cleanup<br />
* native apt packaging for signal desktop<br />
* apt packaging for deno</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-07&diff=1008Blog: 2024-02-072024-02-08T05:08:18Z<p>Razzi: </p>
<hr />
<div>Quick repo sync!<br />
<br />
cat ~/.repos.txt | xargs -I{} -P (nproc) fish -c 'sync-repo {}'<br />
<br />
Couple ideas of projects<br />
<br />
* python version manager, still... though maybe apt is just the way to do this... but not really, pinning versions is nice, and installing prereleases, etc.<br />
* fish issue https://github.com/fish-shell/fish-shell/issues/7944<br />
* fish_indent removing spaces after redirection (related to https://github.com/fish-shell/fish-shell/issues/2899)<br />
* pager with some features like https://wiki.abuissa.net/wiki/Pager_features<br />
* better dark mode for mediawiki, without using invert transformations<br />
* protonmail auto advance and general ui cleanup</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-07&diff=1007Blog: 2024-02-072024-02-07T18:00:28Z<p>Razzi: Created page with "Quick repo sync! cat ~/.repos.txt | xargs -I{} -P (nproc) fish -c 'sync-repo {}'"</p>
<hr />
<div>Quick repo sync!<br />
<br />
cat ~/.repos.txt | xargs -I{} -P (nproc) fish -c 'sync-repo {}'</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-03&diff=1006Blog: 2024-02-032024-02-03T17:44:24Z<p>Razzi: Created page with "Weirdly, running `man hexdump` invoked xcodebuild and lagged for a while, so I thought I'd cut out the middleman and learned how to do this: groff -mandoc /usr/share/man/man1/hexdump.1 -Tascii Then I can groff -mandoc /usr/share/man/man1/hexdump.1 -Tascii | less Makes me think about how groff is antiquated and I don't know how to write its bespoke text format, so probably a better approach for a modern os would be to write man pages in md, or maybe just html? Is it..."</p>
<hr />
<div>Weirdly, running `man hexdump` invoked xcodebuild and lagged for a while, so I thought I'd cut out the middleman and learned how to do this:<br />
<br />
groff -mandoc /usr/share/man/man1/hexdump.1 -Tascii<br />
<br />
Then I can<br />
<br />
groff -mandoc /usr/share/man/man1/hexdump.1 -Tascii | less<br />
<br />
Makes me think about how groff is antiquated and I don't know how to write its bespoke text format, so probably a better approach for a modern os would be to write man pages in md, or maybe just html? Is it time for a browser os? Past time haha and it already exists. Anyways...</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-01&diff=1004Blog: 2024-02-012024-02-02T16:43:17Z<p>Razzi: </p>
<hr />
<div>Found this song https://freemusicarchive.org/music/Yung_Kartz/August_2018/Mars_1797<br />
<br />
while cleaning up my old functions; I found my krui function. Still works!<br />
<br />
----<br />
<br />
Looking into setting up a new cms sort of website for a local org. Nationbuilder comes to mind and it would work, but after giving the basic info for setup I got the pricing:<br />
<br />
=== <small><sup>14-day free trial</sup></small> ===<br />
<small><sup>For your free trial period, you will have access to all of the features of our Pro plan (starting at $179/mo). After your free trial ends on Feb 15, 2024, you will be billed the monthly price of $179, plus any applicable taxes, based on the size of your database.</sup></small><br />
<br />
=== <small><sup>Change or cancel your plan at any time</sup></small> ===<br />
<small><sup>You can cancel at any time during your trial period, or downgrade to our more limited Starter plan (starting at $34/mo) in your control panel settings.</sup></small><br />
<br />
Ok so that's a bit pricey, though it could work, and it would actually accept donations.<br />
<br />
Looking onward to CiviCRM, it's open source 👍 but it still costs as follows (apparently their paid hosting is called Spark)<br />
<br />
* Spark Starter - $15/month<br />
* Spark Essentials - $30/month<br />
* Spark Prop - $50/month<br />
<br />
----When it comes to [https://docs.civicrm.org/installation/en/latest/ self-hosting] civicrm I can see these platforms:<br />
<br />
* Install CiviCRM on Backdrop <br />
* Install CiviCRM on Drupal <br />
* Install CiviCRM on Joomla <br />
* Install CiviCRM on WordPress <br />
* Install CiviCRM (Standalone)<br />
<br />
Of them I'm most interested in the standalone one for starters, though it might be time to do a review of the big php cms options.</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-01&diff=1003Blog: 2024-02-012024-02-02T16:41:54Z<p>Razzi: </p>
<hr />
<div>Found this song https://freemusicarchive.org/music/Yung_Kartz/August_2018/Mars_1797<br />
<br />
while cleaning up my old functions; I found my krui function. Still works!<br />
<br />
----<br />
<br />
Looking into setting up a new cms sort of website for a local org. Nationbuilder comes to mind and it would work, but after giving the basic info for setup I got the pricing:<br />
<br />
=== <small><sup>14-day free trial</sup></small> ===<br />
<small><sup>For your free trial period, you will have access to all of the features of our Pro plan (starting at $179/mo). After your free trial ends on Feb 15, 2024, you will be billed the monthly price of $179, plus any applicable taxes, based on the size of your database.</sup></small><br />
<br />
=== <small><sup>Change or cancel your plan at any time</sup></small> ===<br />
<small><sup>You can cancel at any time during your trial period, or downgrade to our more limited Starter plan (starting at $34/mo) in your control panel settings.</sup></small><br />
<br />
Ok so that's a bit pricey, though it could work, and it would actually accept donations.<br />
<br />
Looking onward to CiviCRM, it's open source 👍 but it still costs as follows (apparently their paid hosting is called Spark)<br />
<br />
* Spark Starter - $15/month<br />
* Spark Essentials - $30/month<br />
* Spark Prop - $50/month<br />
<br />
----When it comes to self-hosting civicrm I can see these platforms:<br />
<br />
* Install CiviCRM on Backdrop <br />
* Install CiviCRM on Drupal <br />
* Install CiviCRM on Joomla <br />
* Install CiviCRM on WordPress <br />
* Install CiviCRM (Standalone)<br />
<br />
Of them I'm most interested in the standalone one for starters, though it might be time to do a review of the big php cms options.</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-01&diff=1002Blog: 2024-02-012024-02-02T04:33:38Z<p>Razzi: </p>
<hr />
<div>Found this song https://freemusicarchive.org/music/Yung_Kartz/August_2018/Mars_1797<br />
<br />
while cleaning up my old functions; I found my krui function. Still works!<br />
<br />
----<br />
<br />
Looking into setting up a new cms sort of website for a local org. Nationbuilder comes to mind and it would work, but after giving the basic info for setup I got the pricing:</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-02-01&diff=1001Blog: 2024-02-012024-02-01T06:49:06Z<p>Razzi: Created page with "Found this song https://freemusicarchive.org/music/Yung_Kartz/August_2018/Mars_1797 while cleaning up my old functions; I found my krui function. Still works!"</p>
<hr />
<div>Found this song https://freemusicarchive.org/music/Yung_Kartz/August_2018/Mars_1797<br />
<br />
while cleaning up my old functions; I found my krui function. Still works!</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-01-30&diff=1000Blog: 2024-01-302024-01-31T00:38:20Z<p>Razzi: </p>
<hr />
<div>After much fussing with homebrew dependencies including a 6hr llvm 17 install, I got the source of virt-manager and it's installing alpine linux:<br />
<br />
<pre><br />
virt-manager $ ./virt-install --name='alpine1' --memory 2048 --vcpus 2 --disk size=8 --cdrom $HOME/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19<br />
WARNING KVM acceleration not available, using 'qemu'<br />
WARNING Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package.<br />
WARNING No console to launch for the guest, defaulting to --wait -1<br />
<br />
Starting install...<br />
Allocating 'alpine1.qcow2' | 8.0 GB 00:00:00 <br />
Creating domain... | 00:00:00 <br />
<br />
Domain is still running. Installation may be in progress.<br />
Waiting for the installation to complete.<br />
</pre><br />
<br />
Well that's been going for half an hour but no output. Might see if there's a verbose mode. Meanwhile HN is hyping up https://github.com/quickemu-project/quickemu - seems like kinda what I'm trying to do with ronin, huh.<br />
<br />
The virtualization tutorial I've been following is here: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-guest_virtual_machine_installation_overview-creating_guests_with_virt_install<br />
<br />
Weirdly that approach doesn't seem to show progress. Ok the warning is that I'm missing virt-viewer, which I guess is a gui app... hope there's a console option. Installing virt-viewer from here: https://github.com/jeffreywildman/homebrew-virt-manager<br />
<br />
Finally finally after reading https://www.golinuxcloud.com/virt-install-examples-kvm-virt-commands-linux/ and <code>brew install xorriso</code>, I am getting console output on virt-install<br />
<br />
<pre><br />
$ ./virt-install --name guest4-rhel7 --memory 2048 --vcpus 2 --disk size=8 --location ~/Downloads/composer-api-e7bc5d14-af20-4a19-b4a8-e98486f575f9-installer.iso --os-variant rhel9.3 --autoconsole text --graphics=none --extra-args console=ttyS0<br />
</pre><br />
<br />
That ended with some sort of panic, whatever I'd rather boot alpine<br />
<br />
<pre><br />
$ ./virt-install --name alpine-2 --memory 2048 --vcpus 2 --disk size=8 --location ~/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19 --autoconsole text --graphics=none --extra-args console=ttyS0<br />
</pre><br />
<br />
Logged in as root.<br />
<br />
<pre><br />
* Starting firstboot ... [ ok ]<br />
<br />
Welcome to Alpine Linux 3.19<br />
Kernel 6.6.14-0-virt on an x86_64 (/dev/ttyS0)<br />
<br />
localhost login: root<br />
Welcome to Alpine!<br />
<br />
The Alpine Wiki contains a large amount of how-to guides and general<br />
information about administrating Alpine systems.<br />
See <https://wiki.alpinelinux.org/>.<br />
<br />
You can setup the system with the command: setup-alpine<br />
<br />
You may change this message by editing /etc/motd.<br />
<br />
localhost:~# <br />
</pre>Shut down gracefully.<syntaxhighlight lang="text"><br />
$ virsh shutdown alpine-2 <br />
Domain 'alpine-2' is being shutdown<br />
</syntaxhighlight></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-01-30&diff=999Blog: 2024-01-302024-01-31T00:35:43Z<p>Razzi: </p>
<hr />
<div>After much fussing with homebrew dependencies including a 6hr llvm 17 install, I got the source of virt-manager and it's installing alpine linux:<br />
<br />
<pre><br />
virt-manager $ ./virt-install --name='alpine1' --memory 2048 --vcpus 2 --disk size=8 --cdrom $HOME/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19<br />
WARNING KVM acceleration not available, using 'qemu'<br />
WARNING Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package.<br />
WARNING No console to launch for the guest, defaulting to --wait -1<br />
<br />
Starting install...<br />
Allocating 'alpine1.qcow2' | 8.0 GB 00:00:00 <br />
Creating domain... | 00:00:00 <br />
<br />
Domain is still running. Installation may be in progress.<br />
Waiting for the installation to complete.<br />
</pre><br />
<br />
Well that's been going for half an hour but no output. Might see if there's a verbose mode. Meanwhile HN is hyping up https://github.com/quickemu-project/quickemu - seems like kinda what I'm trying to do with ronin, huh.<br />
<br />
The virtualization tutorial I've been following is here: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-guest_virtual_machine_installation_overview-creating_guests_with_virt_install<br />
<br />
Weirdly that approach doesn't seem to show progress. Ok the warning is that I'm missing virt-viewer, which I guess is a gui app... hope there's a console option. Installing virt-viewer from here: https://github.com/jeffreywildman/homebrew-virt-manager<br />
<br />
Finally finally after reading https://www.golinuxcloud.com/virt-install-examples-kvm-virt-commands-linux/ and <code>brew install xorriso</code>, I am getting console output on virt-install<br />
<br />
<pre><br />
$ ./virt-install --name guest4-rhel7 --memory 2048 --vcpus 2 --disk size=8 --location ~/Downloads/composer-api-e7bc5d14-af20-4a19-b4a8-e98486f575f9-installer.iso --os-variant rhel9.3 --autoconsole text --graphics=none --extra-args console=ttyS0<br />
</pre><br />
<br />
That ended with some sort of panic, whatever I'd rather boot alpine<br />
<br />
<pre><br />
$ ./virt-install --name alpine-2 --memory 2048 --vcpus 2 --disk size=8 --location ~/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19 --autoconsole text --graphics=none --extra-args console=ttyS0<br />
</pre><br />
<br />
Logged in as root.<br />
<br />
<pre><br />
* Starting firstboot ... [ ok ]<br />
<br />
Welcome to Alpine Linux 3.19<br />
Kernel 6.6.14-0-virt on an x86_64 (/dev/ttyS0)<br />
<br />
localhost login: root<br />
Welcome to Alpine!<br />
<br />
The Alpine Wiki contains a large amount of how-to guides and general<br />
information about administrating Alpine systems.<br />
See <https://wiki.alpinelinux.org/>.<br />
<br />
You can setup the system with the command: setup-alpine<br />
<br />
You may change this message by editing /etc/motd.<br />
<br />
localhost:~# <br />
</pre></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-01-30&diff=998Blog: 2024-01-302024-01-31T00:32:39Z<p>Razzi: </p>
<hr />
<div>After much fussing with homebrew dependencies including a 6hr llvm 17 install, I got the source of virt-manager and it's installing alpine linux:<br />
<br />
<pre><br />
virt-manager $ ./virt-install --name='alpine1' --memory 2048 --vcpus 2 --disk size=8 --cdrom $HOME/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19<br />
WARNING KVM acceleration not available, using 'qemu'<br />
WARNING Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package.<br />
WARNING No console to launch for the guest, defaulting to --wait -1<br />
<br />
Starting install...<br />
Allocating 'alpine1.qcow2' | 8.0 GB 00:00:00 <br />
Creating domain... | 00:00:00 <br />
<br />
Domain is still running. Installation may be in progress.<br />
Waiting for the installation to complete.<br />
</pre><br />
<br />
Well that's been going for half an hour but no output. Might see if there's a verbose mode. Meanwhile HN is hyping up https://github.com/quickemu-project/quickemu - seems like kinda what I'm trying to do with ronin, huh.<br />
<br />
The virtualization tutorial I've been following is here: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-guest_virtual_machine_installation_overview-creating_guests_with_virt_install<br />
<br />
Weirdly that approach doesn't seem to show progress. Ok the warning is that I'm missing virt-viewer, which I guess is a gui app... hope there's a console option. Installing virt-viewer from here: https://github.com/jeffreywildman/homebrew-virt-manager<br />
<br />
Finally finally after reading https://www.golinuxcloud.com/virt-install-examples-kvm-virt-commands-linux/ and <code>brew install xorriso</code>, I am getting console output on virt-install<br />
<br />
<pre><br />
$ ./virt-install --name guest4-rhel7 --memory 2048 --vcpus 2 --disk size=8 --location ~/Downloads/composer-api-e7bc5d14-af20-4a19-b4a8-e98486f575f9-installer.iso --os-variant rhel9.3 --autoconsole text --graphics=none --extra-args console=ttyS0<br />
</pre></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-01-30&diff=997Blog: 2024-01-302024-01-30T21:49:13Z<p>Razzi: </p>
<hr />
<div>After much fussing with homebrew dependencies including a 6hr llvm 17 install, I got the source of virt-manager and it's installing alpine linux:<br />
<br />
<pre><br />
virt-manager $ ./virt-install --name='alpine1' --memory 2048 --vcpus 2 --disk size=8 --cdrom $HOME/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19<br />
WARNING KVM acceleration not available, using 'qemu'<br />
WARNING Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package.<br />
WARNING No console to launch for the guest, defaulting to --wait -1<br />
<br />
Starting install...<br />
Allocating 'alpine1.qcow2' | 8.0 GB 00:00:00 <br />
Creating domain... | 00:00:00 <br />
<br />
Domain is still running. Installation may be in progress.<br />
Waiting for the installation to complete.<br />
</pre><br />
<br />
Well that's been going for half an hour but no output. Might see if there's a verbose mode. Meanwhile HN is hyping up https://github.com/quickemu-project/quickemu - seems like kinda what I'm trying to do with ronin, huh.<br />
<br />
The virtualization tutorial I've been following is here: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-guest_virtual_machine_installation_overview-creating_guests_with_virt_install<br />
<br />
Weirdly that approach doesn't seem to show progress. Ok the warning is that I'm missing virt-viewer, which I guess is a gui app... hope there's a console option. Installing virt-viewer from here: https://github.com/jeffreywildman/homebrew-virt-manager</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-01-30&diff=996Blog: 2024-01-302024-01-30T20:18:28Z<p>Razzi: </p>
<hr />
<div>After much fussing with homebrew dependencies including a 6hr llvm 17 install, I got the source of virt-manager and it's installing alpine linux:<br />
<br />
<pre><br />
virt-manager $ ./virt-install --name='alpine1' --memory 2048 --vcpus 2 --disk size=8 --cdrom $HOME/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19<br />
WARNING KVM acceleration not available, using 'qemu'<br />
WARNING Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package.<br />
WARNING No console to launch for the guest, defaulting to --wait -1<br />
<br />
Starting install...<br />
Allocating 'alpine1.qcow2' | 8.0 GB 00:00:00 <br />
Creating domain... | 00:00:00 <br />
<br />
Domain is still running. Installation may be in progress.<br />
Waiting for the installation to complete.<br />
</pre><br />
<br />
Well that's been going for half an hour but no output. Might see if there's a verbose mode. Meanwhile HN is hyping up https://github.com/quickemu-project/quickemu - seems like kinda what I'm trying to do with ronin, huh.<br />
<br />
The virtualization tutorial I've been following is here: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-guest_virtual_machine_installation_overview-creating_guests_with_virt_install</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-01-30&diff=995Blog: 2024-01-302024-01-30T20:18:00Z<p>Razzi: </p>
<hr />
<div>After much fussing with homebrew dependencies including a 6hr llvm 17 install, I got the source of virt-manager and it's installing alpine linux:<br />
<br />
<pre><br />
virt-manager $ ./virt-install --name='alpine1' --memory 2048 --vcpus 2 --disk size=8 --cdrom $HOME/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19<br />
WARNING KVM acceleration not available, using 'qemu'<br />
WARNING Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package.<br />
WARNING No console to launch for the guest, defaulting to --wait -1<br />
<br />
Starting install...<br />
Allocating 'alpine1.qcow2' | 8.0 GB 00:00:00 <br />
Creating domain... | 00:00:00 <br />
<br />
Domain is still running. Installation may be in progress.<br />
Waiting for the installation to complete.<br />
</pre><br />
<br />
Well that's been going for half an hour but no output. Might see if there's a verbose mode. Meanwhile HN is hyping up https://github.com/quickemu-project/quickemu - seems like kinda what I'm trying to do with ronin, huh.</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-01-30&diff=994Blog: 2024-01-302024-01-30T19:47:06Z<p>Razzi: Created page with "After much fussing with homebrew dependencies including a 6hr llvm 17 install, I got the source of virt-manager and it's installing alpine linux: <pre> virt-manager $ ./virt-install --name='alpine1' --memory 2048 --vcpus 2 --disk size=8 --cdrom $HOME/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19 WARNING KVM acceleration not available, using 'qemu' WARNING Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt..."</p>
<hr />
<div>After much fussing with homebrew dependencies including a 6hr llvm 17 install, I got the source of virt-manager and it's installing alpine linux:<br />
<br />
<pre><br />
virt-manager $ ./virt-install --name='alpine1' --memory 2048 --vcpus 2 --disk size=8 --cdrom $HOME/Downloads/alpine-virt-3.19.1-x86_64.iso --os-variant alpinelinux3.19<br />
WARNING KVM acceleration not available, using 'qemu'<br />
WARNING Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package.<br />
WARNING No console to launch for the guest, defaulting to --wait -1<br />
<br />
Starting install...<br />
Allocating 'alpine1.qcow2' | 8.0 GB 00:00:00 <br />
Creating domain... | 00:00:00 <br />
<br />
Domain is still running. Installation may be in progress.<br />
Waiting for the installation to complete.<br />
</pre></div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-01-26&diff=993Blog: 2024-01-262024-01-27T05:57:08Z<p>Razzi: Created page with "Cool looking thing https://github.com/atomiks/rehype-pretty-code for code blocks with metadata"</p>
<hr />
<div>Cool looking thing https://github.com/atomiks/rehype-pretty-code for code blocks with metadata</div>Razzihttps://wiki.abuissa.net/index.php?title=Blog:_2024-01-25&diff=992Blog: 2024-01-252024-01-25T20:02:17Z<p>Razzi: </p>
<hr />
<div>Ok a new day, a new machine to configure for oftc certificate. Based on https://wiki.abuissa.net/wiki/Blog:_2024-01-08<br />
<br />
Basing this on https://www.oftc.net/NickServ/CertFP/#weechat<br />
<br />
$ mkdir-cd ~/.config/weechat/certs<br />
certs $ openssl req -batch -noenc -newkey ed25519 -keyout nick.key -x509 -days 3650 -out nick.cer <br />
-----<br />
certs $ ls<br />
nick.cer nick.key<br />
certs $ chmod 400 nick.key <br />
certs $ cat nick.cer nick.key > nick.pem<br />
certs $ chmod 400 nick.pem<br />
<br />
Back in weechat:<br />
<br />
/server add oftc irc.oftc.net -tls -tls_verify -autoconnect<br />
<br />
Weird, I'm getting an error with oftc <br />
<br />
Option "irc.server.oftc.tls_cert" not found<br />
<br />
but I see the same command in the weechat user guide: https://www.weechat.org/files/doc/stable/weechat_user.en.html#irc_connect_oftc_with_certfp<br />
<br />
Ok looking in the weechat config I see<br />
<br />
oftc.ssl_cert<br />
<br />
and looking in the weechat git log I find the root cause:<br />
<br />
git log -S ssl_cert<br />
<br />
<pre><br />
commit dec237b1048479b29e3386d5c8ce593803f2d81d<br />
Author: Sébastien Helleu <flashcode@flashtux.org><br />
Date: 10 months ago<br />
<br />
irc: rename "ssl" options to "tls" (issue #1903)<br />
</pre><br />
<br />
Ok so my weechat version (3.8) is actually old so it is out of date with the docs on the website.<br />
<br />
https://repology.org/project/weechat/versions<br />
<br />
Solution: build weechat myself, from source.<br />
<br />
The guide has useful steps: https://www.weechat.org/files/doc/stable/weechat_user.en.html#dependencies<br />
<br />
Basically a normal cmake with some dependencies. I installed them one-at-a-time but it even has a tip on build dependencies:<br />
<br />
# apt-get build-dep weechat<br />
<br />
I removed the system weechat and ran<br />
<br />
sudo make install<br />
<br />
I was worried I might miss something if I went back to the system package but I ran <code>sudo make uninstall</code> and that worked so I'm all good there.</div>Razzi