Search logs:

channel logs for 2004 - 2010 are archived at http://tunes.org/~nef/logs/old/ ·· 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


http://bespin.org/~qz/search/?view=1&c=osdev&y=18&m=11&d=9

Friday, 9 November 2018

12:39:59 <ybyourmom> Dunno out of nowhere my EXT2 volume that I share between Linux and Windows is corrupted
12:40:03 <ybyourmom> And like, really badly
12:40:07 <ybyourmom> No idea where that came from
12:40:56 <ybyourmom> I think what I'll do is run my games in a guest machine from now on -- my machine is powerful enough that it's not a problem to do that
12:41:09 <CompanionCube> EXT2?
12:41:12 <CompanionCube> not 3 or 4?
12:41:28 <ybyourmom> Yeah, I use EXT2 because it doesn't have journaling
12:41:35 <CompanionCube> but why
12:41:46 <ybyourmom> That way I don't have to deal with cleaning the journal to disk when switching between OSes
12:41:53 <CompanionCube> ...
12:42:12 <ybyourmom> What would you suggest as an alternative usage profile? I'm all ears tbh
12:42:17 <CompanionCube> how many times have you had to fsck it?
12:42:57 <ybyourmom> This is the first time this has ever happened, and I've used this scheme for what, the last 5 years or so? But on this particular PC, I've had this volume set up for about 2 weeks
12:43:02 <ybyourmom> Cos this PC is new
12:43:35 <CompanionCube> i mean, the journal is required to maintain filesystem consistency so
12:44:06 <ybyourmom> EXT2 doesn't support journaling
12:44:14 <CompanionCube> exactly
12:44:18 <ybyourmom> Journaling was added from EXT3 onwards
12:44:59 <ybyourmom> I think what I can do is switch from using EXT2 as my shared filesystem type to using ExFAT now
12:45:08 <CompanionCube> does the software like, not support replaying the journal?
12:45:18 <ybyourmom> There is no journal lol, I'm using EXT2
12:45:31 <CompanionCube> better prhase
12:45:40 <CompanionCube> does the software not support ext3+
12:46:13 <ybyourmom> It does, but I deliberately use EXT2 so I don't have to worry about maintaining journal integrity when I hibernate one OS (windows) and switch to the other (Linux)
12:46:29 <ybyourmom> There is no journal to speak of, so I can just hibernate and switch without any issues
12:46:42 <clever> ybyourmom: thats even worse, lol
12:46:56 <ybyourmom> I'm open to learning why lol
12:46:58 <CompanionCube> I'm wondering how you lasted 5 years without it going wrong at least once
12:46:59 <clever> when you wake windows back up, it will assume nothing else has changed the FS, and corrupt things
12:47:27 <CompanionCube> did you ever read the linux kernel's documentation on hibernation?
12:47:34 <CompanionCube> it explicitly says 'do not do this'
12:47:38 <ybyourmom> That doesn't sound correct at all; an OS resuming from suspend-to-disk is effectively warm resetting
12:48:15 <ybyourmom> CompanionCube: I'm a bit surprised to hear that: is that in the .txt files in the Linux source?
12:48:29 <CompanionCube> * If you touch anything on disk between suspend and resume...
12:48:30 <CompanionCube> * ...kiss your data goodbye.
12:48:44 <CompanionCube> \ * If you do resume from initrd after your filesystems are mounted...
12:48:44 <CompanionCube> * ...bye bye root partition.
12:48:55 <ybyourmom> Can I see that please?
12:49:01 <CompanionCube> https://www.kernel.org/doc/Documentation/power/swsusp.txt
12:49:46 <ybyourmom> I'm pretty stunned tbh
12:50:03 <ybyourmom> I don't understand how this makes sense from an OS design POV
12:50:35 <ybyourmom> Suspend to disk is just write out all process memory state to the pagefile and then do a normal shutdown
12:50:52 <CompanionCube> ybyourmom: not just process
12:51:19 <CompanionCube> the gentoo wiki has a nice way of explaining it
12:51:20 <CompanionCube> 'The resume sets the state of memory back in time. It does not undo changes you made to disk, so ... suddenly the RAID reshapes already reshaped data (bye RAID), LVM relocates already relocated extents (bye LVM), the filesystem state is completely not what it's supposed to be (bye all your files), the machine crashes and your doctorate thesis is gone forever (use a typewriter next time, will you?). '
12:51:54 <ybyourmom> Maybe the new ingredient is that the Windows I'm sharing with is Win10
12:52:05 <ybyourmom> Instead of Win7 which is what I usually had as my dual boot
12:52:32 * ybyourmom shrugs
12:54:19 <CompanionCube> ybyourmom: by the way, it does make sense from an OS design perspective
12:54:26 <ybyourmom> I'm all ears
12:54:48 <Mutabah> I guess it's the "lazy" way of doing a suspend-to-disk
12:55:22 <Mutabah> IMO the cleaner way is to flush all disk caches then save the remaining RAM to disk
12:55:52 <CompanionCube> Mutabah: filesystem cache too
12:56:01 <CompanionCube> any and all filesystem state would need to be purged
12:56:28 <clever> i would expect it to flush the unwritten data to disk, and then go into suspend/hibernate
12:56:31 <clever> but it will expect the read cache to remain valid
12:56:43 <clever> and if data has been changed without it knowing, bad things happen
12:56:52 <Mutabah> CompanionCube: *nod* (that's kinda what I meant)
12:57:27 <Mutabah> clever: Flushing the read cache to disk sounds wasteful
12:57:51 <clever> Mutabah: yep, keep the read cache, but then you run into this kind of problem, where the read cache doesnt match what is on disk
12:58:14 <Mutabah> That said, saving which blocks were loaded in the disk cache doesn't sound like a bad idea
12:58:16 <ybyourmom> Just invalidate the read cache
12:58:18 <Mutabah> (and re-loading those on resume)
12:58:34 <ybyourmom> Also, I'd be surprised if linux buffer caches weren't unified
12:59:03 <clever> Mutabah: i think it would be much simpler and faster, to have a timestamp of last mount (or similar) and validate it on resume
12:59:15 <clever> Mutabah: and if anything has messed with the fs while you where sleeping, panic()
12:59:28 <clever> or force-remount that fs read-only
12:59:42 <CompanionCube> also
12:59:55 <CompanionCube> i imagine the vast majority of hibernations do not touch the on-disk contents
12:59:56 <Mutabah> clever: Force-ro sounds like a decent idea
01:00:13 <CompanionCube> is it worth it performance wise to have them take the hit resulting from loss of the cacheS?
01:00:36 <clever> zfs also has a concept of a hostid, and it uses that to know which machine has last touched a given block device, and refuses to auto-open anything that was last used by another host
01:00:48 <clever> and you must export the pool (clearing the hostid) to allow automatic access
01:01:11 <CompanionCube> clever: more recent versions also have optional more advanced multi-modifier protection
01:01:12 <clever> but i think zfs is also guarding against shared block devices like iscsi, where 2 OS's can read/write, at the same time, without hibernation being at play
01:05:15 <CompanionCube> ybyourmom: another way you could handle a 'shared partition' is to unmount it immediately before hibernate/resume. Of course then you can't hibernate with any files on it opened.
01:05:28 <ybyourmom> Right
01:05:42 <ybyourmom> More inconvenient but workable
01:06:44 <aalm> .theo
01:06:44 <glenda> We don't manage dependencies.
01:06:59 <CompanionCube> the OS could include protections but doesn't because this case is equivalent to scribbling on an actively used disk
01:07:18 <CompanionCube> just because the system is 'paused' doesn't mean the system isn't active
01:33:16 <clever> amazingly, i found some pieces of a windows computer one day (over 10 years ago), put them back together, turned it on, and discovered, it was in hibernation
01:33:28 <clever> and somehow, it wasnt upset by being in parts for a month
01:33:56 <clever> and either it wasnt upset by pci devices being in the wrong slots, or i got them the same by chance
01:55:02 <geist> haha, cute
01:55:13 <geist> i bet that was a surprise
04:00:10 <jjuran> My Mac emulation OS now has build automation support for Linux (using the framebuffer)
04:01:02 <jjuran> git clone https://github.com/jjuran/metamage_1.git && cd metamage_1 && make ams-linux
04:01:50 <geist> grats
04:02:10 <jjuran> thx
04:18:39 <bcos_> jjuran: I think the project needs an "ELI5" - not sure if it's a layer for Linux (like Wine) that emulates 68K and provides (classic Mac) libs, or..
04:26:10 <klange> +1, the description on the repo should be something that actually tells me what the repo is; "
04:26:13 <klange> Metamage open source, general repository, iteration 1
04:26:16 <klange> " is not a useful description
04:41:48 <geist> it should also emulate a mac ii with an apple 2 card in it
04:41:53 <geist> with a cp/m card
04:54:29 <pZombie> hello friends
04:55:17 <geist> hola
04:55:23 <pZombie> I was bored today and went on a system performance tuning spree
04:56:28 <pZombie> I (believe) to have noticed my virtualbox linux being a lot snappier than before. Giving it a more native feel
04:56:57 <pZombie> Have i been lied to that RAM bandwidth/latency does not make a great difference?
04:57:58 <Mutabah> Afaik it makes a huge difference
04:57:59 <pZombie> at this point i think i'd rather have a system with 3ghz and high bandwidth but especially extremely low latency RAM than a 4ghz system with standard RAM
04:58:18 <bcos_> pZombie: How often do you get cache misses?
04:58:25 <geist> depends o a lot of things but it's not insubstantial
04:59:24 <pZombie> the 4ghz system will certainly crunch numbers or render faster, but stuff like running virtual machines will feel a lot snappier on high bandwidth and low latency ram is what i believe
05:00:24 <pZombie> my 32gb value ram kit normally runs 2133mhz 15-15-15-35 N2 @1.2v - I took it to 13-13-14-14 N1 @1.36v
05:00:27 <pZombie> see here https://imgur.com/a/6G7s9W6
05:00:44 <pZombie> the last 14 was an accident, but surprisingly it works stable still
05:00:59 <pZombie> bcos_ - how do i test for cache misses?
05:01:20 <bcos_> Performance monitoring counters mostly
05:01:47 <bcos_> (but don't forget the observer effect)
05:03:01 <geist> yeah i'd say there's probably some amount of bias there
05:03:09 <geist> but i've detected a tiny bit of difference when i was fiddling with it
05:03:22 <geist> but mostly doing stuff like compiling a ton of stuff, which probably isn't terrribly bandwidth limited
05:05:20 <pZombie> i think of it similar to how the intel optane SSDs compare to let's say a samsung pro 970 SSD. The samsung has a higher sequential read/write and will be faster when just copying something sequentially. But the optane will make the system feel much much snappier, because most of the times you load many smaller files from different places
05:05:31 <geist> well...
05:06:00 <geist> i think in that particular case the random sequential performance is about the same
05:06:12 <geist> it's low QD random write performance tthat the optane will scream at
05:06:14 <pZombie> likewise, i think that my system would feel even more snappier if i could get my latency down from 58.6ns to like 38ns, some of the latest RAM kits MIGHT allow for if you get lucky on the silicon lottery
05:06:26 <pZombie> it would be like 50% lower latency
05:08:17 <pZombie> another thing i noticed is that when raising the cache frequency (from 3000mhz default to 3600 in my case), RAM latency goes down. Same goes for raising the CPU frequency
05:08:35 <bcos_> With decent code (good cache locality, good/pre-fetchable access patterns); 50% lower latency (at triple the price and a quarter of the life expectancy) might make the whole computer 2% faster
05:09:11 <pZombie> unfortunately, my 5960x is quite a lemon. I cannot go higher than 3700mhz for the cache without going bananas with the voltages, nor above 4.2ghz for the CPU
05:09:21 <pZombie> that or my motherboard is a lemon. Not sure
05:10:35 <pZombie> i thought my L1 cache was fast @ 2092 GB/s copy. Then i saw the newer CPUs go above 4000GB/s.
05:10:37 <geist> i think most folks would not consider that a lemon
05:12:04 <pZombie> i wonder how much L1 cache @1ns latency one could build around a CPU if cost wasn't an issue
05:12:11 <pZombie> and make it directly addressable
05:13:13 <bcos_> For caches, "larger = slower" and (based on modern products) I'd assume ~64 KiB is the sweet spot for L1
05:14:24 <pZombie> that is why i said @1ns
05:14:38 <bcos_> I'd also suggest that "do { find improvement over baseline; improve; baseline += improvement } while(forever);" is in desperate need of a defined terminating condition
05:15:16 <bcos_> (you will never be happy if the only thing that matters is improvement)
05:15:23 <geist> @1ns is i dont think that far off
05:16:18 <geist> that's 4 cycles at a machine at 4Ghz
05:16:33 <pZombie> bcos_ I know what you are talking about. I wish i would find old grannys attractive. Would make life so much easier
05:17:08 <geist> and iirc that's about L1 cache latency on modern x86s
05:17:14 <geist> or at least in that ball park
05:17:35 <pZombie> yes, 1ns is what my l1 cache is at, as seen in the screenshot i posted https://imgur.com/a/6G7s9W6
05:17:47 <geist> right, so there you go
05:18:18 <pZombie> my question was about how much l1 cache @1ns one could fit around a CPU if cost wasn't an issue
05:18:21 <geist> most machines have been at the 32/64K for icache for a while. i think it's the sweet spot
05:18:42 <geist> 64 byte cache lines is fairly standard, and that nets 1024 cache lines, but then divided by the associativity
05:18:50 <geist> which depending on the machine is usually something like 4 or 8
05:18:58 <mischief> 9 billion cache
05:19:01 <bcos_> pZombie: About 20 years ago I bought an 80486, went around a friends house and told him. He got annoyed my system was faster and upgraded his. A little later I found out his system is faster than mine so I upgraded. Then he upgraded. We both ran out of $$$ and then new 166 MHz pentiums (with MMX) came out so we were both unhappy/annoyed
05:19:57 <bcos_> The thing is, it doesn't matter how much faster it gets, at some point you need to realise that "faster" isn't the only thing that matters
05:20:02 <Maka_Albarn> I'm back. Currently working on the multiboot info, finally managed to get the basic lower and upper memory. but for some reason, I don't get the memory map info.
05:20:14 <geist> in the case of L1 cache if you just keep adding more sets to it it wont scale linearly
05:20:17 <Maka_Albarn> I think I messed up on the multiboot tags in my boot.s file
05:20:26 <Maka_Albarn> can someone take a look? git clone https://BringerOfShadows⊙bo/BringerOfShadows/firststep.git
05:20:43 <geist> so you usually have to bump the associativity along with it, and that definitely makes it far more complex to pull off in a single clock cycle
05:21:34 <Maka_Albarn> i686 arch
05:21:41 <pZombie> bcos_, well, it matters when i use this virtualbox. It does not feel that sluggish anymore
05:22:01 <geist> pZombie: the key is adding more of something doesn't always scale linearly
05:22:17 <geist> so you find a sweet spot where you get the most bang for your buck
05:22:31 <geist> if you want to see things scaled up in crazy ways, maybe go look at a high end POWER cpu
05:22:53 <geist> or even one of the s390 chips that IBM makes. they can be incredibly expensive because they can tolerate lower yields (presumably)
05:23:22 <geist> whereas whatever intel/amd makes only economically makes sense if they can get above a certain yield percentage
05:23:28 <Maka_Albarn> https://gist.github.com/MakaAlbarn001/92409c15457293cb3a7a458a412256ea
05:25:36 <pZombie> IBM certainly makes some interesting CPUs
05:25:58 <bcos_> pZombie: Now, I've reached the point where what I care most about is efficiency - heat and fan noise. If someone gave me a crazy 4 GHz chip I'd probably try to underclock it to make it better
05:28:02 <pZombie> bcos_, same here. My next goal is tune everything a bit down, in order to reduce power consumption and heat/noise.
05:28:30 <geist> yah i forget what my dram is at on my gaming machine but i do remember pulling it in one notch. i think to 3066 from 3200
05:28:36 <geist> because it was slightly unstable, i think
05:29:05 <geist> same thing with the overclock. i pushed the skylake a bit but then decided to just drop it back to stock frequencies. it's hot enough
05:29:29 <pZombie> if i had to buy a new computer, i would probably just get a J5005 based NUC those days, and put in the lowest latency RAM i could find. Those things are fast enough for pretty much anything i do, except gaming, and will peak at 10 watts only when fully stressed
05:30:15 <geist> reminds me, every few months i go look to see if someone has finally made a nuc like thing with a zen in it
05:30:28 <pZombie> My PC consumes over 80 watt idle/when doing nothing, just having a few windows open
05:30:32 <geist> but so far nope. you have to build a little desktop out of a mini itx if you want that
05:31:04 <geist> yah if i didn't care about power usage i'd much more ironically run old things like sparcstations and whatnot
05:31:19 <geist> but, for example, the ss20 box i have sits there and pulls a solid 185W at the wall
05:31:31 <geist> kind of makes it much less desirable to just run for lulz
05:31:45 <_mjg> haha, ye. if it was not for web browsing they would probably do just fine as a dev workstation
05:31:59 <_mjg> i assume they can be made to use a decent resolution
05:32:11 <chartreuse> Fun thing with those old cpu's is no idle states, uses the same power when doing nothing or computing prime numbers, so makes sense to run things constantly on them
05:32:27 <geist> chartreuse: yep. and the supersparcs in these boxes are BiCMOS
05:32:33 <geist> so they just pull constant power all the time
05:32:41 <pZombie> if you had it running 24/7 200w means about $365 to $730 per year, depending on how much you pay per kwh at your provider
05:32:48 <_mjg> chartreuse: in fact it can use *more* power in idle
05:32:51 <pZombie> enough to buy a newer system
05:33:00 <_mjg> chartreuse: because there are absolutley no stalls due to memory fetches or whatnot
05:33:55 <chartreuse> But there's fun in running vintage hardware, thats why the power cost is usually worth it
05:34:12 <_mjg> esp. if someone else pays for the power
05:34:17 <geist> yep. i mostly dont run things that draw a lot of power all the time because it feels bad to waste power like that
05:34:31 <geist> power is relatively cheap here, but saving the whales and all
05:35:40 <chartreuse> 200w at 5c/kWh works out to closer to $85/yr
05:35:43 <_mjg> webdevelopers ar eresponsible for most of global warming
05:36:01 <jjuran> The power-hungry machines I have tend to have noisy fans, so there's an impetus to avoid keeping them running
05:36:01 <geist> damn you web developers!
05:36:03 <pZombie> my electric bill shows around 10 cents per kwh, which is quite cheap still, but there are hidden costs which bring it up to 20 cents
05:36:07 * bcos_ starts to wonder how much power you can generate from a whale - maybe little turbines so when it moves it charges batteries or something, combined with some solar panels on top of the whale
05:36:32 <pZombie> chartreuse - in europe the cost is usually 20 cents on average and up to 50 cents for some
05:36:38 <chartreuse> bcos_ you probably could get more power out of a whale by burning its oil, just saying
05:36:56 <pZombie> chartreuse, even in the US, 5 cents would be considered very low. Most states have much higher prices per kwh
05:36:56 <Mutabah> bcos_: a whale-load
05:37:13 <geist> yah it's <10 cents here, and pretty clean
05:37:16 <bcos_> chartreuse: Hrm - for extra power at when a whale reaches end of life
05:37:32 <geist> but i trry to keep the entire house pretty low. i'm reasonably happy at currently pulling about 30kWh a day
05:37:49 <geist> at 7 cents or so that's pretty livable
05:37:55 <chartreuse> I think here it's around the equivalent of 10-13c US including fees
05:38:07 <pZombie> lol, 30kwh a day is crazy. I hope you are a family of 10 or something
05:38:29 <geist> family of 1, but tat's a lot better than the place i lived before
05:38:39 <geist> also hat does take into account charging my car, though i only do it sometimes
05:38:46 <pZombie> geist how is it possible for a single individual to consume 30kwh per day?
05:38:51 <chartreuse> That's only about $63/mo in power costs
05:39:13 <geist> easy, have a combined total of just over 1kW 24/7
05:39:32 <geist> refrigerator, outdoor lighting, servers in the garage, etc
05:39:36 <geist> that's damn easy to hit
05:40:02 <geist> plus a few hundred W of random vampire currents from random things around
05:40:48 <geist> i will fully admit that about half of that is the always on server and firewall in the garage + the switch + the AP points. the battery backup says its pulling about 185W
05:41:18 <geist> and i figure there's a fudge factor there, so i'm gonna say conservatively that's say 300-400W of computing power 24/7
05:41:54 <pZombie> you need to seriously consider LED lights and more efficient servers. You are definitely a whale killer
05:42:01 <geist> so that's like 10 KwH
05:42:09 <geist> i'm 100% led lit now
05:42:18 <bcos_> pZombie: US - probably nuclear power rather than whale power
05:42:29 <geist> pZombie: okay, whats your power bill
05:42:39 <geist> how do you account for your power usage?
05:43:45 <pZombie> well, i actually get paid by my provider because i sell them expensive clean solar energy
05:44:08 <bcos_> How many?
05:44:09 <pZombie> each year i produce around 12000 kwh in solar energy
05:44:13 <geist> how many kWh do you consume?
05:45:07 <pZombie> around 6000 kwh per year i suppose, but that includes heating up the house with an inverter AC unit
05:45:21 <pZombie> and cooling in the summer
05:45:27 <chartreuse> If you're producing 12000 kWh, then that's 32 kWh a day produced. So there, you're offsetting geist's whale killing :P
05:45:34 <geist> oh fuck you guys
05:45:49 <geist> i worked goddamn hard to get this shit down
05:46:18 <chartreuse> Hey my power is mostly coming from coal/oil still, so even if I use less it's still probably polluting more
05:47:12 <geist> trouble is i can't easily factor out the car charging either
05:47:27 <geist> but it dont charge it consistently, so i'd have to start keeping track of that, i suppose
05:47:52 <klys> so, you want to buy an ac power meter?
05:47:53 <geist> and of course for days i wfh, i'm sitting in front of a pile of machines
05:48:16 <geist> like a kill-a-watt?
05:48:20 <klys> haha
05:48:53 <geist> and of course this house is 2100 ft^2, it's just got a lot of random stuff in it
05:49:14 <bcos_> Cooling/heating all those feet..
05:49:15 * geist looks at bill
05:49:19 <klys> woot
05:49:24 <geist> looks like... 25.18 last 2 months
05:50:02 <geist> bcos_: well, at least i dont do too much of that, because i dont have central AC
05:50:12 <pZombie> chartreuse, my real power usage is 10kwh per day though, or less. If i went back to my diesel heater for winter. But diesel prices skyrocketed, plus the annoying maintenance/needing repair constantly wasn't worth it. Gas would be an option in my area, but some house close exploded so i am a bit reluctant
05:50:12 <geist> i do have a house heater, but i keep it cold and it uses natural gas
05:51:06 <geist> but now i am kind of curious where the other part goes. i can probably directly account for about 10kwh/day but i assumed the rest was random vampire currents and refrigerator and whatnot
05:51:13 <pZombie> natural gas is good for heating but you have to make sure it is properly installed, something i don't trust to be done properly here in Greece
05:51:16 <bcos_> Hrm, wait. 2500 ft^2 is only like.. a ~15.25 * 15.25 square
05:51:19 <bcos_> (in meters)
05:51:56 <pZombie> geist if you aren't cooling/heating with an AC, then 30kwh is unexplainable to me
05:52:09 <chartreuse> I've only ever lived in houses with natural gas heating, it's pretty common here, and quite safe.
05:52:11 <geist> well, 25.18
05:52:28 <chartreuse> It's also quite an efficient and cheap method.
05:52:32 <pZombie> geist i suggest you turn everything off and have a central meter, then turn everything on one by one
05:52:50 <geist> yah, sadly the outdoor thingy doesn't have a instant current meter
05:53:05 <bcos_> Maybe buy a petrol/gas generator to charge the car! :-)
05:54:49 <bcos_> (me is lucky to hit 10 liters of petrol/100 Km - if you include that in electricity then..)
05:54:53 <geist> back in california you could log in and get fairly instantaneous readins, which was cool
05:55:05 <geist> this one. they read it once every 2 months
05:55:21 <geist> and the only output is kwh. you'd basically have to sit there and watch it i guess
05:55:49 <geist> i'm gonna guess it's just death of a thousand cuts. lots of random vampire things. i have 30 something things on my home network, for example
05:56:08 <pZombie> geist - and maybe it spins more to make up for those in the area stealing electricity (sorry i am a conspiracy theorists)
05:57:13 <pZombie> 30kwh is unexplainable for a single person without any AC running
05:57:17 <chartreuse> Getting an off-brand "Kill-a-watt" meter was quite nice to be able to see what certain devices use under load, especially checking computers
05:57:34 <geist> pZombie: okay i get the fucking picture
05:57:45 <bcos_> pZombie: Nah - geist probably just has a full hydro growing area hiding in his attic for recreational purposes..
05:57:52 <geist> i thought it was fairly reasonable
05:57:53 <bcos_> :-)
05:57:54 <chartreuse> Is it though?
05:58:03 <chartreuse> Doesn't seem that unreasonable
05:58:04 <geist> certainly much better than other folks i compared with
05:58:18 <geist> bcos_: shit you can just go down to the store and buy that shit here
05:59:06 <geist> as in i can account for about half of it, and hte rest i assumed was the fridge + charging the car + random vampire stuff
05:59:30 <geist> or maybe the other way of looking at it is if i explicitly turned off the things i can acocunt for because i choose to leave them running, then it'd be about 15
05:59:30 <bcos_> Electric hot water?
05:59:43 <geist> which is what you claim to be 'reasonable'
06:02:14 <bcos_> Can you charge car at work?
06:02:18 <geist> no
06:02:45 <klange> that sounds very ungoogle
06:02:46 <geist> but i probably only use say 10-15 kwh a week
06:02:56 <bcos_> I'd expect car would consume a lot more than ~30 devices using ~5w each
06:03:01 <pZombie> the average power consumption for a 4 person family house in europe is 5200kwh per year . That's 4 people and that is only about 15kwh per day
06:03:28 <pZombie> you consume double that and you are just one
06:04:09 <pZombie> i start believing that US power meters just run at twice the speed
06:04:29 <pZombie> wonder how many ever cared to check if their meter is actually accurate
06:04:42 <geist> looks like..... i consume a bit less than the average in wasington state
06:05:06 <geist> some random thing on the internet says that WA state average is about 1037kwh/mo
06:05:14 <geist> which is higher than the US average
06:05:33 <geist> remember, we suck compared to europe. it's not fair to measure us to europeans because they're amazing and their shit is rosy
06:05:41 <bcos_> pZombie: I'm not sure if they're comparable - e.g. gas room heaters, oven, hot water, car vs. electric
06:06:02 <bcos_> - would be easy to use less electricity if you're using lots more gas
06:06:23 <geist> also this house is 110 years old and leaks like a sieve
06:06:45 <bcos_> Hrm. 110 year old houses tend to be awesome solid brick/stone
06:07:10 <bcos_> (at least, around here)
06:07:12 <pZombie> as long as it is standing still after 110 years, that's pretty good in my book
06:07:25 <geist> no. no brick/stone here becase earthquakes
06:08:01 <geist> oh it's a nice house, i like it, but it is a PITA to heat. but that's fine. i keep it cool and it's gas heating
06:10:43 <bcos_> Insulated timber framed?
06:10:59 <geist> yah, but half of the top floor are original windows, single paned
06:11:14 <geist> basement stays nice a cool/warm
06:12:32 <bcos_> ..sounds like the solution is, shift lounge, dining and bedroom into basement :-)
06:13:06 <geist> all this aside, if i owned this place and we had better access to sunlight, i would hella load it up with solar panels
06:13:52 <geist> and as it is we pay pretty low rates. looks like $.078/khw for the first 600 then something like $.13
06:14:02 <pZombie> solar panels are only worth it if you can sell the excess output to your provider and if they don'T cost much in your area to install
06:14:15 * bcos_ can't remember what it is here - something like 18 cents per KWh :-(
06:14:18 <geist> sure, or they make you feel smug so you can piss on other people
06:14:28 <geist> and that's worth its weight in gold
06:14:46 <geist> then you can get a fleet of electric cars, powered by smug
06:14:53 <pZombie> i get paid around 40 cents per kwh for the clean energy i provide
06:15:07 <geist> yes but it's tained by your dirty hands
06:15:10 <pZombie> some EU program not available anymore
06:15:14 <geist> blood energy
06:15:42 <geist> i dunno if we can do that in WA state, that's was a big thing back in california though
06:16:07 <geist> there were massive subsidies and sell to the utility programs there. i knew lots of folks that 100% ran off of solar
06:16:13 <geist> double so since it's sunny all the time
06:16:26 <pZombie> also, my roof showed some leaking after some extreme once in a lifetime rain with strong winds. I crossed fingers and hoped it was just a one time thingy, because if i had to fix the roof with all the panels...
06:16:34 <geist> that doesn't quite have the same feel as charging up a bunch of batteries though and really going off the grid
06:17:13 <geist> but you have me thinking again. time to do some sleuthing, it's been a while since i measured everything and probably drawing more current now
06:17:13 <bcos_> pZombie: The panels aren't hard to install/remove - just brackets on the sides to bolt into rails usually
06:17:53 <geist> and i never did measure how much the TV and playstation and all that pull while still
06:17:59 <pZombie> bcos_, if the roof is easily accessible maybe, but i would have to bring a professional team in
06:18:23 <chartreuse> The problem with selling solar to the grid, is that it's not cost effective. Peak solar generation corresponds to the lower point of electricity usage, and is hard to store for peak demand in the evening
06:18:59 <bcos_> chartreuse: Telsa are doing "smart battery" stuff to fix that
06:19:19 <bcos_> *Tesla
06:19:31 <chartreuse> Yea, but that's not selling back to the grid. I was mentioning why most of those subsidies for selling solar don't exist now
06:19:48 <bcos_> ..adds $$ though
06:19:56 <chartreuse> Storing for your own usage is fine, though I have doubts on the cost/benifit of those tesla batteries
06:19:58 <geist> interesting, so looks like seattle power and lighting (the electric company) will not pay you for excess energy put back in the grrid
06:20:10 <bcos_> It's "smart" - will store for your use later, but if you over-produce it will store and sell when price is right
06:20:14 <geist> what they do is give you a credit kwh that you can accumulate for a year
06:20:26 <geist> so the idea is you can accumulate in the summer months and then run on a deficit in winter
06:20:35 <pZombie> bcos_, the Tesla battery, which is actually more than just a battery. It is a battery, charge controller and DC to AC inverter at the same time... is not really that smart, unless you just want to go off-grid or have a battery backup
06:20:36 <chartreuse> Most places that do pay you for excess pay you a terrible rate compared to your purchase rate
06:20:38 <geist> but you can only accumulate through april, where it gets reset
06:20:56 <chartreuse> Something like if you pay 20c/kWh, they'll buy excess from you at 3c
06:21:49 <chartreuse> It's because the grid can't accommodate "excess" power, there's a lot of load balancing that has to go on with traditional power plants which might have a minimum load
06:22:08 <geist> yah i remember that CA state has terrible problems with it
06:22:25 <geist> since there's lots of excess that can be generated because the sun and the utilities are highly regulated
06:22:43 <geist> so they have a tough time trying to service all the sellback demand
06:22:56 <pZombie> bcos_, the lifetime of the TESLA battery is rated at 38000 kwh. Even if electricity cost would be ZERO cents for you, each kwh you extract from this battery costs you about $6000 / 38000 kwh which is around 16 cents
06:22:57 <geist> iirc they're required to pay the market rate or something
06:23:41 <pZombie> i would have to check the exact price for the tesla powerwall 2 but i think i was very conservative with $6000 when including installation costs
06:24:27 <bcos_> pZombie: Install cost != battery replacement cost
06:24:29 <chartreuse> That 16c figure really cuts into the cost calculation of solar panels
06:25:08 <pZombie> chartreuse, the advantage is that you have a backup for blackout situations i guess
06:25:37 <chartreuse> It's probably cheaper for blackouts to just have a emergency generator set, for the rare times they happen
06:26:09 <chartreuse> Pretty sure it's been years since I've had a blackout. How long does the powerwall battery last with constant usage, or even constant charging
06:26:32 <chartreuse> Lithium batteries will degrade whether you fully use the capacity or not
06:28:34 <pZombie> bcos_, well, i just checked. The powerwall 2 alone costs $6700 plus you need supporting hardware which is probably another $500-1000. Even if we exclude the installation cost, we are actually looking at more like 20 cents per kwh you draw of this battery
06:29:28 <pZombie> and that assumes you keep the battery under perfect conditions, like making sure the temperate of the room you store it at is always around 20°C
06:29:44 <bcos_> pZombie: Erm. So if it costs $7000 to install and $2 to replace the battery, it'd still be 20 cents per KWh, even in the 10 year warranty period?
06:30:12 <pZombie> bcos_, do you see any option available offered by Tesla to replace the battery?
06:31:15 <pZombie> or do you know where one can buy 14kwh worth of lithium batteries for less than $7k?
06:32:10 <geist> i wonder how well those powerwalls like being submerged in water
06:32:19 <pZombie> i mean, it should be possible. Last time i checked, the manufacturing cost of those batteries is supposed to be less than $200 per kwh
06:32:55 <geist> wonder if you can harvest them out of junked electric cars
06:32:55 <pZombie> but i don't see any lithium batteries for around $200 per kwh on the market
06:33:02 <geist> prrobably not, i suspect there's already a secondary market there
06:33:35 <geist> aside from tesla already doing it for theirs
06:35:01 <chartreuse> You might be able to get an idea of cost from trying to find the replacement cost of a Tesla car's battery
06:35:12 <chartreuse> And kind of scaling per capacity
06:36:13 <pZombie> what i don't understand is why Tesla advertised it as a means to store "cheap" night electricity and use it at day
06:37:25 <pZombie> people in the US that pay, let's say 6 cents for night electricity and 10 cents for day, if they used the Tesla battery, they would end up paying 26 cents if one was to consider the degradation cost per kwh of the battery
06:37:53 <pZombie> unless of course, there is a cheap replacement lithium battery for your tesla powerwall 2
06:38:03 <pZombie> but i see none of that offered by Tesla
06:38:56 <geist> yeah thats interesting math. wonder if there's something you're missing
06:39:16 <pZombie> i don't see what i am missing. The battery is rated to last 38000 kwh
06:40:20 <pZombie> so each time you draw one kwh of it, you basically loose 20 cents, unless there are replacement batteries once this unit dies that cost far less than the initial 7-8k cost, excluding installation costs
06:40:33 <pZombie> lose*
06:41:03 <geist> it does have a 10 year warranty, apparently
06:41:15 <pZombie> you did not read the full warranty
06:41:16 <geist> if it goes to 70% capacity in 10 years they're replace it, supposedly
06:41:22 <pZombie> it is either 10 years or 38000kwh
06:41:27 <geist> ah.
06:42:07 <pZombie> i think after 38000kwh the battery might be completely toast
06:42:15 <pZombie> probably less than the 70%
06:42:19 <geist> yah
06:42:35 <chartreuse> If you use 38MWh isn't that much to pull though it, especially if you're charging in the day when you're away, then pulling most of that charge in the evenings
06:42:40 <geist> so that would imply that in general you dont really want to use this thing as a deep reservoir
06:42:48 <geist> but as just a top off almost
06:43:22 <chartreuse> But they like to sell the idea of being self sustaining with it. Generate solar in the day, run off your powerwall at night. Yet that will probably kill it in a couple of years
06:43:37 <geist> right, so say i cycled 30kwh through it every day, thats 1266 days at 38000
06:43:42 <geist> which is like 4 years
06:43:48 <geist> 3.6 or something
06:44:26 <chartreuse> Which wouldn't be unreasonable for a normal person somewhere with AC or electric heating
06:44:27 <geist> now of course each one of them doesn't have a lot of capacity, so you would likely have 2 or 3 for that sort of load, which then multiplies it out
06:44:29 <pZombie> chartreuse, i actually bought this idea and thought it was cool, until i came along a forum thread which had one user who actually did this math
06:45:15 <geist> for a full 30kwh/day you'd prrobably go for 3 of them
06:46:19 <geist> otoh if you had solar then you probably wouldn't fully cycle through it,s ince at least during the day on a sunny day you'd be driving directly off the panel (plus some to top off the battery)
06:46:36 <geist> so i guess the key is what is the ratio there given your particular setup
06:46:41 <chartreuse> A better energy storage system would be to have large water reservoirs where you pump water up using excess power and drain to use up. The problem with that is you need suitable geography
06:46:58 <geist> and it's complicated and would break down fairly easily
06:47:19 <pZombie> too many moving parts
06:47:40 <chartreuse> https://en.wikipedia.org/wiki/Dinorwig_Power_Station
06:48:00 <geist> there was a sci fi book i read a few yeras back where everyone stores power in springs
06:48:14 <geist> the windup girl
06:49:10 <pZombie> this is why my believe is that solar power has to be done on a grand scale where there is professional staff to maintain such pump stations. Like 1 square kilometer of solar panels every 200 square kilometers of land, would suffice to power the whole planet and then some
06:49:57 <pZombie> in summer times, where you have excess you do all the recycling stuff and other stuff requiring a lot of energy and can be postponed
06:50:57 <chartreuse> (We could also have fairly clean on demand energy from nuclear too)
06:51:20 <pZombie> chartreuse, yes, that is what people at fukushima thought too
06:52:02 <geist> interesting, apparently the warranty fine print says you dont have the 38mwh limitation if you only use it for 'solar self-consumption backup'
06:52:04 <chartreuse> Fukushima was/is a very old reactor design. Theres much safer designs now, but almost no one has built a reactor for 50 years
06:53:51 <pZombie> chartreuse, your mistake is to believe that those reactors were built for maximum safety. They weren't. They were built to also deliver a lot of weapon material.
06:54:40 <chartreuse> Is that my mistake? I'm not saying old reactor designs are the way forward. It's that we need new facilities, not ancient relics
06:54:49 <pZombie> chartreuse, especially the reactors at Japan which went boom, were built by US companies post WW2. The tritium and all the fun stuff from those reactors went straight to the US. The Japanese had no say in it
06:55:02 <pZombie> they were and are under occupation still
06:55:56 <pZombie> geist - yep. Always read the fineprint
06:56:55 <pZombie> geist - I was made aware of this fine print in the forum thread i mentioned. Up until then, i was praising Tesla. Now i am not so sure anymore. It seems like they are selling people fool's gold
06:57:10 <chartreuse> I feel like that warenty has another out for them in it. Like they place a kWh/per day limit on what they deem self-consumption backup
06:58:06 <pZombie> geist - "store cheap night energy" they said. "Use it at day they said"... what they did not say is that it will actually cost me 4x that of day energy in the end (for some cases)
07:07:40 * bcos_ is starting to wonder if a fly-wheel is a better option - use DC from solar (with no inverter) to make it spin during the day, then use it as a generator to get AC at night
07:10:03 <bauen1> people that think 1kw is hard to hit have never seen a real server lol
07:10:35 <bauen1> bcos_: i'm not sure, but wouldn't you need a very very very huge fly-wheel for that work ? (unless you consume on the mW scale)
07:10:58 <bcos_> bauen1: Depends on RPM
07:11:38 <pZombie> i have been told on the internet by someone who supposedly works on flywheels to not trust the numbers on wikipedia for the energy they are capable of storing
07:13:23 <bauen1> i know the datacenter at the local university has a fly-wheel for the important machines, it only holds out long enough for the UPSs to kick start, but the datacenter is consuming _a lot_ of power, so i guess it _could_ work
07:13:56 <chartreuse> You could also store energy by heating up water. Though taking that energy back efficiently is a bit harder
07:16:44 <pZombie> Or just build more efficient batteries plus cut out hundred middlemen which raise the price for lithium batteries from $100 per kwh to over 5x that
07:20:30 <chartreuse> The problem is that the production of lithium isn't that high, the price is mainly high due to Tesla themselves buying much of the world's capacity
07:20:55 <bcos_> chartreuse: Water pump/gravity is easier (and used by most hydro projects)
07:21:28 <bcos_> And every battery has a life-time
07:21:50 <bcos_> ..magentic bearings = maybe 500 years before it needs fixing
07:21:51 <klange> hm, it helps if i send at least one FIN+ACK when closing sockets doesn't it...
07:22:10 <chartreuse> Yes, but I was thinking for more home scale. Most people don't have enough property to make that useable for capacity. How much energy can be stored by say a standard water heater, compared to a gravity system of roughly the same size
07:22:49 <bcos_> chartreuse: Doesn'
07:22:52 <bcos_> D'oh
07:23:13 <bcos_> chartreuse: Doesn't need to be water - could put your house on a winch - lift the whole house to store energy, then..
07:23:15 <bcos_> ;-)
07:23:52 <pZombie> for home systems there is simply no good storage solution. That why home solar systems only make sense if you are connected to the grid, as far as environmental concerns go
07:25:03 <pZombie> for the whole planet to go green, large scale solar systems with hydro storage systems maintained professionally is the way to go
07:26:21 <pZombie> while batteries make sense as a backup system that is not so messy as diesel generators and the like, or if off-grid is your only option
07:28:02 <bcos_> pZombie: Large scale systems cause transmission losses
07:28:29 <bcos_> (getting the power from there to over here = N% of energe gone by the time it arrives)
07:29:21 <pZombie> bcos Large scale in the sense i mentioned it in my above post. Building arrays of 1 square kilometer of solar panels every about 200 square kilometers of land mass, at strategic smart positions
07:31:08 <bcos_> Hrm - 1 Km^2 of "wind + solar + battery"?
07:31:40 <pZombie> wind + solar + hydro energy storage
07:32:01 <bcos_> Sounds like it'd work will in the middle of Australia's flat desert..
07:32:17 <bcos_> *well
07:32:21 <chartreuse> Just hope for nuclear fusion power in 30 years
07:32:57 * klys points out geothermal energy
07:33:42 <chartreuse> Which isn't practical in all places. Not usually a high enough differential without going really deep
07:34:47 <pZombie> bcos_, it wouldn't work in overpopulated Europe with an average of about 200-250 people per square kilometer. In Australia with only 3 per square it would be perfect. The US with around 30-40 is fine still. Russia with 9, perfect still
07:36:34 <bcos_> pZombie: Just put it on top of a 1 Km^2 shopping complex - would avoid the cost of a roof that way
07:39:23 <klys> seven blocks square of shopping complex
07:39:42 <geist> yeah but who goes to shopping complexes anymore?
07:40:21 <klys> filipinos who find home life excessively hot
07:50:50 <pZombie> the Japanese are looking to build a ring of solar panels around the moon, built by factories and materials on the moon and then send the energy towards earth using lasers
08:04:54 <geist> let it be
08:13:32 <geist> also https://www.youtube.com/watch?v=YSjsNzffUGQ
08:26:25 <Amaan> pZombie: Sounds like science fiction. What's the planned mission called?
08:27:45 <pZombie> maybe "exploring the idea of building" would have been a better choice of words
08:28:12 <Amaan> Ah :P
08:29:23 <pZombie> one of many articles i could google up on this https://www.telegraph.co.uk/news/worldnews/asia/japan/10480950/Japanese-firm-plans-250-mile-wide-solar-panel-belt-around-Moon.html
08:32:33 <geist> crazy ideas are free
08:33:24 <klange> Shimizu is known for these crazy "dream megaprojects".
08:34:09 <klange> They did build the Aqua Line tunnel/bridge/artificial island that runs across tokyo bay
08:40:46 <geist> this hard drive is weird. it's an external big spinny backup drive that occasionally just sits there and does something
08:41:04 <geist> windows is not telling it to do anything, there are 0 transfers per second, but clearly the disk decides to sometimes go scrub itself
08:41:07 <geist> and it's pretty loud at it
08:43:07 <geist> i assume that's what its doing at least
08:44:24 <pZombie> you can reduce the noise dramatically by isolating it acoustically from the external frame. Put it on some furniture foam for example if you don't have to move it around. Or use some rubber isolated screws mechanism
08:44:53 <geist> oh the reason it's noisy is because i have it up on a shelf and it's probably reflecting off the wall behind it and the shelf itself
08:45:07 <geist> i'm mostly just surprised that it sometimes starts chattering to itself so much
08:45:53 <pZombie> i hate mechanical drives. The only good use for them i find is getting the permanent magnets out of them
08:46:03 <_mjg> huh
08:46:08 <_mjg> geist: what does smart say?
08:46:29 <geist> _mjg: dunno, good question. depends on if the usb bridge exposes that
08:46:49 <_mjg> these drives tend tobe dying faster tan you think
08:47:19 <pZombie> who backs the backup drive?
08:47:29 <geist> fair point. lets see
08:49:01 <geist> yeah, looks like it's fine
08:49:08 <geist> no reallocated sectors, etc
08:51:00 <geist> it's probably just running a self test
08:51:30 <_mjg> pZombie: THE CLOUD
08:51:50 <_mjg> geist: interestin'
08:52:11 <_mjg> i would do an equivalent of dd=/dev/crap of=/dev/null and see what pops up
08:52:34 <geist> well, it's mounted and works
08:52:54 <geist> and it reads from it just fine. i'm just fairly certain that windows itself isn't actually queing these writes
08:52:58 <geist> or reads
08:53:22 <geist> and it just stopped
08:53:50 <pZombie> you could disconnected but leave it powered on. See if it does this still
08:54:00 <pZombie> you could disconnect it*
10:46:50 <klange> so good to be back to this point again https://i.imgur.com/UmxUTQu.png
10:49:26 <rain1> that's cool!
10:50:14 <klange> should clean up those packages, I have one called 'libs' that has cairo and freetype...
10:52:59 <JManGL> klange: I am curious how you used libcairo for your desktop ui/widgets. Is it something similar to X-Windows? Apps send commands to X and X renders them, or do apps link with libcairo (and presumably) an OS library for rendering? Does the OS issue resources in the form of: Here is a block of memory you are allowed to render to, update it as you wish and tell me so I can update the framebuffer.
10:53:48 <klange> oh boy this is a long one
10:53:57 <JManGL> Oh right :)
10:53:58 <klange> cairo is mostly just a vector drawing library
10:54:10 <klange> it integrates pixman for efficient pixel-pushing as well
10:54:23 <aalm> .roa
10:54:23 <glenda> - When the messenger comes to appropriate your profits ... kill the messenger.
10:54:33 <klange> by default, cairo isn't involved in my UI ata ll
10:54:47 <aalm> :]
10:55:00 <klange> The compositor has a backend that uses Cairo for pixel pushing. It's fast.
10:55:20 <klange> But its default backend is something in-house with a bit of SSE.
10:55:36 <aalm> .nih
10:55:38 <aalm> .theo
10:55:38 <glenda> Expectation management is a bitch.
10:55:50 <klange> When Cairo is installed, the Cairo backend can be used and provides clipping and alpha blitting.
10:56:13 <aalm> fps?!?
10:56:15 <klange> For applications, none of the stock ones use Cairo. The old Python application set used Cairo for a bunch of rendering - mostly widgets.
10:56:29 <klange> Cairo is not involved in the communication between applications and the server.
10:56:54 <klange> It's a pure compositor, similar to Wayland - its name was actually a joke/play on words with Wayland - it's called Yutani, it's a reference to Alien (Weyland-Yutani).
10:57:20 <klange> There are no "draw commands", applications render directly into shared texture buffers.
10:57:31 <klange> They then inform the server of what regions they have updated so the server knows what to redraw.
10:59:01 <klange> Unlike Wayland, though, this is all in software - we don't have the benefits of EGL.
11:01:48 <klange> Generally speaking, apps are supposed to pull in the decorator library as well, which will draw client-side window borders. Dynamic linking and separate theme modules allow for user-configurable decoration appearance without requiring anything to be recompiled.
11:02:33 <klange> With either Cairo or the native graphics library's built-in stride support, you can get a graphics context that is restricted to the interior area of the window to avoid clobbering the decorations
11:06:11 <klange> A neat hack is that when you install the cairo backend for the compositor, a post-install step tells the compositor to immediately load it, so the next frame it jumps to using cairo
11:06:50 <klange> The only way to really see this is that the Cairo backend properly renders rotated and scaled windows, and does so much faster than the native backend... otherwise, it can be hard to tell anything happened :)
11:16:53 <lkurusa> klange: that's cool!
11:17:13 <lkurusa> it'd be interesting to see an fps comparison between the two backends
11:47:33 <JManGL> klange: Thanks for that! That is really useful to know. It answered my main question which was how to enforce clipping.
11:48:23 <JManGL> ie preventing one app from clobbering another. Which is solved by each app having its own buffer.
11:48:43 <klange> compositing like this has a long history that may surprise you
11:49:06 <JManGL> So I guess the API between app and OS is pretty simple. give me a window, resize my window, I need you to redraw this bit of my window
11:49:16 <JManGL> etc
11:49:47 <klange> of course OS X had a compositor from the beginning (2001), but the Amiga (1985!) also had one that did final screen composition with bit blits usings its hardware blitter!
11:50:11 <graphitemaster> the real benefit of hardware compoisiting is real alpha-blending and being able to move windows around (literally just drawing them as texttured quads and having a translation matrix on them)
11:50:30 <graphitemaster> most of the "core" of the rendering inside the window is still software rasterized unless it's a browser or GL application
11:51:06 <graphitemaster> which if you think about it, is pretty impressive even so
12:36:02 <mrvn> alpha-blending I find rather stupid. It destroys readability. I like my windows solid.
12:36:21 <mrvn> It's more something you want inside an app, not between apps.
12:38:00 <graphitemaster> well, you'd wish for apps to use alpha blending
12:38:09 <graphitemaster> when it comes to font rendering at least
12:38:21 <graphitemaster> because AA is not possible otherwise
12:38:29 <graphitemaster> and bitmap fonts look garb
12:38:55 <mrvn> another problematic feature. AA and sub pixel rendering on small fonts make them blured and looks worse.
12:39:15 <graphitemaster> small fonts is a difficult problem
12:39:36 <mrvn> Most of my screen is small fonts.
12:39:43 <pZombie> it's not. Just keep em AA free and crisp
12:40:13 <graphitemaster> I'd rather slightly blurred font edges that ...
12:40:21 <graphitemaster> look good than pixelated poop
12:40:23 <mrvn> Although I have to test AA and sub-pixel rendering on my 4k display. That might have a large enough console font to work.
12:40:47 <pZombie> i like pixelated and precise
12:40:55 <graphitemaster> I hate it
12:41:17 <mrvn> graphitemaster: it's not just blurred. It's that e.g. the l gets a blue shadow on the left and the T a red shadow on the right and so on.
12:41:29 <renopt> my eyes smooth out the fonts for me
12:41:32 <graphitemaster> could be bad subpixel rendering
12:41:39 <graphitemaster> if the subpixel patterns is off
12:41:56 <klange> fuck subpixel rendering, the color fringing isn't worth it
12:41:57 <graphitemaster> e.g your disable is bgr and you're using rgb subpixel
12:41:58 <mrvn> graphitemaster: supixel rendering only works if you have more than 2 pixels to work with
12:42:35 <graphitemaster> nawh subpixel rendering is hard to do because displays lie about their pixel color order and density
12:42:43 <graphitemaster> and poorly configured OSes that can't do it
12:42:58 <graphitemaster> like all fonts on Linux look garbage because freetype is the worst font engine on earth
12:43:02 <klange> displays lie, things get baked and displayed on other outputs, rotation or scaling screws up everything...
12:43:04 <mrvn> obviously. That's something you have to check with a magnifying glass and configure right
12:43:18 <FireFly> There's also plenty of subpixel arrangements that aren't just RGBRGBRGB or BGRBGRBGR
12:43:26 <graphitemaster> right
12:43:44 <FireFly> like, where subpixel rendering wouldn't really work well at all because it isn't subpixels in the traditional sense
12:44:08 <klange> the main reason we pushed for hidpi displays at apple
12:44:13 <klange> was to get rid of subpixel smoothing
12:44:14 <FireFly> (https://geometrian.com/programming/reference/subpixelzoo/index.php is cool)
12:44:17 <klange> FINALLY fucking did it
12:44:24 <pZombie> i wonder at which ppi/dpi we won't need AA anymore
12:44:28 <klange> only took 7 friggin years
12:44:44 <pZombie> \o/
12:44:58 <mrvn> The problem is still that if you have a glyph like | then that must be simply a one pixel black line. Smoothing it or sub-pixel rendering will make it worse. And often vertical or horizontal lines in glyphs don't fall exactly on pixel boundaries and then simply get blurred.
12:45:24 <klange> That's what hinting is supposed to be for.
12:45:44 <klange> To make sure your smoothing only happens at curvy or angled edges where it works well
12:45:50 <mrvn> klange: the font has to do it and the font renderer has to understand it.
12:46:14 <klange> not anymore, fucking freetype's new autohinter that overrides actual stored hinting
12:46:48 <mrvn> klange: so even if you make the perfect font the renderer will screw it up again. thanks.
12:46:50 <klange> https://i.imgur.com/UmxUTQu.png modern freetype autohinter on the right [bad SDF renderer on the left, please ignore]
12:47:56 <mrvn> klange: MERCHANTABILITY is totally wrong. WHere is the hinting there?
12:48:34 <klange> hate the autohinter
12:48:51 <klange> deja vu had fantastic hinting for these screen sizes...
12:49:04 <klange> looks like thin blurry garbage with the autohinter
12:49:35 <graphitemaster> aside; I also fucking hate noto fonts
12:49:52 <klange> "but the autohinter preserves metrics better!" they say and maybe that's true but this is a fucking fixed width terminal where I *definitely* don't care
12:49:59 <graphitemaster> all the nuzzle fudgers at Google who built that mess need to be taken out back and hit in the head with a serif
12:50:13 <mrvn> klange: I don't see a difference between left and right
12:50:34 <klange> you... don't see a difference between the very blurry glyphs on the left and the ones on the right?
12:50:48 <klange> i mean, the autohinter is bad, but it's not "my shitty SDF renderer" bad
12:51:53 <klange> this is classically hinted deja vu sans mono for reference https://i.imgur.com/WgnhJHF.png
12:52:02 <mrvn> klange: the text in both terminals looks the same to me. All "p" have a shadow to the right on the horizontal line.
12:52:09 <graphitemaster> klange, you should just give up the SDF renderer and rasterize out your glyphs to the exact bitmap size needed on demand
12:52:13 <graphitemaster> I think it'll look better
12:52:19 <klange> rasterize from what?
12:52:23 <graphitemaster> ttf ?
12:52:26 <klange> the sdf renderer IS the fucking rasterizer
12:52:35 <graphitemaster> oh wait, you don't have a font rasterizer
12:52:42 <graphitemaster> damn NIH
12:52:43 <klange> you want to write, from scratch, the ttf rasterizer?
12:52:51 <graphitemaster> use stf_truetype
12:52:55 <graphitemaster> *stb_truetype
12:52:55 <klange> cheating
12:53:00 <mrvn> klange: the classical hinted actually looks good
12:53:12 <graphitemaster> ctrl+c ctrl+v, s/stb/toaru
12:53:16 <graphitemaster> done
12:53:19 <graphitemaster> it's public domain
12:53:21 <graphitemaster> not cheating
12:53:22 <klange> still cheating even if it's public domain
12:54:02 <graphitemaster> invent your own font format
12:54:04 <mrvn> can GPUs do subpixel rendering when scaling textures?
12:54:09 <graphitemaster> write a tool that converts 'em
12:54:25 <graphitemaster> yes, GPUs can do subpixel rendering
12:54:38 <graphitemaster> in fact, there's an entire technology around it called multisampling
12:55:48 <mrvn> I guess worst case you could always render R, G and B channels separately with slight offsets and then combine them for the image.
12:56:07 <graphitemaster> there's also the trick where you use subpixel jitters
12:56:10 <pZombie> nothing beats handcrafted resolution specific fonts without any kind of filters degrading the quality. It's like with music or videos. You want them to play back 1 to 1 as the studios intended them to be seen, not have your crap music or video hardware apply their cheap filters on them
12:56:29 <graphitemaster> every other frame you apply a little itty bitty teeny weeny offset to the whole image via transform
12:56:36 <graphitemaster> jittering all over the place
12:56:38 <mrvn> pZombie: that's why I want bitmap fonts for size < 16 pixel.
12:57:19 <graphitemaster> then you use the old frame and the new frame, reproject both of em into the same jittered sample
12:57:26 <graphitemaster> and boom you get not only AA but subpixel rendering
12:57:34 <mrvn> graphitemaster: not really
12:58:05 <mrvn> graphitemaster: what I mean is that on the monitor the R is at a different position than the G and B. So render the image with those exact positions in mind.
12:58:19 <graphitemaster> well no, that's not possible
12:58:35 <graphitemaster> you'd need the ability to render pixels on subpixel boundaries
12:58:40 <mrvn> graphitemaster: So R might combine pixel 1+2 while B combines pixels 2+3 on a slightly zoomed out texture.
12:59:05 <graphitemaster> which isn't possible, you have the exact pixel boundary but you're smart about the colour there due to the intensity of R,G,B being lit up
12:59:22 <graphitemaster> subpixel rendering is really just about adjusting hue and lightness to exploit additional resolution
12:59:41 <mrvn> doesn't have to be
01:00:32 <graphitemaster> what you're arguing for would require a different display technology
01:00:42 <mrvn> graphitemaster: no, just different rendering.
01:00:42 <graphitemaster> subpixel addressable pixels
01:01:02 <graphitemaster> the display interface itself doesn't permit you to light up a single pixel anyways
01:02:27 <graphitemaster> I'm not understanding what your solution is, it's not possible to have a pixel who's red and green and blue are offset but the same physical pixel on the monitor
01:02:34 <graphitemaster> unless you do a persistence of vision thing
01:02:39 <mrvn> all I'm asking for is a different jitter for R, G and B. As said, worst case you render R, G and B separate and then combine.
01:03:22 <graphitemaster> right but in the end that combined frame is no different than a jittered frame that was combined to begin with
01:03:30 <graphitemaster> because they'll all hit the exact same pixels on the monitor
01:03:48 <graphitemaster> a subpixel jitter in any direction will always hit the same physical pixel on the monitor no matter which state it's in
01:04:04 <mrvn> graphitemaster: yes it is. Because the R, G and B in a pixel are the combination of different pixels in the texture if the texture has a higher resolution.
01:04:25 <graphitemaster> so supersampled subpixel jittering
01:05:40 <graphitemaster> I mean why even jitter
01:05:48 <mrvn> it's a fixed offset.
01:05:51 <graphitemaster> if you're going to go higher resolution, ala super sampling
01:05:58 <graphitemaster> then you no longer need jitters or anti-aliasing
01:06:06 <graphitemaster> you just need filtering
01:07:08 <graphitemaster> unless you happen top have 1x features scaled down that break up, that requires reconstruction filters
01:07:47 <mrvn> On most 3D objects the texture has higher resolution than you see. Well, except for when you run into someone.
01:07:59 <graphitemaster> sure
01:08:07 <graphitemaster> that's not a problem though
01:08:17 <graphitemaster> because of mipmaps and texture filtering
01:08:26 <graphitemaster> which you can argue are a form of anti-aliasing
01:08:33 <graphitemaster> but I don't like to consider them as such
01:08:47 <graphitemaster> at least in traditional computer graphics they aren't what most people think of when you say "anti-aliasing"
01:08:56 <mrvn> yes. And since R, G and B pixels are physically at different positions you shouldn't mipmap or fitler then as if they were at the same position.
01:09:26 <graphitemaster> thing is, textured 3D models are never aliased
01:09:45 <graphitemaster> the aliasing happens at geometric edges and shader aliasing due to low-precision formats being used to save bandwidth
01:10:21 <graphitemaster> there's nothing to fix there because anisotropic filtering / bilinear /w mipmaps solves the problem pretty much 100%
01:10:50 <graphitemaster> it's all the other crap
01:10:54 <mrvn> It's not about aliasing. It would just get sub-pixel precision into the image. A tick better quality (if you configured the subpixel right)
01:40:27 <pZombie> this is how i like my small fonts to look like https://i.imgur.com/9JOEeWE.png
01:40:53 <pZombie> you would have to download and open the file in a drawing program as browsers usually don't display it 1:1
01:41:16 <lkurusa> i see java
01:41:18 <lkurusa> i press dislike
01:41:22 <lkurusa> :-))
01:41:45 <lkurusa> in all seriousness, i'm sure what am i looking at
01:41:58 <mrvn> pZombie: That's a B/W bitmap font. I prefer greyscale pixmap fonts.
01:42:09 <klange> oh good mrvn is actually sane
01:42:26 <mrvn> better than broken AA or sub-pixel rendering though.
01:42:44 <lkurusa> s/sure/not sure/
01:43:33 <mrvn> https://i.imgur.com/WgnhJHF.png was the best so far
01:44:11 <pZombie> mrvn - Much better. In windows, a long time ago, with AA and sub pixel turned off, i would get this quality of fonts on my desktop and browser, IDE etc. Then they did something which made pixelated bitmap fonts look crippled and forced me to enable smoothing again
01:44:47 <mrvn> The worst you can do is interpolate a 9 pixel font from a 10 and/or 8 pixel bitmap.
01:55:45 <pZombie> i just like it when it's crisp and clear with a nice non-crippled looking form. Once we get the same ppi/dpi on computer monitors as we have on 4k smartphone screens, you won't even be able to see the pixels on well designed bitmap fonts
01:57:33 <pZombie> People using different sized monitors and scaling is an issue though, as those cannot be scaled without losing quality
03:45:52 <mrvn> pZombie: you never want to scale except videos. Make your OS use the native screen resolution.
03:46:44 <mrvn> By the way: Worst case ever: buggy sub pixel rendering, blurry AA and then scaling it up by 23%.
03:47:31 <pZombie> mrvn, yes, but you have differently sized monitors with same resolutions. There are 1440p monitors with 24" and some with 35" or more.
03:48:14 <pZombie> it's almost impossible to account for all that, unless your OS is geared towards a specific target with same hardware
03:48:51 <mrvn> That's why monitors report a size in mm.
03:49:26 <mrvn> Other than selecting the right font size the monitor size doesn't realy factor into things though.
03:50:01 <pZombie> yes, but wouldn't you have to generate different bitmap fonts to account for all monitor sizes? A lot of work
03:50:19 <mrvn> With a 35" monitor you are probably sitting further away from the monitor so you get the same vieing angle as for a 24".
03:50:52 <mrvn> pZombie: bitmaps for sizes 6-16 besically. After than you can render them more or less good.
03:51:37 <mrvn> So give me a 16k monitor and I probably don't need any bitmaped fonts anymore.
03:52:34 <pZombie> we are getting there i guess
03:52:41 <pZombie> give it about 10 more years
03:53:15 <mrvn> well, a 4k display on a mobile is pretty much ridiculous already. Get the same DPI on a desktop monitor.
03:54:04 <pZombie> yes, it's quite amazing what those little displays can do those days
03:55:36 <mrvn> hmm, POLL: Should I implement telnet as stepping stone towards ssh?
03:59:42 <pZombie> mrvn - What are you developing? Have a link to your project?
04:04:37 <pZombie> apparently dell has a 8k 7680x4320 31.5" 280dpi monitor for very deep pockets
04:13:37 <mrvn> pZombie: I'm writing an OS for a Helios4 board (4 disk NAS with AMRv7 cpu).
04:14:07 <mrvn> First time doing IP and SATA stacks.
04:16:19 <pZombie> hm, strange
04:17:25 <pZombie> why would someone write an OS for some board that seems to be so task specific? Wouldn't some arbitrary linux distro be good enough ?
05:02:44 <jjuran> It makes sense if the goal is to write an OS
05:40:28 <mauz555> let's write an new operating system together
05:40:31 <mauz555> just for the sake of it
05:40:40 <mauz555> let's call it beerOS
07:15:30 <aalm> .theo
07:15:30 <glenda> Go read the source code some time.
07:27:59 <bauen1> so, i spent 1 hour creating this: https://gitlab.com/bauen1/beerOS/tags/v1.0 and the guy talking about beerOS left 2.5 hours ago
07:39:13 <glauxosdever> bauen1: Your indentation is inconsistent :p
07:39:44 <glauxosdever> But please, make it ELTORITO compliant
07:46:30 <mrvn> bauen1: he didn't supply the beer to keep developement going.
07:48:36 <geist> yah, and it had better be good
08:29:25 <Desetude> glauxosdever: what's ELTORITO?
08:30:22 <glauxosdever> That's a joke right?
08:30:37 <glauxosdever> https://wiki.osdev.org/El-Torito
08:35:38 <geist> EL TORITO!
08:40:32 <drakonis> glauxosdever: beautiful
08:47:45 <SzateX> Has some some papers how to do memory paging with own bootloader?
08:49:39 <geist> not that i know of, primarily because the two are not really related per se
08:49:43 <geist> what do you precisely mean there?
08:58:39 <mrvn> SzateX: don't do your own bootloader.
08:59:00 <SzateX> mrvn, why?
08:59:25 <mrvn> because it's wasted effort when you want to write an OS.
08:59:49 <mrvn> and you're likely to do it wrong, maybe even damage your hardware
08:59:59 <geist> right. in general we suggest not starting with that, because it's a fair amount of work that has been done and isn't all that interesting in the long run
09:00:15 <SzateX> mrvn, but what if i want to write bootloader too?
09:00:29 <geist> and mostly teaches you a bunch of domain specific information that only really helps you write bootloaders for a particular platform
09:00:43 <geist> which in the grand scheme of things is sort of not a good use of time, at least up front
09:00:53 <geist> and then, what you just said is precisely the usual response
09:01:03 <mrvn> SzateX: then give up on writing an OS.
09:01:04 <geist> in which case we usually shrug and say okay, do what you want
09:01:27 <mischief> the 9front pc loader is 'only' 2klocp :)
09:01:32 <geist> so, we have suggested not doing it. if you're going to not heed the warning, then the question is precisely what is your question?
09:01:46 <geist> memory management and bootloaders. what do you want to know?
09:02:32 <SzateX> mrvn, i see i lost my time to ask question
09:04:43 <geist> SzateX: do you have a question?
09:06:49 <mrvn> do you really want to learn about 16bit mode and bios calls when 32bit mode has been basically obsolete for years?
09:10:33 <geist> mrvn: well, lets go easy on em. we're just suggesting not doing it
09:10:40 <geist> no sense punishing someone for wanting to do something
09:10:55 <geist> after all, the whole act of writing an os is already fairly 'pointless'
09:11:16 <geist> i just like to gently suggest they not do it, but if they want to anyway, try to help em as much as i can
09:11:42 <geist> but now i'm just waiting for them to come back
09:15:17 <SzateX> I'm looking for some papers in this topics: How to push kernel to higher half? Identity mappings of first MiB. But not in GRUB Loaders, but in own loaders. I want only enable memory paging.
09:15:20 <eryjus> geist, I agree with you. it can be every bit as challenging for a newcomer to get multiboot set up properly as a bootloader
09:16:13 <geist> SzateX: there are no papers as far as i know, but if you have concrete questions there are lots of folks here that have a lot of knowledge in this area
09:16:14 <SzateX> If they have some asm expamples - it is better
09:17:11 <mrvn> the wiki has examples
09:17:53 <SzateX> but they are not understandable for me
09:18:38 <geist> well, then again there are lots of people here that can answer your questions
09:18:53 <mrvn> show us what you have tried and where you are stuck
09:27:02 <SzateX> I have done only this: https://gist.github.com/SzateX/bcc91d47d0db8109cf71fe874a5a5b59. I'm looking for this: https://wiki.osdev.org/User:Mduft/HigherHalf_Kernel_with_32-bit_Paging - but he wrote it in way i'm not understand. First i need to put somewhere in memory my Page Directory. Then do identity mapping with <1MiB. And i'm stuck it with identity mapping. Page Directory i hope is simply. I get some place in memory and oh its my PD and send it to
09:27:02 <SzateX> enable function
09:27:36 <SzateX> And i can't see how to do this mapping
09:29:04 <mrvn> read the docs on x86 page tables
09:29:16 <mrvn> It's just a data structure you fill out
09:39:10 <SzateX> Simply i know what. But i don't understand such things - whats mean that address is alligned with 4kB?
09:40:03 <mrvn> the lower 12bits are 0
09:40:24 <SzateX> oh okay. And thinking what addreses will be save to set PD
09:41:20 <mrvn> any address that exists
09:43:04 <SzateX> So it will be goot to have PD in first 1MB i hope?
09:43:13 <SzateX> good*
09:43:48 <mrvn> if you want to write to it again then it must be in the pages you map.
09:46:06 <SzateX> hmm... so if i do identity map to <1MB so it will be mapped
09:51:44 <SzateX> wait... i'm doing something wrong in counitng
09:52:11 <SzateX> 4KiB + 4MiB has PD + all PT?
10:05:09 <SzateX> or i only need PD in mapped memory
10:05:53 <SzateX> and doesn't care where PT are in memory - CPU do good work for me?
10:08:32 <mrvn> you don't need any of it in memory for the MMU to work
10:10:29 <SzateX> hmm...
10:12:47 <SzateX> Okay so identity mapping of <1MB will look like this: 1. To PD add address to new PT. to PT add entries where physics addresses will be from 0x1000 to... some where
10:13:18 <mrvn> from 0
10:13:34 <SzateX> somewhere i read that 0 shouldn't be mapped
10:14:45 <mrvn> that's the usual convention to amek NULL pointer access throw an exception
10:15:52 <SzateX> Okay, i'll try to build code to map identity <1MiB
10:16:13 <mrvn> think of it as mapping it without read/write access.
10:16:42 <SzateX> why mapping without read.write access?
10:16:52 <mrvn> so access to 0 fails
10:17:24 <SzateX> oh ok, you mean about 0... a i yought you mean all <1MiB
10:18:56 <mrvn> no, just 0. But people usualy do that later on when they build the full page tables.
10:19:17 <bauen1> someone tell glauxosdever that i made it el-torito compatible when he comes back lol
10:55:45 <eryjus> is there an easy way in Bochs to query the state of the PIC, specifically if it is waiting for an EOI?
10:56:40 <lsneff> Yo, wouldn't it be cool if starlink supports edge computing?
11:03:59 <SzateX> mrvn, can you look here: https://wiki.osdev.org/Paging on example? There is no error?
11:04:27 <SzateX> i think ecx have to be moved 12 bits left
11:11:17 <graphitemaster> oh man I still have this image klange, sortie loved it btw https://i.imgur.com/P5nvNUl.jpg?1
11:12:29 <mrvn> SzateX: why?
11:13:46 <SzateX> mrvn, bits 11 to 31 are for address yes?
11:13:51 <mrvn> yes
11:14:01 <mrvn> 12-31
11:14:13 <mrvn> the page frame number
11:14:32 <klange> graphitemaster: and i don't
11:15:08 <graphitemaster> klange, why not, it shows toaruos is a fluffy cat and sortie copied it poorly
11:15:19 <graphitemaster> it's such a good meme
11:15:31 <SzateX> so when he or with 3, the address is gone
11:15:42 <klange> you know damn well that's not what that image is about
11:15:47 <Mutabah> *snerk*
11:16:02 <graphitemaster> klange, what is the image about?
11:16:12 <mrvn> SzateX: no
11:16:13 <klange> I'm not going to explain it.
11:16:24 <Mutabah> Huh. Seconded... it does seem to imply that sortix is a bad copy of toaruos
11:16:25 <klange> It is no longer relevant.
11:16:44 <graphitemaster> yeah, the joke is that sortix is a bad copy of toaruos and sortie is the little girl
11:16:52 <SzateX> mrvn, emm... 0x100000 is value which have 21 bits... or mov ecx align it to the left?
11:16:58 <graphitemaster> sortie wanted to tweet it
11:17:43 <mrvn> SzateX: mov just moves it
11:18:06 <SzateX> mrvn, adress is in wrong position
11:18:11 <klange> The joke is that ToaruOS had some security issues and sortie essentially used them to implement a kexec to launch Sortix.
11:18:21 <SzateX> should be aligned to the left
11:18:25 <mrvn> SzateX: nope. the frame number is exactly in the right position
11:18:35 <klange> And then went too far in joking about this.
11:18:50 <SzateX> mrvn, emm
11:18:58 <SzateX> how?
11:19:10 <mrvn> SzateX: because that's how it was designed to be
11:19:41 <SzateX> still not understand
11:19:51 <SzateX> i'm looking for picture above example
11:20:25 <mrvn> SzateX: only the upper 20bit of the address (the page frame number) are stored, but they are stored in the upper 20 bits of the entry.
11:20:43 <SzateX> oh okay
11:21:00 <SzateX> and in PD is the same yes?
11:21:34 <mrvn> RTFM
11:24:22 <graphitemaster> klange, there's no such thing as taking a meme too far
11:24:52 <graphitemaster> because memes are already too far
11:26:43 <mrvn> meme is the new word
11:29:54 <brynet> but meme is an old word :]
11:44:03 <brynet> given new memeing
11:44:07 * brynet packs his bags