IRC channel logs

2020-10-10.log

back to list of logs

<OriansJ>xentrac: I think it is very surprising; look at debian. if you use apt-build it is going to pull the sources you need from deb-src entries contained in the /etc/apt/sources.list file
<OriansJ>the same is for ubunutu, centos and red hat
<OriansJ>if it was just a storage cost, I can spend $50/month and rent a rack in the local ISP and serve 100TB of storage if needed
<OriansJ>bauen1: yes that does sound like something that should be done from the bootstrap compiler if possible.
<OriansJ>or at least as close to the roots as possible
<xentrac>OriansJ: debian worked hard for years to solve that problem, and maintaining the archives is a continuing effort
<xentrac>ubuntu to some extent can leverage debian's investment; the other two sort of had to copy it
<xentrac>it's not that it's a costly problem to solve, more that it doesn't get solved if nobody decides to solve it
<xentrac>and a lot of projects don't prioritize that, so we have an ongoing difficulty
<xentrac>it's a real problem; it's what kept me from switching to Guix years and years ago
<fossy>bauen1: i am working on automating that
<xentrac>I tried to bootstrap it and every couple dozen packages I would hit something that someone had deleted from sourceforge or whatever
<xentrac>and the bootstrap would fail
<fossy>bauen1: i really like the idea of documenting it so someone could go through it step by step though
<fossy>xentrac: IKR that really does suck
<fossy>i do quite a bit of stuff on void linux, and i've been maintaining my own package repository locally (built from source, everything) so i have a reasonable understanding of the build system, since I plan to use it as a jumping off point for other linux distros as it can be bootstrapped with minimal dependencies using one command
<xentrac>awesome!
<fossy>and often i find that there's a dead upstream, or a old version removed, or something
<fossy>its a PITA sometimes to find the old version
<fossy>for that reason in gcc-seed i'm actually commiting the tarballs to the repo (and also because there's no network connectivity in mes libc)
<xentrac>in git? it'll be interesting to see how well it deals with a lot of tarballs
<fossy>yeah
<fossy>dodgy
<xentrac>might be fine, just not the case it's most optimized for
<fossy>i really need to reconsider how gcc-seed will work.
<fossy>the structure of mescc-tools-sed is fine for development, but it is not fine for the use case i am using gcc-seed for - you should be able to boot it from a usb and i am having a very hard time integrating that
<fossy>considering starting over with something quite different in structure, i think this project is fundemntally different to mescc-tools-seed
<stikonas>maybe you can compile lwIP with mes libc :D
<OriansJ>xentrac: I can imagine a git hook for guix which downloads the tars and validates the checksum prior to merging the commits or even a simple script that simply git pulls and gets all of the tars on a daily cycle
<OriansJ>IPFS or GnuNet would solve the problem by simply letting anyone do the distribution
<xentrac>OriansJ: yeah, that sounds pretty great
<OriansJ>but until we find a developer who will push that development, it is just me yelling at the wind
<xentrac>yeah
<xentrac>I don't think the problem is that nobody can figure out how to save the tarballs they downloaded on a public server
<xentrac>it's that nobody is taking responsibility for making sure it gets done
<OriansJ>xentrac: I already have way too much on my plate with the bootstrapping work.
<xentrac>yeah, I know
<xentrac>I wasn't hinting that you should do it ;)
<OriansJ>yeah, right now I am aiming to get M3-Meteoroid able to link GCC
<OriansJ>then write an assembler able to assemble gcc; then a C macro expansion program (C preprocessor for those who prefer it that way) able to reduce gcc to core C by macro expansion and then finally finish off M3
<OriansJ>but who knows how long all of that is going to take
<OriansJ>unless someone has a brilliant plan that will save me boat loads of work
<fossy>if you count tinycc as an option...
<Hagfish>"reduce gcc to core C by macro expansion" that sounds like an exciting goal, and a really smart approach
<Hagfish>i don't know anything about C preprocessing, but there must be people out there who could at least help review that work
<OriansJ>Hagfish: well yes that is a problem for us. There are lots of people able to help us; however getting them to invest the time to do so seems another matter.
<OriansJ>possibly because people get scared because compilers and the like are supposed to be "deep magic" and most people they are just complicated because they need to be compatible with stupid standards. (and I do mean stupid)
<willow_>*thinks OriansJ is looking at me
<OriansJ>fine to be fair, stupid in terms of modern goals but reasonable when you have to squeeze every last byte out of everything
<OriansJ>willow_: hello ^_^
<willow_>hey, interesting take OriansJ
<OriansJ>thank you willow_
<willow_>what lightweight things are you referring to, rpi's etc or way smaller?
<willow_>maybe i interpreted your goal of byte squeezing to mean run very light weight distros etc
<OriansJ>willow_: well right now our bootstrap seed is 257bytes (using a 737byte shell, on any arbitrary posix)
<willow_>wow
<OriansJ>or a 250byte hex monitor on TTL logic
<OriansJ>and we already bootstrapped up to a cross-platform C compiler and a minimal scheme
<OriansJ>here is the general plan https://github.com/oriansj/talk-notes/blob/master/Current%20bootstrap%20map.pdf (only mes-m2 isn't done)
<OriansJ>(or if you don't trust pdfs https://github.com/oriansj/talk-notes/blob/master/Current%20bootstrap%20map.dot)
<willow_>i dont trust much : )
<OriansJ>well good; then you'll really like this: https://github.com/oriansj/mescc-tools-seed
<OriansJ>which is the posix piece of this larger bit of work: https://github.com/oriansj/stage0 which is to bootstrap GCC on a custom CPU made out of TTL
<willow_>this is really good
<willow_>you just changed my plan for the day OriansJ, i'm going to go through this, thanks for sharing
<OriansJ>thank you
<willow_>you should call the project "BigBang"
<OriansJ>then it would be even harder to find
<willow_>you are right
<willow_>how long have you spent on theis?
<OriansJ>2+ years
<willow_>nice work
<OriansJ>with lots of lost time in FORTH and a lisp written in assembly
<OriansJ>just make sure to get the git submodules as well (common mistake for some reason)
<willow_>you into Cthulhu / board game stuff too? or just the books etc?
<willow_>"Cthulhu Path to madness fashion"
<OriansJ>These days I am more into the raising of my son.
<willow_>: ) nice
<xentrac>a very important project
<xentrac>OriansJ: I just want to be clear that the reason I haven't been doing anything on bootstrapping is that I haven't been doing anything in general
<xentrac>except writing a lot of text in derctuo and chatting on IRC and stuff
<xentrac>I've been stuck in a really low effort mode
<OriansJ>xentrac: depression quite commonly does that; although it could be argued to be a healthy biological response to not knowing the correct course of action; so one saves energy resources by doing nothing.
<willow_>vitamin d3+k2 10,000 should give you a kick start xentrac, especially if you are northern hemishpere lack of light or have been out of the sun alot, hth
<OriansJ>interesting, GNU's assembler gas; does constant propagation
***ChanServ sets mode: +o rekado_
***rekado_ is now known as rekado
<xentrac>willow_: no, southern hemisphere, but I haven't been in the sun much; my girlfriend's house doesn't have a patio, and we're still in quasi-quarantine
<OriansJ>when I saw this earlier, I was hopeful https://people.csail.mit.edu/smcc/projects/single-file-programs/ and then I discovered the claims about bootstrapping itself were false
<xentrac>that's too bad! how so?
<OriansJ>use existing GCC to build file into binary, attempt to use new binary to build same source file => fail; missing library files
<OriansJ>code rot is seriously real
<xentrac>the new binary is dynamically linked?
<OriansJ>yep
<xentrac>so GCC is ... dynamically linking it with libraries you ... don't have?
<xentrac>or is it dlopening them or something?
<OriansJ>it is attempting to open the library files listed in the source; which do not exist on the system used in testing.
<willow_>loving going through your work OriansJ, you are like the indiana jones of operating systems
<Hagfish>that makes sense, given that he is aiming for the Holy Grail of operating systems (complete bootstrappability) :)
<willow_>:)
<OriansJ> https://www.youtube.com/watch?v=yXyPvhISkRQ
<willow_>lmao
***terpri_ is now known as terpri