<pie__> whitequark, wuuuuut
<awygle> whitequark: awesome! congratulations
<q3k> whitequark: what the _fuck_ is this sorcery
<awygle> whitequark: this is the kind of question that gets me in trouble, but... how separable is the GUI platform abstraction stuff you've done over the last 3 days or so from the solvespace codebase?
<awygle> yeah i hit that too but like.. oh well lol. i don't even know how to solvespace so i sort of assumed i was asking for it
<whitequark> q3k: i don't implement any of the ui elements that are supposed to be "native" yet
<whitequark> you probably hit a code path that displays a message box
<whitequark> it's very easy
<whitequark> the reason i don't implement them is because modern html/js is a fucking hellscape and i hate every single character in the trash fire called webpack
<q3k> yeah, this was a misplaced constraint
<q3k> >webpack
<q3k> so sorry
<whitequark> i installed a react-create-app boilerplate creation thing and it pulled in 1100 modules.
<q3k> yes
<q3k> it's a shitshow
<whitequark> i added a theme with menus and it pulled in TWO HUNDRED MORE
<q3k> i touched js/ts for a while
<whitequark> WHAT THE FUCK IS THIS SHIT
<q3k> never again
<whitequark> who the fuck considers this acceptable
<q3k> people wo migrated from php
<q3k> *who
<whitequark> i started with php
<q3k> so did I
<whitequark> literally anything is better than this
<q3k> yep
<q3k> i remember trying to pack (i'm not calling this building) my first '''modern''' js project using, well makefiles
<q3k> no fucking way
<whitequark> hahahahaha
<q3k> and then you use monstrosities like webpack
<awygle> i've never really done much in JS-land, and i'm willing to take everyone's word for it that it's terrible, but i admit to some conflicted feelings on the matter. if each of those 1100 modules was well-scoped, well-written and reusable i would be delighted by them existing (but i'm sure they aren't and aren't and aren't)
<q3k> where literally just running webpack for your shity ts codebase to generate a .js takes longer than doing 'go build' for entire fucking docker, including pulling deps from http
<q3k> awygle: it's not
<q3k> awygle: and they're all terible quality
<awygle> right, so i assume
<q3k> awygle: i present to you: an acceptable js way of getting a machine's mac addres: https://github.com/scravy/node-macaddress/blob/96fe7a2aca808bc3e0be8248859cc7201c6a0cb6/lib/linux.js
<q3k> awygle: (900k weekly downloads)
<awygle> the most upsetting part here is the callback
<awygle> and the string splice
<jn__> > exec("cat /sys/class/net/" + iface + "/address
<jn__> WTF
<awygle> wait what does execfile do
<whitequark> i want to die
<whitequark> i mean, even more than usual
<q3k> it uses execve instead of execve(shell, ...)
<pie__> there was a scandal about this at some point
<jn__> srsly, this is file I/O! grrr.
<q3k> yes
<q3k> fuck these people
<q3k> seriously
<pie__> haha
<awygle> whoof. okay not getting sucked into techbashing no matter how well justified.
<pie__> i always think what if some poor noob coded this
<q3k> no, i don't usually care for languages
<rqou> whitequark: i get instant crashes when tapping any of the buttons on the left on firefox beta on Android (yes yes I'm a weirdo)
<q3k> but js deserves _all_ of htis
<q3k> as an exception
<whitequark> rqou: that is entirely expected
<awygle> q3k: sure, but i don't deserve how it makes me feel afterwards
<awygle> so i tap out
<pie__> so i guess the solution is to review your imports??
<whitequark> i tested this on "whatever browsers were on my machine"
<q3k> awygle: fair enough, i'm really not proud of this either
<pie__> also something about reputable library authors but...?
<whitequark> pie__: good luck reviewing 1300+ webpack imports
<pie__> whitequark, yeah i dont know what to do about this
<whitequark> i would have better luck reviewing the entirety of qt
<awygle> something something larger culture of nobody caring about security or efficiency
<whitequark> because by the time i'm done, at most 20% of qt would be rewritten
<whitequark> as opposed to 100% of webpack deps
<awygle> facebook (react is facebook right?) could review them all but doesn't care because they don't need to care
<q3k> facebook probably doens't pull in any 3rd party deps without review anyway
<whitequark> well to be fair, most of that shit is compile-time dependencies
<pie__> otoh with sometihng that has a type system i suppose you could make some automated metrics for IO code and stuff
<whitequark> so the worst thing they can do is pwn developer machines
<whitequark> wait
<pie__> i think i read something about people owrking on trawling rust for unsafes
<whitequark> that isn't any better
<q3k> whitequark: pwning developer machines is pwning production
<q3k> whitequark: in most cases
<whitequark> well probably not at facebook
<whitequark> but yes
<q3k> whitequark: unless oyu got audit logging, but if you run js on production, you ain't got no audit logging
<whitequark> would definitely do that at the webdev shop where i worked
<pie__> didnt something come up here the other day about an attempt to pwn dev machines with a lib
<q3k> yes, that was an npm package
<pie__> or rather, someone got pwned and tried to propagate via a malicious lib update
<q3k> baby's first pastebin | bash malware
<q3k> stealing npm credentials apparently (payload got taken down before I could analyze it)
<pie__> (i still dont understand how that got caught so fast, i guess they got lucky that it was shittily coded malware and got some error, but even then, soemone recognized that it was malicious)
<q3k> tbh pwning npm to pwn more npm credentials is genius
<pie__> alternatively, it didnt get caught fast and is out there in several more libs?
<whitequark> to be honest, i'm quite impressed with how fast wasm-compiled solvespace works
<pie__> q3k, its not clear to me whether this was a "worm" so to speak, i.e. automatically tried to propagate to new libs
<whitequark> with the exception of some animation hangups that I think are the fault of the way I use emscripten's event loop, it renders around the same fps as my desktop
<q3k> probably not
<q3k> pie__: but someone should make one, that'd be super interesting
<q3k> whitequark: yeah, i guess js engine developers are the unsung heroes of our generation
<whitequark> wasm bypasses js engine though
<whitequark> well
<q3k> whitequark: applying bleeding-edge jit techniques for running all of this swamp
<whitequark> the wasm<>js interface still matters
<pie__> you should try to see if anyone managed to save the payload :p
pie__ has quit [Remote host closed the connection]
<awygle> V8 and spidermonkey are amazing
<whitequark> that said, the asm.js version is nearly as fast
<whitequark> so you aren't wrong
pie__ has joined ##openfpga
<bubble_buster> what does read_verilog -sv do? says it's parsing systemverilog but doesn't seem to have full support
<whitequark> it "sort of" parses systemverilog
<q3k> very basic support for sv
<whitequark> which is to say, it accepts and ignores sv constructs
<whitequark> like it desugars logic into wire iirc
<awygle> yup
<bubble_buster> I see
<q3k> also always_ff and always_comb and whatnot
<q3k> but none of the fun stuff
<q3k> (fun to use, not fun to implement)
<awygle> if you want the fun stuff you need verific
<pie__> ugh my internet
<awygle> which is $$$
<awygle> iiuc
<pie__> coq to verilog compiler when
<awygle> the power is in your hands pie__
<pie__> well i suppose coq to haskell is a thing so maybe you can do coq to clash to varilog haha
<q3k> yeah, either bring your own verific license and build yosys yourself, or get a commercial license from symbioticeda and that comes with yosys/verific
* pie__ dies
<pie__> oh verific is some actual software thing?
<bubble_buster> is there any way to do sv to ... blif/ilang/liberty that yosys can read?
<pie__> ah i only skimmed scroll and assumed its some kind of verification thing
<whitequark> i actually wanted to do coq to verilog
<whitequark> but coq is like, hard
<q3k> bubble_buster: verific does that :) not aware of any free/open solutions though
<whitequark> using smt is cheating
<bubble_buster> hmm. maybe I can convince university to get a license...
<q3k> pie__: verific is a library for parsing/elaborating (system)verilog and chdl
<q3k> pie__: and some more things
<whitequark> pie__: coq to clash would be as hard as coq to verilog
<q3k> bubble_buster: there's a chance your university already has a verific license
<q3k> s,chdl,vhdl,
<q3k> tl;dr F/LOSS support for SV is non-existant, as far as I remember
<q3k> which is a bummer
<bubble_buster> dang. was hoping I could tell students they could use riscv-formal with not much extra effort
<pie__> whitequark, im not even sure that coq the language it hard (though from what i hear its the best mess we've got, which is a relatively good one), but theres of course plenty of math involved yeah..
<bubble_buster> don't think they'll want to use verilog as seniors after using systemverilog in most previous classes
* pie__ mumbles something about agda too, but which doesnt seem to be as "practical"
<q3k> bubble_buster: you can convince some of your students to implement a full systemverilog frontend in yosys :)
<bubble_buster> That would probably be easier than just using verilog :D
<whitequark> pie__: trust me coq is very hard
<awygle> https://github.com/MikePopoloski/slang may be a good starting place
<whitequark> i spent weeks trying to prove pigeonhole principle
<awygle> if you actually have students who want to work on this
<pie__> hm. i did mess with it a little bit. whitequark, software foundations?
<pie__> i do intend to get back to it at some point
<pie__> havent really been able to get my mind to focus enough for theory lately :(
genii has quit [Remote host closed the connection]
<whitequark> pie__: no not sf
<whitequark> i just started right from pigeonhole principle
<whitequark> "how hard can it be"
<whitequark> well it turns out pretty hard
<pie__> ah.
<pie__> i wonder if you have to use the whole set cardinality bijections thing
<awygle> does anyone know who this person is that I just linked the sv parser from? I haven't seen them in any of the openfpga circles
<pie__> meh, offhand dont even know how i'd prove the pigeonehole principle normally :p
<bubble_buster> ever tried Isabelle?
<pie__> no but ive heard of it
<pie__> apparently LEAN isnt bad but im not sure its for the same stuff
<bubble_buster> I once thought coq would solve all my problems of documentation for Isabelle being subpar
<bubble_buster> then I took a formal class that used coq for about a week before I found out I had to take a different class
<pie__> aw
<bubble_buster> in that week I learned I'm probably better off with Isabelle
<bubble_buster> awygle: idk the person but thanks for the link, I starred it
pie_ has joined ##openfpga
pie__ has quit [Read error: Connection reset by peer]
m_t has quit [Quit: Leaving]
pie_ has quit [Remote host closed the connection]
pie_ has joined ##openfpga
<sorear> http://us.metamath.org/mpeuni/php.html just so everyone will hate me
unixb0y_ has joined ##openfpga
unixb0y has quit [Ping timeout: 265 seconds]
unixb0y_ is now known as unixb0y
<pie_> hehe
<pie_> " A natural number is not equinumerous to a proper subset of itself"
<pie_> see thats not something youd necessarily think of as the thing to try to prove offhand
<pie_> also > php
<cr1901_modern> What's "⊢" again?
<pie_> not sure but you can basically read it as "it can be proved that"
<sorear> Called a Turnstile
<sorear> And yes
<pie_> you can have stuff on the left of it and then it means something like, it can be proved from the stuff on the left that ...
<pie_> when theres nothing on the left it means you can prove it without additional assumptions
<pie_> i.e. the stuff on the left
<sorear> Although Metamath is a Hilbert system and the left side is always empty, it’s kept for … reasons
<pie_> still havent worked through chiswell & hodges...
<cr1901_modern> what does the nesting level represent (number to the left of the turnstile)?
<pie_> but its on my desk...
<pie_> cr1901_modern, proof starts from the bottom
<pie_> (sort of)
<cr1901_modern> (Also, I assume "→" is morally equivalent to boolean implies?)
<pie_> with the qualification that sorear said this is a hilbert system, which i dont really know anything about
<sorear> It’s exactly Boolean implies
<sorear> Tree/DAG structured. Each step is a consequence of previous steps, the last one must match the theorem
<pie_> ok nevermind, ^ :p
<pie_> if its like anything like making deduction trees in propositional logic (i think hilbert system means you just write the deduction different), in practice when making a deduction tree it means you can change the left of the arrow into an assumption, and the right becomes the statement to prove
pie_ has quit [Remote host closed the connection]
pie_ has joined ##openfpga
<cr1901_modern> I'll ask more about it later. It looks fascinating, and I can actually follow most of it (it looks like the stuff you'd see when playing w/ z3)
<cr1901_modern> well, most of it
<pie_> for a meta of learning resources
<sorear> In practice Hilbert vs Gentzen mostly means that we use the left side of a regular arrow for assumptions instead of a the left side of the turnstile
<cr1901_modern> ahhh, I've seen this before. Naturally w/ different notation
<pie_> sorear, thats a weird proof
<cr1901_modern> pie_, sorear: http://www.cs.toronto.edu/~hehner/aPToP/ This is what I used. I read up to/including Quantifiers (Lecture 7)
<cr1901_modern> that gave me enough of a background to do what I needed to do at the time and I haven't had time to go back
<sorear> pie_: well that one is pretty trivial
<pie_> ugh, i didnt notice the symbols were different
digshadow has quit [Quit: Leaving.]
m_w has joined ##openfpga
<pie_> what would be the nicest way besides possibly binpacking to show a gallery of images?
<pie_> *with different aspect ratios
<pie_> right now i just do evenly spaced rows/columns
<pie_> havent really had any better ideas
<pie_> i guess the other option is to crop all the thumbnails to be square or whatever but i dont really want to do that...
<pie_> the former beig sparsely, the latter tightly packed
<pie_> i just need someone else's thoguhts on this, my brain doesnt like this question :p
pie_ has quit [Remote host closed the connection]
pie_ has joined ##openfpga
pie_ has quit [Read error: Connection reset by peer]
pie_ has joined ##openfpga
<pie_> network please...
<sorear> I’d do even spacing because I’m big on symmetry
<pie_> here's what i have right now, sort of nsfw https://imgur.com/a/gE7fiGQ
<sorear> I’d center each one vertically and horizontally within its reservation.
<sorear> Vertical centering in css is a bit tricky but there are ways.
<pie_> if only this was css
<pie_> "if only"
<pie_> i am specifically avoiding browser stuff
<pie_> for better or worse. probably worse?
<sorear> What, you’re working with something *worse* than css?
pie_ has quit [Read error: Connection reset by peer]
pie_ has joined ##openfpga
<pie_> sorear, raw Qt widgets?
<pie_> sorear, also yeah on the centering
<pie_> obvious in hindsight xD
rohitksingh_work has joined ##openfpga
pie__ has joined ##openfpga
pie_ has quit [Read error: Connection reset by peer]
digshadow has joined ##openfpga
pie__ has quit [Read error: Connection reset by peer]
pie__ has joined ##openfpga
rohitksingh_work has quit [Read error: Connection reset by peer]
rohitksingh_work has joined ##openfpga
Bike has quit [Quit: Lost terminal]
pie__ has quit [Read error: Connection reset by peer]
pie___ has joined ##openfpga
<rqou> note for anybody who wants to mess with altera timing analysis, the magic command you want is... `report_path`
<rqou> (afaict there is no button in the GUI that performs this action so it must be done from the tcl console)
<rqou> alright, altera timing analysis is definitely a lot more advanced than ice40
<rqou> e.g. different LUTs in the same tile get slightly different timing numbers differing by maybe 1ps
<rqou> anyways, order-of magnitude numbers for this chip: 5ns pin->clock tree->ff, 1.6ns a wire, 6 ns into and through a LUT
<rqou> kinda a bit slow
pie__ has joined ##openfpga
pie___ has quit [Read error: Connection reset by peer]
<pie__> got literally nothing done...maybe i should have just gone to sleep
<rqou> make more shitposts? :P
<pie__> ehh....those are just sudden inspiration :p
<pie__> 99% trawling imgur unnecessarily
<pie__> bbl, going to uh...sleep...whatever that is
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
pie__ has quit [Ping timeout: 245 seconds]
Miyu has joined ##openfpga
Miyu has quit [Ping timeout: 268 seconds]
<rqou> azonenberg: ping?
sorear_ has joined ##openfpga
diamondman_ has joined ##openfpga
digshadow-c has quit [Ping timeout: 276 seconds]
cblam_ has joined ##openfpga
benreynwar_ has joined ##openfpga
jeandet_ has joined ##openfpga
nickjohnson_ has joined ##openfpga
diamondman has quit [Ping timeout: 276 seconds]
jhol has quit [Ping timeout: 276 seconds]
sorear has quit [Ping timeout: 276 seconds]
benreynwar has quit [Ping timeout: 276 seconds]
cblam has quit [Ping timeout: 276 seconds]
cblam_ is now known as cblam
diamondman_ is now known as diamondman
sorear_ is now known as sorear
digshadow-c has joined ##openfpga
_florent__ has joined ##openfpga
jeandet has quit [Ping timeout: 276 seconds]
nickjohnson has quit [Ping timeout: 276 seconds]
_florent_ has quit [Ping timeout: 276 seconds]
nickjohnson_ is now known as nickjohnson
_florent__ is now known as _florent_
azonenberg has quit [Ping timeout: 276 seconds]
dx has quit [Ping timeout: 276 seconds]
Zorix has quit [Ping timeout: 276 seconds]
dx has joined ##openfpga
jhol has joined ##openfpga
Zorix has joined ##openfpga
azonenberg has joined ##openfpga
oeuf has quit [Read error: Connection reset by peer]
oeuf has joined ##openfpga
Hamilton has joined ##openfpga
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
Hamilton2 has joined ##openfpga
Hamilton has quit [Ping timeout: 240 seconds]
bitd has joined ##openfpga
Hamilton3 has joined ##openfpga
Hamilton2 has quit [Ping timeout: 240 seconds]
jeandet_ has quit []
ondrej2 has quit [Ping timeout: 260 seconds]
jeandet has joined ##openfpga
ondrej2 has joined ##openfpga
SpaceCoaster_ has quit [Ping timeout: 240 seconds]
SpaceCoaster has joined ##openfpga
bitd has quit [Ping timeout: 255 seconds]
Hamilton2 has joined ##openfpga
Hamilton2 has quit [Remote host closed the connection]
Hamilton3 has quit [Ping timeout: 244 seconds]
bitd has joined ##openfpga
forrestv has joined ##openfpga
massi has joined ##openfpga
m_w has quit [Ping timeout: 245 seconds]
m_w has joined ##openfpga
rohitksingh_work has quit [Read error: Connection reset by peer]
rohitksingh_work has joined ##openfpga
X-Scale has quit [Ping timeout: 260 seconds]
m_t has joined ##openfpga
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
X-Scale has joined ##openfpga
rohitksingh_work has quit [Read error: Connection reset by peer]
Bike has joined ##openfpga
rohitksingh has joined ##openfpga
rohitksingh has quit [Ping timeout: 256 seconds]
genii has joined ##openfpga
ironsteel has quit [Quit: Ex-Chat]
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
<Marex> rqou: hey, did you make any progress on the altera stuff ?
<Marex> nice
cyrozap has quit [Ping timeout: 248 seconds]
nurelin has quit [Ping timeout: 248 seconds]
nurelin has joined ##openfpga
cyrozap has joined ##openfpga
rohitksingh has joined ##openfpga
Miyu has joined ##openfpga
m_t has quit [Quit: Leaving]
rohitksingh has quit [Ping timeout: 244 seconds]
rohitksingh has joined ##openfpga
digshadow has quit [Quit: Leaving.]
<mithro> Someone had a demo were they put a marginal circuit on an FPGA and then when you bent the IC it caused the light to change
<daveshah> It was clifford. It was a ring oscillator, not a marginal circuit
<daveshah> I think it was actually the voltage reg, not the FPGA itself. It was an icestick board
<mithro> daveshah: If I understand correctly, the ring oscillator changes frequency when you bend the board?
<daveshah> mithro: Yeah, but I think clifford thought it was actually because of the voltage regulator changing its output slightly
rohitksingh has quit [Ping timeout: 264 seconds]
massi has quit [Remote host closed the connection]
rohitksingh has joined ##openfpga
digshadow has joined ##openfpga
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
pie__ has joined ##openfpga
rohitksingh has quit [Quit: Leaving.]
mumptai has joined ##openfpga
mumptai has quit [Quit: Verlassend]
pie__ has quit [Read error: Connection reset by peer]
pie__ has joined ##openfpga
kuldeep_ has joined ##openfpga
gnufan has quit [Ping timeout: 240 seconds]
pie__ has quit [Read error: Connection reset by peer]
pie__ has joined ##openfpga
pie__ has quit [Read error: Connection reset by peer]
pie__ has joined ##openfpga
bitd has quit [Remote host closed the connection]
mumptai has joined ##openfpga
ZombieChicken has quit [Quit: Have a nice day]
m_t has joined ##openfpga
mumptai has quit [Quit: Verlassend]
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
digshadow has quit [Ping timeout: 255 seconds]
<awygle> wow, i actually built a cmake project using visual studio
<awygle> i'm proud of me
pie_ has joined ##openfpga
pie__ has quit [Read error: Connection reset by peer]
<qu1j0t3> awygle++
* awygle "da dadada da da DA da daaaaa!"
<jn__> is that the imperial march?
<awygle> final fantasy level-up music, but i'll talk imperial march
<awygle> *take
digshadow has joined ##openfpga
<rqou> this is really really cool -- i just found the internal tool at $WORK that shows me the current status of all backbone network links
<rqou> the internet is made of a series of tubes :P
Bike has quit [Ping timeout: 252 seconds]
pie__ has joined ##openfpga
pie_ has quit [Read error: Connection reset by peer]
kuldeep_ is now known as kuldeep_do
kuldeep has quit [Quit: Its never too late!]
kuldeep_do is now known as kuldeep
Miyu has quit [Ping timeout: 276 seconds]
Bike has joined ##openfpga
digshadow has quit [Quit: Leaving.]