enriq_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
enriq has quit [Client Quit]
<pie_> awygle, ah what a sad article...
enriq has joined ##openfpga
enriq has quit [Client Quit]
<pie_> awygle, i wonder if formal methods based software testing could get me a cubesat launch lol https://www.nasa.gov/directorates/heo/home/CubeSats_initiative one can dream xD
<pie_> i gotta think of something interesting enough to get me a piggyback heh
<pie_> TIL its not the g load that gets you on launch its the harmonics
<pie_> that explains the vibraiton testing
<qu1j0t3> #thingsYouCanLearnDoingElectronics
GenTooMan has quit [Quit: Leaving]
<pie_> you know nothing jon pie_
<qu1j0t3> I hate mondays
<pie_> qu1j0t3, i know IM up late but what about you
<qu1j0t3> pie_: go to bed
<pie_> hm....apparently a lot of cubesats actually run linux
<pie_> then again i guess core cant be that bad
<qu1j0t3> In space nobody can hear you botnet
<pie_> internet of space shit?
<awygle> pie_: i know several people that have gotten CSLI launches
<awygle> i personally think if your cubesat is running linux you're doing your power budget a disservice, that being said i have most of a design for a 0.5W linux-based flight computer that i never implemented
<pie_> csli?
<awygle> CubeSat Launch Initiative
<pie_> awygle, what like, for personal projects?
<pie_> ah cool
<awygle> pie_: no, sadly all were in university. or possibly high school, can't remember if that project got approved or not
<pie_> then again realistically speaking i probably cant do this by myself anyway but eh
<pie_> dont really have any prospective collaborators :P
<awygle> i'd say the primary things that would be difficult to do solo would be the launch qualification stuff. TVAC and vibe.
<awygle> the electronics isn't actually that bad
<pie_> tbh its both probably not as difficult as a make i make it out to be and a hundred times more difficult at the same time
<rqou> so what happens if i somehow managed to just launch an arduino into space? would it work?
<awygle> rqou: for an amount of time, yes
<pie_> i wonder, my whiplash guess would be overheating
<rqou> just stick a quarter-wavelength piece of wire into a gpio pin or something as an antenna
<pie_> gonna have to look up dat black body radiation one of these days
<awygle> rqou: "stick a quarter-wavelength piece of wire into" okay so like twice as long as your satellite probably
<pie_> i mean as a physics student, spaaace, so obligatory problems to learn :D
<rqou> more than twice :P
<pie_> but given that i cant even open this banana
<awygle> pie_: all i know is it scales as T^4
<rqou> but whatever, it's just a wire right? :P
<pie_> awygle, oh right. thats helpful
<pie_> i think the hungarian university satellite used measuring tape
<awygle> rqou: deployment mechanisms kill more satellites than like... anything else
<rqou> ah i see
<pie_> awygle, :x
<awygle> yeah, measuring tape is pretty common. self deploying
<rqou> yeah, i don't think you can safely deploy a tiny arduino with a ~10m long piece of wire
<awygle> lots of people will try to sell you on shape memory alloys but my understanding is that's a bad bet
<pie_> banana + xacto = success
<awygle> you have to delay deployment for like.. probably 30m to an hour too, to avoid damaging launchmates / the rocket / the ISS
<awygle> rqou: 10m? you gotta up your frequency game lol
<rqou> i specifically said "an arduino with a wire stuck into a gpio pin"
<rqou> :P
<rqou> an arduino runs at only 20mhz
<awygle> also you'd probably need half-wave since there's no ground
<awygle> ah fair
<rqou> iirc there are people that have literally launched "oscillator + wire" beacons in high altitude balloons
<awygle> designing a quarter-wave antenna whose ground plane was a tiny cubesat structure was the most frustrating engineering i've ever done
* awygle raises hand
<pie_> man i feel dumb
<azonenberg> awygle: measuring tape? so what, you just coil it up then release the tension to pull something into position?
<awygle> azonenberg: basically you coil it up and then burn a retaining wire to let it release
<azonenberg> Makes sense
<azonenberg> So its not literally a packaged tape measure :p
<azonenberg> just a coil of spring steel
<awygle> "burn a retaining wire" being aggressively nontrivial in space
<awygle> azonenberg: sometimes it is
<awygle> actually, often
<azonenberg> Lol
<cr1901_modern> "oscillator + wire" beacons. Ummm, wouldn't you need to actually send _data_?
<azonenberg> As far as burning the wire
<awygle> cr1901_modern: i was just testing tracking systems
<awygle> so no
<azonenberg> Can you not just heat it until it melts?
<azonenberg> or softens to the point that the yield strength drastically drops?
<azonenberg> i'd think with no convective cooling it'd be even easier than it would be in an inert atmosphere at ground level
<awygle> azonenberg: you can but if you melt a wire by running current through it, you outgas all sorts of horrible things
<cr1901_modern> rqou: Is that what you meant (just send a wire+oscillator to high altitude for testing)?
<awygle> for other stuff, it's mostly ensuring adequate thermal transfer that's hard
<rqou> cr1901_modern: yes
<pie_> awygle, lol sputter coat the inside of your sat
<azonenberg> awygle: NASA Standard Initiator then? :p
<pie_> i mean by burning the wire
<awygle> azonenberg: squibs, yes, often used
<awygle> but you usually want to be able to reset
<awygle> (another problem with "melt a nichrome wire")
<azonenberg> Yeah makes sene
<awygle> so often you just tension a piece of string over a resistor which gets hot
<azonenberg> What about a pin that's pulled out by a solenoid?
<awygle> kbaker could tell you more, i didn't actually work on that
<pie_> launch vibration?
<azonenberg> That's not resettable, but not pyrotechnic
<rqou> so when are we getting our own Antikernel Labs spy satellite? :P :P
<azonenberg> awygle: waaaait
<azonenberg> kbaker
<awygle> the big sats have big motors for deployment
<azonenberg> that wouldn't be the kevin baker who used to be involved with the rpi embedded hardware club, would it?
<awygle> azonenberg: yes
<pie_> dam
<azonenberg> And now does satellite stuff?
<pie_> fuq u guise :P
<azonenberg> i knew he was out in this area doing aerospace stuff
<awygle> that's why i mentioned him to a group of people who'd otherwise have no idea what i was talking about lol
<azonenberg> Did not know you two worked together
<awygle> yeah, we were colleagues at PRI. also, roomates for a while
<pie_> why am i even aliiiive
<awygle> that's how i found out about you, which is how i found out about greenpak, which is how i ended up here :P
<qu1j0t3> pie_: itym why am i even awake
<awygle> pie_: don't sweat it
<awygle> just learn stuff
<awygle> it's fun
<rqou> pie_: move out of Hungary :P
<qu1j0t3> awygle: i got here via greenpak as well. i even bought a greenpak4 dev kit
<pie_> xD
<rqou> i got here because of greenpak and CSCI 4974 / 6974
<awygle> backing up a bit i don't actually know why we don't use solinoid retaining pins...
<awygle> i guess you'd want it to be actively driven which would cost power, and the magnetic field would complicate your B-dot controller and stuff
<pie_> awygle, heavier than wire if its one time anyway?
<azonenberg> It would only be driven during the release
<awygle> pie_: that too
<rqou> anyways, i first found out about greenpak because of some random blog post on arachnid labs
<awygle> azonenberg: then it would be subject to launch loads etc
<awygle> dangerous
<awygle> (if you're my paranoid ex-boss)
<azonenberg> awygle: Just means you need a strong enough spring to keep it in place until then
<rqou> and i thought to myself "hmm, verilog is hard but i should write some weird DSL thing to program greenpaks"
<awygle> azonenberg: yeah that makes sense
<awygle> *shrug* not an ME
<rqou> and then azonenberg went out and wrote a real verilog toolchain :P
<pie_> awygle, lol re jpl somewhere today i read something about paranoid launch managers
<rqou> anyways, azonenberg's CSCI 4974 / 6974 actually made me risk my grade and take EE143 :P :P
<rqou> (awygle have you taken that?)
<awygle> rqou: pretty sure no. that's the microfab one?
<rqou> yeah
<awygle> nope
<awygle> kind of regret that now tbh
<rqou> hmm i always forget, awygle did you do more EE or more CS?
<awygle> rqou: very nearly exactly 50/50
<awygle> (in school)
<rqou> hmm i kinda did too (but not 50/50)
<rqou> i guess we're the weird ones :P
<awygle> i thought i was gonna be a controls guy and then i accidentally became a comms guy for a while
<rqou> hmm for some reason i've also taken a ton of controls even though i never actually use it
<qu1j0t3> the azonenberg greenpak4 blog post was a work of art
<qu1j0t3> if that didn't get you on the team then nuffink will
<qu1j0t3> i'd call it...............apogee
<awygle> apogee is the sports bar my father drinks at and i'm convinced it's just because of the name (he's a rocket guy)
<qu1j0t3> :-))
<qu1j0t3> he's a rocket guy _too_?
<qu1j0t3> awygle: where can i read more about your family
<awygle> i am a _satellite_ guy tyvm
<awygle> (someday maybe rockets... but haven't done it yet)
<qu1j0t3> awygle: yeah but i'm a REGULAR underachiever guy so your'e all superheroes to me
<awygle> qu1j0t3: don't you like, write haskell effectively?
<awygle> sounds like a superpower to me
<qu1j0t3> not really. i study it and i could segue into production ANY TIME I WANT RIGHT
<qu1j0t3> no
<rqou> meh, i'm also just an underachiever currently burning out in the MEng program
<qu1j0t3> no awygle it's really not comparable
<qu1j0t3> rqou: self deprecation. you go boldly
<rqou> also with infinity billion projects that are never done
<awygle> i mean i burned out hard on aerospace and now i work on industrial programmers so *shrug*
<awygle> protip: if you're tired of working 70+ hour weeks, starting a business will not, in fact, be less work
<rqou> btw anybody here with more spare time than me want to pick up my steam controller RE work? i'll braindump it over to you
<cr1901_modern> Tbh, I don't really work hard unless I have to.
<qu1j0t3> awygle: yeah, burnout sucks.
<cr1901_modern> It is really a bad personality trait.
<awygle> hey cr1901_modern totally unrelated but how do i get an msys2 environment so i can test this fusesoc PR?
<cr1901_modern> (I have to == "threat to personal safety/well-being")
<qu1j0t3> rqou: that's a really good thing to do but i can't . _sorry_
<awygle> my bad personality trait is that ~all my hobbies are also work
<cr1901_modern> awygle: https://mingw-w64.org/
<qu1j0t3> i'm going to lurk and just admire you people.
<rqou> awygle: my personal opinion is "don't bother, just use linux and apt-get install mingw-w64"
<cr1901_modern> follow the prompt
<awygle> rqou: that is not an option as the bug of concern is specifically "i am running msys2" related
<rqou> ah ok
<pie_> you may not think it but this is what peak apogee looks like
<rqou> i figured cr1901_modern would actually continue to try to make "unix universe" people care about windows :P
<awygle> cr1901_modern: do i want "win-builds", "mingw-w64-builds", or Cygwin (which i already have installed)?
<awygle> or some other thing entirely?
<pie_> #spacemememes
<awygle> (this is why i use cygwin instead of mingw)
<cr1901_modern> awygle: I don't remember, tbh. It's been 2.5 years since I installed it, and I don't have the bandwidth to help tonight :(
<awygle> cr1901_modern: copy, no worries. i'll figure it out
<rqou> huh, that's interesting
<rqou> meanwhile i specifically dropped cygwin in favor of msys because ime cygwin was much harder to use
<awygle> cygwin is pretty easy but is is _dog_ slow
<rqou> (before i dropped all of them in favor of cross-compiling)
<rqou> both cygwin and msys are super slow
<pie_> <awygle> my bad personality trait is that ~all my hobbies are also work
<pie_> this
<cr1901_modern> rqou: I have a few complaints re: cross-compiling, mainly ensuring that the libs I need on Windows are actually available
<pie_> so
<awygle> building Rust is a niiiiiiiiightmare
<pie_> bad
<rqou> cr1901_modern: i also statically-link everything
<cr1901_modern> solvespace doesn't count b/c whitequark made sure to put all dependencies in-tree
<pie_> i need to learn an instrument or something
<cr1901_modern> rqou: Yea, no.
<awygle> (yes i used to regularly build rustc on cygwin, it was dum)
<cr1901_modern> Hard pass.
<rqou> would you rather have dll hell?
<pie_> windows needs Nix
<awygle> anytime we talk about build systems i want to burn the world down
<rqou> yeah, they all suck
<rqou> hey azonenberg, how is splash coming along? :P
<awygle> rqou: not excepting you from that :P
<rqou> oh, my build systems suck too
<pie_> what a circlejerk lol :PP
<cr1901_modern> rqou: Idk, but static builds give me a revulsion
<cr1901_modern> Like it just doesn't feel right
<pie_> cr1901_modern, why
<rqou> i want my distros to be dynamically linked but all "ISV-type" programs to be statically linked
<awygle> soon the web world will get to the "dynamic linking" portion of its slow reinvention of all of desktop engineering, and it will mitigate a lot of bloat issues
<rqou> (yes, this view sucks for the distro maintainers)
<pie_> isv-type?
<awygle> independent software vendor
<pie_> ah
<awygle> is Nix actually good?
<rqou> i'm still waiting for the web world to actually get modules working
<cr1901_modern> pie_: It's a personal feeling. That I'm commit a cardinal sin by loading all that crap into memory when (in theory) I could share code pages between applications using the same dll.
<awygle> it reads to me as academics coming Down From The Mount with the One True Packager so i expect it to be awful
<rqou> for some reason all the rest of es6 got implemented, and then modules took like 2+ more years
<cr1901_modern> Unlike most of windows, msys2 does a decent job w/ this code sharing
<cr1901_modern> most windows apps
<awygle> okay, msys2 is installed. i look forward to the smoking ruin of my cygwin install :P
<rqou> my outsider's view of the ES6 process was "woo, let's implement all the easy stuff like regex flags, then spend forever on 'let temporal dead zone', then spend _even more_ forever on modules"
<cr1901_modern> rqou: Want some irony? I actually deferred to the ES6 spec to try to understand regex flags semantics. I failed miserably
<rqou> oh, and iirc proper tail calls just aren't happening
<cr1901_modern> didn't make any sense and contradicted itself as I recalled
<awygle> ES6 is the last thing i'm excited about in web
<rqou> afaik it's not cut, just not being worked on
<awygle> webworkers, service workers, HTTP 2, webassembly, hell to the yes
<awygle> es6 feels like lipstick on a pig
<rqou> oh, i want those too
<pie_> awygle, i think so but i think documentation may be lacking
<pie_> i still dont know how to use it lmao
<rqou> at least arrow functions shipped a while ago so that you don't need "this" and "that" anymore :P
<cr1901_modern> Ugh keep http 2 away from me. I am SO resentful that they took a simple protocol and "Googlized" it so it requires a team to implement it
<pie_> there *is* doumentaiton though
<awygle> and is NixOS an actual OS or just a linux distro?
<pie_> its "just" a distro
<pie_> hang around in #nixos a bit maybe idk
<pie_> i think hte largest pain point may be integrating with other package managers but its usually manageable
<pie_> that and i dont know what to do 90% of the time i want something mutable
<rqou> oh yeah, i'm disappointed that the major F/OSS servers still don't support http2 push
<pie_> but thats mainly my fault for being a bad learner
<rqou> but afaik you can mitigate that with the power of ServiceWorkers! :P
<rqou> (afaik nobody knows how to use serviceworkers)
<awygle> i haven't actually tried to implement it but it seems to add a lot of good "please stop wasting so much bandwidth" issues
<cr1901_modern> Sure, at the cost of making the protocol 10 times more complex
<pie_> good luck using view source on webassembly
<pie_> ;(
<pie_> i cri every tiem
<pie_> well actually no i only looked at emscripten output i think
<cr1901_modern> Look, this is just a personal, not technical gripe for me. I'm prob going to be at least somewhat resentful for a while.
<awygle> can't argue with you there. my gut swings towards "save bytes * every internet user" rather than "implement difficult protocol * every server". but it does tend towards the confusopoly situation we have in browsers.
<rqou> ooh, examining emscripten output is great :P
<pie_> that should be the second target for my decompiler
<pie_> :P
<rqou> btw, one of my housemates claims that emscripten still needs a lot more work to become used more generally by "web people" (rather than "native code people")
<awygle> that surprises me not at all
<rqou> because apparently a lot of "web people" don't really know about things like ABIs and how emscripten/wasm actually work
<pie_> i was tryin to revere some javascript and it used emscripten
<pie_> cant remembe....wait a minute
<pie_> oh yeah :/ it was some online manga reader
<rqou> so trying to actually interface JS and asm.js/wasm is quite fun
<pie_> the drm descrambler was in it :|
<awygle> i think emscripten is the thin end of the wedge for pushing web peope down the stack
<awygle> although it might end up going the other way
<pie_> in then end i just copied the data from the canvas after much fuckery, and figuring out that they fucked with the canvas prototype at some point somehow so i couldnt use the normal save api
<rqou> have you tried just automating taking screenshots :P
<pie_> dunno if i handled whatever weird scaling they did properly or not, in the end the raw data i got wasnt any higher res than i originall yhad so i wasted like a day on that
<rqou> ah, that's what you were doing
<rqou> just find a different scanlation site :P
<pie_> yeah, comes out at the end of the story :P
<pie_> no this was raws
<awygle> lol
<rqou> O_o raws?
<rqou> you read japanese?
<pie_> the last volume wasnt translated and i was like fine idk japanese ill do this shit myself
<pie_> :P
<pie_> (i.e. fuckkkkk how do i find a translator)
<rqou> hmm, i know someone who did translations for a bit, but idk if she has time now
<pie_> so actually the story is i figured if i can clean the raws (i cant draw) then maybe im more likely to find someone to translate
* awygle eyes the sad .txt remains of his one attempt to translate stuff
<pie_> the original raws i found werent high enough resolution so when i tried to do some editing the dithering was all fucked up and it was just bad etc
<rqou> learning JP is too much work :P
<awygle> my japanese is so bad. people in kyoto made fun of me
<rqou> wait, you know japanese?
<awygle> and of course i've practiced NOT AT ALL since i went and that was in like... 2014?
<pie_> btw the lucky break of the js story was that i accidentally autocompleted to something like mozSaveData
<awygle> veeeeeeeeery badly
<awygle> my spanish is much better
<pie_> and that let me save the binary data easily
<pie_> so fucking hooray for nonstandard apis lmao
<awygle> although that's rotting too now that i'm like 2500 miles from mexico and not going there 3-4 times a year
<pie_> also the code used some kind of event based framework and it was also somewhat minified, so that didnt help either
* rqou claims he will practice mandarin "someday"
<awygle> my cat is very anti work. he's fine with IRC but as soon as i tab over to a terminal his claws come out lol
<pie_> heh
<awygle> actually shit i'll be in mexico in january, i should spend some time practicing
<rqou> hopefully there won't be a wall by then :P :P
<pie_> in the end i bought a copy off amazon for like 12$ and it should arrive sometime in the next month?
<awygle> rqou: i'm going on a boat so it's k :P
* awygle should also check that his passport is in date...
<rqou> wait, but does that mean that the bad hombres can go on a boat too?! :P :P
<pie_> hopefully it is properly printed and i can make some proper res scans and then do the editing ;_;
<pie_> rqou, well...in any case i would appreciate the effort of your friend, if she has time of course
<pie_> also if her engrish isnt horrible ;DDD
<pie_> jk
<pie_> so as if that wasnt enough of a waste of time...
<pie_> now that krita (quite good KDE painting program / sort of image editor) is integrating python scripting support i decided to write an all things considered scanlation plugin thing :/
<pie_> thats stuck since yesterday
<pie_> and thats the end of that lol
<pie_> rqou, you were sayin something about projects xD
<awygle> what i have started doing is restricting myself to one project per month
<pie_> awygle, apparently gui programming is hard and i need to get back to studying :/
<rqou> i just don't make guis
<awygle> pie_: that's february's project :P
<awygle> i usually don't make guis because what i actually like is creating capability, not actually making things
<pie_> rqou, i think good software ui is very important :(
<awygle> so i tend to write libraries
<awygle> instead of programs
<pie_> and visual is high bandwidth
<awygle> pie_: considering how hard it is to get _text ui_ right...
<rqou> someday i'll try a gui again
<awygle> (citations: git)
<rqou> it'll be html5 though (much to azonenberg's displeasure)
<pie_> i suppose i could say the nix UI could take some usability improvements
<awygle> rqou: libservo?
<rqou> apparently the new hotness is Electron?
<pie_> im doing Qt but im seriously pondering whether to use html/js these days :|
<rqou> but idk since apparently this ecosystem rewrites itself every 6 months
<awygle> rqou: electon is also a thing. it's kind of bloaty tho afaict. libservo is servo-as-CEF
<awygle> that's what i'm interested in in february
<rqou> i really want mozilla to ship webusb
<rqou> since they made it usable again
<rqou> then i might just be able to use a normal browser
<pie_> wait waht
<awygle> yeah i'm with pie_, wtf is "webusb"
<pie_> well i can guess
<awygle> that sounds like an abomination unto the lord
<pie_> and im thinking holy shit
<qu1j0t3> w e b u s b
<pie_> this could be great/terrible
<rqou> yeah, it lets you access usb devices in javascript
<qu1j0t3> reminds me of Cisco WebVPN and that was totally gr8
<pie_> mainly terrible for all the bad reasons
* qu1j0t3 shoudl go to bed
<pie_> but it could be great if people were not bad
<pie_> btw
<pie_> if you have webusb, you can literally just boot into your browser
<pie_> fucking lol
<pie_> s/literally//
<rqou> but it's ok, they added a security toaster
<rqou> :P
<rqou> you must click OK for your HW to be pwned
<pie_> the browser is the next java
<rqou> but it still doesn't have minecraft.js :P
<pie_> are you sure...
<awygle> hrm so this file has different permissions in cygwin and msys. that's sensible.
<rqou> lolol
<qu1j0t3> guys please tell pie_ to go to bed
<qu1j0t3> if we all do it maybe pie_ will listen
<awygle> pie_: go to bed it's like 4am
<rqou> last time i used cygwin extensively it somehow managed to so "something" (i never figured out what) to permissions such that trying to delete the files in explorer would take hours
<awygle> qu1j0t3: also go to bed despite my total lack of knowledge about your time zone situation
<awygle> sleep is good
<qu1j0t3> awygle: 12.06am so yes i should do it
* awygle approves sleep
<qu1j0t3> so do I . team sleep
<awygle> imagine a big anime forehead stamp
<awygle> frankly i should go to bed too
<awygle> UGH antivirus detecting ssh-agent as a trojan makes me so angry
<awygle> Security People, do i need AV?
<rqou> i don't use AV anymore
<pie_> rqou, now we only catch the really bad ones
<pie_> :P
<rqou> i have yet to be asked to pay 1 BTC to a hacker :P
<pie_> just wait
<pie_> techies are an untapped market
<rqou> also, stolen joke from twitter: "investing in BTC is shorting on security of the internet of things"
<awygle> lol
<pie_> i wonder if my cubesat project might be an opening move on the internet of space shit market
<pie_> playing the long game
<qu1j0t3> rqou: oh, my timeline is far darker on btc
<qu1j0t3> rqou: I'll have to find a representative example but maybe in the morning
<pie_> right, gnight
<awygle> pie_: if you only knew some of the stuff that's up there
Bike has quit [Quit: Lost terminal]
<qu1j0t3> LOL
<pie_> awygle, im starting to have a clue?
<awygle> "literally an arduino"
<pie_> lol
<rqou> did this actually happen?
<awygle> "literally an android phone"
<qu1j0t3> bwaahah
<pie_> someone on the iss lost their phone?
<qu1j0t3> well that matches the democratisation of everything else
<awygle> okay that one is a bit semantic. they took it out of the case - does it still count?
<qu1j0t3> your bank: "literally a php app that stores passwords in plaintext"
<rqou> not php, but limited to 8 chars and case-insensitive :P
<qu1j0t3> rqou: *sigh*
<awygle> according to a friend of mine at [REDACTED] their new generation of satellite is basically a Microsoft Surface
<pie_> cmon, at least split into two 7 char components
<rqou> (yes, this actually existed in a major us financial institution)
<pie_> awygle, lol nice
<qu1j0t3> awygle: is this horrifying though?
<rqou> but don't worry, you can ask for a free 2FA dongle (must be theirs, not your own TOTP app)
<pie_> im sad microsoft upgraded ntlm
<rqou> also, they've since fixed it
<awygle> qu1j0t3: well we'll see, they haven't flown one yet
<pie_> in my younger days i couldnt crack the admin password :(
<rqou> wait, people are now launching x86 into space rather than weird PPCs?
<pie_> well i still cant
<awygle> i'm not special either, some of the hardware i worked on that actually went to space was, in retrospect, a _terrible_ decision
<awygle> rqou: ARM is much more common but yes, at least one space company uses x86 for their flight computer (an Atom iirc)
<pie_> inb4 space isnt even that bad
<awygle> and on one generation of satellite the Atom jammed the GPS, so they had to configure an FPGA to capture raw GPS data to block RAM and then downlink and postprocess it to get a fix on the satellite :P
<rqou> oh, i had the RAD6000 in mind
<awygle> JPL is still R6K
<rqou> i guess only "real" satellite people waste money on that :P
<pie_> awygle, holy shit
<awygle> the EU is SPARC
<awygle> (LEON)
<awygle> AVR32 is pretty common as well
<rqou> yeah, i'm aware of LEON
<rqou> oh wtf?
<rqou> people other than lain used AVR32?
<pie_> awygle, thats the kind of thing i want my thing to be able to do, sadly 1) dont have the engineers to diagnose a situation like that 2) dont acctually want a situation like that
<awygle> there's a "radiation tolerant" version
<pie_> though i guess we could do simulaiton exercises
<awygle> pie_: i wrote a fun little GPS jammer SDR thing for that
<rqou> why not a microblaze? :P
<rqou> (in a rad-hard virtex)
<awygle> rqou: also done
<rqou> wait seriously?
<awygle> yep
<awygle> my first internship had that architecture
<rqou> and they trusted it to not have errors?
<awygle> they TMR'd it, and it was in a rad-hard virtex as you say
<rqou> did they have the source code?
<pie_> <rqou> and they trusted it to not have errors? -- oh now i get it lol
<awygle> uhhhhhhhhh i don't know
<pie_> TMR?
<awygle> Triple Modular Redundancy
<pie_> ah
<rqou> (btw it's totally possible to steal the MB source code because xilinx is not good at crypto)
<awygle> "a voting logic for every flop"
<pie_> rqou, been there done that?
<awygle> iirc only the solar panel controller was a microblaze
<awygle> the flight computer was a hard PPC inside another virtex
<awygle> or something like that
<awygle> (note for the discering - yes, they were doing real-time SEPIC control in a microblaze)
<rqou> wow xilinx is really popular in space it seems?
<awygle> oh fer sher
<awygle> them and microsemi
<awygle> xilinx mostly older/bigger stuff
<awygle> i don't know of any AlteraSats
<pie_> im guessing this is bad? <awygle> (note for the discering - yes, they were doing real-time SEPIC control in a microblaze)
<pie_> oh uh btw, anyone have a spare bed for CCC, because i might be sleeping under the table lol
<pie_> *a table
<rqou> er, i'll see
<azonenberg> awygle: wait what
<azonenberg> they were running a smps
<azonenberg> With the feedback loop in a ublaze???
<awygle> azonenberg: to the extent that human memory is a reliable source of information, yes
<awygle> which is like five stripes of dumb
<rqou> wait, the whole thing? not just some "slow" loop of some kind?
<awygle> idk if ublaze is a reasonable arch for realtime but like... you have an fpga!
<azonenberg> lol
<azonenberg> exactly
<awygle> the more i think about this the more i am convincing myself this _must_ have been me misunderstanding
<azonenberg> honestly, i would never do safety critical hard realtime in software now
<azonenberg> ever
<awygle> i know the ublaze was involved but it must have just been tweaking control loop constants or something
<azonenberg> I'd use an FPGA, formally verify the implementation, then TMR it
<rqou> i might be lazy like awygle and use a ublaze to do gain scheduling or whatever
<awygle> azonenberg: there really isn't that much hard real time on a satellite (unless you're writing bespoke smps controllers)34
<azonenberg> i meant in general, not sat specific
<azonenberg> With an FPGA it's super easy to prove deterministic hard realtime properties
<azonenberg> independent of other code in the system
<awygle> Agreed
<azonenberg> no rtos or scheduler needed
<azonenberg> That's half the reason antikernel has so much h/w in it
<azonenberg> Because it's so difficult to prove correctness of *some* software
<pie_> awygle, actually its good you know about this stuff because maybe you can shed light on industry vs noob capabilities
<azonenberg> h/w is inherently highly modular
<awygle> I feel like "rtos" has been slang for "microcontroller OS" for a long time now
<azonenberg> Lol, when i say it i mean actual hard realtime
<awygle> no love for soft realtime? :P
<rqou> vxworks and linux-rt are totally rtos's, right?
<azonenberg> A lot of my more important antikernel IP i have provable bounds, to the clock cycle, on how long things take
<awygle> rqou: linux-rt is.... bad
<rqou> i'm vaguely aware, but not of why
<awygle> unless it's improved a lot since ~2014
<azonenberg> And for some but not all cases i actually have constant run time
<azonenberg> awygle: thats no fun :p
<pie_> so i uh didnt actuall yknow about antikernel
<awygle> the guy who did controls at PRI (who is amazing) had all these great sims to show the software guys how hard the realtime requirements were for the various control modes
<rqou> yeah azonenberg is (un)fortunately making it harder for me to go and pwn devices
<rqou> :P
<awygle> "if it comes in *this* late, and we have uncertainty on the arrival time of *this* much, our pointing error is *this*"
<azonenberg> pie_: kinda surprised, i wouldnt expect the average embedded hacker to have heard of it
<azonenberg> but in this channel, it comes up a lot
<pie_> awygle, that sounds really cool
<awygle> pie_: it was. unfortunately it was ~all simulink which caused some problems but it was great for arguing with software
<awygle> (who always wanted more resources and easier requirements, the jerks)
<azonenberg> Lol
<awygle> so ddi the MEs actually, i regularly got "hey so what if the antenna was half as big?" type questions
<pie_> awygle, this modeling based stuff sounds good in theory
<awygle> they changed my structural plastic once without asking and the Dk went up by 10 and my pattern fell completely apart, that was a bad bad series of days
<azonenberg> awygle: o_O
<pie_> bleh brain circuits crossed, replied to wrong order
<azonenberg> honestly i would say that's a fail on both parts
<azonenberg> They should have asked, sure
<pie_> Dk?
<azonenberg> But you should have specified the Dk in your design requirements if it was critical to the system
<awygle> dielectric constant
<pie_> ah
day__ has joined ##openfpga
<awygle> azonenberg: well, yes. but i didn't know it was that critical, and they didn't know it existed
<awygle> nobody covered themselves in glory
<azonenberg> awygle: yeah i guess without knowing the team dynamics its hard to say
<azonenberg> i just know, when designing things somebody else is involved with
<azonenberg> i try as hard as i can to write the requirements from an adversarial perspective
<awygle> it was literally just the hinge of a monopole, i didn't expect it to be such a big deal *shrug*
<azonenberg> i.e. assume the PCB layout engineer is trying to make my board not work
<azonenberg> but still follows my rules
<azonenberg> And constrain him into a corner where it *has* to work :p
<rqou> "the layout must look exactly like this gerber" :P :P
<azonenberg> lolol
<awygle> :p yeah i learned a lot of lessons of that sort during my employment there
<azonenberg> rqou: This is, incidentally, why i try to do my own layout when possible
<azonenberg> Also on that note
<awygle> which are very useful at my current company where many of the engineers are almost caricatures
<azonenberg> i should go and assemble those greenpak thermal characterization breakouts from months ago
<awygle> and don't understand how to communicate their ideas to management at all
<azonenberg> maybe i can get to it this week and set them up on a VPN or something
<azonenberg> so i can do work over xmas
<pie_> azonenberg, so how many phd theses do you have at this point
<azonenberg> Now that i have IP-managed PSUs
<azonenberg> I should be able to do it
<azonenberg> pie_: Only one, lol
<rqou> awygle: yeah, aerospace apparently learned that lesson when the engineers failed to explain to management about o-rings :P :P
<azonenberg> antikernel
<rqou> too soon?
daey has quit [Ping timeout: 248 seconds]
day__ is now known as daey
<awygle> rqou: i don't actually know that one, but from an "adversarial design" perspective, a Proton (iirc) IMU is not keyed and can be installed 180 degrees out of its proper rotation
<awygle> this kills the rocket
<pie_> azonenberg, the shit you do blows my mind, youre literally building a all the hardware you need from scratch and characterizing it and shit
<azonenberg> pie_: If nobody else is building what i need, i build it
<rqou> oh yeah, iirc one of the "real" space agencies did that too
<pie_> i know its possible its just that normally this isnt something a dude just geos and does by himself?
<awygle> a proton is a real rocket
<pie_> azonenberg, yeah thats great
<rqou> o-rings was a reference to Challenger
<pie_> azonenberg, i want to be able to do that
<awygle> also it turns out knowing how many *feet* mars is away is almost, but not quite, good enough to land a spacecraft that works in meters
<azonenberg> awygle: is there a software patch now?
<pie_> lol
<azonenberg> i.e. detect that it's upside down and give an error and/or invert the axis?
<awygle> azonenberg: there's probably a software patch and a hardware patch
<azonenberg> you'd think pre-launch it would notice something is off and complain
<awygle> or "mod kit" as is the term of art
<rqou> wait, didn't they do this multiple times actually?
<azonenberg> if i was writing flight-critical control systems firmware the first thing i'd do on power-up would be a self-test
<azonenberg> To make sure the rocket thinks it's upright etc
<awygle> the problem is that not everyone on the team is an azonenberg
<awygle> and it only takes one guy
<pie_> herp derp im upside down i guess were almost on mars
<awygle> (it should take more of course but that's another discussion)
<azonenberg> pie_: and idk why, none of the stuff i'm doing is *that* challenging
<pie_> azonenberg, thats always how it is ;)
<awygle> azonenberg: STARSHIPRAIDER is the most intimidating _hardware_ thing i've seen from you
<rqou> awygle: right, not just Proton, but apparently the Genesis solar wind mission had a backwards accelerometer too
<awygle> most of what i'm impressed by from azonenberg (and whitequark) is the perceived speed. i feel like i could do all this stuff but at like 1/10th the rate
<pie_> ^
<azonenberg> awygle: i like to describe some of that as my brain being overclocked
<awygle> tbh it makes me want to quit my job sometimes lol
<azonenberg> it may not give a better answer than somebody else, and may even occasionally glitch
<azonenberg> but works most of the time :p
<pie_> azonenberg, same difference
<awygle> i think a lot of it is that i lack focused attention. i do too many things too shallowly. the one-project-a-month thing is intended to help with this
<pie_> yeah focus is important and im severely lacking
<azonenberg> awygle: I have a kind of weird focus or lack thereof
<pie_> among other things
<azonenberg> i find it very hard to concentrate on something i don't really want to do
<azonenberg> but when i get into something, the building could collapse around me and i'd keep on debugging
<awygle> i find it hard to implement things i think i've already figured out
<pie_> also finishing a suitable bachelors degree would probably help since id actually have a clue maybe
<rqou> hmm, i'm pretty similar to awygle it seems
<azonenberg> My solution to that is to time-slice
<awygle> my brain turns off when it thinks it's solved the puzzle and it's hard to convince it to actually do the work
<rqou> wait pie_ why haven't you graduated yet? :P
<azonenberg> Any time i get burned out on something, i bounce to another project
<rqou> aren't you about the same age as me?
<azonenberg> This leads to slow progress on any one project
<awygle> azonenberg: i just don't go back to things then lol
<azonenberg> i.e. antikernel was pretty stalled from the start of the year until last weekend
<awygle> see also books, if i stop reading one for more than 2 days i just will never finish it (unless i start from the beginning much later)
<azonenberg> greenpak stuff has been stalled since the summer
<azonenberg> etc
<azonenberg> But my overall throughput is high since i'm always doing something i really want to be doing
<pie_> rqou, im supposed to be graduating but family problems fucked up my schedule :P
<azonenberg> a lot of people have accused me of not following through on planned projects
<azonenberg> Which is not entirely accurate
<rqou> pie_: :(
<awygle> "a lot of people" <- rqou
<pie_> azonenberg, ah yeah i get it
<azonenberg> the thing is, my queue of planned projects is several lifetimes long
<rqou> hope you get that sorted out
<pie_> awygle, loool
<azonenberg> and the queue is constantly being re-prioritized
<pie_> rqou, also im not sure i would have graduated by myself at this point due to study habits
<azonenberg> So a project with no progress in months may be perceived as dead
<pie_> azonenberg, i follow
<azonenberg> while instead i simply have something else, more important, to do first
<azonenberg> I am certain i won't finish all of them, but i cant begin to predict which ones will or will not be completed at this time
<awygle> you are lucky to be in aposition where you can be the sole judge of "more important" :P
<azonenberg> awygle: Yes, i could never do a product dev day job
<pie_> the thing is youre always making progress on something
<azonenberg> pie_: exactly
<awygle> my goal for like, next year is to get into that position
<azonenberg> so i'm always motivated
<awygle> i have Plans
<azonenberg> Just not always to do the same thing as las tweek :p
<pie_> i do the multitasking minus the progress :P
<pie_> though i guess you already know enough to actually be able to do anything
<azonenberg> pie_: i mean if you look at my github i have like 1800 commits in the last year
<azonenberg> So its not like i'm not doing anything, its just not on one project :p
<azonenberg> awygle: did you see clifford's post re the 7 series CLB btw?
<azonenberg> we may have something to work with soon :D
<awygle> for a long time i thought that if i got good enough, i would be able to finish my projects before i lost interest in them, but i now think that is a fool's errand and i actually have to develop discipline as well as technical skill
<awygle> azonenberg: yes! psyched
<azonenberg> actually, here's a fun TODO if somebody here wants to work on it
<azonenberg> not gonna file a ticket just yet
<awygle> azonenberg: gonna spend Dec. on the PAR stuff btw, speaking of monthly projects
<azonenberg> Write a TCL script for Vivado that exports a Vivado placed-and-routed design file into some kind of text based format
<rqou> oh btw i ran into my friend from berkeley who wanted to work on PAR stuff and it turns out life bit him as well
<azonenberg> in the spirit of XDL, but need not actually be compatible
<azonenberg> just the same type of data
<azonenberg> Then write another script to import a PAR'd design into vivado
<awygle> "shannon-equivalent"
<azonenberg> Yeah lol
<awygle> (this is how i talk to my family at thanksgiving btw)
<azonenberg> This will be useable as a temporary step to use vivado bitgen, as well as vivado's netlist visualization tools etc
<azonenberg> to develop par tools without needing full bitstream RE
<awygle> that's on my list for Dec
<azonenberg> My openfpga priority for the near to medium term is full slg46620 multicorner timing characterization
<azonenberg> then finishing the timing analyzer to do synchronous logic
<azonenberg> But i have other non-openfpga stuff going on too
<awygle> my cat is sleeping on his head. why.
<azonenberg> Shorter term, i need to draw some figures for my POC||GTFO article on TRAGICLASER
<awygle> Dec. is a good month for me in terms of open source work due to how family stuff worked out. Jan. will be a shitshow
<azonenberg> then send it in to Travis
<awygle> oh yeah congrats on that btw
<awygle> cool
<awygle> POC|GTFO is dope
<azonenberg> after that, write a blog post (i'm way behind on my blog) on my active diff probe as well as my solder-in probes
<awygle> iirc the second-last one had some LoRA stuff i used
<azonenberg> the solder-in probes are a completed project, the diff probe isn't complete but is usable if you dont mind some gain/offset error
<pie_> tfw someone you know is gonna be in poc||gtfo
<awygle> ugh it's 11/26, i am definitely not going to get my Nov project where i wanted it...
<awygle> i should take tuesday off lol
<pie_> i should not fail my exams
<azonenberg> i know several authors
<pie_> plan was to study linear algebra
<awygle> pie_: you should go to sleep
<azonenberg> and the editors
<azonenberg> Spend any time in the infosec con circuit and you'll meet travis
<pie_> azonenberg, yeah but youre a big boy
<pie_> i actually did run into him in budapest
<awygle> linalg is fun
<pie_> "but first ill read this paper on intermediate representations"
<rqou> i still don't get why poc||gtfo is "a thing"
<azonenberg> rqou: it publishes cool stuff and doesnt have awful copyright restrictions and paywalls like most academic journals
<awygle> i enjoyed meeting michael ossmann
<azonenberg> mike is cool too
<pie_> awygle, i seem to have an aversion to actual work even though linear algebra has a bunch of cool stuff that will be useful for me
<azonenberg> He'd probably get a kick out of it too
<azonenberg> pie_: if it makes you feel any better, i majored in CS instead of EE
<awygle> he has been pimping you all over town
<azonenberg> in large part because i didn't want to have to take diffeq
<awygle> re: the greenpak stuff
<azonenberg> awygle: lol nice
<pie_> azonenberg, lool
<rqou> on a different topic, does anybody have recommendations for ethernet-controllable power switches? (ac line voltage)
<pie_> rqou, time.....to die
<rqou> i really want to rig up a script that auto-resets our crappy cable modem every time it loses link
<azonenberg> rqou: ask in ##networking for managed PDU recommendations?
<azonenberg> or is that overkill
<awygle> my linear algebra class was super well taught, but diffeq was terrible, but eventually i figured out they were the same thing
<rqou> (also, afaict losing link is probably caused by some neighbor injecting noise into the coax, but that's not my problem)
<pie_> rqou, connect the internet led to a miltivibrator :D
<rqou> awygle: wait, you didn't take math54?
<awygle> rqou: get an isolator? idr how coax works
<awygle> rqou: i did, but they were two different professors for hte two halves
<rqou> hmm that's weird
<awygle> also the books were wildly different
<rqou> when i took it they had taken two books and smushed them together into one "berkeley edition" book
<pie_> my linalg classes are pretty sleep inducing, hypothetically i have a good book tho
<awygle> yeah that was right after i took it. i gave both of my books to a friend and he was fine
<pie_> math is a lot of work no matter what you do, thats not bad, but you actually need to do the work :|
<rqou> i also took math54 with prof. voiculescu who is a pretty infamously bad lecturer (although a brilliant mathematician)
<awygle> okay fuck i give up on you and your bullshit permissions, msys
<awygle> i'll make somebody else test this
<pie_> awygle, windows subsystem for linux?
<pie_> i hear its not bad
<pie_> or are you on win7 still :P
<awygle> pie_: msys is different
<pie_> oh right not cygwin
<awygle> and the problem i have is that fusesoc is supported on msys
<rqou> azonenberg: i don't need a full PDU (yet), i just want one outlet that i can toggle from a shell script
<awygle> and my patch (allegedly) breaks it
<awygle> so i need to solve the problem
<awygle> but i can't reproduce it because i can't run the test suite because permissions
<pie_> oops i have class in an hour...
<pie_> lel
<pie_> luckily thats my only class today...
<awygle> pie_: it totally happens in college, but i cannot stress enough how crappy "look how tough i am for not sleeping" culture is, do not get sucked into it
<awygle> related: i'm going to bed, goodnight all. happy holidays etc
<pie_> awygle, this is not new for me and ive been trying to fight it for a while :/ its not a tough habit its a me habit >_M
<pie_> o/
<azonenberg> awygle, pie_: I never did allnighters
<awygle> pie_: as a lifelong insomniac, right there with you
<pie_> azonenberg, they arent worth it
<azonenberg> What i did, however, was find that i didnt work well with a 24-hour owrk day
<pie_> yes thats absolutely correct
<azonenberg> When not forced into one by a class/work schedule, I default to a 28-hour day
<azonenberg> about 19 hours awake and 9 asleep
<awygle> i did a thing where i worked unti i was tired, then slept 3 hours, then worked until i was tired again
<rqou> ah, so xkcd time :P
<pie_> azonenberg, i think that makes two of us then
<monochroma> rqou: does it need ethernet?
<azonenberg> That's what i get into if i work until tired then sleep until i wake naturally
<rqou> monochroma: no, but i don't want some shitty arduino dangling around with live wires
<pie_> something like that. i actually sleep/wake relatively consistently
<awygle> it literally did drive me insane after a while though. i had a series of bizzare synesthetic experiences followed by a series of weird "reintegration" nightmares
<pie_> the problem is im basically nocturnal
<azonenberg> pie_: yeah when i'm on that schedule i kinda rotate every week or so
<pie_> and the world does not operate on that clock
<azonenberg> through diurnal and nocturnal schedules
<azonenberg> pie_: get a job in hong kong
<azonenberg> while living in the us
<awygle> pie_: if you have Delayed Sleep Phase Syndrome melatonin can help
<azonenberg> Problem solved
<pie_> awygle, ive been pondering about it
<awygle> or at least it helped me. i shouldn't talk like i actually know anything.
<rqou> but there aren't too many interesting tech jobs in HK :P
<awygle> could be all placebo for all i know
<rqou> (other than m-labs)
<azonenberg> rqou: china then?
<azonenberg> of course now you have china's wages and US cost of living
<monochroma> rqou: the cheap wifi ones are mostly esp8266 based
<azonenberg> but that's not my problem :p
<pie_> best thing ever was i was at my friends house one weekend, somehow flipped my schedule back to normal for a week
<rqou> monochroma: no, prefer wired
<pie_> then i spent all night coding one night and fucked it up again
<monochroma> rqou: ah then the ~$60 single port outlet on amazon is a pic18 and will do what you want, just segment it and don't let it on your real network lol
<pie_> i dont have a lot of classes this semester, im terrified of next semester lol
<rqou> yeah my network is already segmented
<rqou> although i think i'm going to segment it again
<pie_> network? hardly knew 'er
<azonenberg> monochroma: lol
<rqou> since i'm trying to separate the router/firewall from the nas
<monochroma> rqou: it's stupid expensive for what it is, but if you just want to solve the problem... https://www.amazon.com/ezOutlet-Internet-Enabled-Android-Interface/dp/B00KQ4R1RK/
<rqou> hmm i might just live with it until i move out
<monochroma> pulls a DHCP lease (and then you can give it a static address) and has a web UI to configure it, hitting /invert.cgi inverts the stat of the relay :P
Dolu has joined ##openfpga
<monochroma> the two port one (https://www.amazon.com/3Gstore-Remote-Power-IP-Switch/dp/B00LLVQ9OI/) is a MIPS linux system lol
* pie_ wanders off
mtp has quit [Ping timeout: 248 seconds]
pie_ has quit [Ping timeout: 276 seconds]
<rqou> azonenberg: i just thought of a neat lab equipment that is too expensive for me to obtain (but you probably might want): argon-filled gloveboxes
mtp has joined ##openfpga
pie_ has joined ##openfpga
user10032 has joined ##openfpga
<azonenberg> rqou: that i have no use for, for the near future at least
<azonenberg> however, i do plan to set up a nitrogen purge for the reflow oven in my new lab
<rqou> is that really needed?
<azonenberg> Don't know :) i'm going to be getting a nitrogen bottle and distribution plumbing for lots of things
<azonenberg> Seems like minimal effort to run some tubing to the oven i
<azonenberg> i can always not open the valve during a given soldering operation
<rqou> what is it supposed to improve?
<azonenberg> Less oxidation, better flow of solder
<azonenberg> Probably more important for lead-free
<azonenberg> i also want to set up a local exhaust of some sort for the oven so i dont have smoke venting into the main lab area
<azonenberg> carbon filter + intake above it or something
<rqou> just use fans :P :P
<azonenberg> fans have to blow somewhere
<rqou> towards the neighbors :P
<rqou> but yeah, you hit surface area to volume ratio problems quickly
<azonenberg> that means holes in the wall
<azonenberg> i want to move to filtering based fume extraction in the new lab to avoid the need for openings since my new garage has no windows
<azonenberg> i'll probably try to set up some kind of forced air exchange system if i really need to circulate air for some reason
<rqou> ugh, i've wasted the whole day today
<rqou> brb food
<azonenberg> But in general i want contaminated air to be cleaned and sprayed back into the lab
<azonenberg> Since the contaminants are generally low concentration, known, and not all THAT nasty
Hootch has joined ##openfpga
massi has joined ##openfpga
<whitequark> awygle: i relate to what azonenberg said about focus
<whitequark> it's a bit similar to ADD/ADHD, actually
<azonenberg> Yeah i've never been officially diagnosed but definitely have some tendencies in that direction, as well as probably some ASD
<azonenberg> Probably subclinical but definitely noticeable
<whitequark> "probably" pff
<whitequark> have you seen your projects
<azonenberg> Lol :p
<whitequark> you've been quite lucky in the exact way your ADD-like symptoms manifest, I had that for a few years but then BDII hit
<whitequark> and completely broke it
<whitequark> now I have to manually tune it with modafinil or it doesn't eggs
wpwrak has quit [Read error: Connection reset by peer]
wpwrak has joined ##openfpga
user10032 has quit [Remote host closed the connection]
<rqou> i probably have some ASD-ish tendencies too but not anything diagnosable
<rqou> not ADD/ADHD though
nrossi has joined ##openfpga
Dolu has quit [Ping timeout: 255 seconds]
pie_ has quit [Ping timeout: 248 seconds]
pie_ has joined ##openfpga
<pie_> i need to start making a list of people to meet at ccc heh
Hootch has quit [Quit: Leaving]
<rqou> other than me, felix_, and clifford, i'm not sure who else in this channel is going
<pie_> hopefully the new clockline stuff lets you not need to use verilog
teepee has quit [Ping timeout: 272 seconds]
teepee has joined ##openfpga
qu1j0t3 has quit [Ping timeout: 248 seconds]
qu1j0t3 has joined ##openfpga
xdeller has quit [Quit: Leaving]
knielsen has quit [Ping timeout: 240 seconds]
xdeller has joined ##openfpga
xdeller has quit [Client Quit]
knielsen has joined ##openfpga
teepee has quit [Ping timeout: 258 seconds]
teepee has joined ##openfpga
enriq has joined ##openfpga
X-Scale has joined ##openfpga
teepee has quit [Ping timeout: 248 seconds]
teepee has joined ##openfpga
teepee has quit [Ping timeout: 260 seconds]
bubble_buster has quit [Read error: Connection reset by peer]
bubble_buster has joined ##openfpga
indy has quit [Ping timeout: 255 seconds]
teepee has joined ##openfpga
teepee has quit [Ping timeout: 240 seconds]
teepee has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
Dolu has joined ##openfpga
enriq has quit [Client Quit]
enriq has joined ##openfpga
teepee has quit [Ping timeout: 272 seconds]
teepee has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
azonenberg_work has quit [Ping timeout: 255 seconds]
azonenberg_work has joined ##openfpga
enriq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
enriq has joined ##openfpga
enriq has quit [Client Quit]
enriq has joined ##openfpga
enriq has quit [Client Quit]
enriq has joined ##openfpga
enriq has quit [Client Quit]
enriq has joined ##openfpga
pie_ has quit [Quit: Leaving]
enriq has quit [Client Quit]
pie_ has joined ##openfpga
Dolu has quit [Read error: Connection reset by peer]
<awygle> whitequark: I sometimes look at the number of projects I start vs the number I finish (or even get to any kind of useful state) and think "... ADD?"
<awygle> But then I think about a friend who has ADD and it was absolutely devastating to her life until she got on Adderall and think I'm probably just not very disciplined
<shapr> I can't keep a job without ADD meds
<shapr> awygle: it's a bell curve
<qu1j0t3> i get distracted on the edges but somehow if i care about a project enough, i keep it moving slowly even if i only work on it irregularly
<qu1j0t3> i have a lot of abandoned things too, frequently they just weren't good projects anyway
<qu1j0t3> i'm getting better at triaging them as i get older
<qu1j0t3> i'm more realistic about 'will I *do* this?' 'can I learn anything from this?' and 'is this actually useful?'
<qu1j0t3> it takes some effort though
<qu1j0t3> lately i've been able to say 'your stack of projects is high enough, do NOT add this'
<qu1j0t3> i've been watching pie_ struggle with this :)
<qu1j0t3> tentative theory that when you're younger it's harder for multiple reasons
<qu1j0t3> somehow i managed to get distracted back then even without the internet
<qu1j0t3> otoh i probably got more reading done...
m_t has joined ##openfpga
Dolu has joined ##openfpga
jhol has joined ##openfpga
m_w has quit [Quit: leaving]
m_w has joined ##openfpga
pie_ has quit [Ping timeout: 248 seconds]
pie_ has joined ##openfpga
digshadow has quit [Ping timeout: 240 seconds]
<whitequark> azonenberg: does an Ethernet implementation need to validate preamble if FCS matches?
massi has quit [Remote host closed the connection]
<azonenberg> whitequark: So to be honest, in modern ethernet the preamble is almost useless
<whitequark> talking about hmm
<azonenberg> in 100base-TX and 1Gbase-X (not familiar with the 1Gbase-T line coding or >=10G stuff)
<whitequark> 100BASET and 1GBASET
<whitequark> oh
<azonenberg> the line coding include an idle character between frames
<azonenberg> then a control character to indicate start of data
<whitequark> Yeah no I need T
<azonenberg> I assume 1gbase-t is similar but i've never actually read that part of 802.3
<azonenberg> The preamble exists so that the old 10Base-T stuff, which had no expansion in the line code so no way to do in-band signaling
<azonenberg> could sync to the packet clock and then properly determine the start of the packet
<whitequark> what about 100baset
<azonenberg> As soon as you bring out 4b5b or 8b10b or something like that, the utility of the preamble is null
<azonenberg> There is no 100base-T
<azonenberg> there's 100base-TX and 100base-T4
<whitequark> TX?
<whitequark> I think?
<whitequark> oh yeah
<whitequark> TX
<azonenberg> T4 is an obsolete design that uses a line code which is an ancestor of 1000baseT but basically isnt used now
<azonenberg> as far as TX goes, the 4b5b has a control character for idle and one (well technically two in succession) for "start of stream"
<whitequark> wait
<azonenberg> So theoretically you could have the preamble be omitted and just have the dest MAC right after the SSD (start of stream descriptor)
<azonenberg> Most compliant MACs would complain
<azonenberg> but it would be a valid line code you could reliably sync to and decode
<whitequark> ohhhhh
<azonenberg> It's basically there so you can easily bridge a 100baseTX frame to 10baseT without injecting and removing a preamble
<whitequark> *facepalm*
<azonenberg> The spec still requires it for this reason
<azonenberg> But my PHY for example basically ignores it
<azonenberg> The CRC does not cover the preamble, in any case
<azonenberg> it starts with the dest MAC
<whitequark> yes, our compliant MAC complains
<whitequark> and our users complain about MAC complaining lol
<azonenberg> Lol
<azonenberg> Basically what i'm saying is, the spec requires it and most macs assume it's there (at least a 55 55 D5, it may not check for the full 7 bytes of 55)
<azonenberg> But it is essentially a vestige of 10baseT
<azonenberg> and serves no real purpose anymore other than "everyone expects it"
<whitequark> thanks!
<whitequark> this helps a lot
<azonenberg> At the PHY layer, it's ignored completely
<azonenberg> The first two nibbles of preamble in 100base-TX are replaced with the SSD on sending and the SSD is turned into 55 on receiving
<azonenberg> The remainder of the preamble is passed through the PHY unchanged
digshadow has joined ##openfpga
<shapr> I learn lots of fun trivia here.
<azonenberg> whitequark: actually interestingly enough, and there's no way they could have imagined this going in
<azonenberg> but in 40/100gbe
<azonenberg> the XLGMII interface is eight bytes wide
<azonenberg> The preamble is sent in one clock cycle as a "start" control code followed by 55 55 55 55 55 55 D5
<azonenberg> then the packet starts the next cycle
<azonenberg> So to get that alignment you do actually need the full preamble
Ultrasauce has quit [Remote host closed the connection]
<azonenberg> (most MACs wont properly decode data that isn't aligned like that)
<whitequark> shapr: one person's fun trivia is another person's many months annoying bug ;_;
<shapr> yeah, agreed
<shapr> whitequark: I've been following you on twitter for a bunch of years, did I perhaps find you via atomic object or Haskell or something?
<azonenberg> well if there's one protocol stack i know well by this point it's Ethernet and TCP/IP
<azonenberg> At this point i've implemented 10baseT PHY, 100baseTX PHY, base-T autonegotiation, 1000base-X PCS, gig-e MAC, IPv4, IPv6, TCP/UDP for IPv4, ICMP for IPv4/IPv6
<azonenberg> in one way or another
<shapr> I'm jealous
* azonenberg needs to get some 10G hardware soon
<whitequark> shapr: atomicobject, easily
<whitequark> random idea: have a SoC generator output register definitions in format of a relocatable object file
Ultrasauce has joined ##openfpga
<whitequark> then you don't need to rebuild your entire firmware from scratch every time you poke one core and the layout of everything else changes
<azonenberg> whitequark: this requires dynamic linker support in your firmware no?
<azonenberg> or do you just mean have registers in a .o file and link against that without recompiling everything?
<azonenberg> because if the latter case that's common practice, pretty sure the PIC32 libc does exactly that
<whitequark> the latter
<whitequark> ah
<azonenberg> the header declares extern int REG_NAME
<azonenberg> then you link against pic32mx340f512h.a
<whitequark> cool, never seen it before personally
GenTooMan has joined ##openfpga
<azonenberg> i didnt know anyone did it any other way
<azonenberg> lol
<whitequark> just huge headers with lots of defines
<azonenberg> i have not seen it auto-exported from a soc generator before
<azonenberg> in antikernel i sidestep the need nicely by having a name server
<azonenberg> so at startup each core asks the name server (always at a fixed address by convention) where the other stuff it needs to talk to is
<azonenberg> So no recompiling, no dynamic linking
<azonenberg> You just have a global variable in each IP core / binary for "address of peripheral foo"
<azonenberg> Then you SendRPCMessage(g_ramAddress, ...)
<azonenberg> The name server contains a ROM created by the soc generator with addresses of all the soft IP
<azonenberg> then a RAM where you can register the PID of a binary with a hostname
<awygle> I don't understand why there's no discoverability layer on top of wishbone or axi
<whitequark> azonenberg: btw why 55 55 D5 specifcially?
<whitequark> i.e. 3 octets?
<awygle> Seems like it'd be a trivial amount of additional hardware to save a ton of work upstacj
<azonenberg> whitequark: i meant 55 55 ... 55 D5
<whitequark> oh
<azonenberg> My MAC core will always send what the spec requires
<azonenberg> on received, it expects a single 55 to initialize the state machine
<azonenberg> then it transitions to "packet data" after seeing a D5
<azonenberg> Anything other than a 55 or D5 results in an error that drops the packet
<azonenberg> however, the number of 55s is not checked
<azonenberg> so 55 D5 is sufficient
<whitequark> ack
<azonenberg> This is for my own IP however so YMMV with third party MACs
<azonenberg> And this is for my GMII core specifically
<whitequark> we have our own MAC
<azonenberg> If i wrote a XLGMII core it would likely require the full preamble
<azonenberg> since the bus is 8 octets wide
teepee has quit [Ping timeout: 258 seconds]
teepee has joined ##openfpga
<rqou> heh, this ethernet stuff reminds me of stories that my father told involving stealing cycles of the IFG/preamble so an FPGA (that was interposed between a phy and a "real" switch) could have time to do processing
<rqou> azonenberg, whitequark: i've never seen the "compile registers into a .o" trick. that's pretty clever. i have seen "put them into a linkscript"
<rqou> but apparently linkscripts are terrible?
user10032 has joined ##openfpga
<whitequark> they're just somewhat patchily supported
<whitequark> relocatables though exist everywhere
<rqou> i remember you being unhappy with devkitARM's linkscripts?
<rqou> although iirc it's because they had a bunch of cargo-culted legacy stuff
teepee has quit [Ping timeout: 248 seconds]
teepee has joined ##openfpga
m_w has quit [Quit: Leaving]
nrossi has quit [Quit: Connection closed for inactivity]
m_t has quit [Quit: Leaving]
gnufan has joined ##openfpga
pie_ has quit [Read error: Connection reset by peer]
pie_ has joined ##openfpga
user10032 has quit [Quit: Leaving]
<rqou> so I'm catching up on whatthefuckjusthappenedtoday, and this is amazing
<rqou> Gary Cohn faked a bad connection to get off a phone call with Trump during a discussion with Democratic senators about tax reform earlier this month. The White House economic advisor wanted to have a conversation on tax reform without Trump, who was traveling in Asia at the time. Trump called in anyway and after 15 minutes Senator Tom Carper turned to Cohn and said, "We’re not going to have a real conversation h
<balrog> rqou: that was like a week ago?
<rqou> yeah
<azonenberg> Sooo... there are biscuits and Triscuits
<azonenberg> But what's a monoscuit?
<cr1901_modern> How do I delete someone else's IRC message?
<azonenberg> And are there other, longer-chain scuits?
<rqou> azonenberg this isn't twitter
<rqou> and you aren't a shitposting cosplaying alchemist girl
<azonenberg> rqou: Lol
<awygle> Fucking hell lol
<cr1901_modern> https://twitter.com/rbarris/status/935283092121456640 Good God all of you
<awygle> Y u do dis
<azonenberg> Lol
Bike has joined ##openfpga
<awygle> Although scuit polymerization research sounds more interesting than my current project
<azonenberg> lolol
<awygle> Which is bit-by-bit comparing every configurable parameter of these two chips to figure out why one works and the other doesn't
<awygle> This layer has 41
<awygle> And there are three more layers
<azonenberg> Fuuun
<balrog> waitamin
<balrog> I know who that is
<balrog> I didn't realize he was doing FPGA work now
Dolu has quit [Ping timeout: 268 seconds]