Logs: liberachat/#haskell
| 2025-09-09 11:30:30 | <dminuoso> | Mmm. That sounds surprising. |
| 2025-09-09 11:30:30 | <merijn> | How can you even tell? Pretty sure latin-1 is a subset of utf-8, no? |
| 2025-09-09 11:31:09 | <merijn> | ah, no only for the first 127 values, which makes sense I suppose |
| 2025-09-09 11:31:16 | <kaol> | I'm using servant-jsaddle which is little used, I guess. At least the offending decode happens on servant-client-core's side. |
| 2025-09-09 11:31:56 | <mauke> | it's when you send €, but you get â�¬ |
| 2025-09-09 11:32:10 | <kaol> | I specifically have "ö" in my test body which is in latin1 and I unpacked the body just to see the digits and it is there indeed as single byte latin1. |
| 2025-09-09 11:33:12 | <dminuoso> | kaol: can you share you API specification here? |
| 2025-09-09 11:35:12 | <kaol> | I started with servant-client-js instead of servant-jsaddle and it didn't have encoding problems but it was incapable of handling basic authentication which made me switch. I'm starting to think that returning back and just improving its error handling is an easier path. |
| 2025-09-09 11:35:24 | <dminuoso> | kaol: So the servant code itself does not do any latin1 decoding. |
| 2025-09-09 11:35:34 | <dminuoso> | Im fairly sure its outside of servant. |
| 2025-09-09 11:35:51 | → | davidlbowman joins (~dlb@user/davidlbowman) |
| 2025-09-09 11:36:50 | × | kaotika quits (~user@user/d4q) (Ping timeout: 256 seconds) |
| 2025-09-09 11:36:58 | <ski> | kaol : you could make it show `Proxy :: Proxy <type>' |
| 2025-09-09 11:37:01 | <kaol> | I know someone's calling this decodeAs with Proxy :: Proxy JSON with latin1. |
| 2025-09-09 11:37:11 | <ski> | or `Proxy @<type>' |
| 2025-09-09 11:37:47 | <kaol> | I found out the type already. |
| 2025-09-09 11:37:56 | <ski> | merijn : depends on encoding |
| 2025-09-09 11:38:42 | → | kaotika joins (~user@user/d4q) |
| 2025-09-09 11:38:55 | <dminuoso> | kaol: Well whereever the mojibake happens, servant has no code path through which it even could decode latin1. |
| 2025-09-09 11:39:00 | <kqr> | sm: Cheers, will do! |
| 2025-09-09 11:39:18 | × | Googulator quits (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-09-09 11:39:33 | → | Googulator joins (~Googulato@2a01-036d-0106-217b-fd1e-c506-2528-080c.pool6.digikabel.hu) |
| 2025-09-09 11:39:48 | × | kaotika quits (~user@user/d4q) (Max SendQ exceeded) |
| 2025-09-09 11:40:03 | <dminuoso> | kaol: c.f. https://hackage-content.haskell.org/package/servant-0.20.3.0/docs/Servant-API.html#t:MimeUnrender |
| 2025-09-09 11:41:36 | → | kaotika joins (~user@user/d4q) |
| 2025-09-09 11:41:40 | <dminuoso> | Now of course maybe there's an additional type tag with a MimeUnrender instance that uses latin1 in your dependency closure. |
| 2025-09-09 11:41:50 | <dminuoso> | But it would outside of any of the official servant packages. |
| 2025-09-09 11:42:56 | <kaol> | I suspect there's something wrong with servant-jsaddle since servant-client-js doesn't come up with latin1. And servant-jsaddle is an official servant package. |
| 2025-09-09 11:43:32 | <dminuoso> | fsvo "official servant package" |
| 2025-09-09 11:44:03 | × | kaotika quits (~user@user/d4q) (Max SendQ exceeded) |
| 2025-09-09 11:44:12 | <dminuoso> | But jsaddle has no custom MimeUnrender instances either. |
| 2025-09-09 11:44:21 | <dminuoso> | Like I said, it would be easiest if you just shared your API specification |
| 2025-09-09 11:44:32 | → | ttybitnik joins (~ttybitnik@user/wolper) |
| 2025-09-09 11:45:40 | → | kaotika joins (~user@user/d4q) |
| 2025-09-09 11:46:38 | <kaol> | I'll make a small example something out of this. |
| 2025-09-09 11:47:00 | × | kaotika quits (~user@user/d4q) (Max SendQ exceeded) |
| 2025-09-09 11:49:38 | → | kaotika joins (~user@user/d4q) |
| 2025-09-09 11:50:57 | × | kaotika quits (~user@user/d4q) (Max SendQ exceeded) |
| 2025-09-09 11:51:39 | → | kaotika joins (~user@user/d4q) |
| 2025-09-09 11:52:47 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 2025-09-09 11:59:05 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-09 12:00:53 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 2025-09-09 12:02:25 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 248 seconds) |
| 2025-09-09 12:03:19 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-09-09 12:07:00 | × | kaotika quits (~user@user/d4q) (Ping timeout: 245 seconds) |
| 2025-09-09 12:08:18 | → | kaotika joins (~user@user/d4q) |
| 2025-09-09 12:11:07 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds) |
| 2025-09-09 12:12:25 | → | merijn joins (~merijn@77.242.116.146) |
| 2025-09-09 12:12:38 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-09-09 12:13:44 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-09-09 12:19:45 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-09 12:25:00 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 256 seconds) |
| 2025-09-09 12:25:17 | → | jreicher joins (~user@user/jreicher) |
| 2025-09-09 12:25:32 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-09-09 12:29:41 | × | inline quits (~inline@ip-005-146-196-246.um05.pools.vodafone-ip.de) (Quit: Leaving) |
| 2025-09-09 12:33:26 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 2025-09-09 12:33:44 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 2025-09-09 12:39:09 | × | kaotika quits (~user@user/d4q) (Ping timeout: 265 seconds) |
| 2025-09-09 12:41:54 | → | kaotika joins (~user@user/d4q) |
| 2025-09-09 12:49:59 | × | pabs3 quits (~pabs3@user/pabs3) (Read error: Connection reset by peer) |
| 2025-09-09 12:50:26 | → | pabs3 joins (~pabs3@user/pabs3) |
| 2025-09-09 12:50:42 | × | mange quits (~mange@user/mange) (Quit: Zzz...) |
| 2025-09-09 12:51:13 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2025-09-09 12:51:24 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2025-09-09 13:00:38 | × | poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-09-09 13:03:22 | → | poscat joins (~poscat@user/poscat) |
| 2025-09-09 13:03:48 | → | tromp joins (~textual@2001:1c00:3487:1b00:298e:6063:53dd:ee4e) |
| 2025-09-09 13:09:09 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-09 13:09:22 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-09 13:10:51 | × | kaotika quits (~user@user/d4q) (Ping timeout: 252 seconds) |
| 2025-09-09 13:11:52 | → | kaotika joins (~user@user/d4q) |
| 2025-09-09 13:13:45 | → | qqe joins (~qqq@185.54.23.136) |
| 2025-09-09 13:16:43 | <kaol> | dminuoso: I can show the complete example program if you like but I verified that I can get the decoding bug with just this API: type API = "asdfasdf.json" :> Get '[JSON] Text |
| 2025-09-09 13:17:07 | <kaol> | I didn't expect anything other from doing this really. |
| 2025-09-09 13:17:47 | <kaol> | I guess WASM is bleeding edge and I get both pieces if it breaks. |
| 2025-09-09 13:18:02 | → | Guest89 joins (~Guest89@37.111.214.210) |
| 2025-09-09 13:19:49 | → | jespada_ joins (~jespada@2800:a4:22ba:8000:cca7:ce4f:edb:52ec) |
| 2025-09-09 13:21:23 | <Guest89> | Can you give me some help. I was born in 1992, studied Computer Science from 2012 to 2019, and currently studying english BA at university. I have 3 more years to graduate. I was wondering what path I could take and how so I can get myself admitted to a Computer Science PhD by 2028. I love haskell, but wondering if it would help to build hobby |
| 2025-09-09 13:21:24 | <Guest89> | softwares like text based games, or scrapers or compilers with haskell. Most realistically I am lost and looking for remote opportunities from this platform. |
| 2025-09-09 13:21:49 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) |
| 2025-09-09 13:22:39 | × | jespada quits (~jespada@2800:a4:22ba:8000:cca7:ce4f:edb:52ec) (Ping timeout: 265 seconds) |
| 2025-09-09 13:25:06 | <tomsmeding> | Guest89: I feel like that depends on what kind of PhD you want to get into. What kind of research do you enjoy? |
| 2025-09-09 13:25:21 | <Guest89> | Computer Engineering, Electronics |
| 2025-09-09 13:26:00 | <tomsmeding> | "electronics" sounds more like electrical engineering than computer science. I'm not sure what you mean with "computer engineering" |
| 2025-09-09 13:27:35 | <tomsmeding> | Especially once you get to PhD level, every field that seems from the outset to be mostly coherent ("computer science", for example), fragments in a very broad spectrum of little topics and interests |
| 2025-09-09 13:27:37 | <Guest89> | Yeah basically Electronics. But I need to study it on my own now. I took Digital Logic class as part of CS degree. |
| 2025-09-09 13:28:05 | <tomsmeding> | do you aspire being a CPU designer at some point? |
| 2025-09-09 13:28:06 | <Guest89> | Embedded device programming, SDK Development are nice |
| 2025-09-09 13:28:16 | <Guest89> | How, in such short time? I am 33 now |
| 2025-09-09 13:28:17 | <tomsmeding> | or more embedded programming? |
| 2025-09-09 13:28:35 | <tomsmeding> | I'm trying to probe what your interests are |
| 2025-09-09 13:28:37 | <Guest89> | I have no clue about CPU Designing |
| 2025-09-09 13:28:48 | <merijn> | Also, why do you wanna do a phd? :p |
| 2025-09-09 13:28:54 | × | kaotika quits (~user@user/d4q) (Ping timeout: 258 seconds) |
| 2025-09-09 13:28:58 | <tomsmeding> | because already "electronics" is outside of "copmuter science", despite you saying you wanted to get admitted to a CS PhD |
| 2025-09-09 13:28:58 | <merijn> | That's perhaps the most important question :p |
| 2025-09-09 13:29:01 | <tomsmeding> | also |
| 2025-09-09 13:29:50 | <Guest89> | I thought I would get in to a multidisciplinary project of some kind |
| 2025-09-09 13:29:56 | <merijn> | You gotta ask yourself whether you're stupid enough to do a PhD xD |
| 2025-09-09 13:30:04 | <tomsmeding> | a PhD means (details depending on the country) 3-5 years of struggling, learning very much about a very tiny part of science, as well as getting to know yourself |
All times are in UTC.