<whitequark>
i use solvents that leave the thing where it should be ;p
<rqou>
and i don't?
<whitequark>
the ozone layer though, well
* rqou
is indignant
<rqou>
<troll>ahh, so you're the reason why the ozone hole appears to be getting worse again</troll>
<rqou>
more seriously, do we know for sure that somebody in china is illegally manufacturing CFCs?
<rqou>
also, wtf why?
<whitequark>
um, yes, we do
<whitequark>
because I can buy new CFC stock
<whitequark>
and the shop owner says it's from China
<rqou>
lol
<rqou>
thanks for confirming :P
<rqou>
but why would anybody want/need CFCs again?
<whitequark>
r-141b
<whitequark>
well
<whitequark>
so like, r-22 is a real good refrigerant
<whitequark>
getting even near the COP of R-22 using say R-410a requires a really large system and a whole lot of engineering
<whitequark>
with R-22 you just slap shit together and get COP of like 4
<whitequark>
the 8 kW aircon I bought for my apartment is R-410a and that wasn't an easy find
<whitequark>
it has COP of 3.5
<rqou>
wait, but these are all HCFCs?
<rqou>
which aren't all banned yet?
<whitequark>
R-141b though is a freon that's liquid very close to STP
<whitequark>
both R-22 and R-141b are banned by Montreal protocol in developed countries for over a decade
<whitequark>
Europe just phased out R-410a too
<whitequark>
and R-134a
<rqou>
huh TIL
<whitequark>
now they're on R-600 and R-1234yf
<whitequark>
R-1234yf is obnoxiously expensive, to the degree that people start filling systems with uh
<whitequark>
propane-butane household mix instead
<rqou>
lol i've seen that
<whitequark>
sure you could blow up but the alternative is paying like 700 euros or so for a kilo of 1234yf
<whitequark>
and frankly
<rqou>
but is anybody still making like R-12 again?
<whitequark>
I would think long and hard before going for the latter
<whitequark>
idk probably someone on the planet is making R-12
<whitequark>
it's not exactly complicated
<rqou>
but why?
<whitequark>
there's a shitton of systems designed for R-12, R-22, R-410a...
<whitequark>
if you refill them with "greener" replacements they perform significantly worse
<whitequark>
replacing a system is extremely expensive, paying somebody for bootleg freon isn't
<whitequark>
also there's very few people in developing countries who give half a shit about environment
<whitequark>
case in point: the shop where I got R-141b
<awygle>
tl;dr capitalism
<awygle>
as usual
<whitequark>
I'm not sure it's capitalism per se
<rqou>
wait, aren't canned air pc duster things still HCFCs?
<whitequark>
air dusters are exempt
<rqou>
lolwut
<whitequark>
bizarrely
<whitequark>
salbutamol inhalers aren't exempt
<rqou>
?!
<whitequark>
and the R-134a inhalers work jack shit because salbutamol doesn't dissolve in them
<whitequark>
well, no, sorry
<whitequark>
salbutamol inhalers are in theory exempt
<whitequark>
but manufacturers realized they have a captive population and not bothering with going through the paperwork would be slightly easier than manufacturing inhalers that work
<whitequark>
result: I sell R-22 salbutamol inhalers for bitcoin.
<whitequark>
(I think it's an R-12 and R-22 mix or something.)
<rqou>
NOS ones?
<whitequark>
no, new ones
<whitequark>
RU still makes them
<awygle>
the use of "inhaler" and "freon" in the same sentence reiterates how little I understand about chemistry
<rqou>
this is bullshit
<whitequark>
no one in RU gives a fuck about Montreal protocol even though RU is a signatory
<rqou>
i'd rather they banned it in air dusters and not inhalers
<whitequark>
they are technically exempt for both for the same reason
<whitequark>
interestingly, air dusters I can get in RU usually are propane but the freon ones use R-134a
<whitequark>
none of this makes any sense
<rqou>
afaik most of the ones i get here are R-134a
<whitequark>
awygle: you need a propellant
<whitequark>
yes, that's because california bans CFCs and HCFCs extra hard
<awygle>
I always assumed they were just pressurized
<whitequark>
they even banned HFCs for automotive applications unless you're a licensed tech
<awygle>
actually that's not true, I assumed they were magic and never thought beyond that
<whitequark>
because people just bought endless supplies of $8 cans of R-134a on amazon instead of paying hundreds of dollars for fixing leaks
<whitequark>
I hate to say it but for once CA did something sensible
<whitequark>
should've set maximum wage for automotive repair too
<whitequark>
or get rid of cars and build working public transit
<whitequark>
but that's hard
<rqou>
lol good luck with that
<rqou>
we still can't get transit between east bay and silicon valley
<whitequark>
awygle: you can't pressurize an inhaler for hundreds of uses without making use of a phase transition
<rqou>
and that's one that's _approved_
<whitequark>
well technically you can
digshadow has joined ##openfpga
<whitequark>
it'd weigh half a kilo and be a major hazard, but you can
<rqou>
also, amazingly BART managed to finally get some money to start upgrading their infrastructure
<whitequark>
see also: why R-744 failed in the market
<awygle>
the PNW has tons of defunct rail lines that make perfect routes for public transit and a bunch of dickish city councils strident pretending they don't exist
<rqou>
including *gasp* finding a rail profile that doesn't make as much noise (cc gruetzkopf)
<awygle>
*stridently
<whitequark>
turns out making compressors that crank out over 70 bar while sitting in a car is not trivial
<whitequark>
awygle: so they have a gas that's easily compressed into a liquid instead
<whitequark>
this is where the story starts to differ for normal cans with propellant and inhalers
<whitequark>
normal cans just need some compressed gas
<whitequark>
inhalers though? freon was an integral part of the inhaler because it created a very fine dispersion of the active ingredient
<whitequark>
see, all the R-22 systems work on mineral oil because R-22 is a very good solvent, like all CFCs and HCFCs, see also: R-141b
<whitequark>
whereas R-134a, R-410a, R-404a and so on systems all use polyalkylene glycol oils
<whitequark>
those are polar, obnoxiously hygroscopic (what do you think happens with water in a refrigerator? good guess), and not at all supported for dissolving freebase medication
<whitequark>
well, nor salts, they're not polar enough
<whitequark>
well, sorry, not quite
<whitequark>
HFCs differ from chlorinated refrigerants in, well, absence of chlorine, which is also how they avoid destroying the ozone layer
<whitequark>
(bromine and iodine can also do that; we *still* don't have a replacement for halon 1301 that's as good as it is, and we may never have, the industry gave up and shifted to foams)
<sorear>
tangentially i'm not sure why anyone cares about the GWP of refrigerants
<whitequark>
(there have been something like 40 years of search for replacement of halon 1301 used as fire suppressor)
<sorear>
presumably the total release of refrigerants is nowhere near 1/1000 of CO2 from combustion
<awygle>
are these things horrible for the user of the inhaler? is my cat going to avoid death by asthma only to get ultra-cancer?
<whitequark>
chlorinated solvents are very good at dissolving stuff
<whitequark>
fluorinated solvents are just inert
<whitequark>
sorear: yes
<whitequark>
I find it funny that you said 1/1000
<whitequark>
because the GWP of R-134a is 1430
<sorear>
that's why I picked that number, yes
<whitequark>
so the story here is basically that cars leak, and we have a shitton of cars, and people keep refilling their cars instead of fixing the leaks because of labor cost
<whitequark>
it's really mostly cars
<rqou>
wait _that's_ the reason?
<whitequark>
yes.
<rqou>
W T F
<whitequark>
the rest got axed because the bureaucracy doesn't know when to stop, I believe
<whitequark>
it's all about R-134a
<whitequark>
oh cool, HFO-1234ze has GWP less than 1 and should be a near drop-in replacement for R-134a
<whitequark>
didn't know they made something better than HFO-1234yf yet
<rqou>
how do people engineer these refrigerant?
<rqou>
like, what's the design space?
Bike has quit [Quit: Lost terminal]
<sorear>
what if: cap and trade for CFCs
<whitequark>
you want a good boiling point, maybe -20°C, and a low working pressure on the hot side, maybe at 65°C
<whitequark>
you also want compatibility with common materials used in aircon systems, such as oils and gaskets, preferably reusing the same that are already used for R-134a
<whitequark>
R-410a with working pressure of 41 bar is on the high side
<whitequark>
R-744 with 70 bar is completely insane
<sorear>
(HFC-1234ze) how easy is that to hydrolyze and release fluoride into mucous membranes?
<sorear>
that point is reached eventually (perfluoroisobutene) but guessing where is beyond me
<whitequark>
it's supposed to do that in upper atmosphere and rain out as HF, yes
<whitequark>
the idea is that if HF is dilute enough it's Not Really Bad
<qu1j0t3>
homeopathic, even
<sorear>
i'm less concerned by what it does in the stratosphere and more by what it does in my lungs
<whitequark>
I probably wouldn't put it into inhalers you could use your entire life
<sorear>
run a refrigerator on butane and it might explode, but it won't release chemical weapons
<whitequark>
interestingly, the hazards of R-600 are quite overstated
<whitequark>
I did some calculations using its LEL and typical refrigerant loads and it would take a remarkable set of coincidences for your fridge to set your house on fire
<whitequark>
as usual, those living in cramped regulation-violating shitty apartments are at the most risk...
<whitequark>
anyway, working pressure of R-600 is 10 bar so that's pretty good already
<whitequark>
R-134a is at 18 bar
<whitequark>
if you stay under 20 bar you can use rather ordinary components
<whitequark>
in practice, you can violate all the rules and, say, refill R-22 systems with R-410a without so much as changing oil
<whitequark>
(I asked an industry veteran and he said "yeah, our techs did that. sometimes the oil flakes out and you have to clean that shit out, but most of the time it actually works")
<whitequark>
the thing is that replacing the R-22 mineral oil with PAG or ester oils is really annoying and the only way to do it well is to take the compressor out, open it up with an angle grinder, clean, and then weld back shut
<whitequark>
guess how often people do that
<whitequark>
(they don't)
<whitequark>
they either do nothing and hope it'll be fine, or clean the oilpan only with R-141b
<whitequark>
and hope whichever flakes will form will not plug the compressor
<rqou>
wait, why exactly are the oils incompatible?
<whitequark>
they're not mutually soluble
<whitequark>
and the refrigerants aren't soluble in their mutual oils either but that's a slightly lesser problem
<whitequark>
refrigerants form emulsions with wrong oils, but oils flake out in each other
<whitequark>
I think oils also actually react and polymerize but don't quote me on this
<whitequark>
in general lubricating oils really fucking love polymerizing
<whitequark>
that's why you have to vacuum the system
<whitequark>
that and water vapor which will freeze in the capillary and plug it
<whitequark>
but you can remove water vapor using a specially designed adsorber (which is huge and expensive, and only used when repairing systems and on really large installations)
<whitequark>
polymerized oil though? better have that R-141b
<whitequark>
that or the compressor goes into trash
<whitequark>
and the capillary
<whitequark>
and the evaporator
<whitequark>
really, most of it goes into trash
* whitequark
has Opinions about refrigerants
<rqou>
why is refrigeration such a complicated topic?
<rqou>
in physics we just had to draw a bunch of carnot cycles and be done with it :P :P
<awygle>
yeah this was like asking azonenberg about... idk, numa, or anything starshipraider related
<awygle>
(by which I mean fascinating and also a lot of info very fast)
* qu1j0t3
snerks
<rqou>
mechanical engineering is teh hardz
<awygle>
yeah. too many degrees of freedom for me.
<whitequark>
awygle: lol I'm not remotely good at it
<rqou>
we should just replace all of ME with 3d printing :P
<whitequark>
this is just like... basics
<whitequark>
also it's not ME, HVAC engineering is its own field
<awygle>
sasuga whitequark
<whitequark>
rqou: lol physics
<whitequark>
open any refrigerant datasheet
<whitequark>
every single thermodynamical property is just a fitted curve
<rqou>
wait really?
<awygle>
literally everything is complicated. it's great, but also horrible
<qu1j0t3>
| There is not enough coffee in the world for me right now.
<qu1j0t3>
^ ?
* qu1j0t3
makes another moka pot
<awygle>
it's amazing how sleep is simultaneously the worst and also something i constantly crave
<awygle>
luv 2 be decaying meat sack
cr1901_modern has joined ##openfpga
noobineer has quit [Ping timeout: 264 seconds]
<daveshah>
mithro: my rewrite of my CSI IP core will be on this branch for now: https://github.com/daveshah1/CSI2Rx/tree/develop in the Verilog folder (I'll probably keep the old VHDL core going even once the new cores are done just because it is a tried and tested config)
<daveshah>
*verilog_cores folder
digshadow has quit [Ping timeout: 260 seconds]
bitd_ is now known as bitd
<mithro>
daveshah: Great!
<shapr>
awygle: right on
<shapr>
sometimes the meat sack is fun, I did a bunch of cartwheels and capoeira stuff yesterday after work.
<shapr>
I love the feeling of coordinated movements.
digshadow has joined ##openfpga
ym has quit [Ping timeout: 244 seconds]
<awygle>
yeah i think a lot of my antagonistic relationship with the meat sack is not ever putting any effort into the relationship
<awygle>
until quite recently
rohitksingh has quit [Quit: Leaving.]
cr1901_modern has quit [Ping timeout: 265 seconds]
cr1901_modern has joined ##openfpga
<elms>
Anyone know of a good write up on programming the icevision board?
<daveshah>
elms: last I heard the USB bootloader wasn't working so you have to use a FTDI cable and the PMOD connector
<daveshah>
Might be worth checking with Mario
<elms>
daveshah: What's the best way to contact him? twitter or is he on IRC?
<daveshah>
Twitter
<elms>
thanks
m_w has joined ##openfpga
<rqou>
azonenberg: plz no OTR
<shapr>
awygle: if you have a capoeira group nearby, I strongly encourage you to try that for a month
<awygle>
shapr: that definitely sounds interesting
wpwrak has quit [Read error: Connection reset by peer]
wpwrak has joined ##openfpga
<rqou>
azonenberg: you're still getting OTR (probably from my desktop)
soylentyellow_ has quit [Ping timeout: 260 seconds]
azonenberg_work has joined ##openfpga
_whitelogger has joined ##openfpga
cr1901_modern has quit [Ping timeout: 268 seconds]
<awygle>
mithro: are you soliciting, or serving as a channel for, feedback?
<mithro>
awygle: I can
ym has joined ##openfpga
<awygle>
mithro: i have two key questions which are not answered by this document (as far as i can see) - why use litex/migen instead of verilog, and what's the difference between litex and migen.
<awygle>
i have a sort of half-assed idea of the answers to both of those questions just because i've been hanging out in these spaces long enough but it would be nice to see them explicitly addressed
<daveshah>
awygle: +1 from me on both of those questions
<awygle>
: )
cr1901_modern has joined ##openfpga
azonenberg has quit [Ping timeout: 276 seconds]
<mithro>
awygle: Not sure about how to answer (a), but can add an answer for (b) pretty easily
azonenberg has joined ##openfpga
<awygle>
i mean, there's an element of philosophy in the answer to (a), but certainly everybody who chooses migen over verilog has a reason to do so. and the people who developed migen had a reason for it. that's all i really want to see.
<rqou>
<offtopic, drama>wtf is ArenaNet?
<Bike>
the company that makes the Guild Wars video game.
<jn__>
rqou: sounds like an irc net, but it probably isn't, because noone makes drama over irc nets anymore
<awygle>
what bike said
<Bike>
they were named in 2000, when people thought "net" sounded cool.
<jn__>
ah, that explains it
<rqou>
and they are currently involved in a big fight on birbsite because...?
<awygle>
they fired a dev for being snippy on twitter
<awygle>
and another dev for sticking up for her
<awygle>
her *personal* twitter, i should say, it wasn't like she was tweeting from the company account
<rqou>
but this is within the usual range of shitty so far, why is it blowing up?
<awygle>
i would argue that's a bit beyond the usual range of shitty. but the company specifically was like "we're firing her for attacking the community". so all the "we pay your salary" "gamers" took it as validation, and the usual harassment, threats, etc ensued
<awygle>
also what she did was get mad at a guy for mansplaining to her which always brings out the _loveliest_ people...
<rqou>
ah ok, i get it now
<awygle>
(i've actually been following this one because i used to know someone who worked at arenanet)
<awygle>
... how do i get "bool" in C?
<azonenberg>
typedef uint8_t bool
<azonenberg>
?
<awygle>
i mean i am pretty sure i can include <stdbool.h> or something like that, but i thought it was a real type now
<awygle>
maybe i need -std=c99 or something
<awygle>
(_nineteen_ years later)
<azonenberg>
hmm, i've never tried using bool in c99 sincew i mostly use c++ these days
<rvense>
it's pretty great. they can be true or false.
<rqou>
awygle: do you want to abi mismatch with *nix or with win32? :P
<sorear>
iirc _Bool is a keyword but bool requires stdbool.h
<Bike>
yes.
<rqou>
(win32, but not the NT kernel parts)
<sorear>
because inconsistent backwards compatibility
<Bike>
to avoid conflicts with everybody else's bool
<rqou>
afaik it's int8_t on *nix, 8 bit but i don't remember the sign for NT kernel, and 32-bit for Win32 (i believe unsigned but don't quote me on that)
<sorear>
there's something to be said for the perl4 approach of "[a-z]+ are reserved as keywords"
<sorear>
is BOOL in <windows.h> the same as _Bool in any win32 C compiler?
<Bike>
er, then how do you name things? increasingly complex emoji sequences?
<sorear>
$foo, @foo, %foo, &foo
<rqou>
mismatches really do matter on x86 thanks to msvc really liking "setz al"
<Bike>
oh, right. perl.
<sorear>
c# and sql have identifier quoting, which at least makes it possible to add keywords without rendering old *interfaces* uncallable
<awygle>
i don't suppose bool works in C11 without an include?
<awygle>
it's so depressing how backwards compatibility hamstrings so many things...
<rqou>
you can always use Rust instead? :P
<rqou>
come to the 🦀 side :P
<awygle>
that might not be a bad secret project
<awygle>
actually
<awygle>
we have like 100 total lines of C
<awygle>
of which at this point maybe 50 are written by me
<awygle>
although, in about 5 years i'm going to be sighing about backwards compatibility w.r.t. rust, because they have this extreme stability guarantee and no mechanism currently defined to annul it even temporarily
<rqou>
they have epochs?
Bike has quit [Ping timeout: 252 seconds]
<awygle>
yeah but my understanding is those are extremely limited in what they're allowed to do
<awygle>
also i think they changed the name?
<rqou>
isk
<rqou>
*idk
<rqou>
iirc whitequark was complaining about how it would break something
<awygle>
"When opting in to a new epoch, existing deprecations may turn into hard errors, and the compiler may take advantage of that fact to repurpose existing usage, e.g. by introducing a new keyword. This is the only kind of breaking change a epoch opt-in can make."
<rqou>
and then got unhappy at my hack suggestion of wrapping it in a module that doesn't opt in to the new epoch to get the piece of old behavior back
<awygle>
"rqou suggests hack, whitequark disapproves - news at 11"
<awygle>
"More generally, breaking changes to the standard library are not possible."
<awygle>
so yeah, epochs are a good step, but not an actual solution, as i see them and as they stand right now.
bitd has quit [Quit: Leaving]
<awygle>
i really hope that we can settle on the first release of each epoch as a kind of "lowest common denominator". so that we can avoid "what debian stable ships" taking that position by default.
<rqou>
we, what?
<rqou>
*er
<rqou>
phone keyboards are teh suck
<awygle>
despite its stability guarantees rust still has a reputation for high churn, i think because new "right way"s to do things keep being added
GenTooMan has joined ##openfpga
<awygle>
i hope that crate authors can decide "this crate works with 1.31 and newer and will until the next epoch" where 1.31 is a fake version meaning "the first version of this epoch"
<rqou>
ah, so e.g. the opposite of my reaction when i saw stable slice patterns
<awygle>
depending on what your reaction to stable slice patterns was, sure
<rqou>
where i immediately upgraded xc2bit
<rqou>
despite not breaking the external interface
<awygle>
ah. yes.
<openfpga-bot>
[jtaghal] azonenberg pushed 1 new commit to master: https://git.io/fNI6e
<openfpga-bot>
jtaghal/master cb1992d Andrew Zonenberg: STM32Device can now erase, blank check, and determine if the device is programmed.
Bike has joined ##openfpga
<awygle>
i wish i could run arbitrary code the first time a method is called in C in an idiomatic way without messing around with a static bool
<pie_>
...that makes me want to get out my indras pearls book
<pie_>
hmmmmmmm rendering.
indy has joined ##openfpga
noobineer has joined ##openfpga
<awygle>
geh. is errno positive or negative? what about e.g. EFAULT?
<jn__>
the E* constants are non-negative
<jn__>
errno is non-negative
<jn__>
error return values are negative in the linux kernel and its syscall interface
<awygle>
okay, cool. thank you.
<jn__>
(so some random driver might return -EFAULT, and the libc turns it into -1 and errno=EFAULT)
<sorear>
i'm not sure if "errno constants are non-negative" is guaranteed by either C or POSIX, although it's always true on linux
<awygle>
that's all i care about currently
<sorear>
it *is* guaranteed that error constants are nonzero, there are a small number of functions where you have to do errno = 0; dosomething(); if (errno != 0) { handle failure }