Home liberachat/#haskell: Logs Calendar

Logs on 2024-10-09 (liberachat/#haskell)

00:09:01 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:11:52 regalk joins (~regalk@gateway/tor-sasl/regalk)
00:13:46 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
00:18:39 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
00:22:15 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
00:24:49 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:25:03 × xff0x quits (~xff0x@2405:6580:b080:900:da07:5be8:5f56:f410) (Ping timeout: 252 seconds)
00:26:00 johannes joins (~johannes@2600:1702:51fe:1500:3a2c:7d69:475c:ced9)
00:28:47 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
00:29:53 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
00:33:17 × codaraxis quits (~codaraxis@user/codaraxis) (Read error: Connection reset by peer)
00:34:20 johannes parts (~johannes@2600:1702:51fe:1500:3a2c:7d69:475c:ced9) (Leaving)
00:34:25 codaraxis joins (~codaraxis@user/codaraxis)
00:35:16 × califax quits (~califax@user/califx) (Ping timeout: 260 seconds)
00:35:45 califax joins (~califax@user/califx)
00:35:55 codaraxis__ joins (~codaraxis@user/codaraxis)
00:37:37 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
00:38:14 athan joins (~athan@syn-098-153-145-140.biz.spectrum.com)
00:39:55 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 265 seconds)
00:40:35 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:40:55 × paddymahoney quits (~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com) (Ping timeout: 264 seconds)
00:45:43 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
00:49:41 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
00:51:02 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
00:54:16 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
00:56:23 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:01:20 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
01:06:31 × codaraxis__ quits (~codaraxis@user/codaraxis) (Remote host closed the connection)
01:06:58 codaraxis__ joins (~codaraxis@user/codaraxis)
01:09:45 × krei-se quits (~krei-se@p5085d9ca.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
01:09:48 krei-se- joins (~krei-se@p5085d46e.dip0.t-ipconnect.de)
01:12:09 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:15:52 × AWizzArd quits (~code@gehrels.uberspace.de) (Changing host)
01:15:52 AWizzArd joins (~code@user/awizzard)
01:15:59 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:17:08 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
01:19:19 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection)
01:20:38 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
01:23:03 ephilalethes joins (~noumenon@113.51-175-156.customer.lyse.net)
01:24:26 troojg joins (~troojg@user/troojg)
01:24:27 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
01:25:21 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
01:27:57 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:31:04 vanishingideal joins (~vanishing@user/vanishingideal)
01:32:51 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
01:37:51 forell_ joins (~forell@host-178-216-90-220.sta.tvknaszapraca.pl)
01:39:51 × forell quits (~forell@user/forell) (Ping timeout: 265 seconds)
01:40:52 × regalk quits (~regalk@gateway/tor-sasl/regalk) (Quit: WeeChat 4.4.2)
01:42:08 hgolden__ joins (~hgolden@146.70.173.101)
01:43:42 weary-traveler joins (~user@user/user363627)
01:43:45 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:44:41 × hgolden_ quits (~hgolden@146.70.174.37) (Ping timeout: 265 seconds)
01:48:43 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:49:57 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:53:52 × athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!)
01:55:19 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
02:05:08 × identity quits (~identity@user/ZharMeny) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.91))
02:05:44 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:10:59 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
02:12:13 LukeHoersten joins (~LukeHoers@user/lukehoersten)
02:12:34 × td_ quits (~td@i5387092D.versanet.de) (Ping timeout: 252 seconds)
02:14:24 td_ joins (~td@i5387093E.versanet.de)
02:21:30 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:26:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
02:26:49 × spew quits (~spew@201.141.99.170) (Quit: spew)
02:29:09 × philopso1 quits (~caecilius@pool-71-183-97-38.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
02:30:57 × machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 246 seconds)
02:31:22 flounders joins (~flounders@173.246.200.74)
02:37:18 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:38:08 hgolden_ joins (~hgolden@169.150.203.10)
02:40:54 × hgolden__ quits (~hgolden@146.70.173.101) (Ping timeout: 260 seconds)
02:42:09 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
02:49:46 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 272 seconds)
02:51:55 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:56:21 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 276 seconds)
02:56:23 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
02:56:55 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
02:57:51 vanishingideal joins (~vanishing@user/vanishingideal)
02:59:02 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:07:41 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:10:51 × troojg quits (~troojg@user/troojg) (Remote host closed the connection)
03:12:42 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
03:23:28 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:25:14 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
03:29:34 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
03:35:52 aforemny_ joins (~aforemny@i59F4C6CF.versanet.de)
03:36:09 × aforemny quits (~aforemny@2001:9e8:6cd9:9400:c5f2:6987:2beb:3640) (Ping timeout: 260 seconds)
03:40:21 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:45:09 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
03:47:32 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
03:48:46 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
03:49:23 <Axman6> monochrom: '"<file cmd" is the same as "cmd <file"' you just blew my mind, how handy!
03:56:08 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:01:01 jinsun joins (~jinsun@user/jinsun)
04:03:03 <haskellbridge> <mauke> Re: sh, both {foo and {;foo are errors
04:03:36 athan joins (~athan@syn-098-153-145-140.biz.spectrum.com)
04:04:09 <haskellbridge> <mauke> {foo tries to run a command called '{foo' and {; is a syntax error
04:04:45 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
04:06:16 <haskellbridge> <mauke> a consequence of { not being special to the lexer, but also being a "keyword" with special syntax
04:13:01 <Axman6> >:(
04:15:46 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:16:56 × machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 265 seconds)
04:19:37 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
04:19:37 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
04:19:57 chexum joins (~quassel@gateway/tor-sasl/chexum)
04:20:19 chiselfuse joins (~chiselfus@user/chiselfuse)
04:20:32 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
04:21:35 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:26:25 <jackdk> I was writing a shell script to use with `git bisect run` today; I ended up completing the bisection before I got the script to work right. Task failed successfully.
04:31:32 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:36:45 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
04:38:07 michalz joins (~michalz@185.246.207.221)
04:41:06 × ephilalethes quits (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
04:47:19 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:52:11 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
04:53:28 × youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection)
04:53:54 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 260 seconds)
04:56:00 youthlic joins (~Thunderbi@user/youthlic)
04:57:57 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
04:58:25 stiell joins (~stiell@gateway/tor-sasl/stiell)
05:03:06 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:04:34 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
05:07:45 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
05:07:49 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
05:07:54 euphores joins (~SASL_euph@user/euphores)
05:08:00 chexum joins (~quassel@gateway/tor-sasl/chexum)
05:10:40 × causal quits (~eric@50.35.88.207) (Quit: WeeChat 4.4.2)
05:18:52 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:23:42 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:28:28 × ghodawalaaman quits (~thelounge@user/thelounge8234) (Quit: The Lounge - https://thelounge.chat)
05:30:12 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
05:34:41 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:39:44 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:46:34 JuanDaugherty joins (~juan@user/JuanDaugherty)
05:48:42 CiaoSen joins (~Jura@2a05:5800:2e5:2400:ca4b:d6ff:fec1:99da)
05:50:28 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:53:47 jinsun joins (~jinsun@user/jinsun)
05:55:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:55:59 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
05:56:30 gorignak joins (~gorignak@user/gorignak)
06:00:58 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:06:06 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
06:07:37 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
06:16:45 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:18:08 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:18:59 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
06:21:32 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:24:30 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
06:32:33 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:33:16 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
06:34:11 euleritian joins (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de)
06:36:03 × euleritian quits (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
06:36:42 ChaiTRex joins (~ChaiTRex@user/chaitrex)
06:36:42 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
06:37:37 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
06:43:29 sord937 joins (~sord937@gateway/tor-sasl/sord937)
06:48:20 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:48:20 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
06:48:30 ubert joins (~Thunderbi@178.165.187.120.wireless.dyn.drei.com)
06:48:40 euleritian joins (~euleritia@77.22.252.56)
06:51:35 alp_ joins (~alp@2001:861:e3d6:8f80:4243:aa4c:841:ab6d)
06:51:36 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
06:52:20 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
06:53:03 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:53:04 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 252 seconds)
06:53:39 euleritian joins (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de)
06:54:05 vanishingideal joins (~vanishing@user/vanishingideal)
06:58:31 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:00:00 × caconym quits (~caconym@user/caconym) (Quit: bye)
07:00:36 caconym joins (~caconym@user/caconym)
07:01:59 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:02:06 × arahael quits (~arahael@user/arahael) (Remote host closed the connection)
07:07:00 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
07:09:00 chele joins (~chele@user/chele)
07:16:49 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:17:35 × codaraxis__ quits (~codaraxis@user/codaraxis) (Read error: Connection reset by peer)
07:21:27 codaraxis joins (~codaraxis@user/codaraxis)
07:25:22 acidjnk joins (~acidjnk@p200300d6e72cfb597c01f41ab12f33b9.dip0.t-ipconnect.de)
07:31:15 simendsjo joins (~user@79.161.5.185)
07:33:11 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
07:37:17 cfricke joins (~cfricke@user/cfricke)
07:40:08 × Natch quits (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Ping timeout: 244 seconds)
07:44:14 × youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection)
07:46:29 youthlic joins (~Thunderbi@user/youthlic)
07:59:52 merijn joins (~merijn@77.242.116.146)
08:09:53 rosco joins (~rosco@175.136.22.30)
08:21:14 Natch joins (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
08:25:06 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
08:25:09 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
08:27:07 vanishingideal joins (~vanishing@user/vanishingideal)
08:27:15 ash3en joins (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de)
08:28:26 × ash3en quits (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit)
08:29:21 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
08:36:38 × drdo quits (~drdo@bl9-110-63.dsl.telepac.pt) (Ping timeout: 245 seconds)
08:36:39 __monty__ joins (~toonn@user/toonn)
08:37:19 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
08:39:00 × euleritian quits (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
08:39:23 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
08:43:48 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
08:44:25 euleritian joins (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de)
08:48:14 × noctux quits (~noctux@user/noctux) (Ping timeout: 272 seconds)
08:48:52 noctux joins (~noctux@user/noctux)
08:54:51 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
09:12:04 × euleritian quits (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
09:12:22 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
09:13:33 Guest98 joins (~Guest98@2406:7400:bd:df2a:e59e:ee5c:235f:b905)
09:14:26 coldmountain joins (sid484352@id-484352.helmsley.irccloud.com)
09:14:51 × Guest98 quits (~Guest98@2406:7400:bd:df2a:e59e:ee5c:235f:b905) (Client Quit)
09:27:54 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
09:28:34 euleritian joins (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de)
09:35:14 × gvg quits (~dcd@user/gvg) (Ping timeout: 255 seconds)
09:48:05 <kuribas> I wish there was more data science on haskell. The time I spend debugging pandas issues with missing indices etc would not have been there with a typed dataframes.
09:49:00 <kuribas> We could easily port the polars dataframe library to haskell, with some typesafe wrapper on top.
09:49:07 <kuribas> Or even to idris2.
09:50:01 <kuribas> Of course the chance to get anyone on board with using idris or haskell in my company would be close to 0%
09:53:53 × famubu quits (~julinuser@user/famubu) (Ping timeout: 248 seconds)
09:54:26 famubu joins (~julinuser@14.139.174.50)
09:56:32 drdo joins (~drdo@bl9-110-63.dsl.telepac.pt)
09:57:11 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
09:58:58 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
09:58:58 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds)
10:00:48 <kuribas> But I'd say for a long running service, haskell would be a better choice than Python.
10:07:21 hseg joins (~gesh@46.120.20.246)
10:08:07 <tomsmeding> kuribas: I am not at all familiar with that space, but given that there are (external) type checkers for python, would someone not have contrived some external typing annotations for pandas or something?
10:08:18 <tomsmeding> or is the type system not expressive enough for that
10:10:33 × CiaoSen quits (~Jura@2a05:5800:2e5:2400:ca4b:d6ff:fec1:99da) (Ping timeout: 276 seconds)
10:13:45 <kuribas> tomsmeding: it's not expressive enough. There are actually type annotations for pandas. They often don't work well.
10:14:08 <tomsmeding> I see
10:14:11 <kuribas> And they cannot capture the fact "I have a column with name 'foobar' and type 'int'"
10:14:23 <kuribas> Which would be possible in haskell or idris.
10:14:32 <tomsmeding> I would categorise that under "not expressive enough"
10:14:48 <tomsmeding> but I guess it's also impossible to properly describe python's fancy s(p)licing syntac
10:14:51 <tomsmeding> *syntax
10:15:26 <kuribas> splicing is just a special dunder method I think.
10:15:36 <tomsmeding> ah
10:16:13 <kuribas> The syntax creates a splice object. So in the end it's just sugar.
10:16:29 <kuribas> And it's passed to __getitem__
10:16:35 <tomsmeding> I see
10:18:25 <kuribas> The debugability of python is nice though, but very slow...
10:18:49 <Rembane> dir() <3
10:41:51 × CrunchyFlakes quits (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
10:43:57 × euleritian quits (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
10:44:20 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
10:44:32 CrunchyFlakes joins (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
10:49:12 × simendsjo quits (~user@79.161.5.185) (Remote host closed the connection)
10:57:23 simendsjo joins (~user@79.161.5.185)
10:59:28 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
10:59:43 euleritian joins (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de)
11:03:21 × foul_owl quits (~kerry@185.219.141.162) (Ping timeout: 246 seconds)
11:04:40 × hsw quits (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Read error: Connection reset by peer)
11:04:54 hsw joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
11:05:44 xff0x joins (~xff0x@2405:6580:b080:900:a344:9aaf:caa3:591c)
11:10:29 × euleritian quits (~euleritia@dynamic-176-006-140-203.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
11:10:46 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
11:11:38 arahael joins (~arahael@user/arahael)
11:14:52 × dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.8.2 - https://znc.in)
11:15:58 foul_owl joins (~kerry@185.216.231.181)
11:16:20 dolio joins (~dolio@130.44.140.168)
11:17:06 gvg joins (~dcd@user/gvg)
11:19:04 × dolio quits (~dolio@130.44.140.168) (Client Quit)
11:20:37 dolio joins (~dolio@130.44.140.168)
11:24:14 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
11:24:45 gorignak joins (~gorignak@user/gorignak)
11:28:46 CiaoSen joins (~Jura@2a05:5800:2e5:2400:ca4b:d6ff:fec1:99da)
11:34:58 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
11:35:30 rvalue joins (~rvalue@user/rvalue)
11:35:58 × rosco quits (~rosco@175.136.22.30) (Quit: Lost terminal)
11:36:16 × comonad quits (~comonad@p200300d02711e6001d93b8c5b2241d7f.dip0.t-ipconnect.de) (Quit: WeeChat 4.3.5)
11:37:25 alexherbo2 joins (~alexherbo@2a02-8440-330a-55b8-5144-54d3-aa36-e8c9.rev.sfr.net)
11:42:42 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:43:08 comonad joins (~comonad@p200300d02711e6001d93b8c5b2241d7f.dip0.t-ipconnect.de)
11:48:49 × merijn quits (~merijn@77.242.116.146) (Quit: leaving)
11:50:35 × comonad quits (~comonad@p200300d02711e6001d93b8c5b2241d7f.dip0.t-ipconnect.de) (Quit: WeeChat 4.4.2)
11:50:49 comonad joins (~comonad@p200300d02711e6001d93b8c5b2241d7f.dip0.t-ipconnect.de)
11:51:11 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
11:51:54 lieuwex joins (~lieuwex@D964662A.static.ziggozakelijk.nl)
11:52:33 <lieuwex> tomsmeding: hi
11:55:27 <kuribas> tomsmeding: Are you going to munihac?
11:56:04 × youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection)
11:57:41 <leah2> i am :3
11:58:39 youthlic joins (~Thunderbi@user/youthlic)
12:02:00 <tomsmeding> lieuwex: hi
12:02:07 <tomsmeding> I have a suspicion how you ended up here
12:02:11 <lieuwex> yes
12:02:12 <tomsmeding> kuribas: nope, sorry, but have fun!
12:02:14 × lieuwex quits (~lieuwex@D964662A.static.ziggozakelijk.nl) (Quit: lieuwex)
12:02:17 mari-estel joins (~mari-este@2a02:3032:30b:ae0c:216:3eff:fe65:4eef)
12:07:59 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
12:10:04 × CiaoSen quits (~Jura@2a05:5800:2e5:2400:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
12:10:26 <dminuoso> 10:14:23 kuribas │ Which would be possible in haskell or idris.
12:10:28 <dminuoso> Hardly in Haskell.
12:11:22 <dminuoso> I mean yes, you can shoehorn anything in the type system. But you can also shoehorn runtime annotations into python and do type checking via symbolic execution.
12:13:50 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
12:13:52 <dminuoso> What I want is something like tags in go structs in Haskell, recoverable via generics or Data.Data.Data
12:14:09 ljdarj joins (~Thunderbi@user/ljdarj)
12:14:46 <dminuoso> It beats having to either use type level tricks like in servant to attach actionable information to say handlers, or ramming it all into TH like in yesod.
12:15:27 <dminuoso> The more information you embed into Haskell types, the more akward diagnostics become and quirkier your interfaces get.
12:16:00 × alexherbo2 quits (~alexherbo@2a02-8440-330a-55b8-5144-54d3-aa36-e8c9.rev.sfr.net) (Remote host closed the connection)
12:16:19 alexherbo2 joins (~alexherbo@2a02-8440-330a-55b8-5144-54d3-aa36-e8c9.rev.sfr.net)
12:17:28 billchenchina- joins (~billchenc@103.152.35.21)
12:18:55 <hseg> going through the botan devlog, I see reference to a crypto-schemes repo, but can't find it anywhere atm. Anyone know where it vanished off to? Also, I suppose the "cryptographic typeclasses" refered to are in the various Botan.*.Class modules?
12:26:15 × alexherbo2 quits (~alexherbo@2a02-8440-330a-55b8-5144-54d3-aa36-e8c9.rev.sfr.net) (Remote host closed the connection)
12:26:35 alexherbo2 joins (~alexherbo@2a02-8440-330a-55b8-5144-54d3-aa36-e8c9.rev.sfr.net)
12:27:32 × mari-estel quits (~mari-este@2a02:3032:30b:ae0c:216:3eff:fe65:4eef) (Quit: errands)
12:32:03 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 244 seconds)
12:33:39 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
12:36:28 × alexherbo2 quits (~alexherbo@2a02-8440-330a-55b8-5144-54d3-aa36-e8c9.rev.sfr.net) (Remote host closed the connection)
12:37:11 alexherbo2 joins (~alexherbo@2a02-8440-330a-55b8-b599-5e37-bcaf-ea15.rev.sfr.net)
12:41:05 × alexherbo2 quits (~alexherbo@2a02-8440-330a-55b8-b599-5e37-bcaf-ea15.rev.sfr.net) (Remote host closed the connection)
12:41:33 alexherbo2 joins (~alexherbo@2a02-8440-330a-55b8-b033-f4f9-ddc1-450a.rev.sfr.net)
12:44:44 × alexherbo2 quits (~alexherbo@2a02-8440-330a-55b8-b033-f4f9-ddc1-450a.rev.sfr.net) (Remote host closed the connection)
12:45:25 <kuribas> dminuoso: I don't mean it's very ergonomic, but it's possible with type level lists.
12:46:22 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
12:48:02 <dminuoso> And those type level lists will propagate through your entire code, or you have to erase them.
12:48:35 <kuribas> Yeah, but that's the idea.
12:48:50 <dminuoso> I'm slowly starting to wonder whether some of those "lets encode it into the type system for safety" is solving problems as an excuse to just explore some funky ideas, rather than it stemming from a series of production outages due to some impedance mismatching.
12:48:54 <kuribas> Or you have a constraint (HasColumn "foobar").
12:49:17 <kuribas> Not production outages, just a lot of work debugging code.
12:49:27 <dminuoso> Like I said, I think if we were able to tag/add metadata to data types and constructors, I think that would be much more useful and easier to work with.
12:49:30 <kuribas> In an adhoc way I mean.
12:49:51 <kuribas> dminuoso: sure, but how is that different from a dependent type.
12:49:59 <kuribas> ?
12:50:22 <dminuoso> You dont need a dependent type system, which Haskell does not even have.
12:50:40 <kuribas> It emulates it.
12:50:48 <kuribas> Type level strings, lists, Nats...
12:51:02 <dminuoso> And yet people rather pick up Idris when they want dependent types. :-)
12:51:10 <kuribas> they should :)
12:51:19 <kuribas> It's so much more ergonomic on idris.
12:51:29 <dminuoso> Sure they should. This is not an argument about whether dependent types are good, but in Haskell they just overcomplicate interfaces.
12:51:39 <dminuoso> To the point where I think its very hard to justify it.
12:51:55 <kuribas> Well, one justification is the maturity of the compiler and the ecosystem.
12:52:06 <kuribas> It's much less of a risk in a production environment.
12:52:27 <dminuoso> All that perceived time saved in debugging, is wasted again troubleshooting illegible type errors, or fighting strange type mismatches because there's an extra type tag here and there.
12:52:49 <dminuoso> In Haskell anyway.
12:52:49 <kuribas> I am glad to take that trade-off.
12:53:01 <kuribas> But not everyone does, I know...
12:53:07 <dminuoso> You trade time spend in debugging.. for time spend in debugging.
12:53:08 <dminuoso> :-)
12:53:33 <kuribas> I am happier with a type error, that I can disentangle, that a big stacktrace, which may not even have the answer.
13:03:55 weary-traveler joins (~user@user/user363627)
13:03:59 Digitteknohippie joins (~user@user/digit)
13:04:15 × Digit quits (~user@user/digit) (Ping timeout: 265 seconds)
13:06:34 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
13:07:05 gorignak joins (~gorignak@user/gorignak)
13:11:17 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
13:13:13 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
13:17:04 Digitteknohippie is now known as Digit
13:19:58 alexherbo2 joins (~alexherbo@2a02-8440-330a-55b8-7487-6396-e5cd-7eb2.rev.sfr.net)
13:24:45 <kuribas> And in idris you have nice ways to program with types, like typed holes.
13:29:56 identity joins (~identity@user/ZharMeny)
13:43:17 × alexherbo2 quits (~alexherbo@2a02-8440-330a-55b8-7487-6396-e5cd-7eb2.rev.sfr.net) (Remote host closed the connection)
13:44:26 alexherbo2 joins (~alexherbo@2a02-8440-330a-55b8-7487-6396-e5cd-7eb2.rev.sfr.net)
13:44:50 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
13:45:27 <kuribas> complex types don't necessarily mean a lot of type level debugging IMO.
13:45:34 × petrichor quits (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
13:45:41 <kuribas> But you don't want to have too much complexity in the types.
13:46:02 euleritian joins (~euleritia@dynamic-176-006-139-018.176.6.pool.telefonica.de)
13:46:52 petrichor joins (~znc-user@user/petrichor)
13:47:43 × alexherbo2 quits (~alexherbo@2a02-8440-330a-55b8-7487-6396-e5cd-7eb2.rev.sfr.net) (Remote host closed the connection)
13:49:58 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
13:54:20 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
14:04:20 Batzy joins (~quassel@user/batzy)
14:06:55 codaraxis joins (~codaraxis@user/codaraxis)
14:07:06 × Batzy_ quits (~quassel@user/batzy) (Ping timeout: 246 seconds)
14:16:42 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
14:17:25 × simendsjo quits (~user@79.161.5.185) (Ping timeout: 248 seconds)
14:18:50 vektor joins (~vektor@IP-149249145126.pools.medianet-world.de)
14:21:49 <vektor> What's the usual suspects for when equality fails, but the string repr of the two data points looks identical? I've checked that there should be no custom Show instance in play that hides information, and all aspects of the data should be displayable.
14:21:49 <vektor> In my concrete case, a quickcheck "===" fails, but the counterexample is a more complex version of "a /= a".
14:23:38 <tomsmeding> vektor: what types are involved?
14:23:53 <Lears> vektor: If there's a Float/Double in there, it could be a NaN.
14:25:39 <vektor> tomsmeding is "too many to count" a good answer? It's my DSL with lots of annotations, so it's a lot. Nothing crazy though. There's a optional field that contains a function here, which shouldn't be relevant in this case.
14:26:13 <vektor> Lears the datatype can contain floats, but there's no floats in this example that's failing on me here.
14:26:20 <tomsmeding> floating-point numbers are nr 1. candidate
14:26:22 <tomsmeding> oh
14:26:39 <tomsmeding> any Data.Semigroup(Arg)? :p
14:27:03 <tomsmeding> are all Eq instances auto-generated?
14:28:02 <tomsmeding> if the Show instances try to pretty-print stuff, perhaps you didn't properly print parentheses in all cases and there is some mismatch in association order? i.e. (a + b) + c /= a + (b + c) but maybe they pretty-print the same
14:29:24 <vektor> Custom Eq is a good shout, let me look.
14:29:25 <vektor> Data.Semigroup shouldn't be, but I'll check too.
14:29:25 <vektor> Shows are all custom derived, except the one that contains a function in a field, but as said that constructor shouldn't even be in play.
14:29:36 <vektor> * Shows are auto-derived except that one.
14:30:04 <tomsmeding> (`Arg` has an Eq instance that ignores some fields)
14:32:24 <vektor> Hmm, there's one custom Eq that looks very dodgy.
14:32:30 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
14:33:13 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
14:33:14 moe_ joins (~moe@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net)
14:35:30 <vektor> I've removed that custom Eq for a derived one, any good advice on how to find where that Eq instance was used? I suspect there was a method to my previous madness in defining that custom Eq and I'd like to make sure.
14:37:36 <vektor> Removing the Eq altogether and checking all the places that break I suppose, right?
14:38:55 <tomsmeding> indeed :p
14:43:01 hendi joins (~hendi@2001:9e8:450c:3200:6391:9fa7:7b43:cd48)
14:55:54 × euleritian quits (~euleritia@dynamic-176-006-139-018.176.6.pool.telefonica.de) (Ping timeout: 276 seconds)
14:56:32 euleritian joins (~euleritia@dynamic-176-000-152-193.176.0.pool.telefonica.de)
15:00:23 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
15:00:47 stiell joins (~stiell@gateway/tor-sasl/stiell)
15:05:45 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:09:08 × moe_ quits (~moe@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) (Ping timeout: 245 seconds)
15:12:40 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
15:13:11 × vektor quits (~vektor@IP-149249145126.pools.medianet-world.de) (Quit: Client closed)
15:14:45 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 265 seconds)
15:17:55 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:18:09 hgolden__ joins (~hgolden@146.70.173.37)
15:20:32 × hgolden_ quits (~hgolden@169.150.203.10) (Ping timeout: 252 seconds)
15:26:12 × wanted quits (~wanted@2.219.56.221) (Ping timeout: 246 seconds)
15:37:10 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:42:51 wanted joins (~wanted@2.219.56.221)
15:45:52 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
15:50:45 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
15:55:44 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:57:40 × euleritian quits (~euleritia@dynamic-176-000-152-193.176.0.pool.telefonica.de) (Read error: Connection reset by peer)
15:57:57 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
16:05:03 LukeHoersten joins (~LukeHoers@user/lukehoersten)
16:05:48 spew joins (~spew@201.141.99.170)
16:07:48 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
16:08:21 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
16:21:01 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:23:59 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
16:26:13 vanishingideal joins (~vanishing@user/vanishingideal)
16:38:25 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
16:40:47 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:41:41 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
16:51:11 ChaiTRex joins (~ChaiTRex@user/chaitrex)
16:51:39 CiaoSen joins (~Jura@2a05:5800:2e5:2400:ca4b:d6ff:fec1:99da)
16:52:56 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 252 seconds)
16:53:57 × athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Ping timeout: 252 seconds)
16:54:11 codaraxis joins (~codaraxis@user/codaraxis)
16:55:16 seydar joins (~seydar@38-73-249-43.starry-inc.net)
16:55:42 <seydar> i'm so sorry but i have a linear algebra question and i don't know who else to turn to
16:56:19 <seydar> i have two 2d points, a and b, and i'm trying to translate a third point, c, by magnitude m in the direction orthogonal to <a, b>
16:57:51 <seydar> is it just m * (a x b) * c ? am i just misusing my libraries?
16:58:12 × vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving)
16:58:19 × alp_ quits (~alp@2001:861:e3d6:8f80:4243:aa4c:841:ab6d) (Ping timeout: 264 seconds)
16:58:43 <dolio> That doesn't seem right.
16:58:57 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:00:49 <seydar> turns out there's no cross product in R^2, which appears to be my first issue
17:03:47 <ncf> there's a ##math channel
17:04:19 <ncf> oh you're there already
17:04:38 <seydar> i panicked when i didn't get an immediate response, i'm sorry
17:04:44 <seydar> jumped here
17:08:28 pavonia joins (~user@user/siracusa)
17:14:09 × CiaoSen quits (~Jura@2a05:5800:2e5:2400:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
17:16:41 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
17:17:13 gorignak joins (~gorignak@user/gorignak)
17:18:49 × alioguzhan quits (~Thunderbi@78.173.89.238) (Remote host closed the connection)
17:19:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:29:08 ljdarj joins (~Thunderbi@user/ljdarj)
17:32:32 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
17:33:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:34:56 <darkling> Direction orthogonal to AB is (b2-a2, a1-b1), IIRC. Normalise that, and multiply by m. Add to c.
17:35:30 <seydar> why am i making this so hard
17:35:31 <seydar> thank you
17:38:53 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
17:42:45 × acidjnk quits (~acidjnk@p200300d6e72cfb597c01f41ab12f33b9.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
17:43:43 alioguzhan joins (~Thunderbi@78.173.89.238)
17:48:20 mantraofpie joins (~mantraofp@user/mantraofpie)
17:49:57 CiaoSen joins (~Jura@2a05:5800:2e5:2400:ca4b:d6ff:fec1:99da)
17:52:41 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
17:54:47 briandaed joins (~root@185.234.210.211.r.toneticgroup.pl)
18:01:03 alp_ joins (~alp@2001:861:e3d6:8f80:e3a4:78d2:48d1:1e0)
18:06:16 × sus0 quits (zero@user/zeromomentum) (Quit: Ping timeout (120 seconds))
18:06:28 acidjnk joins (~acidjnk@p200300d6e72cfb59bd2c072e962d353d.dip0.t-ipconnect.de)
18:06:30 × yahb2 quits (~yahb2@user/tomsmeding/bot/yahb2) (Ping timeout: 246 seconds)
18:06:34 × op_4 quits (~tslil@user/op-4/x-9116473) (Read error: Connection reset by peer)
18:06:48 op_4 joins (~tslil@user/op-4/x-9116473)
18:06:52 sus0 joins (zero@user/zeromomentum)
18:07:06 × TimWolla quits (~timwolla@2a01:4f8:150:6153:beef::6667) (Quit: Bye)
18:07:47 TimWolla joins (~timwolla@2a01:4f8:150:6153:beef::6667)
18:08:17 × nadja quits (~dequbed@banana-new.kilobyte22.de) (Read error: Connection reset by peer)
18:08:33 nadja joins (~dequbed@banana-new.kilobyte22.de)
18:09:22 × hseg quits (~gesh@46.120.20.246) (Ping timeout: 272 seconds)
18:12:13 yahb2 joins (~yahb2@user/tomsmeding/bot/yahb2)
18:12:13 ChanServ sets mode +v yahb2
18:12:51 × ubert quits (~Thunderbi@178.165.187.120.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
18:15:10 <tomsmeding> seydar: a way to remember darkling's formula is to recall that two vectors are orthogonal iff their inner product is zero
18:15:15 lxsameer joins (~lxsameer@Serene/lxsameer)
18:16:05 <tomsmeding> the vector a -> b is (b1-a1, b2-a2); what has inner product zero with that? Well, exchange the two components (so that both products are equal) then negate one of the components (so that they cancel)
18:17:32 <darkling> I just worked out the first vector and multiplied by the matrix to rotate through 90° :)
18:17:44 <Lears> You can also embed R^2 in R^3 and project a cross product with a normal vector back into the plane.
18:18:03 <tomsmeding> incidentally, (a1, a2, 1) x (b1, b2, 1) = (a2-b2, b1-a1, _)
18:18:08 <Lears> That said, there are /two/ orthogonal directions. I hope they guess the right one!
18:18:25 <tomsmeding> (and indeed this yields the other, lol)
18:19:19 <tomsmeding> darkling: but then you actually have to _remember_ stuff!
18:19:31 tomsmeding would have to re-derive that matrix first
18:20:00 <tomsmeding> which is admittedly not terribly difficult, but solving the dot product is about the same amount of work :p
18:20:03 <darkling> That's one's simple enough, and I've done enough of them, I can remember it by now. :)
18:20:28 × billchenchina- quits (~billchenc@103.152.35.21) (Remote host closed the connection)
18:20:52 <tomsmeding> {{0,1},{-1,0}}
18:20:57 <tomsmeding> right
18:21:24 <dolio> Why (a1, a2, 1) etc.?
18:21:33 <tomsmeding> that matrix is quite literally "swap the components and negate one of them" :p
18:21:42 <darkling> (Or just visualise an angled vector, then its 90° rotation, and it's pretty obvious you swap the ordinates and negate one)
18:22:36 <tomsmeding> dolio: visualise it in 3D with two points a and b that are a bit away from the origin, but fairly close together
18:22:55 <tomsmeding> er, hm
18:22:58 <Lears> Coming in late: "just multiply by i"
18:23:07 <darkling> That works, too.
18:23:17 <tomsmeding> dolio: I don't know, it works
18:23:39 <dolio> I guess my question is: why 1?
18:24:12 <tomsmeding> (because I recalled there was some trick kind of like this, and I forgot what the third component needed to be, put "1" there, it worked, and I posted)
18:24:22 <dolio> Haha. Okay.
18:24:34 <tomsmeding> it doesn't work with 0, in any case
18:24:39 <dolio> Hmm.
18:24:48 <dolio> Oh yeah, that'll be all z.
18:24:52 <tomsmeding> yes
18:26:07 <dolio> I guess you need to give them some z so that the result has some component in the x-y plane.
18:26:26 <dolio> Probably doesn't matter how much.
18:26:38 <tomsmeding> ah, that's correct
18:26:52 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
18:27:23 <tomsmeding> (a1,a2,x) x (b1,b2,x) = (a2*x - b2*x, x*b1 - x*a1, a1*b2 - a2*b1)
18:28:53 ljdarj joins (~Thunderbi@user/ljdarj)
18:30:12 <tomsmeding> hm, not sure if that third component is useful in any way
18:30:21 <dolio> Oh, and you need it to be the same z for both so that the component is orthogonal to the line between the two.
18:30:35 <tomsmeding> it's the determinant of {{a1,a2},{b1,b2}}, but it's not the length of any of the relevant vectors
18:31:02 <tomsmeding> dolio: I mean, that is correct because the algebra works out, but that's the part I don't have intuition for
18:31:18 <tomsmeding> why does the projection into the plane end up orthogonal to the line segment you started with?
18:33:15 <tomsmeding> my moving points around in space, mentally, and visualising what the normal of the (O, A, B) triangle does, I can see that it points in roughly the right direction to be orthogonal to AB, but I wouldn't be able to tell (without working out the algebra) whether that's exact
18:33:29 <tomsmeding> *by moving points around
18:33:31 <dolio> Because you're sort of rotating the plane of the x-y vectors to change the 3d orthogonal vector.
18:33:50 <tomsmeding> I mean, yes
18:34:27 <dolio> If you add the same z component to both, you're rotating it so that the projection bisects the angle between the original vectors.
18:34:43 <tomsmeding> "the projection"?
18:35:06 <dolio> Of the cross product.
18:35:36 <tomsmeding> does it bisect anything?
18:36:20 <tomsmeding> if I take A = (3, 3) and B = (7, 6), then the OAB triangle is slanted sideways quite a bit, and the cross product (the normal of that triangle) points away from the whole thing, to the side
18:37:06 hc_ joins (~hc@mail.hce.li)
18:37:13 apache joins (apache2@anubis.0x90.dk)
18:37:30 <dolio> Hmm, oh yeah. Okay. I don't know why it works, then.
18:37:39 <tomsmeding> perhaps B = (100, 99) works better :p
18:38:42 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:39:08 × hc quits (~hc@mail.hce.li) (Ping timeout: 272 seconds)
18:39:09 TimWolla_ joins (~timwolla@2a01:4f8:150:6153:beef::6667)
18:39:48 <dolio> I guess the answer is that however it rotates it is the correct way to rotate it, but I don't know exactly why.
18:40:17 <tomsmeding> depending on who you ask, the "why" will be "look at the algebra, that's why"
18:40:39 <tomsmeding> but usually there are deeper reasons for these things in linear algebra
18:40:40 × bwe quits (~bwe@2a01:4f8:1c1c:4878::2) (Remote host closed the connection)
18:40:49 bwe joins (~bwe@2a01:4f8:1c1c:4878::2)
18:40:55 <tomsmeding> seydar: look what you've done
18:41:25 davl_ joins (~davl@207.154.228.18)
18:41:30 <dolio> Yeah, it's not a 'geometric reason.' I'm not very good at geometric stuff, though.
18:41:42 × mewra quits (~aranea@wireguard/contributorcat/mira) (Ping timeout: 246 seconds)
18:41:49 × TimWolla quits (~timwolla@2a01:4f8:150:6153:beef::6667) (Ping timeout: 252 seconds)
18:41:49 TimWolla_ is now known as TimWolla
18:41:54 mewra joins (~aranea@wireguard/contributorcat/mira)
18:42:09 × apache2 quits (apache2@anubis.0x90.dk) (Remote host closed the connection)
18:42:09 × flocks quits (~flocks@134.122.90.60) (Ping timeout: 264 seconds)
18:42:09 × YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 264 seconds)
18:42:09 × davl quits (~davl@207.154.228.18) (Ping timeout: 264 seconds)
18:42:28 YoungFrog joins (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
18:42:30 <dolio> Obviously I was only visualizing the case where the vectors to A and B have equal length.
18:42:39 <tomsmeding> I did the same thing :)
18:42:43 <tomsmeding> then it's quite clear
18:42:47 <dolio> Yeah.
18:42:52 flocks joins (~flocks@134.122.90.60)
18:42:56 <seydar> tomsmeding: this only further validates that i came to the right place
18:42:59 <tomsmeding> then I realised my mistake and came the "er, hm"
18:43:16 <tomsmeding> seydar: :D
18:43:41 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:46:24 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
18:47:59 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
18:52:44 × seydar quits (~seydar@38-73-249-43.starry-inc.net) (Ping timeout: 260 seconds)
18:53:44 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
18:54:00 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
18:56:47 drdo8 joins (~drdo@bl9-110-63.dsl.telepac.pt)
18:58:21 × drdo quits (~drdo@bl9-110-63.dsl.telepac.pt) (Ping timeout: 276 seconds)
18:58:21 drdo8 is now known as drdo
19:00:05 × caconym quits (~caconym@user/caconym) (Quit: bye)
19:00:25 <Lears> tomsmeding, dolio: Distributivity. (a1, a2, z) x (b1, b2, z) = ((a1, a2, 0) + (0, 0, z)) x ((b1, b2, 0) + (0, 0, z)) = ((a1, a2, 0) + (b1, b2, 0)) x (0, 0, z) + (0, 0, <junk>)
19:00:41 <Lears> The projection should be orthogonal to a+b, not b-a?
19:00:42 caconym joins (~caconym@user/caconym)
19:01:46 <dolio> tomsmeding: Maybe this is a better thing to consider. Those vectors are what you get by going between your actual points and the point (0,0,-z). And that plane actually contains the line you care about.
19:05:19 <tomsmeding> Lears: well, it's orthogonal to b-a. :P
19:06:37 <tomsmeding> dolio: which "those vectors"? (a1,a2,z) and (b1,b2,z)?
19:06:48 <dolio> Yeah.
19:07:17 <tomsmeding> and "the plane" is the one generated by {(a1,a2,0), (b1,b2,0), (0,0,-z)}?
19:07:24 <dolio> Yes.
19:07:45 <tomsmeding> that's just the same plane as we've been looking at before ("the triangle OAB"), only shifted down by z :p
19:07:55 <tomsmeding> the cross product is going to be _normal_ to that plane
19:08:38 <tomsmeding> so I'm not sure about your "contains the line you care about"
19:08:39 AlexNoo_ joins (~AlexNoo@178.34.163.165)
19:09:08 <dolio> It's normal to a plane containing the line between the a and b points.
19:09:25 <tomsmeding> yes ... oh
19:09:30 <tomsmeding> well it always was
19:09:40 <tomsmeding> okay fair
19:10:09 <tomsmeding> the cross product is normal to the plane spun up by the triangle OAB, hence it is normal to all vectors in that plane, in particular B-A
19:10:12 <tomsmeding> \qed?
19:10:44 <dolio> Well, you need some fact about projections back to the x-y plane.
19:10:48 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
19:11:06 <tomsmeding> when I did a bachelor in maths I had some fun with a fellow student and wrote a macro which, translated to English, would I guess be \maybeBoxy
19:11:11 <tomsmeding> it was a \qed with a ? inside
19:11:14 × AlexZenon quits (~alzenon@178.34.151.120) (Ping timeout: 260 seconds)
19:11:32 AlexNoo__ joins (~AlexNoo@178.34.163.165)
19:11:35 <tomsmeding> right
19:12:16 × AlexNoo quits (~AlexNoo@178.34.151.120) (Ping timeout: 252 seconds)
19:12:53 <tomsmeding> you can do that algebraically (the cross product is orthogonal to B-A, but the z-component of B-A is zero, hence it's orthogonal regardless of the z component of the cross product, hence also at zero, hence also when projected to the x-y plane)
19:13:00 <tomsmeding> but that's cheating again
19:13:14 weary-traveler joins (~user@user/user363627)
19:13:30 <dolio> Yeah, I'm not sure how to see geometrically that the projection is still orthogonal.
19:14:24 × AlexNoo_ quits (~AlexNoo@178.34.163.165) (Ping timeout: 246 seconds)
19:14:28 <tomsmeding> it is relevant that B-A lies in the x-y plane, because without that restriction, it's easy to think of two orthogonal vectors in R^3 that are not orthogonal after projection to the x-y plane
19:15:22 × briandaed quits (~root@185.234.210.211.r.toneticgroup.pl) (Remote host closed the connection)
19:15:34 <tomsmeding> ah: B-A lies in the x-y plane, so rotate and scale the whole system so that B-A is (1,0); then the (rotated) cross product is still orthogonal, so it's in the y-z plane
19:16:06 <tomsmeding> it's not parallel to the z-axis because that would mean that OAB is parallel to the x-y plane, which it isn't, so it has a nonzero y component
19:16:23 <tomsmeding> and angles in the projection are preserved by rotations around the z-axis and scalings
19:16:36 <tomsmeding> that feels like an argument
19:17:02 <tomsmeding> convoluted, though
19:17:24 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:18:49 <tomsmeding> "so that B-A is (1,0)" -> "so that B-A is (1,0,0)"
19:19:13 <tomsmeding> I guess the scaling is superfluous, but it helps intuition
19:21:54 AlexZenon joins (~alzenon@178.34.163.165)
19:22:03 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:29:27 × CiaoSen quits (~Jura@2a05:5800:2e5:2400:ca4b:d6ff:fec1:99da) (Ping timeout: 246 seconds)
19:33:02 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
19:33:32 gorignak joins (~gorignak@user/gorignak)
19:37:09 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:47:08 ash3en joins (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de)
19:53:25 ljdarj1 joins (~Thunderbi@user/ljdarj)
19:57:25 × ash3en quits (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Quit: ash3en)
19:57:30 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
19:57:31 ljdarj1 is now known as ljdarj
20:01:46 AlexNoo__ is now known as AlexNoo
20:08:10 seydar joins (~seydar@38-73-249-43.starry-inc.net)
20:10:58 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:19:15 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
20:20:28 × machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 272 seconds)
20:27:52 moe_ joins (~moe@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net)
20:30:24 ubert joins (~Thunderbi@178.165.187.120.wireless.dyn.drei.com)
20:32:07 × moe_ quits (~moe@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) (Client Quit)
20:38:53 × seydar quits (~seydar@38-73-249-43.starry-inc.net) (Quit: leaving)
20:40:30 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 246 seconds)
20:56:23 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:00:34 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:02:58 ell joins (~ellie@user/ellie)
21:03:49 × ell3 quits (~ellie@user/ellie) (Ping timeout: 260 seconds)
21:05:17 tom_ joins (~tom@compara.offerte.fibra.casa)
21:06:24 × ubert quits (~Thunderbi@178.165.187.120.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
21:07:42 tom_ parts (~tom@compara.offerte.fibra.casa) (Closing Window)
21:07:44 tom_ joins (~tom@compara.offerte.fibra.casa)
21:08:27 × tom_ quits (~tom@compara.offerte.fibra.casa) (Remote host closed the connection)
21:08:44 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
21:31:41 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
21:33:46 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:34:39 jinsun joins (~jinsun@user/jinsun)
21:35:56 gmg joins (~user@user/gehmehgeh)
21:38:51 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
21:39:22 gorignak joins (~gorignak@user/gorignak)
21:40:25 weary-traveler joins (~user@user/user363627)
21:44:05 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:44:31 ash3en joins (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de)
21:45:01 × ash3en quits (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit)
21:50:05 DetourNetworkUK joins (~DetourNet@user/DetourNetworkUK)
21:50:10 DetourNetworkUK parts (~DetourNet@user/DetourNetworkUK) ()
21:56:29 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
21:57:00 gorignak joins (~gorignak@user/gorignak)
22:08:42 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds)
22:25:53 × alp_ quits (~alp@2001:861:e3d6:8f80:e3a4:78d2:48d1:1e0) (Ping timeout: 248 seconds)
22:26:39 × yaroot quits (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) (Ping timeout: 260 seconds)
22:26:54 yaroot joins (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c)
22:31:37 × pierrot quits (~pi@user/pierrot) (Quit: ZNC 1.8.2 - http://znc.in)
22:33:45 pierrot joins (~pi@user/pierrot)
22:46:48 × pierrot quits (~pi@user/pierrot) (Quit: ZNC 1.8.2 - http://znc.in)
22:52:24 pierrot joins (~pi@user/pierrot)
22:59:39 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:00:15 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
23:00:54 athan joins (~athan@syn-098-153-145-140.biz.spectrum.com)
23:18:34 Sgeo joins (~Sgeo@user/sgeo)
23:19:09 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
23:20:54 × pierrot quits (~pi@user/pierrot) (Quit: ZNC 1.8.2 - http://znc.in)
23:21:58 pierrot joins (~pi@user/pierrot)
23:22:01 × mantraofpie quits (~mantraofp@user/mantraofpie) (Ping timeout: 260 seconds)
23:22:25 × acidjnk quits (~acidjnk@p200300d6e72cfb59bd2c072e962d353d.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
23:22:25 × CrunchyFlakes quits (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
23:26:57 philopsos joins (~caecilius@user/philopsos)
23:38:57 acidjnk joins (~acidjnk@p200300d6e72cfb59bd2c072e962d353d.dip0.t-ipconnect.de)
23:40:05 CrunchyFlakes joins (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
23:40:32 × youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection)
23:41:10 <Lears> Oh. I should have figured this out a lot sooner, but it looks like I forgot to /anti/-commute one of cross products (z k x (b1 i + b2 j))---that's what I get for doing it in my head. Distributivity indeed gives us a projection orthogonal to a-b.
23:43:11 youthlic joins (~Thunderbi@user/youthlic)
23:49:06 causal joins (~eric@50.35.88.207)

All times are in UTC on 2024-10-09.