Search logs:

channel logs for 2004 - 2010 are archived at ·· can't be searched

#osdev2 = #osdev @ Libera from 23may2021 to present

#osdev @ OPN/FreeNode from 3apr2001 to 23may2021

all other channels are on OPN/FreeNode from 2004 to present

Friday, 15 September 2023

00:03:00 <heat> netbsduser`, storport sounds horrendous
00:12:00 <netbsduser`> heat: it's certainly interesting
00:12:00 <netbsduser`> i struggle to come to a fair judgment on it because the loud coding style grates me
00:50:00 <heat> i tried plugging in my bluetooth earbuds on linux
00:50:00 <heat> it sucks ass
00:50:00 <heat> year of the linux desktop!
00:52:00 <heat> i remember seeing something about using android's bluetooth stack, i wonder if that could work better
01:59:00 <clever> heat_: i tried using some BT headsets a few years back, and the stack was just stupid, it would retransmit lost packets, and if you went out of range for 5 seconds, then it was now permanently 5 seconds behind on all playback
01:59:00 <clever> so every time you step a foot out of range, you start acrruing more lag
01:59:00 <kof13> eh, i never had that problem, but seems to high latency for ddr
02:00:00 <clever> all of my proprietary 2.4ghz headsets just accept packet loss and drop audio
02:00:00 <kof13> like 1/2 a second is probably enough to be annoying/unusable
02:00:00 <kof13> *too
02:01:00 <kof13> this was with a little transmitter plug, no computer/phone/etc. involved
02:02:00 <kof13> *usb transmitter/receiver to 3.5" jack i believe so it just needs usb for power basically
02:03:00 <kof13> whatever headphone-sized jack is :D
02:03:00 <Mutabah> 3.5mm
02:03:00 <kof13> it seemed difficult or more expensive to find "wireless headphones" so bluetooth was just cheaper
02:03:00 <kof13> ^
02:04:00 <Mutabah> Not to be confused with 3.5" floppies :)
02:04:00 <kof13> that's probably why i said that lol
02:04:00 <Mutabah> hmm... is there anything interesting at 3.5 feet?
02:08:00 <kof13> on a semi-related note, what if i just generally run with interrupts disabled, and give some short recurring period where they are allowed? this seems it might seriously damage throughput, but might make interactivity/predictability better, assuming you are still quick enough to process them routinely
02:08:00 <kof13> it is not polling, but like a mixture lol
02:09:00 <kof13> or is this not really an issue, if you just have ISRs do bare minimum, and let something else do the real processing
02:10:00 <heat_> what?
02:10:00 <heat_> the more you have interrupts disabled, the worse the latency
02:10:00 <heat_> throughput will probably be improved, it's the same with preemption disabling
02:10:00 <kof13> latency for what though? cpu can do instructions without interrupts
02:10:00 <heat_> other threads
02:10:00 <heat_> IO
02:11:00 <kof13> yes, that i can see :D
02:11:00 <kof13> it was more of a joke idea
02:11:00 <kof13> but if you assume a vm where you are basically deciding how many instructions you want to run
02:12:00 <kof13> then it is more along those lines, you just give a short period where interrupts can go lol
02:13:00 <kof13> *where you could decide how many instructions to run, if you wanted
02:15:00 <kof13> the other question is how bad it would be too disable/enable frequently i assume that is slow
02:16:00 <kof13> *to
02:19:00 <kof13> i just see it would give you precise control, but ...overhead is likely bad
02:21:00 <heat> gosh darn my router
02:21:00 <heat> <heat_> modern x86 has a solid performance penalty when disabling/enabling interrupts but it's nothing too bad
02:21:00 <heat> but if you toggle it every instruction you're probably screwed lol
02:22:00 <Mutabah> and really, there's no need to.
02:22:00 <Mutabah> If servicing interrupts is impacting performance, then maybe you need to find out why
02:22:00 <Mutabah> or look into ways of spreading/concentrating interrupt load
02:23:00 <Mutabah> E.g. dedicate an entire core to device IRQ handling, so the others are just doing compute
02:24:00 <heat> if your device has a high enough IRQ rate it probably supports MSI
02:24:00 <heat> thus you can spread some IRQs out
02:24:00 <kof13> makes sense, just a thought lol it would be like time slicing them basically lol
02:25:00 <kof13> or "everything is a process" maybe, including interrupts
02:26:00 <heat> that's the main idea behind something like ksoftirqd
02:26:00 <heat> but acking them is still beneficial
02:26:00 <heat> softirqs themselves are a huge but useful hack because *scheduling* has high overhead
03:13:00 <kof13> > The hard interrupt handler then leaves the majority of packet reception to a software interrupt, or SoftIRQ, a process which can be scheduled more fairly.
03:13:00 <kof13> yeah, this would seemingly effectively make them all soft interrupts
05:48:00 <kof13> > but if you toggle it every instruction you're probably screwed lol < just to clarify it wouldn't be that bad, it would be like <imaginary scenario> one cpu, 5 "processes" scheduler looks at them and runs them one at a time, lets say 10 virtual instructions (where a virtual instruction might be 10-20 real instructions each, or whatever the case may be). and then the scheduler says "ok i ran through the queue, lets s
05:48:00 <kof13> ee if there are any interrupts" lol
05:48:00 <kof13> i still think it is a bad idea, just clarifying "instructions"
05:50:00 <kof13> the imaginary example was like bytecode, to clarify "vm"
05:50:00 <kof13> so entirely software-based
06:09:00 <kof13> or a hybrid might be a little less bad, keyboard/mouse/whatever is important, could still interrupt normally, but other "less important" interrupts must wait until the scheduler gets around to them. anyways...
07:46:00 <kof13> pdf page 10/18 "In particular, interrupts (including timer interrupts) do not cause a thread switch until, at least, the next yield call"
07:47:00 * kof13 puts on 1/2 of karnac hat . come to me with your 1980s questions, i have a 50% chance of divining them via osmosis
07:55:00 <kof13> that is not quite the same, it says they wish to use more "work objects" created during interrupts to reduce the amount of time spent there...but it does make a statement their "mirrored" server just tracks events, non-preemptively, and does not rely on interrupts lol
07:56:00 <kof13> i would guess "work objects" are perhaps the norm, want to return asap from interrupts
08:01:00 <kof13> then they also have a list of things you can setup for polling i suppose, i assume it would depend on drivers which allow that mode or not
08:41:00 <kof13> *the norm nowadays
10:10:00 <immibis> kof13: it makes a lot of sense for device drivers to be processes, however it doesn't work if your device requires a response time in microseconds (high speed UART maybe?). So maybe you can have processes for most devices except the ones where that doesn't work.
10:11:00 <immibis> a lot of sense from an architecture standpoint, not saying it's easy to implement
10:12:00 <gog> microkernelllll
10:14:00 <kof13> yeah it seems tradeoffs to me. if you wanted to process things ASAP, then don't put on a queue, because surely that is a small amount of overhead even to do that
10:15:00 <kof13> *"work object" in netware-speak apparently
10:15:00 <kof13> but if you do do that, then you have some ability to "schedule"
10:17:00 <gog> the way NT deals with this is they have two levels of interrupt handling, a low-level and a high-level. the low-level routine can do stuff immediately and schedule anything that can be deferred to a handler that may or may not be in usermode
10:17:00 <gog> or have parts in user mode
10:17:00 <gog> windows drivers are wild
10:18:00 <kof13> i also have no idea but how would smp or multicore complicate this?
10:19:00 <kof13> i mean, just reserve a core or two if you thought it was that important
10:21:00 <immibis> gog: that's also how linux deals with it, but they call it hard and soft IRQ
10:24:00 <kof13> i really have not got there yet, it was more an exercise in reversed logic like that 'not not' guy
10:24:00 <immibis> soft IRQs are deprecated. the replacement is - guess what - processes!
10:25:00 <gog> exceptions always go to the CPU on which the exception happened, IRQs can be routed with the LAPIC on x86
10:25:00 <immibis> they are called "threaded IRQs"
10:42:00 <kof13> you probably already saw in another channel, but for gog's sake:
10:42:00 <puck> FB_IMG_1694563073485.jpg
11:36:00 <dzwdz> is there some list of hpet periods across different computers out there?
11:40:00 <heat> hm?
11:42:00 <heat> they explicitly give you the period in a register
11:42:00 <heat> that's the best you're getting in the pool of x86 PC timers
11:45:00 <dzwdz> yes, and i want to see what are the typical values
11:50:00 <heat> why does that matter
11:54:00 <dzwdz> i want to use it as a system clock, so to get the current time in ns i need to do something like ticks*period/1000000
11:54:00 <dzwdz> implemented naively, the first multiplication will overflow after ~6 hours
11:55:00 <heat> use a 64-bit mult there
11:55:00 <dzwdz> then i will need a 128-bit multiplication for the division by a constant
11:55:00 <dzwdz> which feels weird
11:56:00 <heat> why?
11:56:00 <heat> are you doing 64.64?
11:57:00 <dzwdz> wdym?
11:58:00 <dzwdz> ticks*period will result in a 128bit value, and afaik, to efficiently divide by a constant, you'd multiply this by a 128b value and then discard the lower bits of the resulting 256b value
12:00:00 <dzwdz> on qemu the period is a power of 10 - i wanted to check how common it is in practice for the period to be divisible by 1000000
12:20:00 <sham1> (A * 2^64 + B) * (C * 2^64 + D) = (A * C) * 2^128 + (A * D + B * C) * 2^64 + B * D. So you'd calculate A * C and then evaluate A * D + B + C for any overflow and add to A * C
12:23:00 <sham1> You can take some shortcuts by noticing that in A * D there will be no overflow if A and D are both below √(2^64) = 2^32, you will be guaranteed no overflow from that multiplication, same for B * C
13:55:00 <heat> i'd like to help you but maths is hard
13:55:00 <heat> i do urge you to use someone else's fixed point library because maths is, again, hard
13:56:00 <heat> i'm using geist's lk stuff and it works fine
14:03:00 <heat> ooooooooooh so SLAB_VIRTUAL patches have just been posted
14:04:00 <heat> they kind of work like macOS's zone allocator where they hold virtual address ranges for as long as they can (hopefully forever if you never face virtual address exhaustion)
14:04:00 <heat> to try to defeat type confusion
14:05:00 <heat> SLAB_VIRTUAL's performance impact depends on the workload. On kernel compilation (kernbench) the slowdown is about 1-2% depending on the machine type and is slightly worse on machines with more cores.
14:07:00 <nortti> I presume it's meant as exploit mitigation? or are there other benefits to that?
14:08:00 <heat> exploit mitigation yeah
14:09:00 <heat> you'll always lose some performance by not using larger page sizes
14:10:00 <heat> XNU even has some fancy type hashing using the compiler where it really tries to stop type confusion
14:10:00 <heat>
14:10:00 <bslsk05> ​ Blog - Towards the next generation of XNU memory safety: kalloc_type - Apple Security Research
15:55:00 <netbsduser`> managed to coax storahci.sys into doing its first read for me
15:58:00 <heat> you're doing osdev sidequests now
16:01:00 <netbsduser`> everything i've done to date has been a sidequest
16:01:00 <sham1> Sidequests are a way of life
16:01:00 <netbsduser`> i wanted to make a smalltalk machine and instead i have a unixlike with profoundly asynchronous i/o
16:26:00 <Ermine> gog: may I pet you
16:27:00 <heat> yes
16:27:00 <Ermine> thank you for permission
16:27:00 * Ermine pets gog
16:29:00 <Ermine> zoom is borked in wayland, so they fall back to xwayland, where zoom is also borked but at least it works
16:34:00 <heat> deskterp linox
16:36:00 <Ermine> Half this, half the fact zoom doesn't really care
16:36:00 * gog prr
16:41:00 <puck> hrmm. i thought they added screensharing portal support
16:41:00 <heat> Ermine, doesn't really matter whose fault it is when you want to do something and it's utterly broken
16:41:00 <puck> looks like it in 5.11.1 (though i suspect they still restrict which DE you can use it in)
16:43:00 <puck>
16:43:00 <bslsk05> ​ Do not check if XDG_CURRENT_DESKTOP is gnome for w... - Zoom Community
16:43:00 <Ermine> puck: the issue is that it crashes on launch if you set wayland=true and xwayland=false in its conf
16:43:00 <Ermine> And under xwayland, popup menu rendering is extremely buggy
16:46:00 <Ermine> heat: imo 'deskterp linox' sounds like this all is linux desktop devs
16:49:00 <Ermine> Also zoom cannot into properly separating strings into lines
16:51:00 <puck> Ermine: hey at least zoom no longer implement wayland screensharing by uhhhh
16:51:00 <puck> Ermine: taking 30 screenshots a second
16:51:00 <puck> using a private api
16:54:00 <Ermine> Well... That's good probably...
16:55:00 <puck> iirc to do this they had to also claim they were gnome screenshots
16:56:00 <puck> ah, no, that was properly secured /after/
19:24:00 <zid> heat what did you do with gog
19:45:00 <gorgonical> thoughts on assert vs panic
19:47:00 <gog> i'm right here fuck
19:47:00 <gog> gorgonical: i usually panic when i should assert myself
19:47:00 <gorgonical> lol
19:47:00 <gog> anxiety disorder is a fuck
19:47:00 <zid> I sent you a message on discorn about 20 hours ago but never saw you go orange or green
19:47:00 <zid> It was HILARIOUS ofc
19:47:00 <gog> i was cooking dinner for my beautiful wife
19:48:00 <zid> from 6am to now? impressive, quite the feast I'm sure
19:48:00 <ChavGPT> maybe gog is openbsd at cooking
19:48:00 <gog> oh
19:48:00 <ChavGPT> just sayin
19:48:00 <gog> i didn't even see that
19:48:00 <gog> i don't even wake up until like 8
19:48:00 <gorgonical> such an early riser
19:49:00 <gorgonical> what do you like have a real job or something
19:49:00 <gog> yeah i do actually
19:49:00 <zid> scab
19:49:00 <gorgonical> the horror
19:49:00 <gog> scab??? i'm union
19:49:00 <zid> betraying the revolution
19:49:00 <zid> You're supposed to use your union to be on strike 24/7
19:49:00 <gog> girl's gotta eat
19:50:00 <gog> and fund her various vices
19:50:00 <zid> eating is below a glorious revolutionary's ethical responsibilities
19:50:00 <gog> ok
19:50:00 <gorgonical> like eating famous hot dogs
19:50:00 <zid> throw off the chains of oppression, the silver ones with the cute cat charm
19:51:00 <gog> mine's actually a crescent moon and some stars
19:51:00 <gorgonical> but iceland does have like one of the oldest parliaments so that's pretty marxist
19:51:00 <zid> still, pretty close :P
19:51:00 <gorgonical> for ~900 anyway
19:52:00 <moon-child> zid: do you have a job?
19:53:00 <zid> no
19:53:00 <zid> I am a glorious revolutionary
19:54:00 <zid> down with the yoke surrounding our society, and all that
19:54:00 <gorgonical> mmm eggs
19:54:00 <zid> YOKE
19:54:00 <zid> fucking americans
19:54:00 <gorgonical> do not seriously tell you say them differently
19:55:00 <gog> egg yoke
19:55:00 <moon-child> zid: moocher
19:56:00 <zid> we are all moochers of mother earth's teet
19:56:00 <zid> but some wish to interpose, and steal the life giving care she gives us
19:56:00 <zid> and to destroy it
20:00:00 <zid> I'm not even in it for the politics, I just really needed an excuse to use the word 'foment'
20:00:00 <gog> just make cider at home
20:01:00 <gog> you can use that word all the time then
20:01:00 <zid> gorgonical could
20:03:00 <zid> I did consider finding a good jug and an airlock
20:03:00 <zid> and.. doing that f thing, to some pears
20:03:00 <gorgonical> i've never made cider but have made mead
20:04:00 <gorgonical> I am going apple picking tomorrow so perhaps cider is in my future
20:05:00 <gog> my wife has made cider and mead both
20:05:00 <gog> she's gonna get an airlock and try to make some more
20:06:00 <zid> real cider, or american cider
20:06:00 <gorgonical> I should have another go at it because the last time I made mead was 10 years ago when I was in college
20:06:00 <zid> where you have to prefix it with 'hard' to mean real cider
20:06:00 <zid> I wonder if a crazy straw poked into a wine cork is good enough for an air lock
20:06:00 <gorgonical> i am not interested if there's no alcohol, zid
20:06:00 <gorgonical> if you pour some water into it, yes
20:07:00 <zid> thought I thought the point of an airlock was just that it was circuitous?
20:07:00 <zid> Thanks
20:07:00 <gorgonical> i mean if it's sufficiently circuitous that would also work
20:07:00 <gorgonical> that's basically the idea behind a still air box
20:07:00 <zid> except the air isn't still
20:07:00 <gorgonical> still-ish
20:08:00 <gorgonical> and anyway if your fermentation is vigorous enough it may maintain something close to positive pressure
20:08:00 <gorgonical> a small enough bore of a straw could actually work in that case, without a water lock
20:09:00 <zid> problem is if it acts like a pulse jet
20:10:00 <gog> zid: real cider
20:10:00 <zid> which I bet a cold day would do
20:11:00 <zid> an airlock is literally £2 on ebay though
20:11:00 <gorgonical> or even a balloon or glove works and probably people already have that
20:11:00 <gorgonical> I have seen people snip a finger off a nitrile glove and use that
20:12:00 <zid> I'd have to buy a pack of nitrile gloves
20:12:00 <zid> I do want some though, for wanking purposes
20:12:00 <zid> so maybe
20:12:00 <gorgonical> what are those devices called again? the homemade ones?
20:13:00 <gorgonical> when i was a teenager I read about them on jackinworld lol
20:13:00 <zid> for what
20:13:00 <zid> oh
20:13:00 <zid> not a clue, I'm not a weirdo
20:14:00 <gorgonical> I could have sworn they had a name
20:14:00 <gog> i'm a weirdo
20:14:00 <gorgonical> But maybe it's one of those things that's not in use anymore, like pwn or leet
20:15:00 <zid> I don't evne know what the they is
20:15:00 <gog> a wank sleeve
20:15:00 <zid> much less if it has a name
20:15:00 <gorgonical> yeah those things. made out of like gloves and pringles cans and shit like that
20:15:00 <zid> you've just decided on something in your own head must be common between us somehow, telepathically
20:15:00 <zid> a.. pocket pussy
20:15:00 <gog> oh fleshlight
20:15:00 <zid> see, it helps if you describe it
20:16:00 <gorgonical> but when I was a teenager I recall the internet making a distinction between the expensive, commerical fleshlights and whatever janky wanker you concocted at home
20:16:00 <gorgonical> i have been wrong before though so
20:16:00 <gog> janky wanker lmfao
20:16:00 <zid> I already told you the name
20:16:00 <zid> I'm too seiso to say it a second time
20:17:00 <zid> gog: Do you think pink diesel tastes nicer than regular?
20:17:00 <gog> yes
20:17:00 <gog> it has a hint of raspberry
20:47:00 <gog> zid are you playing factorio
20:51:00 <gorgonical> playing factorio makes me want to write my own riscv core
20:51:00 <gorgonical> i can't really explain why
20:57:00 <gog> makes sense
21:16:00 <gorgonical> man writing code at the kernel level is so, so, so much more productive
21:16:00 <gorgonical> I wrote this whole thing I needed this afternoon instead of spending two weeks debugging wacky bootloader issues
21:42:00 <heat> gorgonical, they're different
21:42:00 <heat> wrt assert vs panic
21:42:00 <heat> asserts are canonically supposed to be debug stuff you can disable
21:42:00 <heat> panics are panics
21:42:00 <heat> asserts will end up panic'ing anyway
21:43:00 <mcrod> hi
21:43:00 <mcrod> i printed something in my complex
21:43:00 <mcrod> and I have no idea where it is in the building
21:43:00 <mcrod> .
21:44:00 <ChavGPT> unless you are using linux innit
21:45:00 <heat> BUG_ON is just a fancy PANIC_ON
21:45:00 <heat> (that doesn't fucking panic because linux is bizarre)
21:45:00 <mcrod> freertos is really fun, people
21:45:00 <heat> hey you should stop using freertos
21:45:00 <heat> use freebsd
21:45:00 <ChavGPT> anything with free in name is shite
21:45:00 <heat> it's free
21:45:00 <ChavGPT> but is it open :X
21:46:00 <heat> no
21:46:00 <heat> does it fly dragons? no? don't like it
21:46:00 * ChavGPT is sticking to net then
21:46:00 <heat> net isn't open mate
21:46:00 <heat> net is net
21:46:00 <ChavGPT> how about some dev team swap for a month
21:46:00 <ChavGPT> obsd devs commit to fbsd and vice versa
21:47:00 <heat> the freebsd devs would finally be forced to use the OS they dev and thus self-destruct
21:48:00 <ChavGPT> joke is on you
21:48:00 <ChavGPT> i use linux
21:48:00 <ChavGPT> with some patchen
21:48:00 <heat> it is known
21:48:00 <mcrod> soon I will be demonstrating LLVM to our team
21:48:00 <mcrod> pray that I can convince old farts to change
21:48:00 <heat> you are a popular linux kernel developer
21:49:00 <heat> have you tested SLAB_VIRTUAL yet? to see if it's ungooder than they say it is
21:50:00 <mcrod> freertos with -Os is like.. 6KB though
21:50:00 <mcrod> fucking nuts
21:50:00 <ChavGPT> the idea is decent
21:50:00 <ChavGPT> but i don't know how effective it is going to be
21:50:00 <heat> it's totes incompatible with 32-bit at least
21:50:00 <ChavGPT> i'm out of exploitation game for overa decade
21:50:00 <ChavGPT> who cares about KVA-starved archs
21:51:00 <heat> the macOS zone alloc does the same
21:51:00 <heat> they also do a funny where they bin kmalloc requests based on the type's tag information
21:51:00 <heat> which does things like "8-byte granule #0 has a pointer, #1 has data, #2 has a pointer"
21:52:00 <heat> it helps stop same-cache type confusion
21:52:00 <ChavGPT> i could not help but notice you are security-minded
21:52:00 <ChavGPT> openbsd is the project for you then mate
21:53:00 <heat> someone put something in my drink yeah
21:53:00 <netbsduser`> mcrod: from what are you changing to LLVM?
21:53:00 <heat> this allocator is fuckin PESSI-exploitable
21:53:00 <mcrod> netbsduser`: IAR
21:53:00 <mcrod> totally useless
21:54:00 <heat> boohoo mcrod
21:54:00 <mcrod> hey
21:54:00 <heat> you'll take your enterprise toolchain and you'll enjoy it too
21:54:00 <mcrod> i'm doing the lord's work
21:54:00 <heat> maybe you'll end up doing a pointerpoint presentation on IAR as well.
21:55:00 <mcrod> i already have a powerpoint on IAR vs LLVM
21:55:00 <mcrod> there is only one pro to IAR: the fact we can share source code with them if we have a problem because NDA
21:57:00 <mcrod> and yes
21:57:00 <mcrod> i bitch about IAR way too much
21:57:00 <mcrod> i should stop that
21:57:00 <ChavGPT> mate
21:57:00 <ChavGPT> any miscompilation is going to be put on you
21:57:00 <ChavGPT> and in fact any bug which is not yours will be blamed on the new toolchain
21:57:00 <mcrod> i'm sure it will
21:58:00 <ChavGPT> should this succeed, which it wont, you would only set yourself up as the fall guy
21:58:00 <ChavGPT> and get nothing in return
21:58:00 <mcrod> we're not terribly toxic yknow
21:58:00 <ChavGPT> the thing to do is to gtfo from that workplace
21:58:00 <mcrod> why? i don't mind this place
21:58:00 <ChavGPT> well i tried
21:59:00 <mcrod> trust me. i've been through a toxic workplace. it could've killed me. this is nothing.
21:59:00 <mcrod> let me have some fun, dammit
22:06:00 <gog> hi
22:06:00 <mcrod> hi gog
22:06:00 <mcrod> may I pet you
22:06:00 <gog> please
22:06:00 * mcrod pets gog
22:06:00 * gog prr
22:06:00 <mcrod> is something wrong :(
22:06:00 <gog> no
22:06:00 <gog> not really
22:06:00 <gog> but yes
22:13:00 * kazinsal hugs gog
22:14:00 * gog hug kazinsal
22:16:00 * ChavGPT burps
22:55:00 * gog pets ChavGPT
23:41:00 <cloudowind> how are we doing
23:41:00 <kazinsal> it's friday
23:42:00 <cloudowind> then why heraclitus says everyday is the same day
23:44:00 <kazinsal> because pre-socratic greek philosophers spent most of their time getting blasted and writing down drunken shower thoughts
23:46:00 <kof13> it just loops around. if you want to understand heraclitus you must understood the loop
23:46:00 <kof13> basically earth was believed to have 2 hemispheres
23:46:00 <kazinsal> bum wine it is
23:46:00 <kof13> the modern version is just one lol
23:46:00 <cloudowind> :)
23:51:00 <cloudowind> but he alsa says sun is new every day but it is ok for him to do so because he is also as in his fragment 10 ; (59) Couples are things whole and things not whole, what is drawn together and what is drawn asunder, the harmonious and the discordant. The one is made up of all things, and all things issue from the one.
23:54:00 <cloudowind> in aristotle's universe , we cant say something doesn't exist while we say it does exist , aristotle has always admired heraclitus tho , everyone did ... anyway this is not place for this , before i get kicked