code logs -> 2018 -> Thu, 24 May 2018< code.20180523.log - code.20180525.log >
--- 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
code logs -> 2018 -> Thu, 24 May 2018< code.20180523.log - code.20180525.log >

[ Latest log file ]