--- Log opened Thu May 24 00:00:31 2018 |
00:10 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Connection closed] |
00:23 | | McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has quit [[NS] Quit: Lost terminal] |
00:44 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
00:44 | | mode/#code [+ao VirusJTG VirusJTG] by ChanServ |
00:52 | | celticminstrel [celticminst@Nightstar-jocbi5.dsl.bell.ca] has joined #code |
00:52 | | mode/#code [+o celticminstrel] by ChanServ |
01:30 | | McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has joined #code |
01:30 | | mode/#code [+ao McMartin McMartin] by ChanServ |
01:44 | | Vornotron [Vorn@Nightstar-oe1443.res.rr.com] has quit [Ping timeout: 121 seconds] |
01:51 | <&McMartin> | I guess this is the right place to ask, with a side attn: iospace and ToxicFrog |
01:51 | <&McMartin> | If I don't actually have an Arduino board etc handy, what's the best way to get a good-quality 8-bit AVR compiler/simulator? |
01:52 | <&McMartin> | There seems to be a gcc target but it looks suspiciously 32-bit |
01:52 | <&McMartin> | (Also I don't trust that backend to be any good) |
01:54 | <&McMartin> | Hm. I guess arduino has free tools for download and online. |
02:01 | <&ToxicFrog> | No idea, I got the board as a package deal with a bunch of analog components that were the part I actually wanted |
02:02 | <&ToxicFrog> | So by the time I was actually interested in AVR programming I already had the hardware |
02:02 | <&ToxicFrog> | That answers the simulator question, anyways |
02:02 | <&ToxicFrog> | For the compiler question, the Arduino toolchain uses avr-gcc, avr-objcopy and avrdude for all the heavy lifting. |
02:03 | <&McMartin> | Okay. avr-gcc is just in the Fedora repos to begin with, at least. |
02:03 | <&McMartin> | Is there a simulator in the toolchain? I'm basically imagining writing a routine or two and then running it for five seconds and then checking a memory dump. |
02:03 | <&ToxicFrog> | Yeah, in SUSE the relevant packages are avrdude, cross-avr-gcc8, and avr-libc |
02:04 | <&McMartin> | avrdude is the actual "program your chip" program? |
02:05 | <&ToxicFrog> | Yeah |
02:05 | <&ToxicFrog> | As for simulation, I don't recall if the arduino toolchain comes with one |
02:05 | <&McMartin> | So, that's the one I *don't* need, as it happens~ |
02:05 | <&ToxicFrog> | the SUSE repos contain only TeXlive-avremu |
02:05 | <&McMartin> | Yeah, that's the one I was hoping to not use, because, well, yeah |
02:06 | <&McMartin> | That's that AVR emulator written in LaTeX |
02:06 | <&ToxicFrog> | I vaguely recall hearing of simAVR but have never used it and know nothing about it except that ca. 10 years ago it was billed as the AVR simulator that linux had needed but did not yet have |
02:07 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has joined #code |
02:07 | | mode/#code [+o himi] by ChanServ |
02:07 | <&McMartin> | I'd just found that |
02:09 | <&McMartin> | It looks like neither one actually supports the ATMega328P though -_- |
02:09 | < Mahal> | I only have windows answers, so I cannot help much |
02:09 | <&McMartin> | Windows is fine! |
02:10 | < Mahal> | Copilot uses the Arduino IDE https://www.arduino.cc/en/Main/Software |
02:10 | <&McMartin> | Does that include a simulator for the chip in it, do you know? |
02:10 | <&McMartin> | Basically the question I'm trying to answer is "I want to see what a piece of code I wrote does without buying a chip and figuring out how to both program it then get data out" |
02:11 | < Mahal> | I cannot answer that question, but i can say that he tests compiling all of his code prior to actually plugging in an arduino to it |
02:11 | < Mahal> | and will not plug in the arduino until it compiles. |
02:11 | <&McMartin> | That turns out to be a much lower bar, unfortunately. |
02:11 | < Mahal> | Yeah |
02:11 | <&McMartin> | I'll see what all is in there, I guess. |
02:11 | < Mahal> | I don't think it actaully simulates the chips tho |
02:12 | <&McMartin> | (Among other things: the program I want to test is going to end up being, most likely, a blob of numbers by the time I want to see if it works) |
02:15 | <&McMartin> | Some extra googling seems to be turning up a variety of variously-fractionally-assed projects that might more or less work |
02:15 | <&McMartin> | So, very much like every other homebrew project I've taken on~ |
02:20 | <&McMartin> | simavr looks like the best thing to initially look into for this. |
02:24 | <&McMartin> | And then to get the "I want to look at memory" etc, there's an avr-gdb |
03:01 | | Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
03:32 | | Degi [Degi@Nightstar-benhb3.dyn.telefonica.de] has quit [Connection closed] |
04:42 | | celticminstrel [celticminst@Nightstar-jocbi5.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
04:42 | | celticminstrel [celticminst@Nightstar-jocbi5.dsl.bell.ca] has joined #code |
04:42 | | mode/#code [+o celticminstrel] by ChanServ |
04:46 | | celticminstrel [celticminst@Nightstar-jocbi5.dsl.bell.ca] has quit [Connection closed] |
05:00 | <@iospace> | McMartin: I was at work, Microchip has Atmel's Visual Studio based IDE |
05:01 | <@iospace> | as for emulation, I believe it does it, but I've never used it personally https://www.microchip.com/mplab/avr-support/atmel-studio-7 |
05:01 | <@iospace> | I have the old ISP MkII (that's no longer made) |
05:31 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has quit [Connection closed] |
05:40 | | Derakon is now known as Derakon[AFK] |
06:19 | | Kindamoody[zZz] is now known as Kindamoody|afk |
06:42 | < Mahal> | welp, today I've taught myself the basic principles of regex (specifically in Powershell if it matters) |
06:42 | < Mahal> | can I go home now |
06:43 | <@Reiv> | no |
06:43 | <@Reiv> | Now you know regex, you shall never go home again |
06:43 | < Mahal> | (it was admittedly a very simple regex) |
06:43 | < Mahal> | $username = [regex]::replace($username, '^*@contoso.com$', "@contoso.net") |
07:06 | | Vornicus [Vorn@Nightstar-oe1443.res.rr.com] has joined #code |
07:06 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
07:08 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Connection closed] |
07:09 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
07:09 | | mode/#code [+ao VirusJTG VirusJTG] by ChanServ |
07:37 | | Vornicus [Vorn@Nightstar-oe1443.res.rr.com] has quit [Ping timeout: 121 seconds] |
07:45 | | Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has joined #code |
08:05 | <&jeroud> | Regex is great for the things it's great at. :-) |
08:05 | <&jeroud> | Not so much for the more complex things it often ends up being used for. |
08:06 | | * McMartin is lacking some context |
08:06 | | * McMartin LIES HORRIBLY for the sake of the pun |
08:07 | <&McMartin> | Also augh |
08:07 | <&McMartin> | That regex reminds me of the old H*R intro |
08:07 | <&McMartin> | "Hello, and welcome to Homestar-runner.net!" |
08:07 | <&McMartin> | <offstage whisper> "it's .com!" |
08:07 | <&McMartin> | "Oh right, sorry. Cut!" |
08:07 | | * jeroud throws a zero-length lookahead at McMartin. |
08:07 | <&McMartin> | "Hello, and welcome to Homestar-runner.net. 'It's dot com!'" |
08:08 | <&McMartin> | TODAY'S THRILLING EPISODE BROUGHT TO YOU IN PART BY: Shorty's Milk Brine. "It could be worse!" |
08:08 | | * McMartin sacrifices it to the LALR gods, then takes his k-limit and begins his rapid recursive descent. |
08:12 | | * McMartin wanders off to bed singing the Ballad of the Sneak, because apparently the Internet of Old has claimed him. |
08:12 | <&jeroud> | Unrelated: Adding a bot that emits hourly reports of error log statistics to a monitoring alerts slack channel makes that slack channel very much less useful. |
08:29 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code |
08:29 | | mode/#code [+o himi] by ChanServ |
10:13 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
11:32 | | Degi [Degi@Nightstar-benhb3.dyn.telefonica.de] has joined #code |
13:14 | | crystalclaw [crystalclaw@Nightstar-12q9ui.xyz] has quit [Ping timeout: 121 seconds] |
13:15 | | crystalclaw [crystalclaw@Nightstar-12q9ui.xyz] has joined #code |
13:15 | | mode/#code [+o crystalclaw] by ChanServ |
13:55 | <&[R]> | Mahal: what's the * supposed to do there? |
13:57 | <&[R]> | If it's .*, then you're converting any username to just "@contoso.net", if it's not doing anything then you're just converting "@contoso.com" to "@contoso.net" |
13:58 | <&[R]> | If you're wanting to just replace the domain on email-address-like usernames, you should get rid of the * and ^ |
14:04 | <@iospace> | McMartin: http://nongnu.org/avr-libc/user-manual/modules.html forgot to link you this |
14:20 | | Degi [Degi@Nightstar-benhb3.dyn.telefonica.de] has quit [Connection closed] |
14:44 | <&ToxicFrog> | It occurs to me that if I wanted a project to do in Rust, a Tello client would be a good choice. |
14:46 | <&ToxicFrog> | There's Rust libraries for UDP networking, H.264 decoding, MPEG-4 container creation, and it has SDL bindings for reading keyboard input and displaying video. |
14:47 | <&ToxicFrog> | The one potential sticking point is actually reading/writing the wire protocol; there's lots of stuff for (de)serializing rust objects in their own bespoke formats, and there's Nom for reading (but not writing) arbitrary binary formats, but for this sort of bidirectional binary protocol thing there doesn't seem to be much more sophisticated than turning on #[packed] and crossing your fingers |
14:49 | <&ToxicFrog> | "Imagine you just saw bytes_to_typed eat a goat. It is powerful, but the unsafe fence protects us. Just like in that movie with all those cautionary tales that I didn’t stay for the end of." |
14:52 | <&ToxicFrog> | There's `structure`, which is similar to Python's `struct`, which is ok-ish I guess |
14:52 | <&ToxicFrog> | I think part of my frustration here is that I've gotten used to using `vstruct` for all problems of this type and it is, frankly, much better in every way except performance. |
15:05 | | Vornicus [Vorn@Nightstar-oe1443.res.rr.com] has joined #code |
15:05 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
16:13 | | Kindamoody|afk is now known as Kindamoody |
16:27 | | * abudhabi_ mutters darkly about pages that gradually load up the UI. |
16:36 | | Derakon_ [Derakon@Nightstar-fr5qel.ca.comcast.net] has joined #code |
16:39 | | Derakon[AFK] [Derakon@Nightstar-fr5qel.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
19:05 | | Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
20:11 | | Derakon_ is now known as Derakon |
20:11 | | mode/#code [+ao Derakon Derakon] by ChanServ |
20:12 | | Vornicus [Vorn@Nightstar-oe1443.res.rr.com] has quit [Ping timeout: 122 seconds] |
20:22 | | Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has joined #code |
20:27 | <&jerith> | ToxicFrog: Erlang's binary pattern syntax is the gold standard that I have never seen anything else match. |
20:36 | <&ToxicFrog> | jerith: not familiar with that |
20:37 | <&jerith> | http://erlang.org/doc/programming_examples/bit_syntax.html is a reasonable starting point in the docs. :-) |
20:39 | <&ToxicFrog> | That's actually very similar to what vstruct does. |
20:39 | <&ToxicFrog> | It doesn't support backreferenced conditionals and quantifiers (the `when HLen` and `4*HLen` in the Erlang IP datagram example) but that is something I was actively working on last time I put it down :) |
20:41 | <&ToxicFrog> | I had not seen this before but it looks like I independently reinvented most of it, although it also looks like Erlang handles stuff made up of fractional bytes better. |
20:51 | <&jerith> | The language was designed specifically for telco switches, so juggling binary wire protocols efficiently is something it's pretty good at. |
20:52 | | * ToxicFrog nods |
20:52 | <&ToxicFrog> | In my case, efficiency wasn't even on my roadmap, but expressiveness was |
20:53 | <&ToxicFrog> | Since I needed to be able to express data types like "a variable-length of array of structs containing named fields with types `24-bit signed int`, `20.12 fixed point rational`, `bitmask with named fields of varying types and lengths`, and `length-prefixed unterminated string`". |
20:54 | <&ToxicFrog> | And while there are a lot of existing struct libraries out there for lua (which is what I was using) and python (which I did consider), none of them were remotely capable of handling any type that wasn't a native C type. |
21:39 | | Degi [Degi@Nightstar-benhb3.dyn.telefonica.de] has joined #code |
22:31 | | Vornicus [Vorn@Nightstar-oe1443.res.rr.com] has joined #code |
22:31 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
23:58 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
--- Log closed Fri May 25 00:00:32 2018 |