<< 04-11-2020 >>

00:01:28FromGitter<jrfondren> the discriminator is an enum, though?
00:01:38FromGitter<jrfondren> I have even more of that kind of code in https://github.com/jrfondren/nim-maxminddb/blob/master/src/maxminddb/node.nim#L61
00:01:57FromGitter<jrfondren> there are fields with different types. the discriminator's an enum
00:02:37FromGitter<sealmove> yes, artiffcally. the real discriminator is code, not codeCase, which (code) can be of any type.
00:03:44*sirn quit (Ping timeout: 240 seconds)
00:03:47*fowl quit (Read error: Connection reset by peer)
00:04:05*fowl joined #nim
00:04:57*sirn joined #nim
00:15:35*kitech1 quit (Max SendQ exceeded)
00:15:59*kitech1 joined #nim
00:16:45*Jjp137 quit (Read error: Connection reset by peer)
00:19:20*Jjp137 joined #nim
01:23:11FromGitter<jrfondren> this server and openssl (cli) are both blocking on a read() at the same time. TLS negotiation works well enough in nc --ssl or when I write the client :(
01:34:11*TomDotTom quit (Ping timeout: 258 seconds)
01:38:53*Tanger joined #nim
01:46:54FromGitter<jrfondren> ok, figured it out. net protocol failure rather than ssl failure
01:57:40*abm quit (Quit: Leaving)
02:07:00*Tlangir joined #nim
02:09:48*Tanger quit (Ping timeout: 260 seconds)
02:28:40*apahl quit (Ping timeout: 268 seconds)
02:30:11*apahl joined #nim
02:36:41*dddddd quit (Ping timeout: 268 seconds)
02:45:39*dddddd joined #nim
03:12:04*muffindrake quit (Ping timeout: 240 seconds)
03:14:25*muffindrake joined #nim
03:14:26*madpata_ joined #nim
03:17:25*madpata quit (Ping timeout: 240 seconds)
03:18:18jonjitsu[m]is it possilble to create a generic `proc foo[T](a: seq[T], filler: T = ??)` where ?? is a generic default value?
03:22:26jonjitsu[m]ok, it's just default(T)...
03:45:44FromDiscord<Gyllou> anybody know of any fast graph libraries in nim?
03:46:06disruptekwhat happened with nvgraph?
03:47:29FromDiscord<Gyllou> i want to have options
03:47:43FromDiscord<Gyllou> in case i dont want to offload everything to the gpu
03:48:00disruptekwell, you can look at gram and redesign it and i'll help impl it.
03:48:41disruptekit's oriented towards simplicity so far. it could be made it fit your goals, but it'd be a lot of work.
03:48:53FromDiscord<Gyllou> hmm yea
03:48:58FromDiscord<Gyllou> do you have a link?
03:49:01disrupteki would probably use neptune instead.
03:49:03FromDiscord<Gyllou> cant remember if you sent it before
03:49:04disruptek!repo gram
03:49:05disbothttps://github.com/disruptek/gram -- 9gram: 11Generic graphs in Nim 15 11โญ 1๐Ÿด 7& 4 more...
03:49:32disruptekdgraph is nice, too.
03:50:02disrupteki like the design of titan and it has a dynamodb datastore module, but i think it's not very widely used.
03:50:15disruptektigergraph would be my commercial pick, i think.
03:50:26FromDiscord<Gyllou> ive used most of the on the market ones
03:50:52FromDiscord<Gyllou> i like arangdb, but i want something lighter weight than a graph db
03:51:00FromDiscord<Gyllou> just because of how im using it
03:51:24disruptekthat's a multi-mode right?
03:51:47FromDiscord<Gyllou> yea
03:51:55FromDiscord<Gyllou> it was easy to use and performed pretty well
03:52:26FromDiscord<Gyllou> i used it for knowledge graph and ontology learning research
03:53:08FromDiscord<Gyllou> neptune would be took expensive
03:53:10FromDiscord<Gyllou> too
03:53:21FromDiscord<Gyllou> cloud is mostly out because of data storage
03:53:37disruptekthe data changes too much?
03:53:44FromDiscord<Gyllou> too much data
03:54:05PrestigeHm is it unsafe to have an object's hash be hash(foo.unsafeAddr)? I suppose the object could be collected, and something else takes its place..
03:54:35FromDiscord<Gyllou> amazon charges alot for storage at least for our size company lol
03:54:36disruptekdepends on what you're trying to accomplish.
03:55:11Prestigejust trying to add an object to a table disruptek, it doesn't really have "unique" properties to hash though
03:55:21disrupteki think of scaling storage as more of a problem of deletion -- how can you do it? -- than simply storing. storage rarely seems to be a problem.
03:56:45disruptekprestige: you can use the addr as long as you know what that means.
03:57:08disruptekdon't be afraid. this is nim.
03:57:35Prestigehm it actually should be safe for this case
04:06:01*supakeen quit (Quit: WeeChat 2.9)
04:06:36*supakeen joined #nim
04:11:03FromDiscord<nikki> damn, the c code nim generates gets optimized to shreds
04:11:20FromDiscord<nikki> i was just checking out what the NRVO looks like when doing some assigns to `result[...]` to return a tuple
04:11:33FromDiscord<nikki> the proc is declared `{.inline.}` in nim
04:12:15*casaca quit (Remote host closed the connection)
04:12:42FromDiscord<nikki> but yeah the C code looks chill: declares teh result param fills it returns it (doesn't eg pass in a ptr to the original decl or sth), has an instance for it in the callsite, reads the fields out to local vars (cuz i destructure at the callsite) and carreis on...
04:13:07FromDiscord<nikki> the original proc is just reading the values off of the object, it's a 'getter' basically
04:13:27FromDiscord<nikki> anyways in the generated asm: it just optimizes it all out to directly reading from that struct in the expression later
04:13:39disruptekright.
04:13:43FromDiscord<nikki> all of that previous ceremony is gone
04:13:44FromDiscord<nikki> love it
04:14:15*casaca joined #nim
04:14:28disruptekdon't try to outsmart it and you'll be fine.
04:14:59*a_chou joined #nim
04:15:18FromDiscord<nikki> i think it knows it's smarter than me
04:15:37FromDiscord<nikki> thanks, computer <gently pats it>
04:16:40*casaca quit (Remote host closed the connection)
04:17:05*casaca joined #nim
04:30:06*casaca quit (Remote host closed the connection)
04:30:35*casaca joined #nim
04:33:11FromDiscord<nikki> is there a section in the manual or a page on the site about doc comments and the various syntaxes you can use in 'em? even if it's extendable, just the default stuff
04:33:23disruptekthe syntax is rst.
04:33:27FromDiscord<nikki> i ctrl+f'd around the manual but didn't find anything but also may not have searched well
04:33:58FromDiscord<nikki> disruptek: cool. i heard some markdown extns are supported? in any case outside of that is it pretty much "things starting with `##` after a decl" or is there more to it
04:34:39disruptek## comments, or ##[ ... ]##, get stored in the ast. # (single pound) get omitted.
04:35:14disruptekthere isn't really more to it. i use them extensively when i'm writing macros.
04:36:10disruptekhere and there was talk of breaking ## in certain scenarios, but luckily, nothing came of it.
04:36:24FromDiscord<nikki> as in you generate doc comments? or just that you document your macros
04:36:33FromDiscord<nikki> thanks for the help btw!
04:36:47disruptekfor example, a trailing ## will prevent an otherwise last expr from yielding the value for the body.
04:37:12disrupteki just use comments-in-the-ast as a way to self-document macros while writing them.
04:37:20disrupteklike, complex macros.
04:37:22disruptek!repo cps
04:37:23disbothttps://github.com/disruptek/cps -- 9cps: 11Continuation-Passing Style for Nim ๐Ÿ”— 15 39โญ 2๐Ÿด
04:37:29disruptek!repo openapi
04:37:30disbothttps://github.com/disruptek/openapi -- 9openapi: 11OpenAPI Code Generator for Nim 15 34โญ 2๐Ÿด 7& 5 more...
04:37:48disruptek!repo carnac
04:37:49disbothttps://github.com/disruptek/carnac -- 9carnac: 11magical function memoization across runtimes 15 0โญ 0๐Ÿด
04:40:05FromDiscord<nikki> huh, interesting
04:41:30FromDiscord<nikki> also using submodules for deps: nice. i just built some C project i last worked on 6 years ago today and it builds fine, uses submodules
04:42:34FromDiscord<Zachary Carter> https://github.com/stoyannk/voxels/blob/22e1742860943d0429839b925c5472d8778d8c23/src/VoxelGrid.cpp#L42-L50 - I'm always confused by this in C/C++
04:42:55disrupteksubmodules are the basis for nimph-2.0.
04:42:57FromDiscord<Zachary Carter> char holds a byte worth of data so how can its value be signed?
04:43:20disrupteksign is just a bit, man.
04:43:22FromDiscord<nikki> char is interpreted as a signed number
04:43:23FromDiscord<Zachary Carter> or does the sign occupy one of the bits?
04:43:28*a_chou quit (Quit: a_chou)
04:43:31FromDiscord<Zachary Carter> okay
04:43:53FromDiscord<Zachary Carter> so C++'s type checker doesn't care but Nim's does
04:44:07FromDiscord<Zachary Carter> so what type should one use in Nim then?
04:44:10disruptek!repo nimph
04:44:11disbothttps://github.com/disruptek/nimph -- 9nimph: 11Nim package hierarchy manager from the future ๐Ÿงš 15 83โญ 5๐Ÿด 7& 1 more...
04:44:15disruptekuse whatever you want.
04:44:28FromDiscord<nikki> hmm, what are you trying to do i guess
04:44:37FromDiscord<nikki> like maybe you can work from the logic you want to accomplish and just express it
04:44:51disrupteki think the whole char vs. uint8 vs. byte thing is silly.
04:44:53FromDiscord<nikki> int8?
04:45:01FromDiscord<nikki> yeah just using int8 should work
04:45:08FromDiscord<Zachary Carter> okay
04:45:13FromDiscord<Zachary Carter> thanks
04:45:13FromDiscord<nikki> i think! still new to nim
04:45:18FromDiscord<Zachary Carter> I mean it makes sense that it would
04:46:13FromDiscord<Zachary Carter> it's still one byte of data but Nim cares more about type correctness
04:46:21FromDiscord<nikki> disruptek: cool re: nimph. i kinda saw it before. i'm not totally sure yet how i'll be handling nim deps in this main project i'm tackling (it's meant to just be a video game so i care less about being nimbley or w/e and just about making the final artifact)
04:46:33FromDiscord<Zachary Carter> whare you building nikki?
04:46:35FromDiscord<Zachary Carter> what kind of game?
04:46:41FromDiscord<nikki> the setup right now is that nim generates C that then is fed to CMake along with some vendored C deps (such as sdl2, sdl-gpu, ...)
04:46:59FromDiscord<nikki> just cuz i already had a cmake setup for all that to work on web + desktop + mobile
04:47:38FromDiscord<nikki> @Zachary Carter i've already been working on it in C++, it's ... kind of point n click but also kind of physicsy. mostly "top angled view" though
04:47:44FromDiscord<Zachary Carter> cool
04:47:46FromDiscord<nikki> could show in #gamedev
04:47:52FromDiscord<Zachary Carter> yeah that'd be neat
05:11:37FromDiscord<nikki> disruptek: the "total interoperability with Nimble" point seems important (from the features list in nimph)
05:11:43FromDiscord<nikki> how well does that work out in practice?
05:12:14FromDiscord<nikki> the rest of the stuff seems p good
05:13:38FromDiscord<nikki> having a list of common tasks in the 'Usage' section is a really good idea, docs-wise
05:18:16*NimBot joined #nim
05:33:44*bung joined #nim
05:35:36*narimiran joined #nim
05:38:03*opal quit (Ping timeout: 240 seconds)
05:42:48ForumUpdaterBotNew thread by Kamek: Where to request code review?, see https://forum.nim-lang.org/t/7029
05:43:55FromDiscord<iWonderAboutTuatara> I figured out why godot-nim wasn't workking
05:44:44FromDiscord<iWonderAboutTuatara> I need to install Nim on my windows machine, but choosenim is giving me problems
05:44:55FromDiscord<iWonderAboutTuatara> running `choosenim 1.4.0` gives the following error
05:45:06FromDiscord<iWonderAboutTuatara> Unable to extract. Error was 'Access is denied.
05:45:10FromDiscord<iWonderAboutTuatara> (edit) "Unable" => "`Unable" | "denied." => "denied.`"
05:45:17FromDiscord<iWonderAboutTuatara> `... Additional info: "(\"C:\\\\Users\\\\Admin\\\\AppData\\\\Local\\\\Temp\\\\nimarchive-243346665\\\\nim-1.4.0\\\\c_code\", \"C:\\\\Users\\\\Admin\\\\.choosenim\\\\toolchains\\\\nim-1.4.0\\\\c_code\")"'.`
05:45:26FromDiscord<iWonderAboutTuatara> my username is Admin on this computer
05:45:32FromDiscord<iWonderAboutTuatara> if anyone has any ideas, please help me out
05:45:53FromDiscord<iWonderAboutTuatara> alternatively, if I can use godot-nim using nim from WSL, please also @ me
06:03:48FromDiscord<iWonderAboutTuatara> still haven't found a fix
06:04:08FromDiscord<flywind> I often encounter this issue. Maybe you can restart the computer.
06:04:23FromDiscord<flywind> in windows
06:04:40FromDiscord<iWonderAboutTuatara> does that fix it?
06:04:46FromDiscord<iWonderAboutTuatara> I'll try that for sure then
06:11:32FromDiscord<flywind> You can also download them from website by hand and put them in the right directory.
06:12:25FromDiscord<flywind> for example put them in `C:\Users\USERNAME\.choosenim\toolchains`
06:14:04FromDiscord<flywind> If you need devel build, you could also download them from nightlies and unzip them to the directory(giving a right name).
06:14:06FromDiscord<flywind> https://github.com/nim-lang/nightlies/releases
06:14:37FromDiscord<flywind> https://media.discordapp.net/attachments/371759389889003532/773429976691245107/unknown.png
06:17:54*solitudesf joined #nim
06:20:49FromDiscord<iWonderAboutTuatara> That's what I'm doing right now
06:29:03*mbomba quit (Quit: WeeChat 2.9)
06:55:16FromDiscord<tinygiant> sent a code paste, see https://play.nim-lang.org/#ix=2CXv
06:55:50FromDiscord<tinygiant> (edit) "https://play.nim-lang.org/#ix=2CXv" => "https://play.nim-lang.org/#ix=2CXw"
06:58:04FromDiscord<lqdev> `for i, value in mySeq`
06:58:11FromDiscord<lqdev> `for key, value in myTable`
07:03:52FromDiscord<tinygiant> sent a code paste, see https://play.nim-lang.org/#ix=2CXF
07:06:51*mmohammadi9812 quit (Read error: Connection reset by peer)
07:09:29*mmohammadi9812 joined #nim
07:16:51FromDiscord<tinygiant> Ok, that iterated through the table and returned everything, thanks for the pointer. As a bonus, I just learned why `i, v` works as it wasn't readily apparent when I first saw it, so thanks for that! Do I need to continue nesting for the comparison to the other data set or is there a better way to do that?
07:22:45*mmohammadi9812 quit (Ping timeout: 240 seconds)
07:23:06*mmohammadi9812 joined #nim
07:51:13FromDiscord<lqdev> i'm not sure what your intent is.
07:51:59FromDiscord<lqdev> there's no point in doing `instance[k, MyType1][i]` btw. that's what the second variable in the outer loop is.
07:52:42FromDiscord<lqdev> also, if you need key-value pairs you'll need to use `fieldPairs`, not `fields`
07:56:41FromDiscord<tinygiant> Ok, Thanks for the help tonight. I'll put it together in the morning and see where I end up.
08:04:11*natrys joined #nim
08:11:36bungam debuging nimlsp , I got `Error: unhandled exception: /Users/bung/.choosenim/toolchains/nim-#devel/compiler/options.nim(586, 3) `not conf.outDir.isEmpty` [AssertionDefect]` see https://pastebin.com/JmdpzdVW
08:14:41*krux02 joined #nim
08:17:52*habamax joined #nim
08:25:51*krux02 quit (Remote host closed the connection)
08:26:20*krux02 joined #nim
08:34:21FromDiscord<Varriount> bung: Looks like the compiler is expecting an output directory to be empty. What does the `outDir` option mean in Nim's configuration file?
08:34:56bung.out file's dir
08:35:40FromDiscord<Varriount> Does that directory exist? Is it accessible?
08:36:40bungI dont know why it is empty string
08:38:15FromDiscord<Varriount> It's an empty string?
08:38:34bungam exporting prettyPrint proc in nimpretty.nim file, others nim core files didn't touched
08:40:12*Tlangir quit (Quit: Leaving)
08:42:17bungdrwxr-xr-x 8 bung staff 256 Nov 4 16:03 nimlsp
08:43:54FromDiscord<Varriount> Is it only this project? What happens when you use the language server work other Nim projects?
08:50:50bungI tried 3 projects same.
08:52:26bungInitialising project with /Users/bung/nim_works/nimlsp/src/nimlsp.nim:/Users/bung/.choosenim/toolchains/nim-#devel
08:52:46bungthe debug info shows pathes correct to me.
08:56:28bungoh, I got something, wait.
09:00:12*k0mpjut0r quit (Quit: Idle for 30+ days)
09:16:25ForumUpdaterBotNew question by Aquachain: nim: Use a static library, see https://stackoverflow.com/questions/64677151/nim-use-a-static-library
09:18:20*PMunch joined #nim
09:21:00bungdont know now, debug info show paths correct.
09:24:29bung@PMunch do you faced `nim-#devel/compiler/options.nim(586, 3) `not conf.outDir.isEmpty` [AssertionDefect]` during developing nimlsp ?
09:25:03PMunchHmm, I don't remember that error. But I wouldn't be surprised if I did..
09:26:15bungam trying add formatting feature, thought it is easy.
09:33:49PMunchOh cool
09:34:35PMunchWeird that you get that error though
09:49:41*Tanger joined #nim
09:54:57bungwell, so much error, when use your master branch with nim devel I get `illformed AST` , with nim stable I get `illformed AST` other two places :(
09:55:16PMunchOn the master branch?
09:55:30PMunchThat's strange, I built that just the other day
09:56:03*Yardanico quit (Ping timeout: 272 seconds)
09:56:30bungyeah, with master and 1.4 , but it doesn't shutdown, others will shutdown
09:56:59*Yardanico joined #nim
09:56:59PMunchWait, while building or while running?
09:57:38bungrunning with vscode-nim-lsp
09:57:39PMunchI just cloned it and built with `nimble build` without any issues on 1.4.0
09:57:43PMunchAh right
09:58:02PMunchStill strange though, works fine with vimlsp for me
09:58:20PMunchdo you have the log file?
09:58:44bungmaster and 1.4 or others ?
09:59:19PMunchYeah, master and 1.4
09:59:59bunghttps://pastebin.com/XtGDa83y
10:03:46PMunchHmm, could you try to pass in -d:explicitSourcePath?
10:05:29*natrys_ joined #nim
10:07:20*hnOsmium0001 quit (Quit: Connection closed for inactivity)
10:08:22*natrys quit (Ping timeout: 246 seconds)
10:15:26bungdoes that matters , it should be /Users/bung/.choosenim/toolchains/nim-1.4.0 right ?
10:17:45PMunchYeah
10:18:23*Axiomatic quit (Remote host closed the connection)
10:18:40PMunchAnd run nimlsp with the same path
10:18:44*Axiomatic joined #nim
10:24:08bungI've create formatting branch https://github.com/bung87/nimlsp/commits/formatting
10:24:21bungif you intersted to fix
10:24:57bungneed exporting proc and type in nimpretty.nim
10:31:10*opal joined #nim
10:32:19FromGitter<gogolxdong> communicating in UDP, got Message too long, what is the valid length of message?
10:33:18*mmohammadi9812 quit (Ping timeout: 260 seconds)
10:33:35*mmohammadi9812 joined #nim
10:34:00PMunchWell UDP supports up to 4096 bytes IIRC, but some routers don't support more than 512
10:35:23PMunchOh, apparently the max is 65,507 for the message part
10:36:14PMunchSome more info: https://stackoverflow.com/questions/1098897/what-is-the-largest-safe-udp-packet-size-on-the-internet
10:37:49FromGitter<gogolxdong> that's helpful, 65507 works, thanks!
10:55:29federico3https://phantomdox.readthedocs.io/en/latest/ a non-unix kernel with persistent memory
10:57:56federico3PMunch: 512 is pretty tiny. You can discover MTU with traceroute --udp --mtu
10:59:40PMunchTrue, but if you want to make absolutely sure to not be chunked
11:08:51*Aquachain joined #nim
11:15:08*Aquachain quit (Remote host closed the connection)
11:25:51PMunchGoing to stream more this evening, showing my fix for the dbus issue and the docopt issue, implementing ninepatches for hovers, handling of global keyboard shortcuts for notifishower, and hopefully handling of icons for notificatcher.
11:26:03PMunchAiming to start at UTC 18:00
11:40:29federico3PMunch: chunked?
11:41:40PMunchI guess fragmentation is the word that is more commonly used
11:42:33*lritter joined #nim
11:43:14federico3there's the don't fragment flag for that
11:43:25federico3and fragmentation is very uncommon now
12:01:39*TomDotTom joined #nim
12:06:02*supakeen quit (Quit: WeeChat 2.9)
12:06:34*supakeen joined #nim
12:28:07PMunchOh for sure, I was just trying to tell the whole story
12:28:30PMunchI mean there is also an RFC for even larger UDP packages
12:29:46*solitudesf quit (Ping timeout: 246 seconds)
12:31:42*solitudesf joined #nim
12:39:17*apahl quit (Ping timeout: 260 seconds)
12:39:48*apahl joined #nim
12:41:00PMunchHmm, what would be the best way to open a file, read to the end, and then run something every time to file updates.
12:42:16federico3inotify?
12:42:36federico3you want to monitor the file for writes from other applications?
12:42:42PMunchYes
12:42:52PMunchI'm basically trying to read the log output from HexChat
12:43:29federico3I use my fswatch wrapper
12:47:34*lritter quit (Quit: Leaving)
12:48:49PMunchBut that just tells me that the file has changed?
12:49:05PMunchI guess I could read it with a stream and use stream.setPosition to skip what I have already read
12:50:24FromGitter<jrfondren> easiest way, tail -F the file and stream the output. best way: reimplement tail -F
12:51:01PMunchHmm, true
12:51:04PMunchThat would work
12:57:42*Vladar joined #nim
12:57:43federico3PMunch: it depends on the write pattern. Is the other application appending?
12:58:48*Tanger quit (Quit: Leaving)
12:58:51PMunchThink so yeah
12:58:56PMunchIt's HexChat just writing logs
12:59:01federico3regardless, if you want to be notified of new writes you still have to use the inotify/watch syscalls or do polling
12:59:02PMunchCan't imagine it's doing anything else
12:59:20federico3...rotating the file?
12:59:27PMunchI guess..
13:00:00FromGitter<jrfondren> detecting rotations is part of the function of tail -F
13:00:33PMunchhttps://hexchat.readthedocs.io/en/latest/faq.html#how-do-i-rotate-log-files-every-so-often
13:00:41PMunchAh, apparently there is no rotation by default
13:01:18PMunchHuh, and I have 158Mb of IRC logs :P
13:03:23FromDiscord<lqdev> that's like, less than 20MB. it's tiny.
13:03:52PMunchOh sorry, was supposed to be a capital B
13:04:22FromDiscord<lqdev> lo
13:04:26FromDiscord<lqdev> lol
13:04:55Zevv1 bit is 125 millibyte
13:05:38PMunchHaha :P
13:05:49PMunchI'm going to start referring to them as millibytes :P
13:08:42federico3still too reasonable. Use bit-ounces, bit-pounds...
13:08:49*abm joined #nim
13:09:27*lritter joined #nim
13:10:01PMunchHaha, I mean it's already kinda like that with 8 bits in a byte
13:11:02PMunchHmm, interesting
13:11:13PMunchNimlsp was pegging one of my cores at 100%
13:11:34PMunchThat's not good
13:13:53federico3PMunch: could be 9...
13:14:03PMunchTrue
13:30:32PMunchDamn, all my channels are so slow today that it's hard to debug IRC messages stuff :P
13:35:07jonjitsu[m]out of the three nim vscode plugins which one is the best? They all seem to get the indentation wrong using 4 instead of 2...
13:37:33PMunchAre you sure that setting is controlled by the plugin?
13:37:40FromDiscord<Rika> Thatโ€™s dependent on your vscode settings
13:37:46FromDiscord<Rika> Not the plug-in
13:39:19PMunchHmm, is there a similar syntax to `let (x, y) = someProc()` for sequences?
13:39:26PMunchThat just discards the rest?
13:40:14FromDiscord<Rika> No, you can use the unwrap (I forgot the actual name) module though
13:40:16jonjitsu[m]Like a generic 4 spaces for all languages? That would be weird, but I'll check.. Does nim lsp work better than nimsuggest?
13:40:31FromDiscord<Rika> No, nimlsp uses nimsuggest
13:40:55jonjitsu[m]ahh so they're cheating.. :)
13:41:21FromDiscord<Rika> Not really
13:41:32FromDiscord<Rika> Depends on what you consider better
13:41:56FromDiscord<Rika> If you want an lisp then of course nimlsp is better but in terms of suggestion quality theyโ€™re the same
13:42:06PMunchnimsuggest is a library as well as a separate program
13:42:09FromDiscord<Rika> I mean, lsp not lisp
13:43:35PMunchIn general a direct nimsuggest plug-in could be better, but the idea is that everyone can collaborate on NimLSP so that you don't have to spend dev-time on each editor and still have a great result in all of them
13:47:14ZevvHow many users does nimlsp have, compared to nimsuggest?
13:47:30PMunchI dunno, it's not like I track analytics..
13:55:32Zevvyou should, everybody's doing it!
14:02:42PMunchYeah I've heard it's all the rage
14:07:23FromDiscord<shashlick> @iWonderAboutTuatara what version of choosenim do you have
14:10:08*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
14:11:23*nsf joined #nim
14:11:30*pbb joined #nim
14:14:46*nsf quit (Client Quit)
14:39:24*mmohammadi9812 quit (Ping timeout: 256 seconds)
14:41:44ForumUpdaterBotNew thread by Tutamona_io: How to measure HttpClient request total time, see https://forum.nim-lang.org/t/7030
14:45:01*mmohammadi9812 joined #nim
14:47:16PMunchHmm, is there a good way to escape things for putting it in a terminal command?
14:53:27FromDiscord<lqdev> PMunch: maybe this? https://nim-lang.org/docs/os.html#quoteShell%2Cstring
14:55:56PMunchFound a better way of handling it :)
15:04:17PMunchOkay, I'm off to get some dinner. As I said, trying to start tonights stream at 18:00 UTC
15:04:27*PMunch quit (Quit: leaving)
15:18:41Zevvdude
15:18:45Zevv18:00, that's dinner time
15:18:53Zevvif you live in UTC
15:44:18*Vladar quit (Quit: Leaving)
15:51:58disruptek@clyybber
15:52:01disruptek!repo carnac
15:52:02disbothttps://github.com/disruptek/carnac -- 9carnac: 11magical function memoization across runtimes 15 0โญ 0๐Ÿด
16:00:11*stisa[m] quit (Quit: Idle for 30+ days)
16:07:07FromDiscord<shashlick> @Zachary Carter https://stackoverflow.com/questions/64677151/nim-use-a-static-library
16:10:57disruptekif a macro creates a new /func/ with /strictFuncs/ enabled but it's sem'd in a file without /strictFuncs/ then is it still strict?
16:11:14Zevvdude. really
16:11:18Zevvmemoization to disk
16:11:48disruptekwell, it's a simpler demo of typed macro bugs.
16:18:32*tane joined #nim
16:24:09Zevvwell, just make it untyped then!
16:33:47*natrys_ quit (Quit: natrys_)
16:34:04*natrys joined #nim
16:51:38*TomDotTom quit (Ping timeout: 272 seconds)
17:01:30habamaxhi, can I suppress dots in nim compile?
17:01:43habamaxin the output ....
17:02:15*hnOsmium0001 joined #nim
17:05:16solitudesf--hint[Processing]:off
17:08:04habamaxsolitudesf: thank you!
17:24:33*madpata_ quit (Quit: Lost terminal)
17:33:13*PMunch joined #nim
17:34:14*habamax quit (Ping timeout: 264 seconds)
17:36:38disruptekZevv: that reminds me of Western Union.
17:40:33disruptekso a dog walks into Western Union.
17:40:45disruptekthe dog's like, "i need to send a telegram."
17:40:55disruptekclerk's like, "okay, what do you want it to say?"
17:41:36disruptekdog says, "woof woof woof woof woof woof woof woof woof."
17:42:01disruptekclerk says, "hmm, that's nine words. you can add another `woof` for the same price."
17:42:14disruptekdog just looks at the clerk and blinks slowly.
17:42:25disruptek"well, that wouldn't make any sense..."
17:43:05disruptekhearts and minds, people; hearts and minds!
17:44:31PMunchHaha, what?
17:45:00PMunchZevv, I just ate dinner
17:45:12PMunchBut then again I live in UTC+1
17:45:18PMunch+2 in summer
17:49:27federico3PMunch: live.. where?
17:49:40PMunchStream is live, will start streaming at 18:00 UTC https://www.twitch.tv/pmunche
17:59:17*habamax joined #nim
18:19:55*TomDotTom joined #nim
18:33:25narimiranfederico3: PMunch is in Norway
18:33:35narimiran...and somewhere waaay north
18:33:47federico3narimiran: I mean on what platform :D
18:34:02narimiranoh, "live" not "live" :)
18:38:16*nekits0 joined #nim
19:01:21*xet7 quit (Quit: Leaving)
19:04:26ForumUpdaterBotNew thread by Kamek: First Nim package: Euler angle command line utility. Feedback appreciated!, see https://forum.nim-lang.org/t/7031
19:06:52*xet7 joined #nim
19:10:40FromDiscord<zetashift> I have mixed feelings about this ForumUpdaterBot
19:12:18federico3(yay for Dvorak)
19:13:47FromDiscord<tinygiant> sent a code paste, see https://play.nim-lang.org/#ix=2D1s
19:19:37*mmohammadi9812 quit (Ping timeout: 265 seconds)
19:21:18FromDiscord<zetashift> uh you could do an if statement returning the row where index == 0
19:21:32FromDiscord<zetashift> not sure why you would use it like that
19:22:01FromDiscord<zetashift> awesome beard @PMunch
19:24:27FromDiscord<tinygiant> WHat would that if look like? I've been unable to find a good reference on how to reference tables in nim. The tables module talks to all the procedures and types, but I didn't catch anything that said Table Row 1 is reference with a [0], like it does with other containers.
19:24:56FromDiscord<tinygiant> (edit) "reference" => "referenced"
19:25:01Zevvnobody cares about your nimming PMunch. It's only the beard.
19:25:06FromDiscord<tinygiant> (edit) "WHat" => "What"
19:25:21FromDiscord<zetashift> Y E S !
19:26:36FromDiscord<zetashift> how does your table look like @tinygiant /
19:27:33FromDiscord<zetashift> (edit) "how" => "what"
19:27:46FromDiscord<zetashift> (edit) "/" => "?"
19:28:03FromDiscord<tinygiant> Just this --> `TableRef[string, int]` FIrst row has special indicators that I can use to compare whether the record is interesting to me, the rest of the rows are the actual data. Technically, the first row is also part of the same data, but it's ordered first to help with comparison.
19:29:40FromDiscord<tinygiant> (edit) "comparison." => "comparison of multiple datasets."
19:30:06FromDiscord<zetashift> so a small version of your table would be `let table = {"foo": 44, "bar": 33, "nim" : 11}.toTableRef() `and you want to get `foo: 44` out of it?
19:30:12FromDiscord<FreezerburnVinny> sent a long message, see http://ix.io/2D1C
19:30:36*mmohammadi9812 joined #nim
19:31:19FromDiscord<tinygiant> @zetashift Yeah, pretty much, and even better if I can grab it during the mapIt iteration to allow comparison to other datasets.
19:31:20FromDiscord<FreezerburnVinny> (edit) "http://ix.io/2D1C" => "https://paste.rs/1bC"
19:33:44FromDiscord<zetashift> I think you might be better off with an OrderedTable then
19:34:04FromDiscord<zetashift> since TableRef is a hashmap and thus order isn't guarenteed
19:34:32FromDiscord<zetashift> and it has a `first` property
19:38:52FromDiscord<haxscramper> @FreezerburnVinny 1: `distinc tpointer` is a purely (well, mostly) nim type, so in order to generate `id` you actually need to do `` type ID{.importcpp: r"id", header: cxheader.} = object`` - for objective-C it should be roughly the same. This will generate `id` type in code.
19:39:26FromDiscord<haxscramper> 2) For putting string in the code you need to use `{.emit: "String".}` in place where you need this string to be inserted
19:39:46*habamax quit (Remote host closed the connection)
19:39:56FromDiscord<haxscramper> 3) Most likely `UncheckedArray`
19:42:02FromDiscord<haxscramper> 4) Wrapping heavily-OOP code in nim is not really simple task (most problems come up when you try to make it look more idiomatic in nim). The Simplest solution would be to just `importc` all methods for parent object, then do the same for derived + add new methods and so on. Maybe using typeclasses will help, but i"m not sure about this
19:42:27FromDiscord<FreezerburnVinny> sent a code paste, see https://play.nim-lang.org/#ix=2D1N
19:43:09FromDiscord<FreezerburnVinny> Raw `object` isn't great because all `id` can be nil/null
19:43:34FromDiscord<haxscramper> `ptr object` is `SomeType`, `distinct pointer` is a `void`. In nim `pointer` is a separate type, for working with opaque data that does not have specific type
19:43:45FromDiscord<haxscramper> Can you show the nim code?
19:44:56FromDiscord<FreezerburnVinny> sent a code paste, see https://play.nim-lang.org/#ix=2D1O
19:45:06FromDiscord<FreezerburnVinny> (edit) "https://play.nim-lang.org/#ix=2D1O" => "https://play.nim-lang.org/#ix=2D1P"
19:45:14FromDiscord<FreezerburnVinny> (edit)
19:45:51FromDiscord<FreezerburnVinny> (there's a lot more but that's specifically for the warning I showed above, everything else is effectively the same thing but different names)
19:46:50FromDiscord<tinygiant> @zetashift is good to learn that, unfortunately I don't get a say in it. I'm pulling from a dataset through a provided library, so I have to make do with what I'm given for now. Can I transform the TableRef into an ordered table to get the value I need? Time to do some more reading.
19:47:13FromDiscord<haxscramper> Side note: I'm not entirely sure how C's pointers would translate into nim and back, so you might want to just use `object` and not `ptr object`.
19:47:26FromDiscord<haxscramper> Because it might generate double pointers in the end, if original type was a poitner too
19:47:50FromDiscord<ElegantBeef> Dont you typically use `pointer` for interop with C/C++?
19:47:58FromDiscord<haxscramper> No
19:48:04FromDiscord<FreezerburnVinny> If I did that how would I pass `nil` as a parameter in places where that's supported?
19:48:05FromDiscord<haxscramper> Only when there is a opaque data
19:48:37FromDiscord<FreezerburnVinny> These are all effectively opaque btw. You only access anything via ObjC message passing
19:48:58FromDiscord<FreezerburnVinny> (except for some types I think)
19:49:24FromDiscord<haxscramper> Okay, so the question is - how to wrap things like `using PtrType = SomeType` and make it behave like pointer in nim too? Like passing nil and other things?
19:50:34FromDiscord<FreezerburnVinny> Yeah basically. And not have nigh-infinite Clang warnings. Technically I can just ignore them because they still work, but I'd like the generated code to be clean if possible
19:51:55FromDiscord<FreezerburnVinny> The underlying code that does the message passing only cares that the pointer it gets is to something valid and that it supports the message, but it's still going to generate a Clang warning for each instance of using an incorrect type even if it compiles and runs fine
19:52:04FromDiscord<zetashift> @tinygiant yes https://nim-lang.org/docs/tables.html#toOrderedTable,openArray[]
19:53:13FromDiscord<zetashift> Also I see the docs look got updates, but I find the `procs`section in the tables doc hard to parse
19:53:51FromDiscord<zetashift> this section https://media.discordapp.net/attachments/371759389889003532/773636143350677524/Screenshot_2020-11-04_tables.png
19:56:04FromDiscord<nikki> hmm newUTF8String returns an NSString, not an NSString
19:56:17FromDiscord<tinygiant> @zetashift I found the entry and procs. Not sure ordered table would do it either, but I'll run some experiments to find out. Thanks for your help.
19:56:35ForumUpdaterBotNew thread by Mrhdias: Someone have an idea on how to implement a `[][]=` function?, see https://forum.nim-lang.org/t/7032
19:56:37FromDiscord<nikki> so you probably want to importc NSString but then say that that method returns a ptr NSString
19:57:03FromDiscord<FreezerburnVinny> Ah, that's a good point, I hadn't thought of doing that. I've only been trying importc the pointer type for some reason...
19:57:47FromDiscord<haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2D1Y
19:57:51FromDiscord<nikki> yeah if you find yourself saying ptr X a lot and want to say it less, you can also say type XPtr = ptr X or name X itself XObj and then do type X = ptr XObj
19:58:35FromDiscord<haxscramper> So I'm out of ideas at the moment. Maybe this is something obj-C specific that I don't know
19:59:14FromDiscord<zetashift> @tinygiant good luck! feel free to ask here or on the forum if you get stuck
19:59:38FromDiscord<nikki> i don't think starting with id and then making distinct versions of that is the right approach, probably better to importc each type on its own
20:00:04FromDiscord<nikki> id binds to all types, but you lose the information that lets you call those messages which is why you get the warnings
20:00:33FromDiscord<tinygiant> I will. Lots of good help here and tolerance for us new guys with the low-end questions.
20:00:47FromDiscord<ElegantBeef> Depends on who's on when asking ๐Ÿ˜„
20:04:53FromDiscord<FreezerburnVinny> sent a long message, see http://ix.io/2D24
20:06:08FromDiscord<nikki> this may not be a great answer but i think i would start by re importing the message per type i end up using it with
20:06:13FromDiscord<nikki> if it's mostly for a wrapper
20:06:27FromDiscord<nikki> because that actually clarifies all ways you're using a message / proc which is nice
20:07:08FromDiscord<nikki> but if you end up using it so many ways that that's untenable, that particular proc could just take a 'pointer' yeah. i think that the proc should take a pointer but the type itself should still be the particular type
20:07:35FromDiscord<nikki> bc. the type is the reason it declares void variables on the generated code
20:07:47FromDiscord<nikki> (edit) "on" => "in"
20:09:29FromDiscord<nikki> but yeah the example: if you end up using the 'target' properly mostly for NSView, then maybe just import it on that type, and then if you use it for some other type then that one; and if it ends up just being two types you use it on, i think it's worth importing twice for just those two types
20:09:41FromDiscord<nikki> because it documents "these are the types i'm using it for"
20:10:13*vicfred quit (Remote host closed the connection)
20:10:41*vicfred joined #nim
20:12:46FromDiscord<FreezerburnVinny> Hm, possibly. That's going to work for code internal to the Cocoa bindings, though if I make any automagic that can bind whatever to a target type, I'll have to rethink it. Thankfully I'm currently doing a workaround where I emit a "callback handler" type that gets a C function pointer and can be assigned to these situations in order to let any Nim proc be the handler for a target, so I could just have the type be that class in g
20:14:20FromDiscord<FreezerburnVinny> But I've been thinking about eventually making a macro that can generate something on the fly that avoids the double callback overhead if possible (Cocoa class -> target callback -> C function callback written in Nim)
20:15:40FromDiscord<nikki> yeah if you "type erase" the nim-facing callback type that way you would just need a single type on the wrapper side
20:16:51FromDiscord<nikki> if you can pass it a cdecl nim function (for the second thing you want to do where you use a macro) -- maybe you can just have an import for the signature that that function comes out to be
20:17:29FromDiscord<nikki> the main thing there is if the nim handler is a closure, then you need some way to store a data payload in the wrapper side, get that payload back out and call it
20:20:49Zevvman, me gusta --expandArc, I totally missed the fact that this exists
20:21:20FromDiscord<FreezerburnVinny> Yeah. For now anywhere Nim can provide a callback I'm marking it `.cdecl.` and not supporting closures for now. At some point I'll probably try to think about allowing an arbitrary "data" value, a la scripting languages that allow for defining custom functions and usually will carry a `void ` data value you can cast back to a type if you want something for handling that function. (e.g.: Tcl or Lua)
20:22:01Zevvhey disruptek
20:22:05Zevvhow you're holding up
20:22:59FromDiscord<nikki> tbh if this is for ui code, i think the "overhead" of going through two callbacks may not be discernible since it's happening at ui rates. it would matter mostly for callbacks that are called tons of times per frame. and yeah you could just store the closure in the void data and get it back
20:24:52FromDiscord<FreezerburnVinny> Depends: if we're talking about a list then there might be an arbitrary number of callbacks to handle things like "how big is this cell?" or retrieving data for cells, etc. (though still might end up negligable in the end, so I'm honestly not worried about the overhead at this point, which is why I'm just leaving it as it is and thinking about possible future things that might be largely to make it nicer to work with the UI code)
20:28:02FromDiscord<nikki> hmm; callbacks as api design for those things don't seem so great
20:28:31FromDiscord<nikki> but i when wrapping we're not the ones making those choices i guess ๐Ÿ˜…
20:29:05FromDiscord<nikki> are you wrapping UIKit / iOS too? i'd be interested in that ๐Ÿ‘€
20:29:15disruptekZevv: gotta block this FromDiscord guy; he's too spammy.
20:30:30FromDiscord<FreezerburnVinny> At some point I'll likely get to UIKit / iOS assuming my interest in working on this keeps for that long. But yeah Cocoa/UIKit has a TON of "this thing needs to implement these messages or has a target of anything and a message type it can send to that thing" to implement stuff
20:30:44Zevvyeah who is that I wonder
20:30:49disruptekis it surprising that one cannot hash a strtabs table?
20:30:52FromDiscord<FreezerburnVinny> ObjC is kinda like Ruby in a lot of ways
20:30:57ZevvI feel we need a #nim-old-farts IRC channel
20:31:06FromDiscord<nikki> yeah the "needs to implement this protocol" stuff; always been kinda meh on that
20:31:14Zevvwhy can one not hash a strtabs table
20:31:21nikki93sup irc ppl
20:31:22Zevvand who uses strtabs anyway
20:31:49disrupteki realized the other day that i might be the oldest nimskull in the community.
20:32:10Zevvonly the other day?
20:32:25FromDiscord<FreezerburnVinny> Honestly I like the protocol and optional message and all that sorta stuff design. I'm kind of a huge fan of message passing in general
20:32:26Zevvthat was kind of plain & clear, right
20:32:30disruptekwell, gordon used to have that title but, y'know, i think covid got'im.
20:32:38Zevvwho's gordon?
20:32:46disruptekgordonbgood
20:32:54Zevvoh yeah what happened there
20:33:01disrupteki just told you.
20:33:04FromDiscord<UNIcodeX> Gordon Freeman is dead!?
20:33:04FromDiscord<nikki> i think message passing stuff is good, for sure. but it makes sense to me ar a higher level than language text level
20:33:13disruptekteh covid takes no prisoners.
20:33:33FromDiscord<nikki> like, as messaging between objects that are edited from a UI of some sort, as it was in Smalltalk
20:33:42Zevvthere was this other guy that was quite active, I forgot his name, and he disappeared from #nim one day to the next. A few months later I found him on github, all his green squares went white
20:33:42disruptekblizzard activision made 1.2 billion in 3mos on microtransactions.
20:33:50disruptek100MM per week.
20:34:13Zevvand then two months later a commit in an open source firmware for some medical machine
20:34:46FromDiscord<nikki> but yeah if this kind of api speaks to you then Cocoa coding should be fun ๐Ÿ˜ฎ haha
20:34:48FromDiscord<zetashift> That story for some reason reminds me of LemonBoy
20:34:52FromDiscord<FreezerburnVinny> sent a code paste, see https://play.nim-lang.org/#ix=2D26
20:34:53disruptekgee, i wonder what happened there.
20:35:03Zevvdang, who was that again
20:35:06FromDiscord<nikki> might be good to use some external past website ๐Ÿค”
20:35:13FromDiscord<FreezerburnVinny> Sure
20:35:13FromDiscord<nikki> paste
20:35:40FromDiscord<UNIcodeX> https://media.tenor.com/images/c88edfb9804fea2887ead10554cc78b8/tenor.gif
20:36:19FromDiscord<FreezerburnVinny> https://gist.github.com/Freezerburn/f7801141d849d4e3f41118cb54edf85a
20:36:29FromDiscord<FreezerburnVinny> (edit) "sent a code paste, see https://play.nim-lang.org/#ix=2D26" => "EDIT: TOo much text has been removed"
20:37:19FromDiscord<FreezerburnVinny> It's generating the wrong return type for `newNimUiCallbackTarget` with the `cb` parameter
20:37:37FromDiscord<nikki> might be due to the interaction with the distinct Id stuff
20:37:49FromDiscord<nikki> maybe try with just object? on all of 'em
20:37:56FromDiscord<FreezerburnVinny> Sure
20:38:20PrestigePMunch: dat ram usage
20:40:05FromDiscord<FreezerburnVinny> Ugh, and now I can't add a text field to a view because it needs to be a `NSView` which I don't have any way to represent as a distinct object and previously could just cast because they were all `Id` >.<
20:40:21FromDiscord<FreezerburnVinny> Just mangle it all to pointers mwahahahaha!
20:41:15*disruptek will eat for good.
20:41:19*disruptek will eat for food, too.
20:41:54FromDiscord<FreezerburnVinny> What's the way that Nim would represent a type that can be assigned to another type? (aka if it had traditional inheritance)
20:42:07FromDiscord<FreezerburnVinny> I don't care if I have to just shim a bunch of crap together to make it work, I can make it pretty later
20:42:10FromDiscord<nikki> "converter"
20:42:32FromDiscord<nikki> but also why not reimport it per type
20:43:48FromDiscord<FreezerburnVinny> That would be... a lot of types
20:44:04FromDiscord<FreezerburnVinny> Literally every displayable thing in Cocoa ๐Ÿ™‚
20:44:56FromDiscord<FreezerburnVinny> Might do that at some point, for now I `cast` my way to victory with a `converter`. Though that's still going to be a metric ton of types...
20:45:02FromDiscord<FreezerburnVinny> Bleh
20:45:49FromDiscord<FreezerburnVinny> I'll change that to a reimport because it's going to be the same amount of code
20:46:40FromDiscord<FreezerburnVinny> Alright! No warnings!
20:49:06FromDiscord<FreezerburnVinny> Actually reimport might be the wrong option in the long run. It works for this one API, but when I start having more APIs that expect to work with something like `NSView`, then suddenly I have an explosion of function reimports for every function that needs to be able to consume all widgets (or other thing). So in the long run I need a way to tell Nim only once, for every type that needs to be used in some manner, that the given
20:49:06FromDiscord<nikki> sounds like it works
20:49:09FromDiscord<FreezerburnVinny> (edit) "mannger" => "manner"
20:49:19FromDiscord<FreezerburnVinny> But for now in my hacky state of code, it'll do
20:49:43FromDiscord<nikki> yeah it could go either way--- take a pointer in the proc, use a macro to gen them all, ...
21:12:44Zevvhttp://zevv.nl/div/irc.html
21:14:52Zevvlike, what happened to zachary?
21:15:17FromDiscord<nikki> is that num messages?
21:15:27Zevvyea
21:15:33disruptek!last zacharycarter
21:15:33disbotzacharycarter quit 717 weeks ago and last spoke 22 weeks ago
21:15:50disruptekhe's on discord, i think.
21:15:59disruptek!last Zachary Carter
21:16:00disbotZachary Carter spoke in 12#nim-offtopic 2 hours ago
21:16:16Zevvah changed his nic
21:16:22FromDiscord<nikki> they've definitely been around on discord
21:16:36disruptekyou aren't parsing spaces in discord names correctly.
21:16:44Zevvof course I'm not
21:16:50Zevvi just hacked this up in a few mins
21:17:00ZevvI'm looking for that guy that got lost whose name I forgot
21:17:08disruptekis it faster to write broken code? ๐Ÿค”
21:17:15ZevvI find yes
21:17:20Zevvexponentially faster
21:17:25disruptekinteresting.
21:19:43disruptekdisbot: you know it's your birthday this month?
21:19:44disbotyep. ๐Ÿ˜Š
21:20:06Zevvspeaking of disbot
21:20:16ZevvI still can't untune a radio channel
21:20:25disrupteklol seriously?
21:20:34ZevvI'd like to leave disbot
21:20:39Zevvplease disbot
21:20:55disrupteki don't even remember how it's supposed to work.
21:20:55Zevvchannel "nimph"
21:21:09Zevvno but there I am stuck with this IRC window going *ploing* every few days
21:21:31Zevvrm ~/disbot/radio.sqlite3
21:21:36disruptekhmm, i will look at it. don't let me forget.
21:22:40PrestigePMunch: let me know what you want added to Nimdow by opening a ton of github issues :P
21:23:09FromDiscord<ElegantBeef> Add nimscript configuration ๐Ÿ˜›
21:24:06PrestigeI'd like to, wouldn't that require the user having Nim?
21:24:13FromDiscord<ElegantBeef> Nope
21:24:19FromDiscord<ElegantBeef> You can ship nimscript embedded
21:24:24PrestigePMunch: I should, I'll do that soonish
21:24:43FromDiscord<ElegantBeef> The compiler is written in nim, and can run nim code self contained
21:24:53PrestigeHm if it won't make the executable much larger I will do it
21:25:08FromDiscord<ElegantBeef> The biggest thing is shipping the stdlib afaik
21:25:28FromDiscord<ElegantBeef> From pmunch's count like 4-5MB since you probably want most libs accessible
21:25:36disruptekno one has changed their radio settings in 4mos.
21:25:39PrestigeThat's not too bad
21:25:42disruptekguess it's not a popular feature.
21:27:11*tane quit (Quit: Leaving)
21:27:16disruptekwhy do you need a smaller executable?
21:27:51PrestigePeople complain about dumb things is all, but +5MB is not bad at all
21:28:05disruptekfuck those people.
21:28:26Prestigemy gf would get mad
21:28:32PrestigeC ya PMunch
21:28:38FromDiscord<ElegantBeef> Only if she finds out
21:29:02PMunchI mean I'm still around here :P
21:29:10Prestigeoh, jk :P
21:29:57PMunchDoesn't your girlfriend like it big?
21:30:19FromDiscord<ElegantBeef> How would... oh
21:33:48FromDiscord<Yardanico> good timing to join the chat
21:33:53FromDiscord<Yardanico> seeing pmunch ask those questions
21:33:56FromDiscord<Yardanico> unexpected to be honest :D
21:34:08FromDiscord<Yardanico> out of context
21:34:39PMunchHaha :P
21:34:40Prestigehahaha
21:35:15PMunchIf only you knew :P
21:37:09FromDiscord<nikki> is pmunch still streamin
21:37:18FromDiscord<nikki> i need some nim video material to watch while i eat this lunch
21:37:19FromDiscord<ElegantBeef> Dont worry yard pmunch has a special place in his heart for you
21:37:20PMunchJust finished like 5 minutes ago
21:37:30PMunch@nikki ^
21:37:33FromDiscord<ElegantBeef> I can boot up me pretending to do gamedev ๐Ÿ˜„
21:37:33FromDiscord<nikki> i've been watching old nim streams from ar4q's youtube lol
21:38:03FromDiscord<nikki> maybe i should just listen to a text to speech of the nim manual while eating
21:38:27Prestigedeepfake PMunch's voice reading the manual
21:38:45FromDiscord<ElegantBeef> When TTS is more appealing than me ๐Ÿ˜›
21:39:55PMunch@nikki, uploading it to YouTube now so you can watch it :)
21:43:39*TomDotTom quit (Ping timeout: 265 seconds)
21:46:02PMunchProcessing
21:46:14FromDiscord<ElegantBeef> You make me sad, my upload speed is 10mbps so it'd take me forever to upload 2+ hours of content
21:46:33PMunch200Mbps symmetric fibre optic network baby!
21:46:41FromDiscord<ElegantBeef> 350 down, 10 up
21:46:51PMunchOoof, that's rough
21:47:19PMunchI can get 1Gbps symmetric for only like $10 more a month
21:47:42FromDiscord<ElegantBeef> It's like 150CAD/mth for 1gig down 10 up
21:47:48FromDiscord<ElegantBeef> My isp doesnt offer anything but 10 up for residential
21:47:52*narimiran quit (Ping timeout: 256 seconds)
21:49:06PMunchHuh, actually right now they are running a campaign so I can pay $10 less for 1000/1000 for a year
21:49:08PMunchHmm
21:50:12FromDiscord<ElegantBeef> And you're certainly now on symetric gbit?
21:50:27disruptekZevv: how are you attempting to detune the radio?
21:52:24FromDiscord<ElegantBeef> Oh god pmunch i looked at what a different ISP offers where i'm at https://media.discordapp.net/attachments/371759389889003532/773665975550738432/unknown.png
21:52:40PMunchHaha, I was actually looking into it
21:52:52PMunchSo I pay 449,- now because I got in a while ago
21:53:03PMunchThe current price is 549,- for that plan
21:53:14PMunchThis is in kroners by the way
21:53:21disruptekwhat else.
21:53:26FromDiscord<Daniel> to test connection got to fast.com
21:53:41PMunchThe 1000/1000 is 449,- for a year, but then 649,-
21:54:11FromDiscord<ElegantBeef> That's like 1/3 the price for 1gbit in canada
21:54:17FromDiscord<ElegantBeef> There isnt price fixing here
21:54:27PMunchSo I'm guessing this is a plot to get me to switch away from my cheaper than usual 100/100 plan by giving me 1000/1000 for a year and then I have to pay 649,- instead of 449,-
21:55:06PMunch@ElegantBeef, ooof, just looked at that image :P
21:56:11FromDiscord<ElegantBeef> Telecomunication providers in canada are garbage, it's one of the worst parts about canada
21:56:28FromDiscord<ElegantBeef> We have 3 big ISP/phone providers and all pricefix
21:56:30disruptekZevv: detune seems to work for me.
22:00:52FromDiscord<Daniel> 200/20 here is 20-40โ‚ฌ
22:01:19*natrys quit (Ping timeout: 246 seconds)
22:01:21FromDiscord<ElegantBeef> Yea it's atrocious in Canada, all it takes is politicans forcing competition
22:02:06FromDiscord<ElegantBeef> Like if you really want to see how bad it is you should be able to check plans of telus, rogers, or bell and they'll all be identical
22:04:41FromDiscord<ElegantBeef> "Competition" https://media.discordapp.net/attachments/371759389889003532/773669070871592981/unknown.png
22:27:21PMunchWell this processing seems to take forever.. https://www.youtube.com/watch?v=Ow1uqY4fR3c
22:27:49PMunchhttps://github.com/PMunch/notifishower <- pushed the changes
22:34:54FromDiscord<ElegantBeef> Do i make a PR of useless code golf?
22:35:09PMunchHaha, depends
22:35:32PMunchIf it gets cleaner: yes, if it just gets hard to read but technically less code: no
22:36:01FromDiscord<ElegantBeef> ` if color.r == 0 and color.b == 0 and color.g == 0 and color.a == 0:`โ†ตto `if (color.r or color.b or color.g or color.a) == 0` ๐Ÿ˜›
22:37:09FromDiscord<ElegantBeef> Shit, now i want an `anyNot(val, vars)`
22:42:26*solitudesf quit (Ping timeout: 244 seconds)
22:42:43*lritter quit (Quit: Leaving)
22:43:54PMunchWay, is that possible?
22:44:11PMunchEven easier though is `if color == default(Color)` ;)
22:45:00PMunchShould work at least, haven't tried it
22:47:14FromDiscord<ElegantBeef> Which part is possible?
22:50:23PMunchOh, didn't see the `or` in there :P
22:50:37FromDiscord<Daniel> did anoyne try doing nim with figma?
22:51:56PMunchYes: https://github.com/treeform/fidget
22:52:37FromDiscord<Daniel> yea, i googled to that as well, i was just wondering does it really work, i mean, this is a gamechanger
22:53:09PMunchI mean you can watch his video from NimConf where he uses it here: https://www.youtube.com/watch?v=IB8Yt2dqZbo
22:53:25PMunchI think he uses it for work
22:53:54FromDiscord<Daniel> yup, already watched it, link is in his github, ...its rather interesting, would love to see more videos with fidget
22:56:31FromDiscord<ElegantBeef> I've gotta toy around with nimscripter and fidget cause it'd be pretty cool to have realtime gui setup, similar to figma but code
22:56:46FromDiscord<ElegantBeef> Have to get it functioning, templates are misbehaving for some reason
22:57:31PMunchWhat kind of misbehaving?
22:57:45FromDiscord<ElegantBeef> Undefined behaviour
22:57:58FromDiscord<Daniel> i just installed Figma, tried to find fidget plugin, but its not there, not sure if this plugin is active at all
22:58:13FromDiscord<ElegantBeef> It's in fidget's repo
22:58:22FromDiscord<ElegantBeef> Wait
22:58:24FromDiscord<ElegantBeef> The fuck
22:58:27FromDiscord<ElegantBeef> It's working?
22:58:50FromDiscord<Daniel> https://media.discordapp.net/attachments/371759389889003532/773682694646267914/unknown.png
22:59:04FromDiscord<Daniel> but how to use it from his github?
22:59:10FromDiscord<Daniel> if its not in Figma
22:59:13FromDiscord<ElegantBeef> Think there is a explanation
22:59:45FromDiscord<Daniel> Isnt the goal to simply design GUI in figma, then with the plugin convert it to nim?
22:59:56FromDiscord<Daniel> (edit) "figma," => "Figma,"
23:00:06FromDiscord<ElegantBeef> Yea
23:00:08FromDiscord<Recruit_main707> You download the plugin from github and somehow use it in fig a
23:00:15FromDiscord<ElegantBeef> It also has another benefit though
23:00:26PMunch@ElegantBeef, could be some fix in a newer Nim version?
23:00:27FromDiscord<Recruit_main707> I asked treeform a while ago iirc
23:00:29FromDiscord<ElegantBeef> Since you can script the behaviour you can design the gui in the nimscript vm
23:00:37FromDiscord<ElegantBeef> Possibly
23:01:05federico3who's compiling on a ryzen?
23:01:31PMunchIn general, or Figma?
23:01:48FromDiscord<Daniel> i have a Ryzen
23:01:56FromDiscord<zetashift> dunno how I feel about thinking imperative with UI, I like the way Elm does it a lot
23:02:15FromDiscord<Daniel> seems the code is here https://github.com/treeform/fidget/blob/master/figma_plugin/code.tsโ†ตBut i have no idea how to connect it with Figma software
23:02:30FromDiscord<Daniel> (edit) "seems the ... code" added "plugin"
23:02:56FromDiscord<Daniel> Since i am not a real programmer, but rather very beginner, i am missing something here
23:02:59FromDiscord<Recruit_main707> Itโ€™s briefly explained in the README
23:03:01FromDiscord<ElegantBeef> @treeform so i tested today, and uh.. it just works ๐Ÿ˜„ https://streamable.com/5v0hgn
23:03:19FromDiscord<ElegantBeef> So maybe i fixed something or the nim compiler did...?
23:03:20FromDiscord<Daniel> will watch your video, tnx, brb
23:03:27FromDiscord<ElegantBeef> That's unrelated to figma plugin
23:03:33FromDiscord<ElegantBeef> It's related to fidget, but not figma
23:03:44FromDiscord<ElegantBeef> Also i fucked up
23:03:45FromDiscord<Recruit_main707> @ElegantBeef fidget can be used without figma
23:03:48FromDiscord<ElegantBeef> since that video doesnt work
23:04:05FromDiscord<Daniel> oh, its 1second video, huh
23:04:15FromDiscord<Recruit_main707> Thatโ€™s why it works for the examples, but Daniel wants the figma plugin too
23:04:19FromDiscord<Recruit_main707> I think
23:04:30FromDiscord<ElegantBeef> recruit that's not what i'm showing
23:04:32FromDiscord<Daniel> yea, so i could desing UI like i draw in MSpaint
23:04:50FromDiscord<ElegantBeef> I'm showing live updating of fidget using nimscripter
23:04:55FromDiscord<Recruit_main707> Check the readme, scroll to te end and try doing that
23:04:56FromDiscord<ElegantBeef> But that video is wrong
23:05:06FromDiscord<ElegantBeef> This is correct https://streamable.com/snbwlr
23:05:55FromDiscord<ElegantBeef> Well this is awesome news to see, just confused to why it suddenly works
23:06:12PMunchDamn, seeing your NimScript stuff is sooo cool
23:06:27FromDiscord<ElegantBeef> Seeing it suddenly work is even cooler ๐Ÿ˜›
23:07:09FromDiscord<zetashift> That is really cool!!
23:07:11FromDiscord<Daniel> ok, i have too google to actually find out what NimScript is, ๐Ÿคฃ
23:07:15FromDiscord<Daniel> brb
23:07:18FromDiscord<ElegantBeef> Intepreted subset of nim
23:07:27FromDiscord<zetashift> got a repo I can play with?
23:07:29FromDiscord<ElegantBeef> I'm using the nim VM to talk to nim application sseemlessly
23:07:38FromDiscord<ElegantBeef> https://github.com/beef331/nimscripter
23:08:02FromDiscord<ElegantBeef> It takes a few minutes to setup for types and the like, but it's easy as hell
23:08:51FromDiscord<Daniel> Where do i find this "TypeScript"? https://media.discordapp.net/attachments/371759389889003532/773685212268724244/unknown.png
23:10:24FromDiscord<Daniel> alright, further googling says thats some sort of javascript
23:10:31FromDiscord<Daniel> but compiled
23:11:27FromDiscord<ache of head> npm -g install typescript
23:11:29FromDiscord<ElegantBeef> I dont want to make `fidgetscript` and the like as their own repos just cause it's not something i want to maintain
23:11:58FromDiscord<ElegantBeef> But it's fairly straight forward to use
23:12:40FromDiscord<ElegantBeef> Not that it's difficult to do, more just that i feel if the package authors want to support it as an optional feature they can
23:13:02FromDiscord<ElegantBeef> For instance Impbox seems keen on supporting it for nico
23:14:00PMunchZevv, why doesn't this work? *!'\x1F'
23:14:19PMunchIt says "'*' repeat argument matches empty subset"
23:14:33FromDiscord<ElegantBeef> Also pmunch i'm sorta angry at you for encouraging this, since now i want to toy with a ton of libs with it
23:15:01FromDiscord<ElegantBeef> Like can technically use gtk with this, or any other UI library
23:15:31FromDiscord<zetashift> karax too?
23:15:59FromDiscord<ElegantBeef> All nim code should be scriptable with this
23:16:20FromDiscord<ElegantBeef> Some things like tables may not work, i havent tested them since i dont like the idea of sending them cross the bridge
23:16:50federico3PMunch: in general
23:16:50PMunchElegantBeef :D
23:16:52FromDiscord<ElegantBeef> I should say any compiled nim code
23:17:10ForumUpdaterBotNew thread by Akito: Quit() returning bool in else branch?, see https://forum.nim-lang.org/t/7033
23:17:17FromDiscord<ElegantBeef> Like this doesnt work in JS due to the fact the compiler cannot be shipped inside JS, but you could in theory use WASM to get it
23:17:31PMunchOooh
23:17:37PMunchThat would be very interesting indeed :P
23:17:51PMunchBut yeah, I really like what you're doing with this!
23:17:53FromDiscord<ElegantBeef> I have no interest in doing it
23:17:59FromDiscord<ElegantBeef> But hey in theory it can work ๐Ÿ˜›
23:18:02*koltrast quit (Quit: ZNC - http://znc.in)
23:18:34FromDiscord<Daniel> For new beginners like myself, some1 making a video of how to build user inferface in an easy way would attract alot of potential users to NIM ....i mean the very first thing for me which attracted me to nim is, compiling to C without knowing C
23:19:10FromDiscord<Daniel> So, creating great user interface without knowing low level programing would do the same thing
23:19:11FromDiscord<ElegantBeef> I dont have any interest in figma so i'm not the one to explain that, unless you want a tedious video of someone using fidget with only code
23:19:16*krux02 quit (Quit: Leaving)
23:20:24FromDiscord<ElegantBeef> Well the scripted fidget takes a similar to figma, but instead of using a gui web app you get code
23:20:32FromDiscord<ElegantBeef> (edit) "Well the scripted fidget takes a similar ... to" added "role"
23:21:04FromDiscord<ElegantBeef> @Kiloneie Apparently you need to make a video showing off figma + fidget ๐Ÿ˜›
23:22:36*koltrast joined #nim
23:22:56FromDiscord<Daniel> yea, why not, go with fidget, make a video, even if its in onyl code, i will gladly soak up the knowledge you present in there. I mean, i am sure i will not be the only one.โ†ตWas watching pmunch stream, he mentioned user interface makes programming a nightmare, and if this can change it from nightmare to something much easier, its a big win for nim in general
23:23:16FromDiscord<ElegantBeef> Were you noo8?
23:23:20FromDiscord<Daniel> ya
23:24:01FromDiscord<ElegantBeef> I still need to get a video of nimscripter to show off the live editing feature in a nice manner
23:24:53FromDiscord<Daniel> Will gladly watch it once you online it ๐Ÿ‘
23:25:09FromDiscord<ElegantBeef> One thing that's delaying that is i live in a house with no insulation in the walls so all audio is picked up on my sensitive mic
23:25:36PMunchI have my pipe-dream of creating an actually useful UI library
23:25:44*stefantalpalaru quit (Ping timeout: 240 seconds)
23:25:47PMunchBut it keeps getting side-tracked by other projects
23:25:48FromDiscord<ElegantBeef> Implying fidget isnt? ๐Ÿ˜›
23:25:52PrestigePMunch: ^
23:25:57Prestigecmon man
23:26:20PMunchHaha, well I haven't tried fidget
23:26:42PMunchIs it cross-platform with native toolkits so that it works with accessibility tools for people with disabilities?
23:26:47FromDiscord<nikki> making an api that lends itself to making good mobile uis is a whole ball game too
23:26:51FromDiscord<Daniel> every programing language needs GUI lib,...toolkiit, plugin, extension, or whatever the name for it is
23:26:52FromDiscord<ElegantBeef> Nah
23:26:58FromDiscord<Daniel> (edit) "every programing language needs ... GUI" added "good"
23:27:05FromDiscord<ElegantBeef> It's replicating webapps without the overhead
23:27:31Prestigeit's native though, right?
23:27:34FromDiscord<nikki> for the game engine editor usecase where i'm running in wasm i was thinking to just use incremental-dom
23:27:36FromDiscord<ElegantBeef> Opengl rendered UI
23:27:37PMunchReplicating which part?
23:27:39FromDiscord<ElegantBeef> Not native toolkit
23:27:44Prestigeah I see
23:27:45FromDiscord<Daniel> but webapps are not located localy, thats the main problem, this would be compiled or run on a user device
23:27:51FromDiscord<ElegantBeef> Crossplatform abillity, and web support
23:27:56PMunchRight
23:28:01*solitudesf joined #nim
23:28:03FromDiscord<nikki> it's hard if you want selecting and editing text to work well on mobile, with mobile keyboards
23:28:05FromDiscord<ElegantBeef> IE your app looks the same everywhere
23:28:13FromDiscord<Daniel> even java didnt manage to pull that off, to make it native and on web
23:28:29PMunchWell Java looked the same everywhere, but it also looked shit everywhere..
23:28:33FromDiscord<ElegantBeef> Well fidget uses webgl/opengl for rendering
23:28:45PMunchFidget looks nice, I'll give it that
23:28:46FromDiscord<ElegantBeef> So it will look 1:1 on web as on desktop
23:29:07FromDiscord<nikki> yeah using a canvas to make a web ui has still been an open question as to whether u can actually make good ui with it
23:29:16FromDiscord<nikki> flutter is running into that issue right now
23:29:20FromDiscord<ElegantBeef> It doesnt intend to support native toolkits so it's probably not for everyone
23:29:22PMunchSo it won't work on the devices used in the developing world because it uses too fancy tech (webgl)?
23:29:25PMunchThat's a shame
23:29:28FromDiscord<nikki> like, selecting text etc. needs to be reimpled
23:29:42FromDiscord<ElegantBeef> Webgl is too fancy?
23:29:44FromDiscord<Daniel> isnt it opengl, even tv boes run opengl, no?
23:29:52FromDiscord<Daniel> (edit) "boes" => "boxes"
23:29:56FromDiscord<ElegantBeef> Opengl runs everywhere
23:30:04FromDiscord<ElegantBeef> Atleast 4.1 and below does
23:30:05PMunchFor an old smartphone, or even a WAP phone? Yes!
23:30:16FromDiscord<nikki> on non desktop it's opengles
23:30:36FromDiscord<ElegantBeef> I mean natively it doesnt use webgl
23:30:38FromDiscord<nikki> i think the way a ui engine should be done is be renderer agnostic
23:30:40FromDiscord<ElegantBeef> On the web it does
23:30:45PMunchAnyways, I'm off to bed. It's already waay to late..
23:30:51FromDiscord<ElegantBeef> Buh bye
23:30:53Prestigegn PMunch
23:30:59FromDiscord<nikki> with the layout system etc. being cross platform (eg. yoga)
23:31:06FromDiscord<ElegantBeef> Tell that to windows and WPF ๐Ÿ˜›
23:31:15FromDiscord<nikki> tell which part
23:31:21FromDiscord<ElegantBeef> That it should be renderer agnostic
23:31:37FromDiscord<ElegantBeef> Or whatever the mac gui toolkit is
23:31:37FromDiscord<nikki> well, i think windows and wpf will matter when anyone uses apps made in them on mobile phones
23:31:41FromDiscord<nikki> right now no one does
23:31:45PMunchGood night!
23:31:50*PMunch quit (Quit: leaving)
23:31:57FromDiscord<Daniel> @PMunch gn
23:32:03FromDiscord<nikki> cocoa and uikit have overlap tho re: mac
23:32:13FromDiscord<ElegantBeef> Except you're a linux user who cannot use applications cause it relies on dx
23:32:40FromDiscord<nikki> one of my computers that i post screenshots from here is linux, yes
23:32:50FromDiscord<nikki> i also use mac and windows about as much haha
23:33:01*solitudesf quit (Ping timeout: 246 seconds)
23:33:02FromDiscord<nikki> esp. bc for building ios apps u need a mac
23:33:02PrestigeAll we need to support is linux, forget the rest :P
23:33:09FromDiscord<ElegantBeef> My point is that the UI libraries that both Apple/MS push arent really cross platform
23:33:16*mmohammadi9812 quit (Ping timeout: 256 seconds)
23:33:17FromDiscord<nikki> i'm most interested in ui toolkits that work well on mobile tho
23:33:23FromDiscord<ElegantBeef> I despise mobile
23:33:28FromDiscord<ElegantBeef> So i dont care as long as it runs on desktop
23:33:35FromDiscord<ElegantBeef> And fidget runs on desktop and web
23:34:15federico3@ElegantBeef even PinePhone/Librem?
23:34:42FromDiscord<ElegantBeef> I dont have a need for any mobile computer, my smartphone as is doesnt have service and is mostly just a fancy pager
23:34:46FromDiscord<nikki> i think there's a large space of creativity possible on touch interfaces that is untapped
23:34:49FromDiscord<zetashift> .NET MAUI is focused on cross platform, not released yet tho
23:35:16FromDiscord<ElegantBeef> Many things about mobile is atrocious, from the lack of control, to the shitty app distrobution
23:35:25PrestigeI hate touch screens
23:35:30FromDiscord<ElegantBeef> I havent used a librem or pinephone so cannot say much about that
23:35:31federico3hence my question
23:35:37FromDiscord<nikki> yeah, one response is to ignore it, another is to try to work on it, just tryna do the latter
23:35:49FromDiscord<ElegantBeef> Well the issue is you cannot change my biggest concern
23:36:06FromDiscord<ElegantBeef> The app stores do not encourage good games in any reasonable way
23:36:43FromDiscord<ElegantBeef> They allow shitty tactics in game and abuse of their stores
23:37:03FromDiscord<nikki> sure but you can try to work on other things that are a nicer space
23:37:11ForumUpdaterBotNew thread by Juancarlospaco: Nimpretty GitHub Action, see https://forum.nim-lang.org/t/7034
23:37:29FromDiscord<ElegantBeef> I just have 0 enthusiam for that space, it'll take too much work to change and it's unreasonable
23:37:38FromDiscord<ElegantBeef> For instance you cannot ship a new appstore on google, or apple
23:37:50FromDiscord<ElegantBeef> So any change in that front requires user intervention
23:37:55FromDiscord<ElegantBeef> Which most users dont care
23:38:13FromDiscord<nikki> https://castle.xyz/halloween is the "main" thing i work on, kind of a tool where you can make interactive things on mobile
23:38:36FromDiscord<nikki> i get that ur not enthusastic about it, but i'm probably going to keep exploring it anyways
23:38:50FromDiscord<ElegantBeef> I'm not saying you cant, i'm just saying my view on it
23:39:10FromDiscord<nikki> because a few people that didn't make interactive stuff before tried their hand at it on this and it worked, maybe it could work for more folks
23:39:32FromDiscord<ElegantBeef> I think it could be a very cool space for small indies with small mechanics and small budgets sorta like flash player games were
23:39:32FromDiscord<nikki> yeah i think; apple and google are definitely trying to control the ecosystem
23:39:44FromDiscord<nikki> yeah! that would be cool
23:39:48FromDiscord<ElegantBeef> But due to the practices the stores excersize it cannot
23:40:04FromDiscord<ElegantBeef> They dont have a priority of quality, or block predatory practices
23:40:17PrestigeHopefully the linux phone market will help
23:40:43FromDiscord<ElegantBeef> We cant even get reasonable numbers in the desktop space, so i dont know ๐Ÿ˜„
23:40:49FromDiscord<nikki> hehe
23:41:16FromDiscord<nikki> @ElegantBeef did you end up making the window focus keys work on vscode?
23:41:34FromDiscord<ElegantBeef> Never did look into it
23:41:37FromDiscord<Daniel> i hope nim will explode on every platfrom, so i can find tutorial for everything nim ๐Ÿ˜„
23:41:55FromDiscord<ElegantBeef> Got held up into fixing my unity auto builder as my friend wanted to use it
23:42:01FromDiscord<ElegantBeef> And it broke some how
23:43:02FromDiscord<zetashift> I hope a new NimConf comes soon ๐Ÿ˜›
23:43:08FromDiscord<ElegantBeef> Do have to say nikki if more games like downwell, luftrausers, and mini metro were common i'd be pretty happy with it
23:43:25FromDiscord<ElegantBeef> But those are the diamonds in the 100m tall tower of shit
23:43:37FromDiscord<ElegantBeef> Nimconf 2020.4.0? ๐Ÿ˜›
23:44:10*mmohammadi9812 joined #nim
23:45:37FromDiscord<nikki> @ElegantBeef yeah i totally agree re: the app store incentive structure
23:46:04FromDiscord<exelotl> NimConf but this time I submit my video 10 minutes before the start of the conf
23:46:16FromDiscord<exelotl> Instead of 5 hours xD
23:46:19FromDiscord<nikki> also yeah downwell is awesome
23:56:54FromDiscord<ElegantBeef> Yea it's pretty fun on my arcade cabinet aswell ๐Ÿ˜„
23:57:02FromDiscord<nikki> nice ๐Ÿ˜ฎ
23:57:19FromDiscord<nikki> do u have any ios / android at all or just using that pager phone? haha
23:57:41FromDiscord<ElegantBeef> I have android
23:57:51FromDiscord<ElegantBeef> But i dont usue it for anything but a pager to "go to desktop"
23:59:30FromDiscord<nikki> here's a vid of some stuff ppl made + you can see the editor itself in the end (was gonna post in #offtopic but there's already a convo going on there) https://media.discordapp.net/attachments/371759389889003532/773697964261900288/video0.mov
23:59:33FromDiscord<nikki> you can "view source" on anyone else's card to see how it's made, some people learned that way
23:59:56FromDiscord<ElegantBeef> That's pretty cool\