Logs: freenode/#haskell
| 2020-09-26 06:56:56 | <Guest26> | this is all because i couldnt get sdl-diagrams to work... |
| 2020-09-26 06:56:58 | <fraktor> | dsal: Is this project open-source? I can maybe take a look |
| 2020-09-26 06:57:06 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 2020-09-26 06:58:02 | <Guest26> | dsal: the data it could send could be interpreted by the haskell program, so it could be eg a command such as "restart simulation" or "convert boundaries to reflective/periodic" |
| 2020-09-26 06:58:30 | <dsal> | fraktor: Alright, but I don't use standard elm layout because I wrote all this code before anyone told me about it and I thought it was ugly. heh github.com/dustin/gopro -- static is the, uh, static content. ui is the elm source. |
| 2020-09-26 06:58:43 | × | josh_ quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 265 seconds) |
| 2020-09-26 06:58:59 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 2020-09-26 06:59:01 | <dsal> | socketHandler handlers sockets. |
| 2020-09-26 06:59:52 | <Guest26> | this is some serious code |
| 2020-09-26 06:59:58 | hackage | tasty-wai 0.1.1.1 - Test 'wai' endpoints via Test.Tasty https://hackage.haskell.org/package/tasty-wai-0.1.1.1 (GeorgeWilson) |
| 2020-09-26 06:59:58 | <fraktor> | Oh wait, you didn't use the Elm architecture? |
| 2020-09-26 07:00:40 | → | fxg joins (~fxg@unaffiliated/fxg) |
| 2020-09-26 07:00:50 | → | jdgr joins (601c428b@gateway/web/cgi-irc/kiwiirc.com/ip.96.28.66.139) |
| 2020-09-26 07:00:55 | <Guest26> | dsal: i dont see where it does the visualisation |
| 2020-09-26 07:00:59 | MarcelineVQ | plays a violin for the readme.md |
| 2020-09-26 07:01:24 | <fraktor> | Guest26: It's not for the same kind of thing; I'm just curious about what dsal wrote lol. |
| 2020-09-26 07:01:26 | × | mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 246 seconds) |
| 2020-09-26 07:01:28 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 256 seconds) |
| 2020-09-26 07:01:35 | <Guest26> | ok |
| 2020-09-26 07:01:46 | <dsal> | MarcelineVQ: heh. nobody ever uses my programs no matter how well I document them. |
| 2020-09-26 07:01:47 | <Guest26> | ah, it was about websockets |
| 2020-09-26 07:02:26 | <dsal> | This is really good software lots of people should use, though. |
| 2020-09-26 07:02:29 | <Guest26> | dsal: what is it for this gopro interface? |
| 2020-09-26 07:02:34 | <fraktor> | I want to go back to 1980 and try to explain this: `addToast toast = Toasty.addToast toastConfig ToastyMsg toast` |
| 2020-09-26 07:02:44 | MarcelineVQ | plays Agnus Dei for the code commentary :> |
| 2020-09-26 07:03:18 | <dsal> | Guest26: it's a bunch of tools for managing data in gopro's cloud. |
| 2020-09-26 07:03:31 | <jdgr> | Okay, was going over Haskell with my girlfriend. She's "bored" so I put studying Haskell on pause and introduced her to Scratch. |
| 2020-09-26 07:03:38 | <Guest26> | extractGPMDStream filename stream = readCmd "ffmpeg" ["-y", "-i", filename, "-loglevel", "-8", "-codec", "copy", "-map", "0:" <> show stream, "-f", "rawvideo", "-"] id |
| 2020-09-26 07:03:41 | <Guest26> | horrible |
| 2020-09-26 07:04:11 | <jdgr> | Probably a better introduction to programming because it's visual and you can immediately do interesting things. |
| 2020-09-26 07:04:23 | × | Omentiger quits (~Omentiger@cpe-24-25-246-129.hawaii.res.rr.com) (Quit: Leaving) |
| 2020-09-26 07:04:27 | <Guest26> | sounds like you need a dog |
| 2020-09-26 07:04:56 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-09-26 07:05:08 | <Guest26> | https://ocharles.org.uk/img/2013-12-19-websockets.png |
| 2020-09-26 07:05:29 | <jdgr> | We need a visual IDE for Haskell that makes the language easy and fun for beginners like Scratch is |
| 2020-09-26 07:05:30 | <dsal> | Guest26: yet I've pushed a TB of video through it. I'll take a patch, but I didn't find an mpeg library that could solve the problem that line did. |
| 2020-09-26 07:05:58 | <dsal> | It was enough that I had to write a parser for GoPro's metadata stream because all of their tools were unusable even as FFI. |
| 2020-09-26 07:06:35 | <Guest26> | oh right, its got all those funny arguments because its a command line tool |
| 2020-09-26 07:06:38 | × | fxg quits (~fxg@unaffiliated/fxg) (Ping timeout: 256 seconds) |
| 2020-09-26 07:06:44 | <fraktor> | I still need to actually write a real project in Elm. Maybe I'll update my Rust/Vue project to do that |
| 2020-09-26 07:06:57 | <Guest26> | hmm, maybe thats the best way to do this plotting too... just compile something to exe |
| 2020-09-26 07:07:12 | <dsal> | This was my "I should try out elm" project. It works. The WS was the worst pain (which was surprising). |
| 2020-09-26 07:07:15 | <Guest26> | i can easily read the .png in by refreshing the page |
| 2020-09-26 07:07:35 | <fraktor> | Then again, I'm not really good at Haskell either. I still don't understand how to use Monad Transformers |
| 2020-09-26 07:07:45 | <Guest26> | each time the simulation produces new data i can get the thing that watches the data dir to overwrite the plot image |
| 2020-09-26 07:07:57 | <fraktor> | That's probably the easiest way |
| 2020-09-26 07:08:04 | <fraktor> | I would not recommend websockets if you don't want to dive deep |
| 2020-09-26 07:08:04 | <Guest26> | ok! that sounds like a plan. so how do i plot the timeseries data? |
| 2020-09-26 07:08:09 | <dsal> | I just write code to solve my problems. |
| 2020-09-26 07:08:21 | <fraktor> | Guest26: I don't really know. You'd need to find a Haskell library for that. |
| 2020-09-26 07:08:27 | <jdgr> | That's the whole point of programming |
| 2020-09-26 07:08:30 | <Guest26> | ok brb |
| 2020-09-26 07:08:32 | <jdgr> | Making your life easier |
| 2020-09-26 07:08:37 | <fraktor> | Not true! Sometimes it's for fun |
| 2020-09-26 07:08:45 | <jdgr> | That too |
| 2020-09-26 07:08:56 | <Guest26> | i soon find; https://hackage.haskell.org/package/plots |
| 2020-09-26 07:09:18 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-09-26 07:09:19 | <fraktor> | Great! |
| 2020-09-26 07:09:25 | <dsal> | This GoPro thing is... unofficial (had to reverse engineer the API and violate all the terms of service), but the service isn't usable without it. |
| 2020-09-26 07:09:40 | <dsal> | Like, I would be surprised if anyone uses their stuff at all. |
| 2020-09-26 07:09:43 | <fraktor> | I've definitely used APIs in a creative way before. |
| 2020-09-26 07:10:29 | <dsal> | They don't have a published API. Their web UI is *impressively* bad, and doesn't even do a lot of the things you'd want done. |
| 2020-09-26 07:11:01 | <Guest26> | ah but this doesnt seem to write to a .png |
| 2020-09-26 07:11:06 | <dsal> | But most importantly, when they decide they don't want to store my TB of data for $5/mo anymore, I have a commandline that will ship it all off to S3 just about instantly. |
| 2020-09-26 07:13:01 | → | xsperry joins (~as@unaffiliated/xsperry) |
| 2020-09-26 07:13:33 | <dsal> | http://dustin.sallings.org/2020/04/29/gopro-plus.html <-- I wrote about it there. I guess I could document things since I think I've got it as stable as I want now, just in case someone somewhere has a gopro. |
| 2020-09-26 07:14:02 | <Guest26> | horay! human words |
| 2020-09-26 07:14:04 | <dsal> | I've worked around a crapload of bugs on their side as well. I've got this cool thing where I can do bulk updates of metadata on their end using SQL queries. |
| 2020-09-26 07:15:02 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-09-26 07:15:36 | <dsal> | e.g., there's some way I can upload stuff where they just can't figure out what camera it came from, but like, I can read it directly out of the EXIF or GPMD streams, so I write a SQL query that returns the metadata that I know for all of the rows where they don't know and it translates that into mutation API calls on their end. Fun stuff. |
| 2020-09-26 07:15:53 | × | toorevitimirp quits (~tooreviti@117.182.182.201) (Remote host closed the connection) |
| 2020-09-26 07:16:31 | <Guest26> | i guess its more of a home use tool than a lib for hackage? |
| 2020-09-26 07:17:00 | <dsal> | If you just want to use the APIs, they're here: http://hackage.haskell.org/package/gopro-plus |
| 2020-09-26 07:17:06 | <dsal> | and gpmf and stuff. |
| 2020-09-26 07:17:11 | <dsal> | (linked in that article) |
| 2020-09-26 07:17:18 | <Guest26> | oh right, thats far less impressive |
| 2020-09-26 07:17:38 | <dsal> | Heh, that stuff was hard to reverse engineer and write. |
| 2020-09-26 07:17:43 | <Guest26> | oh - you wrote those aswell |
| 2020-09-26 07:17:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2020-09-26 07:17:56 | <Guest26> | completely impressive |
| 2020-09-26 07:18:06 | <Guest26> | i cant even do a line plot |
| 2020-09-26 07:18:12 | <Guest26> | :-? |
| 2020-09-26 07:18:12 | <dsal> | Like, this is the *simple* case of uploading media: https://github.com/dustin/gopro-plus/wiki/Upload |
| 2020-09-26 07:18:32 | × | jdgr quits (601c428b@gateway/web/cgi-irc/kiwiirc.com/ip.96.28.66.139) (Ping timeout: 256 seconds) |
| 2020-09-26 07:18:53 | <Guest26> | now i want a go-pro, just to use this library.... |
| 2020-09-26 07:19:14 | <dsal> | But you can do server-side concatenation of multiple files (e.g., when the camera splits, or you just took multiple videos and want them to be a single one) by defining a single multi-part video across a set of files, each of which is split into 6MB chunks and uploaded. |
| 2020-09-26 07:19:17 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 2020-09-26 07:19:17 | × | mpereira quits (~mpereira@2a02:810d:f40:d96:5151:9344:10a3:da64) (Ping timeout: 246 seconds) |
| 2020-09-26 07:19:48 | <dsal> | The upload is completely resumable as well (since my connectivity goes out). I was uploading earlier, and then stopped for some reason (^C) and then just told it to keep uploading whatever it was doing before. |
| 2020-09-26 07:19:48 | <Guest26> | but i think before too long it would become philip k dicks second variety |
| 2020-09-26 07:20:07 | <Guest26> | do we have an interface to project gutenburg? |
| 2020-09-26 07:20:19 | <dsal> | What would that do? |
| 2020-09-26 07:20:35 | × | dmiles quits (dmiles@c-73-67-179-188.hsd1.wa.comcast.net) (Ping timeout: 240 seconds) |
| 2020-09-26 07:22:24 | <Guest26> | idk, something like search and download? or maybe an interface to have it for use as a text corpus eg. for machine learning |
| 2020-09-26 07:22:31 | <Guest26> | it has entries like this; |
| 2020-09-26 07:22:32 | <Guest26> | https://www.gutenberg.org/files/32032/32032-h/32032-h.htm |
| 2020-09-26 07:25:10 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-09-26 07:25:35 | × | Guest26 quits (a181464f@gateway/web/cgi-irc/kiwiirc.com/ip.161.129.70.79) (Quit: Connection closed) |
| 2020-09-26 07:25:50 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 2020-09-26 07:26:19 | → | v_m_v joins (~vm_v@2a02:aa12:3200:6480:f507:71a:9334:3099) |
All times are in UTC.