azonenberg_hk has quit [Remote host closed the connection]
woddy has joined ##openfpga
<lain> hmm darn, he left
doomlord has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<digshadow> rqou: if you come to mtvre tonight I have desoldering iron
azonenberg_hk has joined ##openfpga
wodsworth has joined ##openfpga
uwe__ has quit [Ping timeout: 258 seconds]
woddy1 has joined ##openfpga
woddy has quit [Ping timeout: 248 seconds]
wodsworth has quit [Ping timeout: 258 seconds]
woddy1 has quit [Ping timeout: 258 seconds]
doomlord has joined ##openfpga
pie_ has joined ##openfpga
uwe_ has joined ##openfpga
digshadow has quit [Quit: Leaving.]
digshadow has joined ##openfpga
digshadow has quit [Client Quit]
doomlord has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
firebird_ has joined ##openfpga
m_w has quit [Quit: leaving]
m_w has joined ##openfpga
m_w has quit [Client Quit]
pointfree has quit [Remote host closed the connection]
pointfree has joined ##openfpga
m_w has joined ##openfpga
jn__ has quit [Ping timeout: 245 seconds]
jn__ has joined ##openfpga
mifune has joined ##openfpga
amclain has quit [Quit: Leaving]
DocScrutinizer05 has quit [Disconnected by services]
DocScrutinizer05 has joined ##openfpga
m_w has quit [Quit: leaving]
firebird_ has quit [Ping timeout: 258 seconds]
firebird_ has joined ##openfpga
firebird_ has quit [Ping timeout: 268 seconds]
mifune has quit [Ping timeout: 240 seconds]
digshadow has joined ##openfpga
mifune has joined ##openfpga
doomlord has joined ##openfpga
mifune has quit [Ping timeout: 265 seconds]
firebird_ has joined ##openfpga
<rqou> felix_: about our old ath10k discussion, did you want me to get you an ath10k card after all?
doomlord has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
doomlord has joined ##openfpga
rqou has quit [Quit: ZNC 1.6.3+deb1 - http://znc.in]
rqou has joined ##openfpga
Bike has quit [Quit: manticore]
doomlord has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
maaku has quit [Read error: Connection reset by peer]
maaku has joined ##openfpga
<cyrozap> So I rewrote/ported my PSoC UDB config parser to Go...
<cyrozap> I decided to do a speed test to compare the performance of the Python and Go parsers.
azonenberg_hk has quit [Remote host closed the connection]
<cyrozap> The Python run took 98 ms (text output piped to /dev/null, hard-coded config file filename).
<cyrozap> The Go run took _7 ms_ (text output piped to /dev/null, hard-coded config file filename).
<rqou> same parser algorithm?
<rqou> also, why Go and not Rust?
<cyrozap> kinda, not really though
<cyrozap> The Python version does some dictionary lookups, so that's probably slowing it down a bunch
<cyrozap> Argument parsing in the Python version will another 50 ms to the run time.
<rqou> are the parsers both LR(1), LALR(1) or custom? or is this not a relevant question? (haven't looked at the code)
<cyrozap> rqou: It's just "iterate through each byte in the binary blob, setting some variables as it passes over each bit"
<rqou> oh it's a binary :P
<rqou> i thought it was a text file
<cyrozap> Go version isn't up yet
<cyrozap> I need to clean it up, and it's waaaaay past bedtime for me
<rqou> why Go?
<cyrozap> Because it's what I know
doomlord has joined ##openfpga
<cyrozap> I stayed away from Rust for a while because it hadn't hit a stable version yet
<cyrozap> But I've been meaning to learn it
<rqou> i've also been meaning to learn (actually use) it
<rqou> offtopic: i'm currently performing the really exciting task of updating windows on my laptop
<rqou> it turns out my laptop is pre-anniversary update
<rqou> so you can probably guess how much fun this is
<lain> lol
<rqou> i just did the debian side relatively painlessly
<lain> windows updates have always been pretty painless for me
<lain> same for freebsd and debian, generally
<rqou> for me it tends to take forever and require babysitting and multiple cycles
<rqou> unlike debian where one dist-upgrade usually gets everything
<rqou> it's still "preparing" updates
<rqou> which i guess means it hasn't started yet
<rqou> next will be the even more fun task of updating osx
<rqou> (which i still need to get working in a VM)
doomlord has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
azonenberg_hk has joined ##openfpga
<rqou> "1342 upgraded, 125 newly installed, 32 to remove and 8 not upgraded."
<rqou> whoops, I should update more regularly
<azonenberg_hk> rqou: yeah i try to do it monthly, more often if i hear about a major security ifx in a particular package i use
<rqou> you weren't here when i was complaining about updating windows on my laptop
<rqou> it's pre-anniversary update
<rqou> today
<azonenberg_hk> lol
<rqou> and my osx is "the thing before el captain"
<azonenberg_hk> i still have some debian 7 boxen floating around so...
<azonenberg_hk> But that isn't eol yet i think
<azonenberg_hk> and upgrading them is planned
<azonenberg_hk> i just didnt get to it before i left on this trpi
<rqou> i'm running debian unstable anyways, so no "eol" for me :P
<azonenberg_hk> Will probably move everything to 9 when it comes out
<rqou> just varying bugs
<rqou> also i have a little bit of a frankendebian so that doesn't help
<rqou> i have various non-repo debs installed
<rqou> some of which are designed for ubuntu
<rqou> and/or somehow keep ancient packages pinned
<azonenberg_hk> lol oh joy
<rqou> e.g. the silego tools
<rqou> :P
<rqou> the latest versions don't install properly
<azonenberg_hk> oh?
<rqou> (i should move them to a container)
<azonenberg_hk> well their distribution is a nightmare
<azonenberg_hk> its a zip file
<rqou> or the amd blob driver
<rqou> which i actually only have partially installed
<azonenberg_hk> containing debs for every recent ubuntu or debian version
<azonenberg_hk> 32 and 64 bit
<rqou> it's a long story
<rqou> :P
<azonenberg_hk> you have to download like half a gig to get one 50MB package
<rqou> the amd blob driver is designed for ubuntu
<rqou> one of its components needs openssl1.0.0
<azonenberg_hk> ...
<azonenberg_hk> wut
<rqou> somehow i had that on my system because of something else or whatever
<rqou> but only the 64-bit version
<rqou> i never had the 32-bit version
<rqou> debian unstable is now on >=1.0.2
<rqou> and jessie is on <1.0.0
<rqou> so it's impossible for me to get a 1.0.0 deb anywhere
<azonenberg_hk> Lol
<rqou> i should repack / wait for someone to repack this
<rqou> it's in such a messy state that it needs a repack anyways
<azonenberg_hk> In other news, i'm working on implementing the DCMP blocks finally
<azonenberg_hk> I think i have the cell-level interface worked out
<azonenberg_hk> its going to be a pain in the butt
<azonenberg_hk> Because there's three DCMPs and no two are the same
<rqou> hmm I just found an interesting bug
<azonenberg_hk> oh?
<rqou> toggling the video input port on my monitor somehow messes with USB enough that it causes qemu/KVM to stop redirecting my mouse
<rqou> which isn't plugged into the hub on the monitor
<azonenberg_hk> weird, lol
<azonenberg_hk> i unplugged a usb 3G module the other day
<azonenberg_hk> attached to a VM
<azonenberg_hk> and it died so bad it took down the hypervisor
<azonenberg_hk> does that count? :P
<rqou> wtf
<rqou> why is USB so terrible?
<azonenberg_hk> well, the VM crashed - i only had one open so idk if the whole hypervisor was affected or only that instance
<azonenberg_hk> cr1901_modern: ^
<azonenberg_hk> ever seen ethernet do that?
<azonenberg_hk> :P
<lain> lol
<azonenberg_hk> (sorry, coudlnt resist)
<rqou> somebody has a hack to pass through only the ehci half of an ehci+xhci host controller
<azonenberg_hk> loool
<rqou> and then they use setpci to toggle ports back and forth
* lain dies inside
<rqou> it doesn't help how my motherboard has either onboard hubs or an extra host controller
<rqou> and I don't know what the port layout is
<rqou> btw I _still_ need to set up my Ethernet switch
<rqou> anyone in the Bay Area got a "Cisco-style" console cable?
<rqou> also qemu's virtual disk is super duper slow
<azonenberg_hk> rqou: I have plenty of them back in the seattle area lol
<azonenberg_hk> I also have a board i found super handy
<azonenberg_hk> its an FT4232H
<azonenberg_hk> four MAX232s
<azonenberg_hk> and a quad RJ45 jack
<azonenberg_hk> with no magnetics
<azonenberg_hk> So you can do four cisco consoles with just a normal straight-through ethernet cable
<rqou> wtf what company designed that?
<azonenberg_hk> Me
<rqou> oh lol
<azonenberg_hk> a guy in another chan wanted one
<azonenberg_hk> I sold it to him at cost in exchange for open sourcing the design
<azonenberg_hk> two units actually
<azonenberg_hk> then kept one for myself
<azonenberg_hk> of course that stuff is in my garage off the coast of seattle, and i'm in hong kong until a week from tomorrow
<azonenberg_hk> soooo not much use
<rqou> hmm I wonder how many benchmarks were accidentally published of a "Red Hat VirtIO SCSI Disk Device" :P
<azonenberg_hk> lol
<rqou> hey, this has to be messing up analytics somewhere
<rqou> :P
<azonenberg_hk> Lol yeah i bet
<azonenberg_hk> i know steam has some records of my VMWare SVGA whatever it is
<azonenberg_hk> in crash dumps etc
kuldeep_ has joined ##openfpga
kuldeep has quit [Ping timeout: 268 seconds]
<rqou> you play games in a VM?
<azonenberg_hk> a) i dont trust steam enough to run it natively
<azonenberg_hk> b) source engine linux needs libraries newer than debian stable ships
<azonenberg_hk> c) i dont have a native windows box
<azonenberg_hk> at all
<azonenberg_hk> So, do i have an alternative? I'm not a serious enough gamer to justify building a windows machine just for gaming
<azonenberg_hk> and i'm not going to change distros just to play games natively
<rqou> hmm I see
<rqou> I play games using pcie passthrough
<rqou> aand updating the update as usual
<rqou> thanks Windows
<rqou> why is installing all updates at once so difficult?
<azonenberg_hk> i cant do pcie passthrough without another gpu
<azonenberg_hk> i dont have any more pcie slots
<azonenberg_hk> i dont even have enough for the 10gbit nic i want
<lain> vmware 3d accel is pretty good though
<azonenberg_hk> it is
<azonenberg_hk> not perfect but quite good
<azonenberg_hk> its the main reason i still use vmware
<rqou> for 0-days? :P
<lain> also that, yeah
<azonenberg_hk> rqou: i have it turned off on my web browsing vms, lol
<azonenberg_hk> which i see as the main entry points
<rqou> you don't want a WebGL to VM escape to root on host?
<lain> yeah and just disable WebGL entirely
<azonenberg_hk> Nope
<rqou> iirc this was demoed onve
<azonenberg_hk> lain: i just disable javascript whenever i can
<lain> probably
<rqou> at pwn2own or something
<azonenberg_hk> rqou: as soon as i have the budget
<azonenberg_hk> i plan to move my browsing vms to a dedicated vm server in the dmz
<azonenberg_hk> and not run them on a host i care about
<lain> I want pcie passthru on my server to a vm but apparently my chipset doesn't support it
<lain> or actually
<azonenberg_hk> they're already bridged to the dmz network and have no access to the internal network unless they manage to escape the vm
<lain> the chipset DOES, but it's disabled in firmware because intel's impl. is broken
<azonenberg_hk> lain: lol
<rqou> what
<rqou> which chipset?
<lain> intel 5520
<rqou> ah that's a relatively old one
<lain> yes
<rqou> I'm running a broadwell-ep xeon on X99
<rqou> (yes, this is allowed)
<lain> haha
<rqou> not allowed on Skylake+ though
<rqou> I went through three motherboards finding one that worked correctly with ECC RAM
<rqou> also, getting the board to boot was quite an endeavor
<rqou> broadwell-ep is relatively new so the bios didn't support it
<lain> lol
<rqou> but you need to be able to boot to update the bios
<rqou> unless you're asrock and your bios ROM is a socketed dip
<azonenberg_hk> i think i'v seen asuses and some others
<rqou> then you can theoretically flash it with flashrom and an FTDI thingy
<azonenberg_hk> that had it as a dip 25Q chip
<rqou> except that the chip they used defaults to quad spi mode on both command and data
<azonenberg_hk> Lol
<azonenberg_hk> because you really need to send that read command so quickly
<rqou> and the "stop using quad spi" command had to be sent... as quad spi
<azonenberg_hk> and it's so much work to just send 03 00 00 00 [bunch of SCK cycles]
<azonenberg_hk> rqou: um
<azonenberg_hk> look carefully
<azonenberg_hk> i'm pretty sure most of these chips have an x1 exit sequence
<azonenberg_hk> i looked at this a while ago
<rqou> no it doesn't, I checked
<rqou> this one was weird
<azonenberg_hk> it wasnt a jedec standard quad one?
<azonenberg_hk> b/c the command set is pretty commoditized
<rqou> mostly
<rqou> idk, I'll look it up in a bit
<rqou> anyways, I wrote a script to bitbang the "exit quad spi" command
<rqou> the left the chip powered and ran flashrom
<rqou> worked
<rqou> except that it loses the Ethernet MAC
<rqou> fortunately asrock is bad enough at their job that apparently their boards just lose the Ethernet mac
<rqou> occasionally
<rqou> so they released the Mac flashing tool
<rqou> :P
<lain> hah
<azonenberg_hk> lolwut?
<azonenberg_hk> they just randomly forget the mac address
<rqou> for example on my dual bios board only one of the ROMs has the correct mac programmed
<rqou> I think it's mostly during RMAs and other servicing that they forget to reflash the MAC
<azonenberg_hk> Oh
<azonenberg_hk> so it doesnt like randomly corrupt the config memory or something
<azonenberg_hk> because that would be pretty scary :p
<azonenberg_hk> i'd be like "so what, is it gonna forget the CPU voltage setting next?"
<rqou> no, you tend to lose the mac when doing some "special action" like updating the bios or doing an RMA
<azonenberg_hk> ah ok
<azonenberg_hk> thats a bit more understandable
<azonenberg_hk> problematic but less terrifying
<azonenberg_hk> Speaking of eeproms etc
<azonenberg_hk> i've been meaning to delayer a microchip 24C
<azonenberg_hk> and see if they use 2T EEPROM cells like the older ST 24Cs do
<azonenberg_hk> or if it's 1T NOR flash with an 8-bit erase block size
<azonenberg_hk> i suspect the latter
<azonenberg_hk> as that's what the "EEPROM" on the 350nm PICs is
Lord_Nightmare has quit [Ping timeout: 245 seconds]
<rqou> i remembered incorrectly
<rqou> reads can always be done in SPI mode
<rqou> writes default to QSPI
<azonenberg_hk> ah, ok
<rqou> the "exit QSPI" command is the standard 0xF5
<rqou> but it still has to be sent as QSPI :P
<azonenberg_hk> Lol
<azonenberg_hk> Oh joy
<azonenberg_hk> I always have used 1-1-4 or 1-4-4 read timing
<azonenberg_hk> because i am not doing execute-in-place or othr stuff thats performance criticla
<azonenberg_hk> i just want a fast load of a large rom image or something as a linear read
<azonenberg_hk> saving time on the address seems pointless
Lord_Nightmare has joined ##openfpga
<rqou> even if you do XIP the command probably takes very little time vs the data
<azonenberg_hk> Well
<azonenberg_hk> 8-bit command + 24-bit address
<azonenberg_hk> for say a 128-bit cache line
<azonenberg_hk> that's a 20% overhead
<azonenberg_hk> in x1 or x4 mode
<azonenberg_hk> 25%*
<azonenberg_hk> now if you do command+address in x1 that's 32 clocks for setup plus 32 for data
<azonenberg_hk> Which is 100% overhead
<azonenberg_hk> Cutting 64 clocks down to 40 seems worth it, no?
<rqou> hmm I expected it might fetch multiple cache lines
<azonenberg_hk> if you do prefetching etc sure
<azonenberg_hk> that was just an examplethough
<azonenberg_hk> there are situations where it helps a lot
<azonenberg_hk> And others, like loading an FPGA image, where it doesnt
<rqou> I wonder what esp8266 does?
<rqou> supposedly it's just cache over the qspi rom
<azonenberg_hk> i saw some stm32 clone somewhere that was all sram iirc
<cr1901_modern> azonenberg_hk: Bite me :)
<azonenberg_hk> booted from die-bonded spi flash
<rqou> yeah, giga device
<azonenberg_hk> cr1901_modern: you're not in hong kong, and too big to fit in my mouth
<azonenberg_hk> so sorry i'll have to pass
<rqou> my dad knows a guy that knows the founder of that company
<azonenberg_hk> :P
<azonenberg_hk> oh?
<azonenberg_hk> thats 3 levels of indirection
<azonenberg_hk> in the bay area surprised it's that high
<azonenberg_hk> :p
maaku has quit [Quit: No Ping reply in 180 seconds.]
<rqou> lol
<rqou> but it's a Chinese company, does that heuristic still apply?
maaku has joined ##openfpga
<azonenberg_hk> bay area to china is just an ocean :p
<azonenberg_hk> prob 99% of hardware companies in ht ebay area outsource manufacture to china
<azonenberg_hk> so...
<azonenberg_hk> i guess 3 levels is about right
* cr1901_modern is only sporadically paying attention
mithro has quit [Ping timeout: 258 seconds]
<cr1901_modern> Well I suppose nothing in principle prevents me from talking to a custom Ethernet device using something lower-level than TCP
<cr1901_modern> though Idk if Windows would like me trying that
flaviusb has quit [Ping timeout: 258 seconds]
<azonenberg_hk> both windows and linux allow raw sockets if you're root
<azonenberg_hk> and UDP is easy enough to do in hardware i'd argue there's no reason not to use it
marcus_c has quit [Ping timeout: 258 seconds]
<azonenberg_hk> ethernet provides a link layer CRC which is kinda important over long wires
<cr1901_modern> I mean keep the Ethernet part of the packet, ditch the TCP/IP part
<azonenberg_hk> Yeah
<azonenberg_hk> what i meant is, UDP is not hard to implement
<azonenberg_hk> and port numbers let yo uhave the equivalent of multiple usb endpoints
<azonenberg_hk> for different types of traffic
<cr1901_modern> UDP might be okay, but from my own experience, I end up doing a lot of bookkeeping crap in software
<cr1901_modern> b/c there's no acknowledgement that the xfer even worked
<azonenberg_hk> Well yeah
<azonenberg_hk> The alternative is full TCP
marcus_c has joined ##openfpga
<azonenberg_hk> But then again with usb there's always the possibility of certain kinds of packets being dropped too
<rqou> warning about raw Ethernet packets:
<cr1901_modern> Idk if USB has the same problem with acknowledgment
<rqou> on windows the Intel wired Ethernet driver can eat 802.1q headers
<rqou> silently
<rqou> (on RX only)
<azonenberg_hk> rqou: lol wut
* azonenberg_hk runs 802.1q to his linux desktop without problems
<azonenberg_hk> i have like three vlan interfaces
<rqou> linux works fine
<rqou> only Windows
<azonenberg_hk> one to the internet-connected network and two to private test networks w/o intenret access
<cr1901_modern> azonenberg_hk: Does USB have the same ack problem when I send data?
<rqou> and only if the Intel driver can feature is disabled
<azonenberg_hk> its so much easier to debug a prototype on a LAN segment that doesnt have anything talking
<rqou> *vlan feature
<azonenberg_hk> cr1901_modern: i know certain kinds of transfers are best-effort
<azonenberg_hk> I don't know what happens to the others if there's a crc error
<rqou> I found this out at my Broadcom internship
<azonenberg_hk> I know i have seen the ftdi stack drop packets occasionally at high data rates but idk if thats usb layer or app layer or silicon issues
<rqou> I also found that libpcap gets really sad when you dump an actual 1gbps at it :P
<cr1901_modern> If I used an FTDI FIFO chip, I could be reasonably confident a new entry made it into the FIFO without checking in my own software
<azonenberg_hk> cr1901_modern: I wish
<azonenberg_hk> lol
<azonenberg_hk> You can have reasonable confidence that point to point udp over a short ethernet cable will too
<azonenberg_hk> But if you try to push say 10 Mbps of JTAG traffic through a FT232H's MPSSE
<azonenberg_hk> after a few gigabytes you're all but certain to drop a packet
<azonenberg_hk> and things will get confused
<azonenberg_hk> i dont know what layer this is happening at
<rqou> btw funny thing about the way Broadcom's code works
<azonenberg_hk> USB may well not be responsible
<rqou> it basically assumed 802.1q is always enabled
<cr1901_modern> azonenberg_hk: The idea was I thought the USB driver would check to ensure the data got delivered
<rqou> I think the SDK would assign a default vlan to untagged packets internally
<lain> in usb you have isochronous, bulk, and interrupt transfers
<azonenberg_hk> cr1901_modern: I know usb can drop packets at the link layer
<azonenberg_hk> due to crc fails
<azonenberg_hk> I know there are recovery mechanisms at upper layers
<azonenberg_hk> I do not know what level the failure in the ftdi stuff is
<lain> isochronous are constant-time (audio, usually), and dropped packets are lost forever
<azonenberg_hk> i also have not tried pcapping mpsse traffic to see what kind of transfers it uses
<lain> interrupt are polled from the host since all comms are initiated from the host, despite the name (this may differ in usb3, I haven't looked much. I'll be an expert soon enough lol)
<azonenberg_hk> if memory serves me right the old ft232r used interrupt transfers for everything
<lain> there's a guaranteed polling interval you can set, I forget how interrupt transfers deal with packet loss / corruption
<cr1901_modern> recovery mechanisms at upper layers?
<lain> and bulk are intended for large packets, they are automatically retried
pie_ has quit [Ping timeout: 250 seconds]
<lain> though I've seen plenty of embedded devices that don't wait for the ack from the host, and just go ahead and load the next packet into the buffer regardless, resulting in corrupt/wrong data
<lain> *cough* flir *cough*
<azonenberg_hk> lol
<lain> actually the flir code is worse than that
<azonenberg_hk> cr1901_modern: so basically just like tcp :p
<cr1901_modern> See, USB has an ACK!
<cr1901_modern> So no I would not trust UDP for most things
<cr1901_modern> that *I* want to do
<lain> hehe
<azonenberg_hk> cr1901_modern: this is why tcp exists
<lain> U Drop Packets, etc
<cr1901_modern> azonenberg_hk: You *just* *said* to use UDP ;)
<azonenberg_hk> But you may find UDP plus application layer retry is better for your application
<azonenberg_hk> cr1901_modern: And i was speaking about FTDI specifically not being super reliable
<azonenberg_hk> YMMV but i have seen FT232H's pushing GB of data drop messages
<azonenberg_hk> And i have not had the time or inclination to debug
<cr1901_modern> Well I haven't sent out any boards to a fab yet. During Christmas I'll have time to play with Microchip
<azonenberg_hk> It's to the point that i have retry code in my FTDI JTAG stack
<cr1901_modern> s SPI Ethernet controllers
<azonenberg_hk> to work around dropped packets
<azonenberg_hk> because they happened often enough to interfere with my testing
<cr1901_modern> how do you know messages are dropped ;)?
<cr1901_modern> so maybe it might be worth the trouble to replace the FTDI chip with that Microchip IC and a microcontroller
<cr1901_modern> but idk
<azonenberg_hk> Because i sent a read command to the board and got nothing back
<azonenberg_hk> It only takes about 13 minutes to push 1GB of data over 10 Mbps JTAG if you are running flat out
<azonenberg_hk> 1 Gbit is less than 2 minutes
<azonenberg_hk> What this means is, if you have a 1E-9 error rate you'll have a CRC fail in a packet about every 2 minutes
<azonenberg_hk> and if 3% of those errors aren't handled you'll have the jtag adapter hang once every hour
<azonenberg_hk> now multiply that out by a farm of say ten devkits
<azonenberg_hk> you see the problem? :P
<azonenberg_hk> i'm pulling these numbers out of my butt but i can say i observed multiple failures per hour in normal use across my test cluster
<cr1901_modern> https://youtu.be/VGjY5SsOHoM?t=1m5s Start time relevant
<cr1901_modern> Up to 1:08
<lain> haha
<cr1901_modern> that's my reaction to all this
<azonenberg_hk> lol
<cr1901_modern> Just "GREAT!" :D
<lain> btw
<lain> you can specify a specific length of time :3
<lain> if you use the /embed/ api
<cr1901_modern> I need that as a gif in my life
<lain> the video clip, or how to use that embed url thing? :P
<cr1901_modern> the video clip
<cr1901_modern> https://www.reddit.com/r/IAmA/comments/5hwk9i/i_am_a_pest_controller_specializing_in_bed_bugs/db3jbe7/ I knew the moment they mentioned caulking, there was gonna be a reference to a Certain Game
<lain> lol
<azonenberg_hk> buffalo genocide simulator
<azonenberg_hk> lol
<lain> lol
<cr1901_modern> It's funny because it's true :D
<lain> cr1901_modern: I got u fam https://i.imgur.com/Q2hgk02.gifv
<lain> gotta justify this Adobe CC subscription somehow...
<cr1901_modern> excellent :D
<lain> :D
* lain adds a new alias, /great
<rqou> hmm apparently I got a gpu-related hard lockup
<rqou> of the host
<rqou> iommu fail?
<lain> the bug in the 5520 was so weird, the errata was like... if you do a specific sequence of IO operations, then it'll just go corrupt random memory
<lain> and they couldn't patch it
<lain> so they had to just disable that feature... but lots of bios vendors didn't update... so like linux kernel and such have quirks to ignore the iommu supported flags on that one :P
<rqou> idk what bug I have here
<rqou> I was updating the VM GPU drivers for what that's worth
<lain> no idea
<lain> I hear there are lots of interesting problems around pcie passthrough with gpus, but I don't know enough about it to understand why gpus might be different
<rqou> at some point I should figure out if it is possible to pass through only one port of my Intel x520 just for extra bugs
<lain> lol
<rqou> afaik this is supposed to be possible
<rqou> as in, one of the features
<lain> ah
<lain> magic
<rqou> it's an enterprise nic
mithro has joined ##openfpga
<felix_> rqou: it would be awesome if you could buy me the ath10k card with qca9880 (hw version 2) and bring it to the 33c3. do you want paypal now or cash (euro) at the congress?
doomlord has joined ##openfpga
<felix_> i'll probably also have an openwrt router with that chipset there, but when i poke stuff the vendor didn't intend to be poked randomly, i'd like to have a second chip/card in case i fry the first one ;)
<balrog> see ya there I guess?
<felix_> yep
<felix_> i'm there from day 0-4
<felix_> i'd highly recommend arriving at day 0 and not day 1; it's effectively a day more congress
<balrog> I'm arriving afternoon of the 26th
<felix_> also much less waiting time to get the entry wristband (not sure if that's the correct term in english)
<felix_> yep, thats day 0
<balrog> specifically around 3pm
<felix_> iirc i'll arrive at about 4pm
massi has joined ##openfpga
woddy has joined ##openfpga
amclain has joined ##openfpga
cr1901_modern has quit [Read error: Connection reset by peer]
massi has quit [Ping timeout: 264 seconds]
maaku has quit [Quit: No Ping reply in 180 seconds.]
maaku has joined ##openfpga
massi has joined ##openfpga
maaku has quit [Ping timeout: 260 seconds]
maaku has joined ##openfpga
Bike has joined ##openfpga
maaku has quit [Ping timeout: 260 seconds]
maaku_ has joined ##openfpga
pie_ has joined ##openfpga
mifune has joined ##openfpga
mifune has quit [Changing host]
mifune has joined ##openfpga
mifune has quit [Read error: Connection reset by peer]
mifune has joined ##openfpga
mifune has quit [Changing host]
mifune has joined ##openfpga
massi has quit [Remote host closed the connection]
rvense has quit [Read error: Connection reset by peer]
rvense has joined ##openfpga
maaku_ has quit [Quit: No Ping reply in 180 seconds.]
maaku has joined ##openfpga
flaviusb has joined ##openfpga
<jhol> felix_: I wish I could join the fun - I will have to settle for watching via Kodi from a semi-compatible time-zone
pie_ has quit [Changing host]
pie_ has joined ##openfpga
woddy has quit [Quit: woddy]
azonenberg has quit [Ping timeout: 258 seconds]
azonenberg has joined ##openfpga
woddy has joined ##openfpga
digshadow has quit [Ping timeout: 252 seconds]
scrts has quit [Ping timeout: 240 seconds]
doomlord has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<pie_> pointfree, on that note you guys have a collective bibliography somewhere?
<pointfree> pie_: I just had the same thought.
<pointfree> I can add a page to the openfpga wiki?
<pie_> probably dont even have to ask, though either way im not the one to ask :D
<pointfree> Maybe I'll just put it under the section "Other open FPGA toolchain projects"
* pie_ kinda likes to do librarianish things
<jhol> where is the openfgpa wiki?
<jhol> I saw that repo, but it look's very GreenPak-ish from the title on the main page
scrts has joined ##openfpga
<pie_> well i think openfpga is greenpak at this point?
digshadow has joined ##openfpga
<pie_> i mean thats what it supports
<pie_> but idk, i kinda just hang around in here because there's bound to be a bunch of cool stuff :P
<jhol> uwe_: how many mediawikis are running on that sigrok's VM? I wonder if these folks could be furnished with a proper wiki instead of this GitHub buisiness
<jhol> - something to think about
doomlord has joined ##openfpga
<pie_> pointfree, if nothing else, you might start collecting stuff on an etherpad or something
<pointfree> pie_: I'm adding a section to the wiki right now.
<pointfree> jhol: I'm using a federated wiki https://hapgood.us/2014/06/04/smallest-federated-wiki-as-an-alternate-vision-of-the-web/ for my gelFORTH project http://www.gelforth.org/view/welcome-visitors I see it as the solution to wikipedia deletionism.
<jhol> well that sure is clever
mifune has quit [Ping timeout: 260 seconds]
<pointfree> Anyone have the reference for the icestorm paper?
doomlord has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<pointfree> ...actually, every one of these papers has a code repository of sorts, so I think these could all go into the section "Other Projects"
<pie_> pointfree, but what if you find something htat doesnt? :P
qu1j0t3 has quit [Ping timeout: 258 seconds]
firebird_ has quit [Ping timeout: 240 seconds]
<pointfree> pie_: I can't think of any such papers where the authors didn't implement anything. If the code is unavailable we can link to the paper and the link to the repo will just be unclickable text (I can't think of any examples). IMHO proprietary projects are out of scope. This organization can all be changed whenever.
<rqou> hmm anyone here familiar with vhdl footguns?
<rqou> if i am reading the vhdl formal grammar correctly, a'b'c can be interpreted as a "name"
<rqou> even though the middle part looks like a character literal
<pie_> isnt vhdl a footgun? </imjoking>
<rqou> sure
cr1901_modern has joined ##openfpga
<rqou> ok, apparently vhdl managed to not footgun themselves
<rqou> a'b'c is a valid production according to the EBNF
<rqou> but it can't ever actually occur
<rqou> because you can't assign an attribute to an attribute
<rqou> only to a simple_name
<rqou> i think?
azonenberg_hk has quit [Ping timeout: 260 seconds]
<cr1901_modern> vhdl is an unrestricted grammar IIRC
<cr1901_modern> so you're fucked trying to parse it anyway
<cr1901_modern> Idk how it works tho; prob similar to how C++ grammar is undecidable, but I never understood why.
<rqou> afaik vhdl isn't undecidable
<rqou> hilariously enough, perl is undecidable
<rqou> i think vhdl just happens to have a really shitty reference ebnf
<mtp> perl is undecidable for much the same reason that C++ is
<cr1901_modern> How does one parse an undecideable grammar. Most parsing books only talk about the context-free case (and C is close enough that the extra logic you have to add is more of a pain in the ass to write than "difficult to understand")
<rqou> you have to parse and evaluate simultaneously
<cr1901_modern> s/books/reference/
<cr1901_modern> evaluate *what* exactly?
<pie_> cr1901_modern, part of c++ undecidability is that templates are turing complete i think
<rqou> templates for C++, something that I don't understand for perl
<pie_> idk if theres anything past templates making the issue
<rqou> my favorite (/s) parser is php's
<pie_> cr1901_modern, for fun times, probably try SKI calculus
<rqou> it generates bytecode directly from the parser
<rqou> because they had no idea what they were doing
<rqou> not to be confused with lua's ad-hoc parser that also generates bytecode directly from the parser as a deliberate choice to make the parser faster and simpler
<rqou> *make the interpreter
<rqou> btw scala accidentally made themselves undecidable too
<rqou> but afaik it's not at the parse stage
<rqou> it's at the type evaluation stage
<rqou> scala's type system can implement an ski calculus
<rqou> but apparently if you actually try it the compiler will stack overflow
<rqou> yeah, that's still template stuff
<pie_> rqou, lel @ stack overflow
<pie_> i put i put a program in yo program so you could compile while you compile
<rqou> yes, but afaik scala at least can decidably generate a parse tree
<rqou> hmm apparently rust also has turing-complete type inference
<pie_> if rust has it it cant be bad
<pie_> :P
azonenberg_hk has joined ##openfpga
<rqou> hmm according to reddit it's not the type inference but trait resolution
<rqou> apparently type inference in rust was deliberately made turing-incomplete
<rqou> lol apparently java footgunned themselves and made generics turing-complete too
<pie_> lol
<pie_> does java even try tho?
<pie_> jk :P
<rqou> iirc parse tree generation was explicitly made to be LALR(1)
<rqou> mediawiki also apparently footgunned themselves too
<rqou> turing-complete templates
woddy has quit [Quit: woddy]
<rqou> cr1901_modern: relevant to your interests? https://www.youtube.com/watch?v=hB6eY73sLV0
<cr1901_modern> I've seen it long ago, but thanks :P
<azonenberg_hk> rqou: well i know c/c++ macros allow a lot of stuff
<azonenberg_hk> not sure if turing complete or not
<azonenberg_hk> i know c++ templates are
<rqou> macros are explicitly designed to not be turing complete
woddy has joined ##openfpga
<rqou> although it becomes turing complete if you can loop the output back through the preprocessor again
<pie_> macros are like, one or two pass maybe i think_
<pie_> ?
<azonenberg_hk> rqou: you can #include yourself
<azonenberg_hk> which allows recursion
<rqou> afaik that's not sufficient
<azonenberg_hk> most compilers will crash after too many levels
<pie_> hm.
<azonenberg_hk> but the spec allows it
<pie_> ah heh xD
<azonenberg_hk> I once saw a macro that implemented a ~14 bit ALU out of bitwise operations
<rqou> oh you missed me talking about vhdl earlier
<azonenberg_hk> and calculated the prime numbers up to... 2048?
<azonenberg_hk> statically at compile time, lol
<rqou> according to the vhdl ebnf, a'b'c is a valid example of a "name"
<azonenberg_hk> Took many GB of RAM and only one compiler the author could find would build it without segfaulting
<azonenberg_hk> i saw that, wow
<rqou> but apparently that can't actually happen
<rqou> i don't know if you saw that part, but afaik you can't assign an attribute to another attribute
<pie_> i cant look it up right now but theres a fun thing, probably unrelated, about generating the llargest possible error message when compiling c++ i think?
<pie_> its somewhere on stackoverflow
<rqou> you can only assign an attribute to a "simple_name"
<azonenberg_hk> pie_: there is a contest for that
<pie_> golf probably
<pie_> *codegolf
<azonenberg_hk> for largest ratio of gcc stderr size to source file size
<rqou> so apparently the vhdl designers actually thought about footguns but just did a terrible job writing the ebnf
<azonenberg_hk> lol
<pie_> something something vhdl wasnt designed for the purpose its used for
<pie_> but i could be wrong
<pie_> well im thinking of verilog. idk about vhdl
<rqou> both were designed as simulation modeling languages
<rqou> not for synthesis
<pie_> yeah that
<rqou> vhdl doesn't talk about how to do synthesis at all
<pie_> azonenberg_hk, im pretty sure thats it
<pie_> ambivalent emotions ensue
<pie_> title?
<rqou> atari 2600 in minecraft
<pie_> oh heh
<rqou> unfortunately using command blocks
<pie_> shame
<pie_> redstone logic masterrace
<rqou> a pure redstone version would probably be orders of magnitude even slower
<pie_> redstone logic is like fine wine
<rqou> redstone + pistons is pretty neat too
<rqou> pistons allow dynamic logic
<pie_> ohgodyes
<pie_> guys
<pie_> guys
<pie_> oh shit
<rqou> azonenberg_hk: when is yosys going to synthesize to redstone?
<pie_> redstone fpga
<pie_> i was too slow :(
<pie_> rqou, beat me by a second
<rqou> i was actually going to do that years ago but didn't know enough about P&R algos
<azonenberg_hk> cpld is easier
<pie_> ive never actually done any erdstone circuitry and im not sure i want to
<azonenberg_hk> i think
<azonenberg_hk> wired or based?
<pie_> azonenberg_hk, not that id know, isnt that just a "small fpga"?
<azonenberg_hk> no
<azonenberg_hk> and-or array vs luts
<rqou> redstone is more like an asic actually
<pie_> what do you mean wired or based?
<pie_> azonenberg_hk, oh, i see i think. something something cpld is basically a ROM?
<pie_> (well i vaguely remember reading something like that, but thats probably a level lower actually)
<pie_> if it was a ROM it would be a ROM >.>
<pie_> (wired or) based you mean?
* pie_ had some trouble parsing that sentence
<pie_> language is not context free :(
digshadow has quit [Quit: Leaving.]
digshadow has joined ##openfpga
<pie_> redstone fpga is only cool if its done with pistons tho
<pie_> :P
<rqou> having redpower (or one of the newer clones) would be neat too
<rqou> a little bit cheating though
<rqou> redpower has some tiles that essentially allow you to build compact ROMs
<pie_> the hardcorest way would be to use a discrete optimizer or something to see how compact you can make stuff
<pie_> assuming theres (mathematically) a point to even trying
<pie_> or smt solver or whatever is appropriate
<rqou> yeah i'm guessing minecraft would crash pretty quickly :P
* pie_ adds minecraft solver to "things to maybe play with with discrete optimization"
<pie_> of course half of that is probably going to be trying to figure out how to model minecraft for a solver and im not sure i want to do that xD
<rqou> i wonder if cl ifford will actually merge a minecraft backend for yosys if i submit it on april 1st? :P
<pie_> heh
<pie_> well, 4 months left
<pie_> #doit
<rqou> minecraft might actually be easier than a normal asic because it's truly 3d
<rqou> although routing channels will probably congest quickly
<pie_> we thought we could, we didnt think whether we should, because we didnt care
<pie_> #greenpakkraft