code logs -> 2020 -> Sun, 22 Nov 2020< code.20201121.log - code.20201123.log >
--- Log opened Sun Nov 22 00:00:32 2020
00:33 FLHerne [flh@Nightstar-6tv.748.10.86.IP] has quit [Ping timeout: 121 seconds]
00:54 catalyst [catalyst@Nightstar-ip4933.dab.02.net] has quit [Ping timeout: 121 seconds]
01:04 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
01:04 catalyst [catalyst@Nightstar-d10hot.dab.02.net] has joined #code
01:58 Degi [Degi@Nightstar-d4a8k4.pool.telefonica.de] has quit [Operation timed out]
02:06 Degi [Degi@Nightstar-m46uog.pool.telefonica.de] has joined #code
02:08 macdjord [macdjord@Nightstar-re5.7if.45.45.IP] has joined #code
02:08 mode/#code [+o macdjord] by ChanServ
02:09 mac [macdjord@Nightstar-re5.7if.45.45.IP] has quit [Operation timed out]
03:28 catalyst [catalyst@Nightstar-d10hot.dab.02.net] has quit [[NS] Quit: -a- Connection Timed Out]
03:29 catalyst [catalyst@Nightstar-d10hot.dab.02.net] has joined #code
05:21 Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has joined #code
05:21 mode/#code [+qo Vorntastic Vorntastic] by ChanServ
05:51 VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Connection closed]
05:52 VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code
05:52 mode/#code [+ao VirusJTG VirusJTG] by ChanServ
07:24 catalyst [catalyst@Nightstar-d10hot.dab.02.net] has quit [Ping timeout: 121 seconds]
07:26 catalyst [catalyst@Nightstar-mmriej.dab.02.net] has joined #code
08:07 celticminstrel [celticminst@Nightstar-5pqf1t.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
08:51 Kindamoody[zZz] is now known as Kindamoody
09:41 Pink [uid208117@Nightstar-h2b233.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity]
09:56
<~Vorntastic>
https://cdn.discordapp.com/attachments/474705430434807819/631501679791177738/lloyd_relaxation.gif oh, catalyst: Vornonoi in action
10:04
< catalyst>
ooh, shiny
10:06
<&Reiver>
Vorn: Well done!
10:06
<&Reiver>
I kind of want that to be the start of a computer strategy game~
10:06
<~Vorntastic>
Excuse you stop looking at my notes
10:06
<&Reiver>
That 'swimming into position' effect is downright hypnotic.
10:07
<~Vorntastic>
Yes, that's Lloyd relaxation: each point is replaced by its region's center of mass
10:08
< catalyst>
graphy
10:10 Kindamoody is now known as Kindamoody|afk
10:10
<~Vorntastic>
This animation has each sector cycle through ten randomized selections of points; each frame where the sector doesn't reset, it instead applies one round of relaxation
10:15 catalyst_ [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code
10:19 catalyst [catalyst@Nightstar-mmriej.dab.02.net] has quit [Ping timeout: 121 seconds]
10:27
<~Vorntastic>
When I get back to it I need to do merging of multiple regions and do some hard data wrangling
10:41 catalyst_ [catalyst@Nightstar-ejd4sd.cable.virginm.net] has quit [Ping timeout: 121 seconds]
11:17 Emmy [Emmy@Nightstar-l49opt.fixed.kpn.net] has joined #code
11:34 FLHerne [flh@Nightstar-6tv.748.10.86.IP] has joined #code
12:18 catalyst [catalyst@Nightstar-ejd4sd.cable.virginm.net] has joined #code
12:24
<&ToxicFrog>
I've been doing a bunch of work on Spellcast over the past week, and Reagent (the clojurescript bindings for React) are really cool, it turns out
12:25
<&ToxicFrog>
I have replaced all the dynamic parts of the UI (which is most of it) with a handful of pure functions that convert state maps from the server into HTML fragments
12:25
<&ToxicFrog>
Reagent then watches the Atoms containing that state information, which are periodically updated with long-polling, and handles calling those functions and rebuilding parts of the DOM based on the results
12:29
<&jerith>
ToxicFrog: I've reached the point where I want to start hacking in lua. How do I dev environment?
12:30
<~Vorntastic>
Love2d!
12:30
<&jerith>
I assume I want to use luajit (or something like it) for adventofcode, because fast.
12:30
<&jerith>
Vorntastic: Isn't love2d a game engine of some kind?
12:30
<~Vorntastic>
Yes
12:31
<~Vorntastic>
Vornonoi is in love2d
12:31
<&jerith>
Ah, right.
12:32
<&jerith>
I don't really want to make a game at the moment, though. :-/
12:32
<~Vorntastic>
Dang
12:32
<&jerith>
What I really want is the lua equivalent of virtualenv.
12:33
<&jerith>
So far I have lua 5.3 and luajit and luarocks installed.
12:33
<&jerith>
(lua 5.3 is a dependency of something I installed through homebrew, though)
12:34
<&jerith>
I can `luarocks --lua-dir=/usr/local/opt/luajit/ install <thing>` but presumably that installs it into so system-wide (or user-wide) place.
12:35
<&jerith>
And I don't want to have to type the --local-dir= bit all the time.
12:35
<&ToxicFrog>
jerith: so, while my libraries do support it, I have never actually used luarocks myself
12:35
<&ToxicFrog>
or virtualenv
12:36
<~Vorntastic>
You can turn off all the neat shit in love if you want. Then you feed a folder with main.lua and the turn-everything-off conf.lua to love and win
12:36
<&ToxicFrog>
historically, I have installed lua packages through the OS package manager for other people's, and for mine I've just added "$HOME/devel/lualibs/?.lua:$HOME/devel/lualibs/?/init.lua" to $LUA_PATH in my .zshenv
12:37
<&jerith>
I'm assuming I'll want some kind of parser library for aoc inputs, but otherwise I don't expect to need anything third-party any time soon.
12:37
<&ToxicFrog>
That said, I believe luarocks supports a --local option that puts it in ~/.config or ~/.local/cache or something
12:38
<&ToxicFrog>
And there's a config file option to use that by default
12:38
<&ToxicFrog>
In the actual lua code side of things, you will -- I think -- load luarocks first, and then use `luarocks.require` for external dependencies
12:39
<&ToxicFrog>
But check the luarocks documentation first
12:39
<&ToxicFrog>
Vorn's recommendation of love2d isn't a bad one, it comes bundled with a bunch of useful libraries and you can turn off all the game-engine bits and just use it as a portable Lua distribution. That said I don't think it comes with LPEG or any other parser libraries, so you'd still need an external dependency anyways.
12:40 FLHerne [flh@Nightstar-6tv.748.10.86.IP] has quit [Ping timeout: 121 seconds]
12:52
<&jerith>
Hrm. `LUAROCKS_CONFIG=lr-config.lua luajit =luarocks` (where `=<foo>` is a zsh shortcut for `$(which <foo>)`) seems to kind of work.
12:53
<&jerith>
(The custom config is just a copy of the default brew-installed config with a bunch of paths changed.)
14:02 Kindamoody|afk is now known as Kindamoody
14:22 FLHerne [flh@Nightstar-6tv.748.10.86.IP] has joined #code
14:24
<&jerith>
Aha! `luajit =luarocks --lua-dir=/usr/local/opt/luajit init` makes a bunch of project stuff, including shell wrappers for `lua` and `luarocks` that set all the necessary things.
14:41 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
14:41 mode/#code [+qo Vornicus Vornicus] by ChanServ
15:41 celticminstrel [celticminst@Nightstar-5pqf1t.dsl.bell.ca] has joined #code
15:41 mode/#code [+o celticminstrel] by ChanServ
16:07
<&jerith>
Whee! I have a working solution to aoc2015 day 1 in lua!
16:07
<&jerith>
Now I need to un-hardcode a bunch of stuff and actually build some proper infrastructure.
16:34
<&[R]>
It's december 1st already?
16:34
<&[R]>
Oh wait
16:34
<&[R]>
I misready
16:34
<&[R]>
Misread*
16:34
<&jerith>
No. It also isn't 2015.~
16:36
<&jerith>
I'm starting to learn lua properly, and I'd like to have my oac infrastructure (basically the wrapper code for things like reading input, choosing which day's code to run, possibly a test harness, etc.) ready before this year's event starts.
17:00 Vorntastic [uid293981@Nightstar-h2b233.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity]
17:58
< catalyst>
:D
17:58
< catalyst>
oh! I can do aoc in Rust again this year ^-^
18:01 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [The TLS connection was non-properly terminated.]
18:06 Pink [uid208117@Nightstar-h2b233.irccloud.com] has joined #code
18:37 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
18:37 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
19:20
<&jerith>
I really enjoyed doing it in Rust.
19:20
<&jerith>
But I also really enjoyed doing it in Clojure.
19:21
<&jerith>
I expect I won't enjoy doing it in lua so much, but "new language every year" so.
19:21
<&jerith>
(I'm keeping Python in reserve for a true emergency.)
19:51
<&McMartin>
I had a surprising amount of fun doing it in C
19:51
<&McMartin>
And letting myself do all the dirty things
19:51
<&McMartin>
If you allow yourself to say "OK, this input is extremely rigid" -- and it's AoC so it is extremely rigid -- normally useless functions like scanf become absolute hax
20:00
<&McMartin>
The obvious choices for me this year are Rust and Ocaml.
20:18
<@celticminstrel>
Conceptually I kinda like scanf… it's possible to use it to parse a very basic DSL, right? I never actually use it mind you.
20:20
<@celticminstrel>
I mean that any characters in the format string that aren't a format specifier will match that character in the input and nothing else.
20:20
<@celticminstrel>
Right?
20:22
<&McMartin>
Yeah.
20:22
<@celticminstrel>
I think the place I did use that behaviour recently is basically the inverse of strftime.
20:22
<&McMartin>
scanf is useless mainly because any anomaly in input puts you in a state that is for all practical purposes irrecoverable, and doing the work to get around that is more work than Writing A Lexer.
20:22
<&McMartin>
sscanf still has its place.
20:23
<&McMartin>
but scanf leaves your file pointer wherever it found something it didn't expect.
20:23
<&McMartin>
gg
20:23
<@celticminstrel>
More precisely, Howard Hinant's date::parse.
20:24
<@celticminstrel>
I see, so the way proper way to use scanf is to read a whole line from the file and then parse with sscanf, I guess.
20:31
<&McMartin>
fgets() to get the whole line, or fread/fgetc to fill a buffer by hand becuase you've got your own ideas of delimiters.
20:32
<&McMartin>
Or use flex, which generates a lexer that powers a FSM-based matcher reading in a character at a time and transforms those into tokens within its own buffers.
20:48
<&jerith>
McMartin: OCaml was the first language I did aoc in.
20:48
<&jerith>
2016 was OCaml, 2017 was Elixir, 2018 was Rust, 2019 was Clojure.
20:49
<&jerith>
I thin Elixir was the language I had the least fun with, but that's entirely because it's not really a good fit for the problem domain.
20:51
<&McMartin>
I did 2015-2017 in Python with some occasional hops into specialty languages as needed
20:51
<&McMartin>
2018 I did in C and refused to leave it.
20:51
<&McMartin>
2019, for reasons I do not recall offhand, I skipped completely.
20:52
<&McMartin>
I think I was going to revisit those at some point for drill, but then I started using CodeWars for drill.
20:52 himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
20:52
<&jerith>
I've done 2015 in all the languages (but never actually finished it in any of them) because it's the one I switch to when I run out of the current one and still want more.
20:54
<&McMartin>
I suppose I might well do that this year
20:54
<&McMartin>
CodeWars has mostly run out of interesting problems of the correct size for me, so after cleaning out the last few I care about I will probably set it fallow again.
20:56
<&jerith>
I think last year you had a lot going on around December.
20:57
<&McMartin>
I also had my Bumbershoot Project that I was pushing hard on.
20:57
<&McMartin>
That was WinLights, which was probably my favorite project that absolutely nobody cared about~
20:59
<&jerith>
Presumably at least one person cared about it.~
20:59
<&jerith>
(Unarguably the most important person, too.)
21:01
<&ToxicFrog>
I'm probably not going to do AOC this year just because I have very little free time and very little free brain, and what little I have is going to work on spellcast
21:02
<&ToxicFrog>
(which I actually made some progress on last week!)
21:04
<&jerith>
I looked up the chatlogs, and aside from me the only people in there were Vornicus, catalyst, and ToxicFrog. (All of whom were working on it every now and then rather than consistently and daily.)
21:04
<&jerith>
(Which isn't a problem, of course.)
21:07
<&McMartin>
Oh. Oh right. That's what I was doing last December
21:07
<&McMartin>
I was writing UQM 0.8~
22:12 FLHerne [flh@Nightstar-6tv.748.10.86.IP] has quit [Ping timeout: 121 seconds]
22:53 himi [sjjf@Nightstar-1drtbs.anu.edu.au] has joined #code
22:54 mode/#code [+o himi] by ChanServ
23:52 Emmy [Emmy@Nightstar-l49opt.fixed.kpn.net] has quit [Ping timeout: 121 seconds]
--- Log closed Mon Nov 23 00:00:33 2020
code logs -> 2020 -> Sun, 22 Nov 2020< code.20201121.log - code.20201123.log >

[ Latest log file ]