<q3k> but they're brought back to the same namespace/hierarchy level when dealing with import paths
<awygle> i just long to be able to look at an import statement and know what it will do
<q3k> so do I, and I've been writing python for years :P
* azonenberg is happy he does dev in C++
<awygle> i always try to resist the urge to cargo-cult "import thing.stuff", "import .thing.stuff", "import ..thing.stuff" or whatever until it works but i just get angrier and angrier until i give in
<azonenberg> Where you #include <foo.h> and all you have to figure out is what -I directories the compiler is going to screw with
<awygle> "walk all directories running `touch __init__.py` until something happens"
<q3k> azonenberg: don't worry, the c++ is soon going to fuck your shit up with c++ modules
<q3k> *c++ commitee
<azonenberg> q3k: lol
* awygle starts counting slowly to 100 to spare everybody his complaining
<azonenberg> As much as possible I try to write in C+
<q3k> awygle: don't worry, I get it :P
<azonenberg> There are some features i just don't use, or minimize use of as much as i can
<q3k> awygle: also, try understanding js/ecmascript modules/packages
<q3k> awygle: _that_ is an abomination
<q3k> awygle: especially when you get transpiled languages involved
<awygle> and last time i looked at the Rust module system the proposal was essentially "why don't we just do what python does" and i almost cried
<Ultrasauce> now just wait till your system package manager installs something with that module as a dependency
<awygle> hopefully somebody came up with a better plan
<q3k> i like how go does it (as long as you vendor your dependencies)
<q3k> (but again, vendor or use a monorepo)
<q3k> (you should be vendoring in most languages, anyway)
<awygle> and i'll never bother to report the bug that something in this system didn't like me having PYTHONPATH set to '.' because i have no idea if it's actually a bug, let alone which of the ~four components involved it's in
<q3k> PYTHONPATH set to '.' is usually not the right way of doing things (tm)
<awygle> so i've gathered
<awygle> no fucking clue _why not_ of course but
<awygle> does pythonpath overwrite EVERY path python looks in or something?
<q3k> (whoops, link to py2 docs by accident)
<q3k> but yes
<q3k> >The default search path is installation dependent, but generally begins with prefix/lib/pythonversion (see PYTHONHOME above). It is always appended to PYTHONPATH.
<whitequark> awygle: the same reason PATH doesn't usually have . i think
<whitequark> also C++ packaging is a disaster
everbrew_ has quit [Quit: *DONE*]
<cr1901_modern> whitequark: Reading the PID manual- are you using on-off control for that stew pot?
<cr1901_modern> B/c looks like the pin you have it attached to controls relays
balrog has quit [Quit: Bye]
balrog has joined ##openfpga
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<rqou> awygle: i love sneklang and even i hate the module system
<rqou> it's not intuitive to me either
<rqou> i've given up on JS ever actually having modules
<rqou> first it was supposed to be in es6
<rqou> then it got shoved back into syntax bikesheds
<rqou> and then they eventually shipped something??? idk
<rqou> but somehow it's not even on the es6 roadmap anymore
<rqou> imo es6 was a disappointment
<rqou> lots of great features that i love, but didn't ship quite a few features i was looking forward to
<awygle> i do not love sneklang but for better or worse i'm pretty good at it at this point
<awygle> as long as i never have to touch modules
<awygle> i should hire a freelance python modules consultant
<rqou> interestingly the c/c++ linker model is the only one i find intuitive
<rqou> idk why whitequark hates it so much
<whitequark> rqou: hrm
<sorear> the *linker* model isn't particularly terrible but the "extern declarations and header files" part is
<sorear> it is _far_ too easy to violate ODR and so on by accident
<whitequark> ^
<whitequark> the GNU linker model is kind of dumb though
<whitequark> there isn't any reason the linker shouldn't be able to resolve circular dependencies in archives
<whitequark> the windows and macos linkers have zero issue with it
<sorear> but if the linker did that, then what would tsort(1) be good for?
<rqou> huh, i've never actually encountered ODR rule issues
<rqou> the include mechanism is really dumb
<rqou> but because it's so dumb, it's simple to understand
<sorear> it'd be nice if "simple to understand" and "fails in simple ways / easy to troubleshoot" were the same thing
<whitequark> ^
<rqou> i suppose
<rqou> unfortunately i really haven't encountered a module system that i actually liked
<whitequark> rust's current one seems ok to me?
<rqou> i personally find it "just ok"
<whitequark> of course, they fuck it up in "2018 editoin"
<rqou> how?
<whitequark> `extern crate` is now implicit
GenTooMan has quit [Quit: Leaving]
<whitequark> i.e. if you pass a --extern foo=... it implies an extern crate foo
<rqou> ok?
<whitequark> ... but only if you actually use the toplevel path ::foo anywhere
<rqou> i don't see how this really makes a difference?
<sorear> rust's *module* system is OK but I don't like the way crates mix up "unit of compilation", "unit of distribution", and "unit of trait coherence"
<sorear> i don't really have a concrete proposal for improvement
<whitequark> this means that if your crate's linked for side effects you're screwed now
<sorear> but basically anything is better than perl6's
<whitequark> there is actually no decided mechanism for that right now
<rqou> what do you mean by "linked for side effects?"
<rqou> and how are you screwed?
<whitequark> well, let's say linking your crate adds a -lfoo to the linker string
<whitequark> this is a side effect
<rqou> and, does that stop working?
<sorear> the modules/filesystem interaction is also Not Great
<rqou> that's been Not Great in every language i've used as well
<whitequark> rqou: so if you use the foo crate somehow in code, it's all fine
<whitequark> if you don't, then yes, it stops working
<rqou> hmm
<rqou> seems like a corner case
<whitequark> I guess "fucked up" is too strong
<sorear> pre-"vendor experiment" Go was at least simple to understand
<sorear> a pain to use
<whitequark> but this annoys me quite a bit
<rqou> can't you hack it with an intermediate crate that doesn't opt in to 2018?
<rqou> thus keeping the old behavior?
<whitequark> the rqou solution, everyone
<rqou> what?
<whitequark> having an additional level of crates just to deal with this is super gross
<whitequark> that's not what I'm talking about, anyway
<whitequark> everyone in the RFC agrees that this corner case needs to be handled
<whitequark> no one is entirely sure as to how
<whitequark> it's either a `use foo;` or `#![use_crate(foo)]` or something like that
<rqou> imho magic "-lfoo" flags sucks anyways
<rqou> i'd rather have cargo just gtfo the linking step so that i can control it externally
<whitequark> meh, that breaks 95% of uses
<whitequark> and I mean, you can do that right now?
<whitequark> ask cargo to give you a staticlib, that's how ARTIQ firmware is built
<rqou> but you can't get a rust main function this way?
<rqou> but yes, building it this way works
<sorear> -lncursesw -ltinfo
<sorear> or is it -lncursesw ?
<sorear> depends on the distro
<rqou> oooh
<rqou> that's the use case whitequark is alluding to
<rqou> i had in mind something like "rustbits.a legacy.a"
<sorear> no, it's something I banged my head on for roughly an entire day earlier this year
<sorear> the fact that you need knowledge of your dependencies' dependencies to use a C linker correctly is awful
<rqou> i didn't consider people that actually wanted to wrap a library installed in the system
<rqou> because i'm of the opinion that everything should be static
<whitequark> sorear: aka "why libtool exists"
<whitequark> rqou: mmm, let's have as many copies of shitty unpatched c code as we can
<rqou> although i guess i'm being a bit of a terrible person
<whitequark> especially if it's openssl
<rqou> because i want distros to be dynamically linked to save memory
<whitequark> embed the certificates too
<rqou> but "ISV-like" software to be static
<whitequark> lol save memory
<sorear> i like how extutils::makemaker has built-in support for relinking perl on platforms without libdl
<rqou> "i write some code, let the distros go mess it up and add back dynamic linking"
<rqou> whitequark: er, does dynamic linking not save memory anymore?
<whitequark> rqou: it does
<whitequark> just... then you run one chromium and it undoes all the hard work
<sorear> fucking chrome only has about 100MB of text
<sorear> this isn't the 1990s anymore, text is no longer most of your used memory
<whitequark> and it doesn't even matter that it has 100MB of text
<whitequark> because it forks
<whitequark> well on linux anyway
<whitequark> erm. nevermind I said something stupid.
<rqou> but yeah, i'm kinda being a terrible person because i feel "well, if my code is well-known enough that distros will package it, then 'distro people' will go over the build system and fuck everything up anyways. before then let's just distribute static binaries that are easy to run (as if i am an ISV)"
<sorear> on tiny embedded systems text-saving measures like xip and dynamic linking still help
<rqou> i thought embedded systems usually just ran a single `/bin/firmware.elf`?
<rqou> or even worse a firmware.ko? :P
<sorear> anyway static linking is only part of the solution here
<sorear> go spend a few days understanding nix
<rqou> wait, so are you for or against my proposal?
<whitequark> nix is great but i wish it had dynamic linking as a first-class citizen
<sorear> i didn't see a proposal in what you wrote
<whitequark> right now they just have this awful hack for GL
<rqou> i've heard of nix
<whitequark> the moment nix lets me switch system Qt version without rebuilding everything I switch to nix
<rqou> i don't really see the point
<whitequark> um
<whitequark> the point is reproducible configurations
<whitequark> it's like ansible on steroids
<whitequark> I'd expect you to love it lol
<rqou> huh
<rqou> the quick summary didn't give me that
<sorear> rqou: nix is how "ISV software" should be handled
<rqou> but why is it better than static linking?
<sorear> because static linking gives you static linking
<sorear> a nix store is static *everything*
<sorear> including runtime resources
<sorear> static, but shareable
<sorear> it's worth spending a day or two to at least skim the entire manual
digshadow has quit [Ping timeout: 240 seconds]
<rqou> ooh i just read more carefully and whitequark's complaint was about _distributing_ native code
<rqou> not the linker model
<rqou> i assume the current model of "distros go in and fuck everything up" isn't great?
<sorear> the goal of a distro is to produce a working OS from pieces made by 500 people who mostly hate each other
<rqou> hate each other?
<sorear> i exaggerate, slightly
<Ultrasauce> there's my goto link on that matter
<Bike> five hundred people who all have their own idea of how linking should work
<pie__> oh my god whitequark thank you finally someone
<pie__> nix ftw
<pie__> oh sorear too eh?
* pie__ still hasnt read the manual though >_<
<sorear> i've used it
<sorear> i don't run a nixos system, yet anyway
<rqou> Ultrasauce: i can totally see people hating distros (i'm starting to hate debian too), but that's not really devs hating "each other"
<rqou> debian also seems to be a particularly obnoxious distro
<Ultrasauce> well that's an upstream dev and a package maintainer in a stupid petty battle....think it qualifies
<gruetzkopf> i'm on debian or gentoo, depending on cpu arch
<gruetzkopf> for ppc64be and ppc32be and sparc64 it's gentoo time
<pie__> sorear, i run it, its had some quirks but it seems to have momentum, though im curious about if things will ever be able to be simplified and consolidated somewhat
<pie__> also i have no idea what im talking about and can still barely use it
<pie__> other people have done pretty cool stuff
<pie__> nix on openbsd when
Bike has quit [Quit: Lost terminal]
<rqou> gruetzkopf: you're german, of course dealing with debian isn't frustrating for you :P
<pie__> muahahahah
<rqou> my personal distro stereotypes:
<rqou> debian = angry germans
<rqou> ubuntu = works great on servers, desktop breaks all the time
whitequark_m has joined ##openfpga
<rqou> arch = weebs
<whitequark_m> awygle: i plan to assemble toe 2nd glasgow today
<rqou> gentoo = neckbeards
<rqou> rhel = too much money
<whitequark_m> can you pm me your address? to my other nick
<rqou> centos = not enough money
<whitequark_m> lol rqou
<rqou> fedora = guinea pig for rhel
<sorear> at least our packaging system isn't based on chmod +x makefiles
<rqou> out?
<rqou> *our?
<rqou> also, wtf +x makefiles
<sorear> (i have a commit or two in fedora)
<whitequark_m> whats wrong with +x makefiles as a concept
<rqou> nothing really
<rqou> my little unix shebangs are magic :P
<sorear> also, debhelper should be written in a language whose implementation hates cross-compilers less
<rqou> i have no idea what language debhelper is written in or why debhelper is important lol
<rqou> debian's processes are completely opaque
<sorear> perl, and because everything depends on it
<rqou> why does everything depend on it?
<sorear> on debhelper?
<rqou> "helper programs for debian/rules -- A collection of programs that can be used in a debian/rules file to automate common tasks related to building Debian packages."
<rqou> that tells me basically nothing
<rqou> is this used at compile time? install time?
<sorear> compile time
<rqou> wait, so why does it require cross-compiling support?
<sorear> I don't understand the question and I need to be awake in 7 hours so &
<rqou> not blaming you, but this is part of my "debian is completely opaque internally" complaint
<Ultrasauce> > a Canadian cross-compiler (a compiler that will generate objects for one architecture, built on a machine of a different architecture, that will run on yet a different architecture).
<Ultrasauce> i feel attacked
<rqou> they have tons of special stuff and no quick "why do i care about this" summary
<rqou> yeah, canadian crosses are fun
<awygle> wow i missed a bunch of stuff
<awygle> nix seems good, haven't tried it yet for real, syntax is ugly as sin
<awygle> concerned about the centrality of "nixpkgs"
<awygle> seems like a good way to get logjammed by obnoxious maintainers
<sorear> rqou: if debian were less opaque internally I'd have an answer I could give you without disrupting my sleep
<sorear> rqou: so I'm not contradicting that
<awygle> whitequark_m: done
<azonenberg> awygle: btw i found a (minor) performance issue with my R&S PSUs :P
<awygle> azonenberg: oh?
<azonenberg> The LAN interface is a little slow, but in a curious way
<azonenberg> So for example, I sent *IDN?
<azonenberg> Looking in wireshark, i see ACK 0.45 ms later
<azonenberg> But then the model ID etc came a whopping 85 ms after
<azonenberg> In a second TCP segment
<azonenberg> (And that doesn't take a ton of CPU to send)
<azonenberg> I'm wondering if they're using one of those "TCP on a chip" things from wiznet etc
<azonenberg> and then talking to the MCU over a uart or something
<azonenberg> thus the ack is handled close to the lan and any actual application layer traffic is slower
whitequark_m has quit [Ping timeout: 264 seconds]
<rqou> what are the chances someone makes/sells a prepackaged "gpip to lan" solution?
<awygle> lol
<azonenberg> lol you think they're doing that internally?
<azonenberg> Either way, its not a huge deal but it limits my refresh rate for graphing output voltage/current to 2-3 Hz
<awygle> Ultrasauce: this debian drama is delicious, thank you
<azonenberg> When i build instrumentation i put the tcp stack in an fpga and have sub-millisecond turnaround times :p
<rqou> welcome to another case of "why the f*ck are you not as real-time as me"
<rqou> the story of my life over and over again
<azonenberg> rqou: lol
<rqou> i don't get why this is so fucking hard
<rqou> i guess it gives NI market share :P
<azonenberg> rqou: i mean they're still very nice PSUs
<awygle> debian has "sponsors"? is it AA or the mob?
<azonenberg> but it is mildly annoying
<azonenberg> maybe one day i'll build something better :p
<azonenberg> rqou: and yeah i dont get why it is so hard to make remote control moderately performant... ironically the reason i started looking into this
<azonenberg> was that my gui control app was slower to update than the instrument front panel :p
digshadow has joined ##openfpga
<rqou> debian has tons of bureaucracy
<rqou> 'cause it's full of germans :P
<azonenberg> rqou: fwiw, the tcp/ip stack i wrote, running on the devkit in front of me
<azonenberg> has round trip ping times around 50 μs consistently
<rqou> your stack or the stack for the client?
<azonenberg> Both
<azonenberg> I'm using it in their project but developed it off the clock so i own the ip
<azonenberg> in a test i just ran i had one ping come back in as little as 33 us
<rqou> O_o their legal was fine with this?
<azonenberg> rqou: It's not going in the product
<azonenberg> it's an in house test platform
<rqou> ah
<azonenberg> bridging their debug bus out to sockets
<azonenberg> that and, it's permissively licensed so anybody could ship a product using it
<azonenberg> if they wanted
<azonenberg> Right now i'm only using UDP and IPv4 but when i have time i plan to implement IPv6 and TCP
<azonenberg> This is a bare metal stack with no antikernel dependencies
<azonenberg> and should be capable of easily saturating 10GbE, although it would need rework to handle 40G
<azonenberg> i plan to use it in starshipraider too, although since 7 series is slower than ultrascale i may have to pipeline a little deeper
<azonenberg> rqou: but yes in general i do not understand why realtime LAN interfaces are so hard to do
<azonenberg> especially not 85 millisecond turnaround time
<azonenberg> like, i know your cpu is not that slow
<rqou> hmm, i really need to get started on my "bus armada" firmware
<rqou> since i'm still really not a fan of how you're approaching starshipraider
rohitksingh_work has joined ##openfpga
<azonenberg> rqou: what about it?
<rqou> i just overall don't like the way you want to do it
<rqou> i'll probably build something between starshipraider and glasgow and prototype my ideas
<azonenberg> Looks like the HMC804x uses a dsPIC for the SMPS control loop, interesting
<azonenberg> (internally it's got a big mains to 48V DC COTS module, then two dsPIC based custom SMPSes)
<azonenberg> trying to see what chipset the display controller and lan stuff uses
<rqou> anyways, i think the codename for the "intermediate" hardware i want to build will be "Guren"
<rqou> because the Guren is much more powerful than a Glasgow but will also have shitty overcomplicated software :P
<azonenberg> meanwhile starshipraider will do all the heavy lifting and you can just get an API directly to the hardware
<azonenberg> The way it shoulud be
<awygle> i feel like i'm missing a weeb joke here
<rqou> awygle: code geass
<awygle> ah. i watched like, the first season? up until he commands his sister to $SPOILERS
<awygle> i had a cosplayer friend who was super into it but it didn't really grab me
<rqou> a guy or a girl? :P
<awygle> girl
<awygle> although she did not discriminate, cosplay-wise
<rqou> pics? :P :P :P
<awygle> ew, no
<rqou> (ok, i'll stop being creepy)
<awygle> i should call her though, we haven't spoken in years
<rqou> heh, you seem to be much more of a people person than me :P
<awygle> i am a terrible people person who constantly works to be better
<awygle> which is why we haven't spoke in years, and why i'll call her :p
<rqou> maybe i'm not trying hard enough at the people thing
<rqou> i only really have one very closed group of friends who all seem to be slowly burning out and/or not sure what we're going to do with our lives
<awygle> i mean, me too really. you've got time, just don't sleep on it too much. people are important.
* awygle realizes how fucking ancient he sounds right now and goes back to watching moe anime
<rqou> but "i take the specifications from the customers and bring them down to the software engineers" :P :P :P
<awygle> that movie is less comedy every year
<awygle> and my sympathies change too
<awygle> especially for that guy
<awygle> i _wish_ my current company had a person with that job. instead we have salespeople and engineers and nobody mediating
<awygle> i'm amazed it works even as well as it does
<rqou> aren't you at data io? where your customers are also engineers?
* awygle condescendingly pats rqou's head
<awygle> not even slightly
<rqou> wait, you are still at data io right?
<awygle> yes i am
<awygle> but our customers are _companies_
<awygle> and engineers mostly don't even _use_ our machines
<awygle> so we sell to executives (i assume, they haven't let me go on a sales call yet) and operators operate the machines
<awygle> i am running low on good moe anime actually, does anyone have suggestions?
<whitequark> lol
<whitequark> moe anime, hm.
<rqou> wut?
<awygle> or just like, comedies
<whitequark> oh
<awygle> anything that doesn't require brain
<awygle> or negative emotions
<Ultrasauce> the intersection of good and moe might be null
<whitequark> hyouka? mariaholic?
<whitequark> nichijou?
<awygle> seen 'em (love hyouka, one of my favorites)
<awygle> i've actually only seen the _other_ nichijou
<rqou> oh i missed awygle's comment
<whitequark> gargantia?
<rqou> but anyways, whitequark: Guren > Glasgow (once i actually build it) but it'll be unusable software-wise :P
<whitequark> rqou: ethernet?
<whitequark> which fpga?
<awygle> i have never heard of this
* whitequark wonders if she should collaborate
<awygle> yeah ok i can watch this. thanks whitequark!
<awygle> oo oshstencils does frames now, and varying thicknesses
Lord_Nightmare2 has joined ##openfpga
Lord_Nightmare has quit [Ping timeout: 264 seconds]
Lord_Nightmare2 is now known as Lord_Nightmare
<azonenberg> awygle: yep
<azonenberg> i just ordered my first stencil from them since they annoucned it
<azonenberg> but its a boring 4 mil unframed stainless
<awygle> lol
<awygle> i woulda done 3mil, i always have too much paste
<azonenberg> awygle: i have had good results with 4 and almost never bridge
<azonenberg> And i generally default to having paste apertures the same size as the pad
<azonenberg> except for QFNs where i break it up
<azonenberg> Also (using SAC305) I rarely have bridges even when the paste smears a little bit
Lord_Nightmare has quit [Ping timeout: 248 seconds]
Lord_Nightmare has joined ##openfpga
<whitequark> wtf
<whitequark> why does icetime duplicate a lot of basic logic
<whitequark> like vprintf and search paths
<rqou> because it prints to a std::string? :P
<whitequark> no, I mean
<whitequark> shouldn't icestorm have a library with this stuff?
<rqou> not everbody has "useful primitives" extracted out in a sane way :P
<rqou> (rust is pretty good at this)
<rqou> whitequark: <troll>oh, you mean libiberty and gnulib?</troll>
<whitequark> 💢
<awygle> what unicode code point is 'angry anime forehead hatch mark'?
<awygle> holy shit it's actually "anger symbol emoji"
<awygle> i rescind my earlier joke, as it is now not a joke at all but a request for simple information easily retrieved via google
eduardo__ has joined ##openfpga
genii has quit [Remote host closed the connection]
eduardo_ has quit [Ping timeout: 264 seconds]
bitd has joined ##openfpga
Lord_Nightmare2 has joined ##openfpga
Lord_Nightmare has quit [Ping timeout: 260 seconds]
Lord_Nightmare2 is now known as Lord_Nightmare
Lord_Nightmare2 has joined ##openfpga
<whitequark> lol
Lord_Nightmare has quit [Ping timeout: 248 seconds]
Lord_Nightmare2 is now known as Lord_Nightmare
Lord_Nightmare2 has joined ##openfpga
Lord_Nightmare has quit [Ping timeout: 264 seconds]
Lord_Nightmare2 is now known as Lord_Nightmare
Lord_Nightmare2 has joined ##openfpga
Lord_Nightmare has quit [Ping timeout: 264 seconds]
Lord_Nig- has joined ##openfpga
Lord_Nig- is now known as Lord_Nightmare
Lord_Nightmare2 has quit [Ping timeout: 256 seconds]
StCypher has joined ##openfpga
<whitequark> awygle: -_____-
<whitequark> made your board and it's perfect in every way except the USB connector is off by one pin
<eduardo__> whitequark: Send me your design and BOM and I will check a price with a local manfucaturer here. It might be that they will not be competitive but it would be a nice learning experience for them and us.
<whitequark> eduardo__: moment, let me fix some minor issues
<pie__> does unicode have a specific pixels as diacritics table
<pie__> so you can just draw whatever you want
<rqou> I've joked multiple times about U+XXXhh EMBEDDED PNG OCTET hh
<openfpga-github> [Glasgow] whitequark commented on issue #17: Already fixed, must have been a stale line in the Mouser BOM. https://github.com/whitequark/Glasgow/issues/17#issuecomment-385903943
<pie__> it made no sense but i googled that just in case
<openfpga-github> [Glasgow] whitequark closed issue #18: R16 has wrong Mouser_PN https://github.com/whitequark/Glasgow/issues/18
<whitequark> all design files there
<pie__> wait its a *scottish* army knife? is it full of whiskey
<pie__> *whisky
ondrej2 has joined ##openfpga
<openfpga-github> [Glasgow] whitequark pushed 1 new commit to master: https://github.com/whitequark/Glasgow/commit/24464009395735076c0c89096fb3154b4ea32515
<openfpga-github> Glasgow/master 2446400 whitequark: Update revA schematics.
dlnx`` has joined ##openfpga
<dlnx``> e/win 19
<dlnx``> lel
rohitksingh_work has quit [Ping timeout: 268 seconds]
rohitksingh_work has joined ##openfpga
Lord_Nightmare has quit [Ping timeout: 256 seconds]
Lord_Nightmare has joined ##openfpga
Lord_Nightmare2 has joined ##openfpga
Lord_Nightmare has quit [Ping timeout: 248 seconds]
Lord_Nightmare2 is now known as Lord_Nightmare
FabM has joined ##openfpga
miek has joined ##openfpga
eduardo__ has quit [Ping timeout: 265 seconds]
clifford has quit [Ping timeout: 265 seconds]
eduardo__ has joined ##openfpga
clifford has joined ##openfpga
<eduardo__> whitequark: thank you. did forward it. Lets see how the process will go. I heard that it is very likely that you will do a redesign with Ice40HX to meet 50MHz.
Lord_Nightmare2 has joined ##openfpga
Lord_Nightmare has quit [Ping timeout: 248 seconds]
Lord_Nightmare has joined ##openfpga
Lord_Nightmare2 has quit [Ping timeout: 256 seconds]
Lord_Nightmare has quit [Ping timeout: 248 seconds]
Lord_Nightmare has joined ##openfpga
Lord_Nightmare2 has joined ##openfpga
Lord_Nightmare has quit [Ping timeout: 248 seconds]
Lord_Nightmare2 is now known as Lord_Nightmare
<whitequark> eduardo__: correct
<whitequark> eduardo__: it's a bit more involved than that
<whitequark> on UP5K I can likely meet timing at 25 MHz DDR to get 50 MHz performance
<whitequark> but it significantly complicates gateware and I'm worried people will have a hard time implementing cores
<whitequark> eduardo__: also the full BOM includes laser cut case and some mounting hardware
<whitequark> I'm currently unsure about the cost of that because I bought it from RS and RS has exorbitant prices
<q3k> sometimes you can replace a lasercut acrylic case with more FR4 from your PCB fab
<q3k> it might come out cheaper than having to ship over acrylic if they don't have the means for that in-house
<q3k> bonus: you get a real, labeled front panel because silkscreen
<gruetzkopf> https://gruetzkopf.org/mfk/klapper.mp4 signal relays doing signal relay things
<whitequark> q3k: but I already have labels on my PCB
<q3k> >klapper
<q3k> *snrk*
<whitequark> it's designed for transparent acrylic
<q3k> whitequark: right, absolutely
<q3k> whitequark: just a worse possible case scenario fix
<whitequark> q3k: the good thing is I can loewr the resistor value slightly and those LEDs will shine right through the PCB on top
<q3k> heh
<q3k> gruetzkopf: is this at CCCAC?
<whitequark> not even joking, if you flip the board in a dim room you see that the LEDs actually illuminate the entire FR4 substrate from inside
<q3k> gruetzkopf: or are you keeping this at home?
<whitequark> it's impressive
<gruetzkopf> a third location
<q3k> i wouldn't mind seeing them irl next time I'm in aachen :P
<q3k> also, if the connections are reconfigurable enough, make yosys/ararchnepnr target them
<gruetzkopf> this is in bochum
<q3k> verilog-to-relays would be a pretty cool thing
<gruetzkopf> those boxes of relays are fairly specialised
<gruetzkopf> automated P&R would be extremely helpful, though, in selecting the premade cables
<whitequark> arachnepnr?
<whitequark> isn't it specialized for ice40?
<daveshah> arachne-pnr is fairly specialised for the ice40, but if you cut out the packer, IO insertion, global promotion etc and just kept literally place&route I think it's fairly generic
<gruetzkopf> all 60 global wires are predefined ;)
<gruetzkopf> (well, 58, one is a spare, the other for continuity tests)
<q3k> whitequark: i guess it's either that or vtr/vpr
<q3k> but then vtr/vpr is not nearly as easy to hack on from what I can gather
<q3k> (because academia)
<whitequark> daveshah: then you could just use xbpar
<whitequark> daveshah: since you're awake
<whitequark> do you think it's worth spending time adding clock domains to icetime?
<whitequark> i'll probably need them and i don't see other options
<q3k> I wouldn't mind multiple clock domain support there
<daveshah> it would be nice
<whitequark> i mean, code flexibility wise
<whitequark> will it be a nightmare
<daveshah> I don't think so
<whitequark> i gave it a quick look but while it's not awful it's fairly opqaue
<daveshah> Adding DSPs to icetime was fairly easy
<whitequark> hmmm
<whitequark> q3k: btw bridging was definitely my shitty stenciling
<whitequark> i cooled the paste and tried to apply it in ... well not exactly one pass but *less* passes and more carefully
<q3k> yeah
<whitequark> and the second run was perfect right away
<q3k> generally if you have to do it more than twice
<q3k> you might as well clean up and redo the whole thing
<q3k> because it means you messed something up, and probably smudged it to hell and back already
<q3k> saw your second effort on twitter, nice work
<whitequark> i think that was something like five or six strokes actually
<whitequark> but all the QFNs were covered with one
<whitequark> and then I was just patching up the rest
<whitequark> i'm quite glad i did double-sided reflow too
<whitequark> manually soldering those caps was such a pain
<gruetzkopf> hot-air or vapor-phase again?
<whitequark> vapor-phase
<q3k> i still usually don't bother with reflow/stencils if I'm doing just a single part
<whitequark> I do not have hot air, and the cost of hot air stations is what made me go to vapor phase
<q3k> but then I have a surprisingly stable hand
<whitequark> well, I "just happened" to have Galden LS-230
<q3k> hum, I thought even the cheapest yihua hotairs where good enough these days
<q3k> ah, if you had the galden on you... might as well
<whitequark> I try to never go for the cheapest tools
<q3k> neither do I, but sometimes the next bracket is so far away that it doesn't make sense to immediately splurge
<whitequark> I've had very bad experience with a not-so-cheap hot air station too in the past
<whitequark> galden... just works
<whitequark> you could literally teach a monkey to do vapor phase reflow
<q3k> i might give it a shot when I'm in a real hackerspace again
<whitequark> i have two liters of it, lmk if you want 50ml or something
<q3k> the problem isn't getting it, is where to perform the ritual^Wprocedure
<q3k> I'm trying really hard to not turn my apartment into too much of a lab :P
<whitequark> give up lol
<q3k> at least right now when I'm extremely short on space
<whitequark> ahh
<q3k> been working on a single pc monitor for a year now because literally -ENOSPC
<whitequark> interesting side effect: galden dissolves and entrains flux residue
<whitequark> when you turn off the heating, the board is still hot, and all galden rapidly evaporates from it and condenses below
<whitequark> with flux
<whitequark> so it's like a two-in-one soldering and cleaning cyle
<whitequark> *cycle
<whitequark> as you can see on the photo the pcb is absurdly clean
<q3k> that's literally all the space I've got https://photos.app.goo.gl/TXBk2Y9K6Gpvy3Vi1
<whitequark> cyber cyber
<q3k> cyber
<jn__> pretty clean, though
<openfpga-github> [Glasgow] whitequark pushed 1 new commit to master: https://github.com/whitequark/Glasgow/commit/d5cbdfbb447a0ae1a8b4c79b9bee348c8f9c32af
<openfpga-github> Glasgow/master d5cbdfb whitequark: Use ERR LED to indicate FPGA config failure.
<Prf_Jakob> q3k: Get monitor arm(s) for your monitor(s).
<q3k> Prf_Jakob: in progress - the problem is that my desk is super thick
<q3k> Prf_Jakob: so almost no stock arms can attach to it
<Prf_Jakob> Ah dang :-/
<q3k> i'm planning on just cobbling together a shelf for the scope
<q3k> and the microscope when I'm not using it
<q3k> that should give me some extra space
<q3k> i shouldn't be stuck in this apartment for longer than a few months now, anyway
<openfpga-github> [Glasgow] whitequark opened issue #27: Connect ~ENVA, ~ENVB, ~OEQ, ~ALERT to spare FPGA balls https://github.com/whitequark/Glasgow/issues/27
<cr1901_modern> How'd you prevent the first side components from falling off while reflowing the second side? Surface tension?
<cr1901_modern> (Also galden ls230 is expensive ._.)
<q3k> surface tension & glue for heavier parts
rohitksingh_work has quit [Read error: Connection reset by peer]
<cr1901_modern> what type of glue and how do I get rid of it after reflow is done?
<q3k> 'surface mount adhesive'
<q3k> and you just leave it there
<q3k> it's usually used for wave soldering of smd parts on the same side as leads of tht components
<q3k> you can also apply it manually on the edge of a chip after top reflow (if applying on the bottom causes parts to stick out too much or you're doing bga)
<q3k> (or qfn with a fuck-off huge ground pad)
<q3k> but then with a qfn like that you usually don't need glue
* cr1901_modern checks My arty-s7 has BGA on both sides but I don't see any red glue
<cr1901_modern> on any components for that matter*
<q3k> then it probably help up just fine
<q3k> do they have metal cans on them?
<q3k> if not, surface tension should be fiiine
<q3k> there's some math for this
Bike has joined ##openfpga
<cr1901_modern> no metal cans
<cr1901_modern> well, not on the bottom anyway :P
<q3k> so if I vapour phase reflow the top of a board
<q3k> and then wave solder the bottom
<q3k> do I get aesthetic vaporwave boards?
<Ultrasauce> no
<Ultrasauce> stop
<q3k> never
<q3k> i feel a sudden need to design a macintosh plus replica board
<cr1901_modern> I can't imagine why after that awful pun
<q3k> i'm glad it was awful :3
<balrog> q3k: LOL why
azonenberg_work has quit [Ping timeout: 240 seconds]
<awygle> good morning
<awygle> https://youtu.be/wC2Iov1pCDg this is great
<awygle> whitequark: board looks gorgeous!
azonenberg_work has joined ##openfpga
<bitd> So guys, what kind of documentation do we have in terms of mathematical / algorithmic foundations being used in the openfpga toolchain?
genii has joined ##openfpga
<azonenberg_work> bitd: what do you mean exactly?
<azonenberg_work> awygle's planned analytic PAR will probably involve lots of linear algebra
<awygle> bitd: i have a list of papers on placement, routing, etc, on the wiki
<bitd> ^ thats what I meant :)
<bitd> Thanks.
<awygle> yup
<awygle> what the actually-working-right-now tools do is Simulated Annealing though
<awygle> except maybe for rqou 's xc2par stuff, i think he was playing with other algorithms
<bitd> SA is kind of the go to I guess.
<azonenberg_work> yeah xbpar is SA based
<azonenberg_work> annoyingly, rqou's xc2par doesnt use it iirc
<awygle> so's arachne and vpr
<awygle> although apparently vpr is supposed to be reasonably pluggable
<azonenberg_work> awygle: yeah but idk if you could go so far as to swap in an analytic placer
<azonenberg_work> i havent looked into that side of it
<awygle> azonenberg_work: several of those papers claim to do just that in fact
<azonenberg_work> interesting
<awygle> of course, because they're papers, the code doesn't exist anywhere
<bitd> Haha, yeah.
<azonenberg_work> Lol
<azonenberg_work> idk why open access isnt a bigger thing
<azonenberg_work> awygle: once my house situation stabilizes, getting involved in par stuff is on my wishlist
<awygle> that's a totally distinct problem from "academics aren't motivated to publish code", but i agree
<bitd> I'ma read through the things you posted awygle, can't pitch in if I dont know the current state.
<azonenberg_work> i'd like to see a policy of journals that code has to be submitted for publication alongside the article
<bitd> Yeah and not the pseudocode crap either.
<azonenberg_work> yeah i mean the actual code you did the work with
<azonenberg_work> And as much of your data as you can w/o compromising HIPAA rules etc
<awygle> i wonder how hard it would be to just make up data
<azonenberg_work> Lol
<bitd> It happens all the time, dead serious.
<azonenberg_work> awygle: so what i'm thinking is probably the best option as far as where we want to end up
<azonenberg_work> MPI-based star+ across multiple threads on one or more workstations
<azonenberg_work> With optional GPU acceleration at each node
<azonenberg_work> (down the road)
<azonenberg_work> I definitely want to go with the independent tools design, in particular i do not want a monolithic blob like vivado
<bitd> Yayks, please no. As many decoupled stages as possible (within sane bounds).
<bitd> Easy enough to tie those parts together if the interfaces are well defined. Not so much the other way around.
<azonenberg_work> Exactly
<azonenberg_work> Yosys JSON is pretty well decided on as the input file format
<awygle> yeah, that's my plan as well
<azonenberg_work> I dont think we have any decisions as far as physical netlist formats yet
<azonenberg_work> i'd like to define something akin to the old xilinx .ncd
<awygle> i wish there was a better infrastructure but at some point i'm just gonna have to get over that and invent something terrible
<azonenberg_work> something that stores a physical netlisit with some placement and/or routing information
<azonenberg_work> That we can dump stuff to at various stages of implementation
<azonenberg_work> it should support netnames and airwires so we can, for example, dump out a half-routed netlist we cant figure out how to finish
<azonenberg_work> and investigate why it happened
azonenberg_work has quit [Ping timeout: 248 seconds]
user10032 has joined ##openfpga
azonenberg_work has joined ##openfpga
digshadow has quit [Ping timeout: 240 seconds]
lexano has quit [Ping timeout: 240 seconds]
lexano has joined ##openfpga
digshadow has joined ##openfpga
mumptai has joined ##openfpga
<balrog> awygle: finally
<balrog> wait, that's 100BASE-T1
<balrog> interesting
<gruetzkopf> "no distributor inventory"
<awygle> yeah it's not actually as lame as i made it sound
<gruetzkopf> oh, it's THAT new
<awygle> but it is amusing
<gruetzkopf> lets ieeeget 802.3bw-2015
<awygle> is anybody on ubuntu 18.04 yet? is it horribly broken in some more-than-usual way?
<gruetzkopf> apparently they did something horrible to /etc/network/interfaces
<gruetzkopf> am a debian person though
<genii> awygle: Kubuntu 18.04 is humming away happily here on my netbook, as for the regular Ubuntu Bionic, I haven't put it on anything here yet
<genii> gruetzkopf: Well, systemd network things have always been a bit screwy, for sure
<awygle> Hmm I don't think this vm actually needs network access, so any nonsense in that area shouldn't be more than an irritant
<q3k> gruetzkopf: didn't debian move to systemd-network or whatever it's called, anyway?
<q3k> also /etc/network/interfaces can go die in a fire for all I care
<awygle> i must be getting old because all i want is for everybody to pick something and stick with it
<q3k> sure, just something that expends past the basic usecase
bitd has quit [Remote host closed the connection]
<q3k> *extends
<genii> Yeah, I think systemd-networkd, or maybe systemd-resoled is the usual culprit when there's networking issues lately. Overwrites the usual things like resolv.conf and /etc/network/interfaces settings if you used to make your changes there
<genii> *systemd-resolved ... or similar
<q3k> oh yeah, resolvd is absolute trash
<q3k> for a while it also didn't even support setting dns search from dhcp
<q3k> not sure it can do that now
<genii> also some kind of dnssec issues
<pie__> first xkcd i instantly saved https://xkcd.com/1985/
<rqou> awygle: did you know that the CDSP (one of the holy hill) building is really nice inside?
<awygle> awygle: i did not
<awygle> ... that's me
<awygle> rqou: i did not
<rqou> yeah, apparently the MEng program needs to look fancy (or at least not in Cory/Etch) so they've been hijacking some holy hill building instead
<awygle> lol
<awygle> well churches are often pretty buildings so i suppose that tracks
<awygle> ugh ubuntu download so big, so slow
<awygle> should have gotten the netinstall disc, assuming there is such a thing
<rqou> lol Ubuntu gave up squeezing into a cd-rom?
<awygle> it's 1.8GB
<awygle> for the desktop image
<rqou> wow
<genii> There's also some minimal image that just installs CLI and essntials, if your connection is good you can then just install the ubuntu-desktop meta
<rqou> i guess they gave up on 700MB ages ago
<genii> I think server still fits on a regular CD
<awygle> genii: yeah i just didn't want to screw around, should have gone that way though. wasn't expecting their pipe to be so narrow...
* awygle wishes he could torrent on an office PC
<rqou> waiting for it to turn into a 50GB BD-DL :P
<rqou> oh yeah Ubuntu has a ridiculously small pipe
<rqou> mirrors.ocf.berkekey.edu :)
<genii> I generally do a server install anyways since RAID1 isn't an option the regular one and I have a dual SSD RAID1 setup, then I do the desktop install ( Kubuntu/KDE in my case )
<rqou> huh somebody added kali to the ocf mirrors
<awygle> jesus, i already downloaded 1.4GB out of 1.8 and the ocf download is still going to finish first
<rqou> lolol
<awygle> it blows me away how many orgs don't plan for bursty loads when they know they're going to have them
<genii> They've been trying to get people onto torrenting instead for the last 4-5 releases
<rqou> oh dis gun b good:
<rqou> awygle: they want to build housing on people's park
<awygle> never gonna happen
<rqou> they apparently have a serious plan this time
<genii> Real estate developers :-/
<rqou> yup
<rqou> blame the university capital projects team
<genii> We have a similar problem in Toronto
<rqou> see also: selling off the Gill Tract
<rqou> unfortunately here the problem is more complicated because of the ridiculous lack of housing
<awygle> oh no i'm creating a virtual hard disk and my HDD is 100% maxed out so everything has slowed to a craaaaaawl
<rqou> ask work to buy you another drive?
<awygle> yeah i need to do that, i do not have enough space
<genii> ... find an USB stick of suitable size and put the virtual drive on that?
<rqou> why are you installing the new Ubuntu anyways?
<pie__> is ubuntu the new windows
<rqou> windows is the new Ubuntu :P
<rqou> GNU/NT
<jn__> geNToo for life! :P
<awygle> working on a windows port of a thing, don't know what it's supposed to work like, have to install the linux version for comparison
<awygle> ubuntu has historically been my go to "give me a graphical environment i don't have to think about too hard" distro
<rqou> whitequark: how do you feel about GNU/NT vs a potential future of toybox+musl/Linux? :P
<awygle> toybox is NIH busybox?
<rqou> with GNU on the "enemy" platform and GNU completely removed from Linux
<rqou> awygle: more specifically, it's 0BSD NIH busybox
<sorear> midipix vs wsl go
<awygle> i weep for my people -_-
<awygle> "busybox actually enforced their license rights, guess we better undercut them"
<awygle> and yeah i know that's not fair
<rqou> i mean, rob landley made many contributions to busybox originally
<genii> awygle: Well, if you were using Upstart as GUI previously in Ubuntu... this release they are returning to Gnome
<rqou> and the gpl enforcement was afaik a huge motivating factor in his decision for 0BSD
<awygle> genii: i don't care what the GUI is necessarily, i just want a sensible default. the alternative to this would be Centos i guess?
<jn__> genii: s/Upstart/Unity/, i guess
<sorear> the “int x = x;” guy?
<genii> jn__: Sorry, yes
<genii> ( although Unity8 will be community forked for those that want to stick with it )
<rqou> i wonder how many things will explode if i upgrade this time
<awygle> "int x = x"?
<rqou> 14.04 -> 16.04 was a disastrous upgrade
<awygle> yes, i skipped 16.04 and went straight to 16.10 i think
<awygle> i was waiting for Wayland iirc
<awygle> or systemd
<awygle> or something
<awygle> 16.04 was a "stuck in the middle with you" kind of release
<awygle> it broke everything but didn't transition to the inevitable future stuff
<rqou> "oh btw, we replaced the entire init system with poetteringware, but don't worry about it. we don't even need to put this in the release notes because everything will be amazing"
<rqou> narrator voice: it wasn't
<awygle> i thought 16.04 was still upstart? or that other thing?
<awygle> aka "all the breakage of systemd but without the market share"
<rqou> anyways, this is a server so it's lts-only
<awygle> ever since ubuntu changed LTS to mean "until the next LTS" i've not really seen the point
<rqou> wait what?
<awygle> oh did they roll that back? i guess they did
<awygle> there was a plan at one point to make LTS mean "2 years"
<rqou> anyways, just so whoever cares about linux UX knows, "in the middle of an upgrade" is not a great time to suddenly introduce people to systemd
<rqou> just in case there was any confusion /s
<rqou> awygle: i thought that's only for the HWE kernel?
<awygle> could be
<awygle> my certainty that i knew what i was talking about dropped precipitously over the last 30 or so minutes lol
<awygle> oh sweet because i updated virtualbox it doesn't know i have VT-x until i restart and i can't restart due to a long-running process that's still running. whelp. time to look for a _fourth_ productive thing to do.
user10032 has quit [Quit: Leaving]
<pie__> awygle, start writing a list lol
<implr> 22:28 < sorear> midipix vs wsl go || illumos lx brand, clearly
<awygle> illumos NT brand when
<implr> for a superior level of 'oh dog what'
<rqou> wine on midipix :P
<awygle> some days i want to run a data center. those people seem to be cleaning up.
<rqou> ok, i just saw a capstone project that's imho jankier and less working than mine
<rqou> i can now feel better about myself
<awygle> lol
<jn__> awygle: is this …art?
<awygle> 20 oz copper PCB
<awygle> DC/DC converter for a Formula E car apparently
<jn__> the two unconnected 0ohm resistors confused me for a long moment
<awygle> not as pretty
<rqou> lol i remember that
<q3k> t h i c c
<rqou> at what point is it better to just use bus bars and get the current off of the pcb?
Bike has quit [Ping timeout: 260 seconds]
<lain> I'm a little confused by how narrow a lot of the traces in the first picture are. they had a lot of room to make them wider :P
<awygle> lain: top side is HV, not high current
<awygle> So there's lots of space on purpose :-P
<rqou> not me but somehow a lot of people in my filter bubble fit some/many of these traits
<lain> awygle: ahhh
Zorix has quit [Quit: Leaving]
<genii> I've actually watched a few of those formula E races, they're not bad. Main change is they just hop off one car and into the next during a pitstop, instead of a refuel
<genii> They hit pretty good speeds for electric
<implr> q3k: damn, I can't find the T H I C C pcb from the backplane on itanic2.0, I have like 15 pictures of the servers but none of the backplane ,_,
<q3k> I don't think I've ever seen the backplane
<q3k> maybe once?
<q3k> we should still totally take that box to, *looks at wrist, adds 1*, 35c3
<implr> you definitely did because I remember your reaction :D
<implr> I do have this pic of massive cisco bgas and weird golden connectors though: https://photos.app.goo.gl/sGuiQ8mfJqs3U12o2
<q3k> this is in the cisco switch, right?
<q3k> (well, one of two?)
<awygle> python WHY
<q3k> awygle | i should hire a freelance python modules consultant
<q3k> i can probably help :P
<awygle> what is your rate :p
Bike has joined ##openfpga
<implr> q3k: yeah, the hp blade one. that pcb, layout and everything were way more insane/overkill than our 4500
<q3k> awygle: bottle of irish whiskey per hour
<q3k> awygle: or if you're serious, /query and we can work on something
<awygle> q3k: i'd happily actually pay you but it would be 5 minutes of work once every four months, so not really a viable gig
<q3k> well, i already have enough long-term full-time gigs
<q3k> but I'd be happy to help you out
<q3k> s,but,so,
sgstair has quit [Remote host closed the connection]
<awygle> i fixed it by running exactly the same commands in a virtualenv. sweet.
<rqou> lol
<rqou> now become sad like whitequark by adding a conda :P
<awygle> nothanx
sgstair has joined ##openfpga
<rqou> the shitty package manager that apparently physicists like to use for hysterical raisins or something?
<awygle> oh sweet, everything's broken on linux too, i don't have to do anything :p
<rqou> linux isn't your primary platform?
<zkms> i'm so bloody grateful for the LTE transition
<zkms> 1) 100Mbps internet on my phone
<zkms> 2) incredibly affordable secondhand R&S 2G/3G test sets
<awygle> rqou: i don't really have a "primary platform" but this project is explicitly windows-based yes
<q3k> zkms: what use do you have for the test sets?
<rqou> spying on government officials? :P
<rqou> ##openpartyvan :P
mumptai has quit [Quit: Verlassend]