<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:00:34] <Aggressive ​Post-It Note> You can do without if you connect the power source directly to the computer but wires are usually quite a nice thing to have
L2[00:03:14] <Aggressive ​Post-It Note> >Kristopher38: Hawk777: https://www.youtube.com/watch?v=Llr-lM0pIME&t=0s
L3[00:03:15] <Aggressive ​Post-It Note> I was just thinking "wow how could they bring themselves to write all that lua" and then I see it's actually written in Rust hahaha
L4[00:03:48] <Kristo​pher38> he actually started writing it all in lua originally
L5[00:03:57] <Kristo​pher38> but had to reimplement mutexes and all
L6[00:04:25] <Kristo​pher38> so he switched to running it off-minecraft in the end
L7[00:07:57] <Hawk777> Haha I’m not the biggest fan of Lua either; that’s why I wrote OC-Wasm—well, partly that, and partly because I thought writing something like Rust would be easy to port to OC2 once it arrives (swap out the hardware layer, keep the business logic).
L8[00:08:05] <Aggressive ​Post-It Note> Every time I try to write something large in lua I start to lose my mind because the language really wants me to write in a procedural or OOP style but has no types
L9[00:08:39] <Aggressive ​Post-It Note> And so it becomes really strenuous to keep tabs on what's going where and what attributes are in what object
L10[00:09:34] <Aggressive ​Post-It Note> I've found better success in using a functional style that's more focused on passing simple structs around but Lua is very verbose with the word `function() end` being a lambda and that gets quite clunky as well
L11[00:10:05] <Aggressive ​Post-It Note> >Hawk777: Haha I’m not the biggest fan of Lua either; that’s why I wrote OC-Wasm—well, partly that, …
L12[00:10:05] <Aggressive ​Post-It Note> Is that for OC2?
L13[00:10:10] <Hawk777> OC1.
L14[00:10:19] <Aggressive ​Post-It Note> Ooo really? That means I could use it
L15[00:10:21] <Hawk777> It’s an architecture that runs Wasm.
L16[00:10:26] <Aggressive ​Post-It Note> Exciting!
L17[00:10:28] <Hawk777> Maybe; I thought you were stuck on 1.10? Or was that someone else?
L18[00:10:42] <Aggressive ​Post-It Note> That was me, yes
L19[00:10:55] <Hawk777> You might be able to backport it. I don’t have any interest in doing so myself.
L20[00:11:09] <Aggressive ​Post-It Note> I am willing to make sacrifices for Rust
L21[00:11:12] <Hawk777> https://www.curseforge.com/minecraft/mc-mods/oc-wasm
L22[00:12:55] <Hawk777> IMO not a lot of point writing something like that for OC2, since OC2 runs native code, so I’d just compile my Rust (or whatever else) to RISC-V machine code instead.
L23[00:13:41] <luna​r_sam> i have yet to make zorya for OC2 lmao
L24[00:14:23] <Aggressive ​Post-It Note> I'm not too read-up on OC2 so I don't know the details. I just knew it was going to make it easier to use other languages with OC
L25[00:15:07] <Hawk777> It’s a RISC-V emulator. It runs Linux.
L26[00:15:21] <Hawk777> It communicates with components via something that looks vaguely like a serial port over which you shovel JSON.
L27[00:15:23] <Aggressive ​Post-It Note> On whose computer?
L28[00:15:25] <Hawk777> That’s about all I know.
L29[00:15:28] <Hawk777> Your own, running Minecraft.
L30[00:15:35] <Aggressive ​Post-It Note> How do servers work then?
L31[00:15:35] <Hawk777> The RISC-V emulator is inside the Minecraft mod AFAIK.
L32[00:15:47] <Hawk777> Presumably the emulator runs on the server, just like in OC1 where the Lua VM does?
L33[00:15:52] <Aggressive ​Post-It Note> Do people "own" computers and take responsibility for them?
L34[00:16:01] <Aggressive ​Post-It Note> Oh I see
L35[00:16:08] <Aggressive ​Post-It Note> That sounds scary from a security point of view
L36[00:16:13] <Hawk777> Why?
L37[00:16:37] <Aggressive ​Post-It Note> I guess if it's a VM then all the sandboxing is already handled
L38[00:16:54] <Izaya> no scarier than OC1
L39[00:16:54] <Hawk777> TBH it’s probably *more* secure than OC1, where Lua was run in a library written in native code. I *think* the OC2 RISC-V emulation is written in Java, which means no e.g. buffer overflows out of your fake memory and stuff.
L40[00:17:25] <Amanda> %choose halucinate or spaaaace
L41[00:17:25] <MichiBot> Ama​nda: halucinate'os, for a complete breakfast!
L42[00:17:39] <Amanda> Hrm. It's rather late for breakfast, but time is meaningless anyway, so okay
L43[00:17:53] * Amanda flops down around Elfi with a bowl of halucinate'os
L44[00:19:01] <Izaya> speaking of "surely someone didn't do all that in Lua"
L45[00:19:04] <Izaya> https://shadowkat.net/tmp/c9f3.jpg
L46[00:19:17] <lunar_sam> god
L47[00:19:35] <lunar_sam> that reminds me, i stil have yet to make my awesomewm interface
L48[00:19:43] <lunar_sam> i want the funny three buttons at the bottom like android
L49[00:20:16] <Izaya> I may yet bludgeon a back button into software
L50[00:20:35] <lunar_sam> just make it send, what
L51[00:20:45] <lunar_sam> mouse 4?
L52[00:20:45] <lunar_sam> or was it mouse 5
L53[00:20:55] <Izaya> that won't work for everything because software sucks
L54[00:21:11] <lunar_sam> the back button doesn't always work in android
L55[00:21:22] <Izaya> going to have a complicated setup for making some combination of fake keypresses, mouse buttons, and ghost clicks
L56[00:21:27] <lunar_sam> bad software exists
L57[00:21:35] <Izaya> as in "press 'back' to click on the top right corner"
L58[00:21:40] <Aggressive ​Post-It Note> Mouse5 I think
L59[00:22:01] <Aggressive ​Post-It Note> Mouse4 is "go forward again"
L60[00:22:16] <lunar_sam> anyways, i might do some fuckery with virtual outputs and whatnot
L61[00:22:20] <Aggressive ​Post-It Note> ...Now I'm doubting myself
L62[00:22:51] <Aggressive ​Post-It Note> https://tinyurl.com/yc7z54qe
L63[00:22:55] <Aggressive ​Post-It Note> I have been vindicated
L64[00:23:43] <Aggressive ​Post-It Note> >Izaya: https://shadowkat.net/tmp/c9f3.jpg
L65[00:23:43] <Aggressive ​Post-It Note> "Error: attempted to call a nil value"
L66[00:24:05] <Izaya> :p
L67[00:24:13] <Aggressive ​Post-It Note> Now you get to crawl across 10,000 lines of code to find the mistake :)))
L68[00:24:20] <Aggressive ​Post-It Note> It could be literally anywhere because tables
L69[00:24:27] <Izaya> can't relate tbh
L70[00:24:54] <Izaya> the errors are usually suitably specific IME
L71[00:25:04] <Izaya> https://shadowkat.net/tmp/e55e.png
L72[00:25:04] <Aggressive ​Post-It Note> Ah that's good
L73[00:25:20] <lunar_sam> wonder why i'm being blasted by I/O usage
L74[00:25:24] <Aggressive ​Post-It Note> I think it's just because I get too excited with the way I use tables
L75[00:25:40] <Izaya> OOP is best used in small doses :)
L76[00:26:08] <Aggressive ​Post-It Note> Hahaha
L77[00:26:19] <lunar_sam> lol
L78[00:26:26] <Aggressive ​Post-It Note> Those error messages look entertaining
L79[00:26:32] <lunar_sam> Izaya: tsuki on """real""" hardware soon
L80[00:26:40] <lunar_sam> by real i mean VMs
L81[00:26:58] <Aggressive ​Post-It Note> Everything is virtual
L82[00:26:59] <Aggressive ​Post-It Note> Nothing is real
L83[00:27:10] <Aggressive ​Post-It Note> https://tenor.com/oY91.gif
L84[00:29:07] <lunar_sam> the real question is: how will i pull off multi core madness
L85[00:29:27] <lunar_sam> ~also how will i get Tsuki to run on my P3 machine~
L86[00:31:10] <Aggressive ​Post-It Note> With great trepidation and many long nights?
L87[00:31:56] <lunar_sam> i don't have any easy to work with video cars
L88[00:31:58] <lunar_sam> *cards
L89[00:32:23] <Izaya> serial port
L90[00:32:41] <lunar_sam> fair enough
L91[00:32:52] <lunar_sam> got uhhh
L92[00:32:54] <lunar_sam> three of those
L93[00:32:55] <lunar_sam> lol
L94[00:47:51] ⇦ Quits: Vexatos (~Vexatos@port-92-192-6-121.dynamic.as20676.net) (Quit: Insert quantum chemistry joke here)
L95[00:52:32] ⇦ Quits: Hawk777 (~chead@2607:c000:8279:ac00:75fe:8174:648e:d404) (Quit: Leaving.)
L96[01:21:16] ⇦ Quits: Izaya (~izaya@210.1.218.92) (Read error: Connection reset by peer)
L97[01:25:55] <Ocawes​ome101> social security: A national number for a people that doesn't want one, on an id card that fails at id, given to everyone, except when it isn't, for a program that's universal, except when it's not.
L98[01:26:00] <Ocawes​ome101> -- CGP Grey
L99[01:26:41] ⇨ Joins: Izaya (~izaya@210.1.218.92)
L100[03:20:33] <sapphicf​ettucine> https://tinyurl.com/y95wx85r
L101[03:20:36] <sapphicf​ettucine> after way too much work
L102[03:20:44] <sapphicf​ettucine> OS-less rendering in OC2
L103[03:29:58] <ThePi​Guy24> nice
L104[04:13:46] * Amanda curls up around Elfi, meows happy facts about squirrels
L105[04:13:58] * Amanda zzzmews
L106[04:14:01] <Amanda> Night nerds
L107[04:16:00] <sapphicf​ettucine> gnight!
L108[04:52:39] ⇦ Quits: Michiyo (~Michiyo@50.38.53.215) (Ping timeout: 186 seconds)
L109[04:54:52] <DaCompu​terNerd> OC2 seems cool
L110[05:00:37] <DaCompu​terNerd> %tonk
L111[05:00:37] <MichiBot> DaCompu​terNerd: You should probably read this: https://michibot.pc-logix.com/tonk
L112[05:00:53] <Dav​iana> isnt OC2 like suuuuuper early in development tho
L113[05:01:38] <DaCompu​terNerd> Yeah
L114[05:02:54] <DaCompu​terNerd> %tonk C6ED6
L115[05:02:55] <MichiBot> Blast! DaCompu​terNerd! You beat Mic​hiyo's previous record of 6 hours, 36 minutes and 34 seconds (By 7 minutes and 19 seconds)! I hope you're happy!
L116[05:02:56] <MichiBot> DaComputerNerd's new record is 6 hours, 43 minutes and 54 seconds! DaComputerNerd also gained 0.00084 (0.00012 x 7) tonk points for stealing the tonk. Position #9. (Overtook CompanionCube) Need 0.00068 more points to pass n​il!
L117[05:03:28] <DaCompu​terNerd> Could have sworn I've done that before. I guess it probably reset at some point
L118[05:08:08] <Dav​iana> still sad that no opencomputers update anymore
L119[05:10:31] <sapphicf​ettucine> >Daviana: isnt OC2 like suuuuuper early in development tho
L120[05:10:31] <sapphicf​ettucine> it's pretty usable by now honestly
L121[05:10:38] <sapphicf​ettucine> still very alpha but you can do a fair bit already
L122[05:10:44] <Dav​iana> yeah but not anywhere near as much content as OC1
L123[05:10:53] <Dav​iana> plus i shamefully do not understand linux
L124[05:17:09] <DaCompu​terNerd> I did have a couple questions on it
L125[05:17:10] <Dav​iana> so apparently some guy named fnuecke last made a commit on dec 27th 2021 on the github
L126[05:17:14] <Dav​iana> for 1.12.2
L127[05:17:36] <Dav​iana> sad, i really liked opencomputers and i wanted to bring it to my 1.16 pack, but it's looking less and less likely
L128[05:18:42] <DaCompu​terNerd> I gather OC2 emulates a RISC-V system. On looking into the architecture, I wondered about what extensions for the instruction set are available
L129[05:19:03] <Dav​iana> yeah see that hurts my little brain
L130[05:19:07] <sapphicf​ettucine> https://tinyurl.com/y7xf3drl
L131[05:19:15] <sapphicf​ettucine> you can find them here! <https://github.com/fnuecke/sedna&gt;
L132[05:19:22] <DaCompu​terNerd> Ah nice
L133[05:19:25] <Dav​iana> i understood openos because it was lua, which is good for a simpleton such as myself
L134[05:19:26] <DaCompu​terNerd> I also wonder if and how components can be accessed at that level
L135[05:19:44] <sapphicf​ettucine> yes, with a bit of work
L136[05:20:04] <DaCompu​terNerd> Are they just mapped to a part of the address space?
L137[05:20:44] <sapphicf​ettucine> iirc, they're a VirtIO console device
L138[05:21:11] <sapphicf​ettucine> i'm working on it slowly so if you want i can ping you when i have something to show about interacting with the device api at the bare metal level
L139[05:21:46] ⇨ Joins: Michiyo (~Michiyo@50.38.53.215)
L140[05:21:46] zsh sets mode: +o on Michiyo
L141[05:21:59] <DaCompu​terNerd> Sure
L142[05:22:27] <sapphicf​ettucine> but yeah, the layout is that you have some base components as memory-mapped to the address space - like the console and the projector
L143[05:22:57] <sapphicf​ettucine> and others are mmap'ed but specifically through the virtio specification which has it's own set of behaviours
L144[05:59:52] <CompanionCube> Izaya: now on scottish labour: a council candidate is none other than former leader of the flippin orange order.
L145[06:00:05] <CompanionCube> Skye: Lizzy ^
L146[06:26:59] ⇦ Quits: lordpipe (~ba7888b72@66.109.211.50) (Ping timeout: 189 seconds)
L147[06:27:17] ⇨ Joins: lordpipe (~ba7888b72@66.109.211.50)
L148[06:27:22] ⇨ Joins: ben_mkiv (~ben_mkiv@200116b81472cd00fe3497fffea975f2.dip.versatel-1u1.de)
L149[06:51:50] <B​ob> i havent figured out yet how either the screen or the projector work
L150[06:52:06] <B​ob> i've seen there are additional `hvc` devices but so far never tried anything
L151[07:06:37] ⇦ Quits: Thutmose (~Patrick@67.21.186.225) (Quit: Leaving.)
L152[07:15:01] <Ocawes​ome101> it might be interesting to make an OS for OC2 that just runs Lua
L153[07:15:11] <Ocawes​ome101> e.g. LuPi2 but for OC2
L154[07:15:23] <Ocawes​ome101> (and ideally with fewer irritating heisenbugs)
L155[07:15:59] <CompanionCube> maybe something lightereeight than a full kernel
L156[07:16:26] <Ocawes​ome101> yeah, probably, though memory restrictions are less of a concern
L157[07:24:19] <B​ob> tbh, OpenOS in OC2
L158[07:24:24] <B​ob> thats all i want to see
L159[07:24:38] <B​ob> maybe some extentions amd C Lib abilities sure but still, base OpenOS
L160[07:24:55] <B​ob> altough to have fast component interaction and what not, C Libs would still be used
L161[07:25:04] <B​ob> or even better yet Run Lua ontop of some runtime
L162[07:27:32] <sapphicf​ettucine> >Bob: i havent figured out yet how either the screen or the projector work
L163[07:27:32] <sapphicf​ettucine> it's a framebuffer
L164[07:27:41] <sapphicf​ettucine> on linux it's mapped to /dev/fb0
L165[07:28:13] <CompanionCube> standard fbdev, huh?
L166[07:28:28] <sapphicf​ettucine> 640x480 rgb 565. just write pixel data there and works like a charm
L167[07:28:35] <sapphicf​ettucine> >CompanionCube: standard fbdev, huh?
L168[07:28:36] <sapphicf​ettucine> yeep
L169[07:29:15] <CompanionCube> inb4 revival of 2D accel for OC2 :p
L170[07:30:15] <sapphicf​ettucine> my current testing is just "can i get it to go faster by simply stripping out the OS"
L171[07:37:48] <B​ob> zamn
L172[07:38:07] <B​ob> >CompanionCube: inb4 revival of 2D accel for OC2 :p
L173[07:38:07] <B​ob> there's a PR that plans to add GPU acceleration to OC2, we might get DOOM to run
L174[07:38:25] <B​ob> we must get DOOM running on OC2
L175[07:38:47] <CompanionCube> virtio-gpu or something else?
L176[07:38:56] <sapphicf​ettucine> virtio gpu
L177[07:39:26] <sapphicf​ettucine> it's on the sedna repo iirc
L178[07:39:33] <CompanionCube> also can't you just software render DOOM
L179[07:39:48] <CompanionCube> you never said anything about performance
L180[07:39:48] <sapphicf​ettucine> very likely
L181[07:40:13] <B​ob> that too but still
L182[07:40:16] <B​ob> the faster the better
L183[07:41:04] <Forec​aster> >DaComputerNerd: Could have sworn I've done that before. I guess it probably reset at some poi…
L184[07:41:05] <Forec​aster> We reset each newyears
L185[07:42:28] <sapphicf​ettucine> someday i will perform my evil plan
L186[07:42:33] <sapphicf​ettucine> of running h264 on oc2
L187[07:42:47] <sapphicf​ettucine> it is technically possible, compilation wise, but i need to up the default ram sizes
L188[07:44:59] <Forec​aster> https://xkcd.com/2589/
L189[07:45:59] <B​ob> >sapphicfettucine: of running h264 on oc2
L190[07:46:00] <B​ob> plausible for small enough video sizes tbh
L191[07:46:44] <sapphicf​ettucine> the problem is more 1. speed 2. memory usage
L192[07:48:21] <ThePi​Guy24> i still have yet to mess about with oc2
L193[07:48:26] <ThePi​Guy24> i probably should seems fun
L194[07:48:40] <ThePi​Guy24> and seems to allow for more cursed shit than oc1
L195[07:48:59] <B​ob> yeah, use Rust :)
L196[07:50:13] <sapphicf​ettucine> it 100% allows more cursed shit it's great
L197[07:51:13] <B​ob> <https://github.com/big-lip-bob/RustOC2Template/&gt; obligatory shameless self plug
L198[07:58:18] <ThePi​Guy24> >Bob: yeah, use Rust :)
L199[07:58:18] <ThePi​Guy24> sorry i still have my dignity xd
L200[07:58:38] <ThePi​Guy24> also why would i use rust when i have c ;p
L201[07:59:10] <sapphicf​ettucine> if you want using raw pointers to feel like more of a thrill because of not using them for most things?
L202[07:59:10] <ThePi​Guy24> i want to do cursed shit, i want to mismanage my memory, i want to segfault
L203[07:59:37] <B​ob> can we make OC2 kernel panic
L204[07:59:44] <ThePi​Guy24> probably
L205[07:59:49] <sapphicf​ettucine> just don't put enough ram in
L206[07:59:50] <B​ob> escape the simulation
L207[08:00:06] <sapphicf​ettucine> >ThePiGuy24: i want to do cursed shit, i want to mismanage my memory, i want to segfault
L208[08:00:06] <sapphicf​ettucine> 🤝
L209[08:00:11] <sapphicf​ettucine> i regularly do this in rust
L210[08:00:24] <B​ob> i have `unsafe` in my code
L211[08:00:38] <sapphicf​ettucine> to quote a friend,
L212[08:00:38] <sapphicf​ettucine> > those who say you should never use an `unsafe {}` block in rust are just jealous of those who can
L213[08:00:49] <ThePi​Guy24> also rusts syntax bothers me
L214[08:01:01] <ThePi​Guy24> and its annoyingly different keywords
L215[08:01:16] <sapphicf​ettucine> i like it because i like functional languages but am too perpetually exhausted to re-learn lisp
L216[08:01:31] <sapphicf​ettucine> so it hits a nice middle ground for me
L217[08:01:42] <B​ob> the syntax isnt that bad
L218[08:01:45] <B​ob> i dont see why all people hate it
L219[08:01:48] <B​ob> it makes sense
L220[08:01:53] <B​ob> sure the turbofish is a weird addition
L221[08:01:54] <ThePi​Guy24> https://tinyurl.com/ydg292xc
L222[08:01:56] <B​ob> but its perfectly inline
L223[08:02:03] <B​ob> we can do the same lol
L224[08:02:09] <sapphicf​ettucine> at least we can agree, hopefully
L225[08:02:16] <sapphicf​ettucine> that both it and c
L226[08:02:27] <sapphicf​ettucine> have in common being better than golang syntaz
L227[08:02:31] <sapphicf​ettucine> have in common being better than golang syntax [Edited]
L228[08:02:40] <ThePi​Guy24> idk ive never touched golang
L229[08:02:46] <B​ob> golang lul
L230[08:02:51] <B​ob> we have LuaJIT, no thanks
L231[08:02:57] * CompanionCube locks sapphic in a haskell purely-functional room
L232[08:03:13] <ThePi​Guy24> though one syntax i hate is python, despite it being the language i use most
L233[08:03:32] <ThePi​Guy24> just, fuck indentation based syntax, its horrible
L234[08:04:13] <B​ob> my condolences
L235[08:04:16] <B​ob> haskell isnt that had tbh
L236[08:04:30] <B​ob> at least it isnt scheme
L237[08:04:32] <B​ob> 🤢
L238[08:04:46] <ThePi​Guy24> >CompanionCube: _locks sapphic in a haskell purely-functional room_
L239[08:04:46] <ThePi​Guy24> tfw you lock up the entire concept of lesbians
L240[08:05:27] <sapphicf​ettucine> >CompanionCube: _locks sapphic in a haskell purely-functional room_
L241[08:05:27] <sapphicf​ettucine> i don my magical cape and chant the magic words
L242[08:05:31] <sapphicf​ettucine> accursedUnutterablePerformIO
L243[08:05:31] <CompanionCube> locking up abstract concepts is very haskell tbf
L244[08:06:20] <sapphicf​ettucine> >Bob: at least it isnt scheme
L245[08:06:20] <sapphicf​ettucine> pouts in lisp enjoyer
L246[08:07:02] <sapphicf​ettucine> >CompanionCube: locking up abstract concepts is very haskell tbf
L247[08:07:03] <sapphicf​ettucine> yeah it is absolutely haskell
L248[08:07:17] <CompanionCube> also oh no i am defeated
L249[08:07:29] <sapphicf​ettucine> > Yield not to its blasphemous call! Flee traveller! Flee or you will be corrupted and devoured!
L250[08:07:36] <CompanionCube> even though i think it's deprecated
L251[08:07:53] <sapphicf​ettucine> the specific header is
L252[08:07:59] <sapphicf​ettucine> "Deprecated and unmentionable"
L253[08:08:28] <ThePi​Guy24> i cant tell whether you are making shit up or whether haskell is just absurd enough to be like that
L254[08:08:37] <CompanionCube> no it
L255[08:08:39] <sapphicf​ettucine> i am being 100% serious
L256[08:08:41] <CompanionCube> it's a real function
L257[08:08:49] <sapphicf​ettucine> https://hackage.haskell.org/package/bytestring-0.11.3.0/docs/Data-ByteString-Internal.html#g:10
L258[08:08:49] <CompanionCube> used in one of the built-in libs iirc
L259[08:09:08] <sapphicf​ettucine> > This "function" has a superficial similarity to unsafePerformIO but it is in fact a malevolent agent of chaos. It unpicks the seams of reality (and the IO monad) so that the normal rules no longer apply. It lulls you into thinking it is reasonable, but when you are not looking it stabs you in the back and aliases all of your mutable buffers. The carcass of many a seasoned Haskell programmer lie strewn at its feet.
L260[08:09:27] <B​ob> Haskell people played too much DnD
L261[08:09:35] <B​ob> i think ill stay with Rust
L262[08:09:39] <ThePi​Guy24> lmao
L263[08:09:49] <CompanionCube> if i wanted to destroy the room i would invoke unsafeCoerce.
L264[08:09:51] <sapphicf​ettucine> my favourite gender is "threatening descriptions of unsafe functions"
L265[08:09:53] <sapphicf​ettucine> https://tinyurl.com/y7gtnbq6
L266[08:10:33] <ThePi​Guy24> i would try haskell but its syntax scares me
L267[08:10:57] <sapphicf​ettucine> have you read the technical interview series
L268[08:11:07] <sapphicf​ettucine> it will make you more scared of it
L269[08:11:10] <sapphicf​ettucine> https://aphyr.com/posts/342-typing-the-technical-interview
L270[08:11:25] <ThePi​Guy24> i dont think i want to at this point
L271[08:11:42] * CompanionCube knows someone very into type theory
L272[08:11:43] <sapphicf​ettucine> (it's also just an extremely fun read and series and i highly recommend it)
L273[08:12:02] <sapphicf​ettucine> and also has the wisest quote to ever be put to paper
L274[08:12:09] <sapphicf​ettucine> Message contained 4 or more newlines and was pastebined https://paste.pc-logix.com/kiditoteqe
L275[08:12:15] <CompanionCube> i would be a liar if i said it wasn't confusing
L276[08:12:40] <sapphicf​ettucine> but do you have a minute to hear about the word of our lord the monad
L277[08:13:01] <CompanionCube> a monad is just a monoid in the category of endofunctors
L278[08:13:20] <CompanionCube> those are Words I know.
L279[08:13:27] <sapphicf​ettucine> god
L280[08:13:28] <sapphicf​ettucine> yea
L281[08:13:35] <sapphicf​ettucine> yea
L282[08:13:42] <CompanionCube> do not ask about the divine meaning of these worss
L283[08:13:54] <B​ob> >sapphicfettucine:
L284[08:13:54] <B​ob> why is it "an `&`" and not "a `&`"
L285[08:14:00] <CompanionCube> (did i do the meme right)
L286[08:14:07] <sapphicf​ettucine> >Bob: why is it "an `&`" and not "a `&`"
L287[08:14:07] <sapphicf​ettucine> great question
L288[08:14:14] <sapphicf​ettucine> i'd guess
L289[08:14:19] <sapphicf​ettucine> "an immutable reference"
L290[08:14:33] <B​ob> fair, i call it shared reference
L291[08:14:33] <sapphicf​ettucine> but it does read weird
L292[08:14:38] <B​ob> yeah
L293[08:14:46] <sapphicf​ettucine> >CompanionCube: (did i do the meme right)
L294[08:14:46] <sapphicf​ettucine> i don't remember but monads are the peak of comedy regardless
L295[08:14:53] <B​ob> wtf is a monad?
L296[08:15:01] <sapphicf​ettucine> Option<T>
L297[08:15:14] <B​ob> 🙃
L298[08:15:24] <CompanionCube> someone made an entire parody song about that question
L299[08:15:33] <CompanionCube> watch it on youtube some time
L300[08:15:42] <sapphicf​ettucine> it's a kind of type that wraps another type and adds some description to it
L301[08:16:02] <sapphicf​ettucine> so with option<T> it wraps T and adds the description of whether T is null or not
L302[08:16:13] <sapphicf​ettucine> and then you can apply functions to that wrapped type, like map()
L303[08:17:31] <sapphicf​ettucine> there is
L304[08:17:34] <sapphicf​ettucine> cursed maths behind this
L305[08:17:50] <sapphicf​ettucine> but in the end you can just think of it as like the rust option type
L306[08:20:24] <CompanionCube> things can get spookier like when you do computation in the type checker.
L307[08:21:16] <CompanionCube> alternatively
L308[08:21:34] <B​ob> i like math but i have no clue whatever the pretty haskell graphs say at any time
L309[08:21:35] * CompanionCube blesses sapphicfettucine with symbolics genera for oc2
L310[08:21:53] <sapphicf​ettucine> BLESSED
L311[08:21:59] <sapphicf​ettucine> [rpg item acquiring sound]
L312[08:22:34] <sapphicf​ettucine> >CompanionCube: things can get spookier like when you do computation in the type checker.
L313[08:22:34] <sapphicf​ettucine> https://twitter.com/reduct_rs/status/1112357662451077121
L314[08:25:12] <CompanionCube> the official x86_64 ported emulator may be unobtanium but the source to the older bootleg ported emulator is out there to poke at :p
L315[08:25:43] <sapphicf​ettucine> oooh
L316[08:25:55] <sapphicf​ettucine> i might take a look tomorrow 👁️
L317[08:26:34] <sapphicf​ettucine> you just gotta love lisp machines
L318[08:27:06] <CompanionCube> dunno what the RAM requirements were like but given the era it's probably in the same ballpark range
L319[08:27:10] <sapphicf​ettucine> wait lmao
L320[08:27:30] <sapphicf​ettucine> the modern genera runs on Apple M1?
L321[08:27:45] <sapphicf​ettucine> wild
L322[08:27:59] <CompanionCube> that's the unobtanium port isn't it?
L323[08:28:30] <sapphicf​ettucine> "Portable Genera 2.0"
L324[08:30:10] <CompanionCube> :)
L325[08:35:27] <CompanionCube> building it on regular x86_64 linux required a little patching, and iirc it's CPU specific so RISC-V would involve significant effort(tm)
L326[08:36:32] <sapphicf​ettucine> architecture specificity my beloathed
L327[08:37:06] <sapphicf​ettucine> the tragic necessity to understand the sand we cursed into thinking
L328[08:39:36] <CompanionCube> the 'actually legit' stuff would probably also be easier
L329[08:43:38] <CompanionCube> (given RISC-V, the original alpha/powerpc bits are probably closer inspiration wise than the later x86_64 hacking.)
L330[10:33:36] ⇨ Joins: Vexatos (~Vexatos@port-92-192-6-121.dynamic.as20676.net)
L331[10:33:36] zsh sets mode: +v on Vexatos
L332[12:02:10] <Izaya> %tell Ariri https://media.gameliberty.club/media/media_attachments/files/107/902/591/829/127/575/original/f8a0a470567170df.mp4
L333[12:02:11] <MichiBot> Iz​aya: Ariri will be notified of this message when next seen.
L334[12:11:33] <B​ob> gotta research the linux architecture from 0 with OC2
L335[12:13:35] <Forec​aster> %tonk
L336[12:13:35] <MichiBot> Wild! Forec​aster! You beat DaCompu​terNerd's previous record of 6 hours, 43 minutes and 54 seconds (By 26 minutes and 46 seconds)! I hope you're happy!
L337[12:13:36] <MichiBot> Forecaster's new record is 7 hours, 10 minutes and 40 seconds! Forecaster also gained 0.00315 (0.00045 x 7) tonk points for stealing the tonk. Position #3. Need 0.06999432 more points to pass Mic​hiyo!
L338[12:26:04] * Amanda meows and looks around, does a big heccin yawn
L339[12:26:34] <Amanda> 6h of sleep according to my sleep tracker
L340[12:26:41] <Amanda> Let's goo
L341[12:27:05] <Forec​aster> to sleep again
L342[12:30:59] <Amanda> I wish, the birbs are being loud
L343[12:33:31] <Izaya> need to get a sound-targeting laser
L344[12:33:57] <Amanda> what we need to do is seal off th eback porch again so they can't nest
L345[13:09:00] <Forec​aster> %sip
L346[13:09:00] <MichiBot> You drink a powdery tiberium potion (New!). Forecaster suddenly craves pie.
L347[13:09:19] <Forec​aster> tiberium pie
L348[13:15:49] <Forec​aster> huh
L349[13:16:05] <Forec​aster> I did not know for loops in Python could have an else caluse
L350[13:16:09] <Forec​aster> I did not know for loops in Python could have an else clause [Edited]
L351[13:17:45] <Forec​aster> it's apparently always executed at the end after the iterator finishes
L352[14:38:02] <Forec​aster> why are there no 24V to 8V power regulator ships >:
L353[14:38:09] <Forec​aster> chips not ships
L354[15:08:33] <Forec​aster> ah well, getting a 24 to 12V converter instead I guess
L355[15:08:39] <Forec​aster> 12 is roughly 8 anyway
L356[15:27:12] <Brisingr​Aerowing> https://timesofmalta.com/articles/view/champagne-recalled-due-to-possible-presence-of-ecstasy.939009
L357[16:29:57] <Forec​aster> I wonder how that happened
L358[16:59:26] <Va​ur> fuck python tuples, who even uses that shit
L359[16:59:44] <Va​ur> never found an use for those
L360[16:59:54] <sapphicf​ettucine> the tuple defender has logged on
L361[17:00:10] <Va​ur> please enlighten me
L362[17:00:53] <sapphicf​ettucine> syntatically neat and interoperability with lists makes them not a bother if you don't want them
L363[17:01:14] <Va​ur> no but
L364[17:01:46] <Va​ur> the reason I upset against them, is because its something that often come back into coding test
L365[17:01:47] <B​ob> my condolences
L366[17:02:09] <Va​ur> I've never ever used them
L367[17:03:12] <Forec​aster> are you kidding me...
L368[17:03:24] <Forec​aster> remember that php4 thing I mentioned the other day
L369[17:03:31] <Forec​aster> I'm looking at the database now
L370[17:03:34] <sapphicf​ettucine> what php thing
L371[17:03:41] <sapphicf​ettucine> there's so many bad php things
L372[17:03:42] <Va​ur> from: Forecaster php4
L373[17:03:55] <Forec​aster> it stores the account passwords unencrypted...
L374[17:04:09] <sapphicf​ettucine> >sapphicfettucine: there's so many bad php things
L375[17:04:10] <sapphicf​ettucine> (my favourite being the gender enum)
L376[17:04:20] <Va​ur> > Forecaster — 01/03/2022
L377[17:04:20] <Va​ur> > he has a PHP4 website that wont work in modern PHP servers that he needs updated
L378[17:04:31] <Forec​aster> this is someones myfirstwebsite
L379[17:04:31] <sapphicf​ettucine> oh god
L380[17:04:35] <sapphicf​ettucine> i'm so sorry
L381[17:05:13] <Va​ur> sounds like someone hired an intern to do a full time employee job
L382[17:06:32] <Forec​aster> also, one password?
L383[17:06:34] <Forec​aster> 3 characters
L384[17:06:38] <Forec​aster> just 3 letters
L385[17:06:41] <sapphicf​ettucine> >Vaur: sounds like someone hired an intern to do a full time employee job
L386[17:06:41] <sapphicf​ettucine> you underestimate how bad corporate dev is
L387[17:07:04] <sapphicf​ettucine> there are government websites that still use java applets out in the world
L388[17:07:55] <Va​ur> I don't know enough about java programming or website programming to understand what that means
L389[17:08:38] <sapphicf​ettucine> imagine if flash
L390[17:08:41] <sapphicf​ettucine> but in java
L391[17:08:49] <Va​ur> I see
L392[17:10:14] <Va​ur> https://tinyurl.com/yb3qosqx
L393[17:11:01] <Va​ur> got screwed on problem solving because ... I didn't know how to do an average 🤣
L394[17:11:19] <Forec​aster> do you know now?
L395[17:11:40] <Va​ur> sum / count
L396[17:11:54] <Va​ur> I looked it up, but run out of time
L397[17:12:38] <Forec​aster> I got to a job interview once where I got a test where you were supposed to write code that did something with the Fibonacci sequence
L398[17:12:51] <Forec​aster> at that time I had never heard of the Fibonacci sequence
L399[17:13:18] <Va​ur> rough
L400[17:13:36] <Va​ur> I've heard of it but no clue what the algo is either
L401[17:13:37] <Forec​aster> now where the heck have they hidden the db connection details in this garbage
L402[17:14:12] <Forec​aster> the fibonacci sequence is simply start with either 0, 1 or 1, 1
L403[17:14:23] <Forec​aster> the next number is the sum of the last two numbers in the sequence
L404[17:14:52] <Forec​aster> that's it
L405[17:15:02] <Forec​aster> and I wasn't allowed to look anything up during that test
L406[17:15:41] <Va​ur> yeah that's the dumbest thing you can ask for an interview
L407[17:16:13] <Forec​aster> the task was something like "Generate and list the first n numbers in the fibonacci sequence"
L408[17:17:09] <Forec​aster> ah, found the db details
L409[17:21:29] <Forec​aster> `Can not connect: DB Error: extension not found`
L410[17:21:31] <Forec​aster> great
L411[17:24:58] <Forec​aster> it uses PEAR, I guess that might be what's missing
L412[17:29:47] <Forec​aster> oh no, it was that the connection string told it to use "mysql" instead of "mysqli", since the mysql connection is apparently completely removed
L413[17:37:46] <Forec​aster> oh god
L414[17:38:02] <Forec​aster> of course the site has a "Forgot password" thing
L415[17:38:08] <Forec​aster> I'm sure you can guess what that does
L416[17:39:25] <Va​ur> send the stored password in clear from the db by email to the customer 😄
L417[17:39:33] <Forec​aster> yep
L418[17:40:14] <Forec​aster> I haven't looked at the code for it, but the "Forgot password" page says "We'll send your password to you"
L419[17:49:33] <Forec​aster> also it's using non-utf8 encoding, but the pages aren't configured for that, so they're not displaying correctly
L420[18:27:50] <DaCompu​terNerd> lol
L421[18:28:44] <Forec​aster> doing that didn't help anyway, because apparently something is overriding it and forcing utf8
L422[18:28:55] <Forec​aster> so instead I had to convert each file to utf8
L423[18:43:02] ⇨ Joins: Thutmose (~Patrick@67.21.186.225)
L424[19:11:31] ⇦ Quits: Renari (~Renari@64.67.31.239.res-cmts.bgr.ptd.net) (Read error: Connection reset by peer)
L425[19:12:29] <Forec​aster> I just checked how the registration works out of curiosity
L426[19:12:57] <Forec​aster> there's no password validation at all beyond pa1 == pa2
L427[19:14:37] <Forec​aster> it says "Min 4 characters" on the registration page, but there is no such check
L428[19:36:25] <DaCompu​terNerd> ....
L429[19:36:33] <DaCompu​terNerd> So someone could have a blank password
L430[19:36:47] <Forec​aster> yep
L431[19:38:35] <Forec​aster> oh, there are 10 of those
L432[20:37:47] <Michiyo> %tonkout
L433[20:37:47] <MichiBot> Jiminy Cricket! Mic​hiyo! You beat Forec​aster's previous record of 7 hours, 10 minutes and 40 seconds (By 1 hour, 13 minutes and 31 seconds)! I hope you're happy!
L434[20:37:48] <MichiBot> Mic​hiyo has stolen the tonkout! Tonk has been reset! They gained 0.008 tonk points! plus 0.007 bonus points for consecutive hours! (Reduced to 50% because stealing) Current score: 0.59449. Position #2 Need 0.14664432 more points to pass Va​ur!
L435[20:42:50] <Forec​aster> oh wait, I see there's a check on the frontend if the password field is longer than 3 characters
L436[20:42:53] <Forec​aster> all is well
L437[20:44:04] <Forec​aster> Somehow there's still 10 rows in the database where the password column is empty
L438[20:58:33] <Amanda> ... No, not all is well, the backend should also check, never trust the input of a user, espically client-side validation
L439[20:59:08] <Amanda> %choose rain box or early noms
L440[20:59:08] <MichiBot> Ama​nda: Pretty sure I'd want you to go with "early noms"!
L441[20:59:11] <Forec​aster> I know, that was 100% sarcastic
L442[20:59:21] <Forec​aster> I've already implemented a length check in the backend
L443[20:59:46] <Forec​aster> for 8 characters, no 4
L444[20:59:50] <Forec​aster> for 8 characters, not 4 [Edited]
L445[21:04:04] <Forec​aster> there's also a max length of 25 characters, which is in the database specification, so I can't do anything about that right now
L446[21:04:28] * Amanda decides to grace the rain box with her presese and decide on early noms after
L447[22:06:07] * Amanda meows at Elfi, offers her some pizza (heating pending)
L448[22:19:13] ⇦ Quits: ben_mkiv (~ben_mkiv@200116b81472cd00fe3497fffea975f2.dip.versatel-1u1.de) (Quit: Leaving)
L449[22:57:57] <DaCompu​terNerd> %tonk
L450[22:57:57] <MichiBot> Potzblitz! DaCompu​terNerd! You beat Mic​hiyo's previous record of <0 (By 2 hours, 20 minutes and 10 seconds)! I hope you're happy!
L451[22:57:58] <MichiBot> DaComputerNerd's new record is 2 hours, 20 minutes and 10 seconds! DaComputerNerd also gained 0.00234 tonk points for stealing the tonk. Position #9 => #8. (Overtook nil) Need 0.00066 more points to pass Ocawes​ome101!
L452[22:58:08] <DaCompu​terNerd> might as well get that started
L453[22:59:31] <Forec​aster> there's a pretty nice catchup mechanic as well :>
L454[23:01:32] <Forec​aster> there are however no ketchup mechanics
L455[23:05:39] <DaCompu​terNerd> dangit i was hoping for ketchup mechanics
L456[23:11:10] <Forec​aster> They're DLC I'm afraid
L457[23:14:43] <Amanda> tonk microtransactions ruined my family
L458[23:16:11] * Elfi nibbles cold pizza, prefers it this way anyway
L459[23:31:12] <Amanda> Elfi: It's mean tto be heated, but the toaster oven's acting up
L460[23:31:52] <Elfi> I'm fine with this nonetheless
L461[23:31:56] <Elfi> A bit too tired to really fuss
L462[23:32:02] * Amanda giggles
L463[23:32:04] * Amanda cuddles
L464[23:32:16] * Amanda offers some drinks to wash it down
L465[23:55:38] <Amanda> The first time someone said to me: it's only one human, what difference does it make' I almost drew my sidearm and shot them."- Former Grand Most High Sma'akamo o, from I Have Ridden the Hasslehoff
L466[23:57:17] <Michiyo> I've not read that in ages... waiting for more chapters to pile up before I do so lol
<<Prev Next>> Scroll to Top