00:28:02 | FromDiscord | <bosinski2023> In reply to @termer "this sounds like a": not sure, if ts related, but before atomicArc existed, i always had problems with the combinaton of sef/heap-alloced types and arc/orc-managed types. These days - with atomicArc - i have a managed ref-type on the surface that carries a heap-alloced struct-memeber and releases this within `=destroy`. And i can decide to release the struct member or keep it. But maybe your case is different.. |
00:28:40 | FromDiscord | <Elegantbeef> It's unrelated 😄 |
00:29:02 | FromDiscord | <Elegantbeef> Termer is creating unsafe views into memory and wants them to tick the life time automatically |
00:29:28 | FromDiscord | <Elegantbeef> Which is not impossible to do but it has a bad API |
00:29:44 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "Termer is creating unsafe": hey, thats sounds great to me - maybe i want this, too ? |
00:31:04 | FromDiscord | <Elegantbeef> Termer basically needs to take a 'path' expression search it for the first `ref` then emit a `(ref, ptr T)` |
00:32:23 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "Termer basically needs to": in user-land or compiler-land ? |
00:32:31 | FromDiscord | <Elegantbeef> You can do it in macroland |
00:33:02 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "You can do it": ok, thats in the twillight-zone... |
00:51:48 | * | xutaxkamay quit (Quit: ZNC 1.8.2+deb3.1 - https://znc.in) |
00:52:03 | * | xutaxkamay joined #nim |
00:58:44 | FromDiscord | <Elegantbeef> It's fine, I don't hear any narrator |
00:59:32 | FromDiscord | <albassort> hey beef |
01:00:03 | FromDiscord | <albassort> sent a code paste, see https://play.nim-lang.org/#pasty=evUTRXcxDruv |
01:01:19 | FromDiscord | <albassort> I haven't been able to figure out why this is happening on my OS |
01:02:41 | FromDiscord | <Robyn [She/Her]> In reply to @albassort "does this work on": On my machine (Termux) it returns false |
01:02:57 | FromDiscord | <Robyn [She/Her]> Nim 2.0.2 |
01:03:18 | FromDiscord | <albassort> well, for me, it returns nothing because it segfaults |
01:03:36 | FromDiscord | <albassort> It works fine in a debian docker i made |
01:03:43 | FromDiscord | <Robyn [She/Her]> Huh... |
01:03:54 | FromDiscord | <albassort> yeah idk how this would even happen |
01:04:19 | FromDiscord | <Robyn [She/Her]> Maybe it's something to do with the regex library? Does Nim use a C lib for regex? |
01:04:59 | FromDiscord | <albassort> ¯\_(ツ)_/¯ |
01:05:33 | FromDiscord | <Robyn [She/Her]> Okay yeah it uses PCRE |
01:07:04 | FromDiscord | <Robyn [She/Her]> Though, I think it ships with Nim considering I doubt it's installed on Windows...? I know shit about this |
01:08:10 | FromDiscord | <albassort> interesting |
01:08:17 | FromDiscord | <albassort> something somewhere is messed up |
01:08:52 | FromDiscord | <albassort> pcre is on my pc |
01:10:00 | FromDiscord | <albassort> yeah so its using a re packaged with nim as i removed it and it still works |
01:10:05 | FromDiscord | <albassort> or well --- compiel;s |
01:10:08 | FromDiscord | <albassort> (edit) "compiel;s" => "compiles" |
01:10:19 | FromDiscord | <Robyn [She/Her]> In reply to @albassort "yeah so its using": Segfaults? |
01:10:39 | FromDiscord | <Robyn [She/Her]> (edit) "Segfaults?" => "Segfaults still?" |
01:11:01 | FromDiscord | <albassort> yeah |
01:11:16 | FromDiscord | <Robyn [She/Her]> Ah |
01:11:59 | FromDiscord | <Elegantbeef> Don't know what to say it works on my machine |
01:12:08 | FromDiscord | <Elegantbeef> regex was a mistake to begin with |
01:12:33 | FromDiscord | <Robyn [She/Her]> It doesn't seem to be a compiler bug but also this isn't a user error so maybe ask in #internals asking if someone has had this issue before? |
01:12:52 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "regex was a mistake": Why's that? I don't use regex usually so |
01:14:00 | FromDiscord | <albassort> In reply to @Elegantbeef "regex was a mistake": do you have a better solution that isn't ugly and hacky |
01:14:26 | FromDiscord | <albassort> i could program that into native code yeah |
01:14:33 | FromDiscord | <albassort> but do I want to? |
01:14:35 | FromDiscord | <albassort> yeah |
01:14:39 | FromDiscord | <albassort> I guess i'll do that. |
01:15:26 | FromDiscord | <Robyn [She/Her]> In reply to @albassort "do you have a": Could use an alternative regex library |
01:15:32 | FromDiscord | <Robyn [She/Her]> There's multiple |
01:16:09 | FromDiscord | <Robyn [She/Her]> https://github.com/nitely/nim-regex |
01:26:18 | termer | Elegantbeef Yeah, I was thinking of requiring a macro to surround the declaration of the type that'll have the view so I can track it, but that would suck |
01:26:49 | termer | For now I'm creating a type called WeakView that's entirely unsafe to be used for very narrow uses |
01:27:07 | FromDiscord | <Elegantbeef> What are you doing? |
01:27:22 | termer | You saw methttp right? |
01:27:32 | termer | I'm replacing openArray with my view type in it |
01:27:42 | FromDiscord | <ElegantBeef> I see the bridge is only being nice one way |
01:27:48 | termer | basically using views instead of strings to save memory |
01:27:53 | FromDiscord | <ElegantBeef> Yea I figured that |
01:28:00 | FromDiscord | <Elegantbeef> Bridge dropped messages |
01:28:01 | FromDiscord | <Elegantbeef> @albassort what are you doing? 😄 |
01:28:06 | FromDiscord | <ElegantBeef> Ah there we go |
01:28:11 | termer | awesome |
01:28:22 | FromDiscord | <ElegantBeef> Maybe when I figure out the matric client api I'll make a bridge that works |
01:28:27 | FromDiscord | <albassort> In reply to @Elegantbeef "<@217459674700578816> what are you": playing minecraft |
01:28:37 | FromDiscord | <Elegantbeef> Right but i meant with the regex |
01:29:40 | FromDiscord | <albassort> @ElegantBeef https://gitlab.com/CAlbassort/universalime/-/blob/main/src/libs/nim/jinput.nim?ref_type=heads#L39 |
01:30:08 | FromDiscord | <Robyn [She/Her]> In reply to @chronos.vitaqua "https://github.com/nitely/nim-regex": Try this maybe? |
01:30:52 | termer | Matrix API is woefully underdocumented |
01:30:54 | FromDiscord | <Elegantbeef> One could make a strscans matcher relatively easily if one wanted to avoid regex |
01:30:59 | termer | especially when it comes to encryption |
01:31:01 | FromDiscord | <albassort> In reply to @Elegantbeef "One could make a": strscans |
01:31:03 | FromDiscord | <albassort> ? |
01:31:31 | FromDiscord | <Elegantbeef> I'm not even at the point of being able to get previous messages |
01:31:35 | FromDiscord | <albassort> In reply to @Elegantbeef "One could make a": yeah i was just gonna make a function that read into a buffer then checked the 3rd whatever if isdigit |
01:31:46 | FromDiscord | <albassort> (edit) "read" => "reads" |
01:31:51 | FromDiscord | <albassort> (edit) "checked" => "checks" |
01:32:07 | FromDiscord | <Elegantbeef> Yea that works aswell |
01:32:31 | FromDiscord | <Elegantbeef> I avoid regex like the plague |
01:33:17 | FromDiscord | <albassort> its good for designing searches |
01:33:20 | FromDiscord | <albassort> i just left it in |
01:33:26 | FromDiscord | <Elegantbeef> Bleh |
01:36:09 | FromDiscord | <Elegantbeef> Now something I have no opinion on.... a database for the client data.... |
01:37:36 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "Now something I have": i have - ZODB is my favourite - a jewel witno nim-bndings yet.. |
01:38:56 | FromDiscord | <Elegantbeef> I know nothing about DBs so at a loss of what to use |
01:39:03 | FromDiscord | <Elegantbeef> I'm at a loss |
01:39:27 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "I'm at a loss": sqlite just works. |
01:39:29 | FromDiscord | <albassort> In reply to @Elegantbeef "Now something I have": i forgor |
01:39:41 | FromDiscord | <albassort> are you talking about my coee |
01:39:42 | FromDiscord | <albassort> (edit) "coee" => "code" |
01:39:49 | FromDiscord | <albassort> i probably fucking should have done a db |
01:39:54 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "Now something I have": Sqlite /j |
01:39:55 | FromDiscord | <Elegantbeef> No i'm not |
01:40:04 | FromDiscord | <albassort> I like databases |
01:40:05 | FromDiscord | <Elegantbeef> I'm talking about trying to make a matrix client |
01:40:09 | FromDiscord | <albassort> oh yeah |
01:40:19 | FromDiscord | <albassort> you'll loose a few braincells learning sql bur |
01:40:20 | FromDiscord | <albassort> (edit) "bur" => "but" |
01:40:24 | FromDiscord | <albassort> once you know it |
01:40:32 | FromDiscord | <albassort> like a masocist you'll like it |
01:40:36 | FromDiscord | <albassort> (edit) "masocist" => "masochist" |
01:40:41 | FromDiscord | <Robyn [She/Her]> SQL doesn't seem too bad |
01:40:44 | FromDiscord | <Robyn [She/Her]> Just very tedious |
01:41:00 | FromDiscord | <albassort> Its not that its bad it just has weird edge cases and no universal implementation |
01:41:06 | FromDiscord | <bosinski2023> In reply to @Elegantbeef "I'm talking about trying": what goes in th db - usertalk ? |
01:41:08 | FromDiscord | <Elegantbeef> I know Phil would scream about norm |
01:41:24 | FromDiscord | <Robyn [She/Her]> In reply to @albassort "Its not that its": Fair |
01:41:51 | FromDiscord | <Robyn [She/Her]> I wonder if someone has made an alternative to SQL (as in the query language) |
01:42:01 | FromDiscord | <albassort> i wonder |
01:42:16 | FromDiscord | <albassort> In reply to @Elegantbeef "I know Phil would": norm? |
01:42:26 | FromDiscord | <albassort> Macdonald? |
01:42:33 | FromDiscord | <Elegantbeef> https://norm.nim.town/index.html |
01:42:34 | FromDiscord | <Elegantbeef> I mean that too |
01:42:43 | FromDiscord | <Elegantbeef> Everyone should scream about Norm |
01:43:08 | FromDiscord | <bosinski2023> In reply to @albassort "norm?": norm = nim object-relational-mapper - saves you from learning/writing SQL |
01:43:30 | FromDiscord | <albassort> I prefer sql in all cases |
01:43:34 | FromDiscord | <Robyn [She/Her]> Debby is another Nim ORM |
01:43:58 | FromDiscord | <Elegantbeef> I don't know why you'd not want static typed apis but yea 😄 |
01:44:34 | FromDiscord | <bosinski2023> In reply to @albassort "I prefer sql in": then sqlite is the king on the hill.. |
01:45:19 | FromDiscord | <albassort> sqlite is my baby |
01:45:22 | FromDiscord | <albassort> although |
01:45:25 | FromDiscord | <albassort> i wish it had SP |
01:45:27 | FromDiscord | <albassort> (edit) "SP" => "SPs" |
01:45:37 | FromDiscord | <Robyn [She/Her]> I'm probably not gonna go for an ORM library, I'm gonna write a simple helper that uses the bare minimum I need for SQL loading, insertion and dumping |
01:45:43 | FromDiscord | <Robyn [She/Her]> SPs? |
01:45:48 | FromDiscord | <albassort> stored procedures |
01:45:55 | FromDiscord | <albassort> functions |
01:46:12 | FromDiscord | <bosinski2023> In reply to @albassort "i wish it had": theres a nim-package for SPs |
01:46:23 | FromDiscord | <Elegantbeef> Why would you not use an ORM library? |
01:46:32 | FromDiscord | <albassort> Trauma |
01:46:38 | FromDiscord | <albassort> from LINQ |
01:46:49 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "Why would you not": Nim ORMs don't support a non-int for primary keys |
01:46:53 | FromDiscord | <Elegantbeef> Like writing raw strings to do operations is any less traumatic |
01:47:04 | FromDiscord | <albassort> i write my code in .sql files |
01:47:05 | FromDiscord | <albassort> :) |
01:47:07 | FromDiscord | <Robyn [She/Her]> I'm planning on using ULIDs for my primary keys |
01:47:12 | FromDiscord | <albassort> and test it |
01:47:39 | FromDiscord | <Elegantbeef> I feel like adding support for non-int primary keys is less tedious than manually using query languages |
01:47:48 | FromDiscord | <Robyn [She/Her]> Probably |
01:48:04 | FromDiscord | <Robyn [She/Her]> But I'm also just gonna write a ton of helpers |
01:48:24 | FromDiscord | <Robyn [She/Her]> Ig it'd be kind of like my own minimal ORM ig? |
01:48:29 | FromDiscord | <Robyn [She/Her]> 🤷♀️ |
01:48:38 | FromDiscord | <Elegantbeef> It does also seem that ponairi does allow string primaries |
01:48:47 | FromDiscord | <Elegantbeef> https://ire4ever1190.github.io/ponairi/ponairi.html#getting-started |
01:49:36 | FromDiscord | <bosinski2023> or make a step forward and not use a ORM but a Object-DB - alike Zope-DB |
01:50:04 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "It does also seem": Oh damn that's nice, never saw it before |
01:50:13 | FromDiscord | <Robyn [She/Her]> In reply to @bosinski2023 "or make a step": Object DB? |
01:52:49 | FromDiscord | <bosinski2023> In reply to @chronos.vitaqua "Object DB?": yep, well thats from OO-land - maybe not so popular here. But very convenient to use. Its an ORM plus one step. The DB knows your Object/Struct plus the methods .. |
01:53:45 | FromDiscord | <bosinski2023> and does the instatiation on load, and saves your properties automagically.. |
01:54:35 | FromDiscord | <Robyn [She/Her]> I don't really understand what you mean :p |
01:54:47 | FromDiscord | <Robyn [She/Her]> Could you show an example? |
01:58:29 | FromDiscord | <bosinski2023> In reply to @chronos.vitaqua "I don't really understand": when you get some JSON-object from your people-table out of your sql-db, you look at it, maybe check the structure, then decide to make nim-Person-object out of it. Maybe that JSON-object has a array-member 'friends' with some names, you might check if you already have such Person-objects and then reference these as "is friend of".. A Object-DB makes all these steps for you |
01:59:33 | FromDiscord | <bosinski2023> including, you add another persons name into your Nim-object, the DB saves/updates that for you.. |
02:00:43 | FromDiscord | <Robyn [She/Her]> Oh damn |
02:04:09 | FromDiscord | <bosinski2023> In reply to @chronos.vitaqua "Oh damn": one can do nice stuff this way - we once did a thing for a museum, where we had artists, artworks, exibitions, etc. that made up a nice object-graph with mayn interconnections. And the people at the museum wanted to be able to add new relations anytime by themselfes - so we had to find some DB that allows for that.. |
02:09:10 | * | une joined #nim |
02:28:55 | FromDiscord | <albassort> so |
02:29:00 | FromDiscord | <albassort> I think i found a bug |
02:29:04 | FromDiscord | <albassort> @Robyn [She/Her] do you run x11 |
02:42:00 | FromDiscord | <albassort> nbm |
02:42:03 | FromDiscord | <albassort> (edit) "nbm" => "nvm" |
02:42:11 | FromDiscord | <albassort> didn't port the re fully |
02:51:50 | FromDiscord | <treeform> In reply to @fosster "[Edit](https://discord.com/channels/371759389889003": It will throw an exception. Note it does not check that the buffer is valid. If you need versioning and protocl checking. Flatty will interpret any buffer as your data if it fits into the buffer. |
03:44:21 | FromDiscord | <Robyn [She/Her]> In reply to @albassort "<@524288464422830095> do you run": Termux has no X server running, so no? |
03:44:41 | FromDiscord | <Robyn [She/Her]> In reply to @bosinski2023 "one can do nice": That makes sense, it does sound useful |
03:59:40 | * | ursa-major quit (Read error: Connection reset by peer) |
03:59:50 | * | ursa-major joined #nim |
04:02:03 | * | pmp-p quit (Quit: No Ping reply in 180 seconds.) |
04:03:15 | * | pmp-p joined #nim |
04:14:34 | FromDiscord | <bosinski2023> In reply to @chronos.vitaqua "That makes sense, it": this gentleman shows how similar things can be done with sqlite & JSON alone https://www.hytradboi.com/2022/simple-graph-sqlite-as-probably-the-only-graph-database-youll-ever-need - its a tiny github-prj that has no nim-bindings, yet. I think its brilliant and what he demonstrates will be standarized in the next SQL-spec to come. |
04:20:02 | FromDiscord | <Robyn [She/Her]> Ah I can't watch videos at the moment unfortunately |
04:23:15 | FromDiscord | <bosinski2023> In reply to @chronos.vitaqua "Ah I can't watch": in less than 30-lines of SQL he makes 'The only graph-database you'll ever need.' https://github.com/dpapathanasiou/simple-graph |
04:34:21 | FromDiscord | <Robyn [She/Her]> Pretty neat! |
04:41:34 | FromDiscord | <bosinski2023> In reply to @chronos.vitaqua "Pretty neat!": nice and compact - it's 18-lines in schema.sql that does the magic. It allows to express - any relation alike a human sentence <subject> <predicate> <object> with JSON - to make these JSON-objects 'alive' one needs some dynamism. E.g. if the person-obj has a "was born"-field a simple function could tell you how old the person is etc. |
06:19:28 | * | SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev) |
06:19:52 | * | SchweinDeBurg joined #nim |
06:44:56 | NimEventer | New Nimble package! hyperx - Pure Nim http2 client and server, see https://github.com/nitely/nim-hyperx |
07:08:25 | * | ntat joined #nim |
08:02:01 | FromDiscord | <mratsim> Arraymancer, top of HN: https://news.ycombinator.com/item?id=39860365 |
08:52:27 | NimEventer | New thread by nimian: How to combine nim-metrics and chronos for simple rest api?, see https://forum.nim-lang.org/t/11320 |
09:57:34 | FromDiscord | <whisperecean> What I can do with is not GC-safe as it accesses 'myRegistry' which is a global using GC'ed memory? |
10:31:11 | * | tanami quit (Ping timeout: 252 seconds) |
10:31:19 | * | tanami joined #nim |
12:32:07 | * | lucasta joined #nim |
13:59:12 | Amun-Ra | mark proc as non-gc safe |
13:59:40 | Amun-Ra | or cast the part of the code as gcsafe (but I wouldn't recommend it) |
15:09:54 | FromDiscord | <itr_> What's the current way of doing a threadsafe seq equivalent in nim? |
15:10:15 | FromDiscord | <itr_> What I need specifically is just to write to it from one thread and every now and then copy the list in another thread |
15:10:59 | FromDiscord | <itr_> Never need to remove elements from it or modify an element after it's been added |
15:12:07 | FromDiscord | <odexine> depends on what kind of consistency you need |
15:14:07 | FromDiscord | <itr_> In reply to @odexine "depends on what kind": what do you mean? |
15:14:34 | FromDiscord | <itr_> the exact version of the list I get at copy doesn't matter as long as it's not corrupt |
17:08:04 | FromDiscord | <Robyn [She/Her]> LowDB or db_connector... Hm. |
17:38:26 | FromDiscord | <fosster> how can I index by the position an OrderedTable? |
17:46:04 | FromDiscord | <jaar23> anyone has setup nim with helix before? not sure why nimsuggest is always crash when using neovim and vscode.↵while fixiing here and there in neovim, i would like to try helix too.. but helix is never working for me. |
17:46:45 | anddam | is nim-template suggested for current work? last commit is 5+ year old |
17:49:34 | FromDiscord | <MDuardo> Me↵You need my config?↵(@jaar23) |
17:53:09 | FromDiscord | <jaar23> In reply to @MDuardo "Me You need my": yes if you could provide one. |
17:54:34 | FromDiscord | <jaar23> the error i getting always was, `nimsuggest for project /xxx/xxxx/xxx stopped, exitcode 139` quite frastruting.. |
17:59:12 | FromDiscord | <MDuardo> Wait, I realized I didn't set Nim LSP↵(@jaar23) |
17:59:23 | FromDiscord | <MDuardo> I'm using the default config |
17:59:40 | FromDiscord | <jaar23> In reply to @MDuardo "I'm using the default": default config is working? |
18:00:19 | FromDiscord | <MDuardo> Are you using nimsuggest or nimlangserver? |
18:00:34 | FromDiscord | <MDuardo> Flawlessly↵(@jaar23) |
18:01:55 | FromDiscord | <jaar23> tried with both, none is working for me |
18:02:20 | FromDiscord | <MDuardo> 1000062757.jpg https://media.discordapp.net/attachments/371759389889003532/1223331421725266051/1000062757.jpg?ex=6619772b&is=6607022b&hm=ee5b9ade74ef5515e9d36cc738631d28dc7fc19b8bb4adfbd0f6a53775d84e90& |
18:03:21 | FromDiscord | <MDuardo> Did you add the .nimble directory to PATH? |
18:03:40 | FromDiscord | <jaar23> yes, nimsuggest is in my PATH |
18:05:12 | FromDiscord | <MDuardo> What happens if you open nimsuggest/nimlangserver from the terminal?↵↵It crashes? |
18:07:16 | FromDiscord | <jaar23> it didn't ↵i can run it https://media.discordapp.net/attachments/371759389889003532/1223332663494971462/image.png?ex=66197853&is=66070353&hm=d722a840ba058ba6edc0dfccf521dfa0c305c196079fc5636b10ec1fb5c2aa22& |
18:16:24 | FromDiscord | <jaar23> In reply to @MDuardo "What happens if you": when i start helix, i can see the nimsuggest process is started, however, i don't see any suggesstion when typing `obj.` or so. |
18:20:24 | FromDiscord | <MDuardo> What Helix version you have?↵I'm in 23.10 |
18:22:27 | FromDiscord | <jaar23> In reply to @MDuardo "What Helix version you": same, 23.10 |
18:24:42 | * | cnx quit (Remote host closed the connection) |
18:25:32 | * | cnx joined #nim |
18:33:32 | FromDiscord | <jaar23> may be nimsuggest is stop working, although the process still running. how to reinstall nimsuggest? https://media.discordapp.net/attachments/371759389889003532/1223339272556515419/image.png?ex=66197e7b&is=6607097b&hm=0c7b6e3dc11f5d12cae381904d9f7b1727cbe6097ab3235d12e4189d679a1226& |
18:44:51 | Amun-Ra | does helix supports block copying yet? |
18:46:44 | * | ntat quit (Quit: Leaving) |
18:59:24 | FromDiscord | <MDuardo> `nimble uninstall nimsuggest `↵(@jaar23) |
18:59:30 | FromDiscord | <MDuardo> And then install |
18:59:44 | FromDiscord | <MDuardo> What do you mean?↵(<@709044657232936960_=41mun-=52a=5b=49=52=43=5d>) |
19:02:10 | * | Lord_Nightmare quit (Quit: ZNC - http://znc.in) |
19:20:56 | * | lucasta quit (Quit: Leaving) |
19:21:42 | * | _________ quit (Quit: leaving) |
19:28:39 | * | _________ joined #nim |
19:35:49 | * | junaid_ joined #nim |
19:37:46 | FromDiscord | <norax.2> https://media.discordapp.net/attachments/371759389889003532/1223355438876065902/image.png?ex=66198d89&is=66071889&hm=374cb44bd9f07da3656489dcf04444dfd6bca12b90761d5f1563c0656f95f41a& |
19:37:53 | FromDiscord | <norax.2> nimling v2 testing |
19:38:12 | FromDiscord | <norax.2> and it actually works too |
19:38:17 | FromDiscord | <norax.2> epic |
19:39:15 | FromDiscord | <norax.2> im not calling it a fork of normal nimling cause what i keeped is just the name |
19:46:15 | FromDiscord | <griffith1deadly> In reply to @norax.2 "": why `if ... == true:` if you can `if ...:` |
19:46:40 | FromDiscord | <norax.2> In reply to @griffith1deadly "why `if ... ==": to make it more readable |
19:46:55 | FromDiscord | <norax.2> this goes to fresh nim coders |
19:47:26 | FromDiscord | <norax.2> thats also the same reason why i created 3 functions in less than 40 lines of code |
19:47:48 | FromDiscord | <norax.2> and the same why i use a main function |
19:49:07 | FromDiscord | <michaelb.eth> In reply to @norax.2 "to make it more": no, it will just perpetuate the idea that Nim has the concept of "falsy" and "truthy" like JavaScript, which it does not |
19:49:37 | FromDiscord | <norax.2> so should i go whit a more efficent approach? |
19:50:08 | FromDiscord | <djazz> `while not done:` |
19:50:18 | FromDiscord | <norax.2> In reply to @djazz "`while not done:`": ! |
19:50:23 | FromDiscord | <norax.2> (edit) "In reply to @djazz "`while not done:`": ! ... " added "exists" |
19:50:30 | FromDiscord | <norax.2> !done |
19:50:53 | FromDiscord | <michaelb.eth> do it like you see in the Nim Manual and in robust Nim codebases, and maybe check the Status Nim Style Guide ( https://status-im.github.io/nim-style-guide/ ) |
19:51:01 | FromDiscord | <norax.2> okay |
19:51:49 | FromDiscord | <norax.2> btw later when i end the base code it will be open to add new stuff |
19:51:57 | FromDiscord | <norax.2> such as more tutorials |
19:52:01 | FromDiscord | <michaelb.eth> not everyone in the Nim community likes/agrees with the Status guide, but there's some good info in there in any case, worth reading |
19:52:52 | FromDiscord | <michaelb.eth> also consider auto-/formatting your code with nph↵https://github.com/arnetheduck/nph |
19:53:56 | FromDiscord | <norax.2> well is not that hard to implement is just another line in the makefile |
19:54:09 | FromDiscord | <norax.2> (edit) "line" => "few lines" |
19:54:17 | FromDiscord | <michaelb.eth> if you're using vscode you can install the plugin and have it format on file save |
19:54:24 | FromDiscord | <norax.2> name? |
19:54:30 | FromDiscord | <michaelb.eth> https://marketplace.visualstudio.com/items?itemName=arnetheduck.vscode-nph |
19:54:51 | FromDiscord | <michaelb.eth> maintained by the author of nph, link is in the readme of nph |
19:57:25 | FromDiscord | <norax.2> https://media.discordapp.net/attachments/371759389889003532/1223360380953165884/image.png?ex=66199223&is=66071d23&hm=4bf9186b84b143ceebfb4c6ca45b2c8b87726d40fc1f27e9ad223e1f37035a70& |
19:57:26 | FromDiscord | <norax.2> here it is |
20:04:35 | * | junaid_ quit (Remote host closed the connection) |
20:19:49 | FromDiscord | <norax.2> someone that uses windows could tell me if the 'cls' command works? |
20:19:58 | FromDiscord | <norax.2> (edit) "works?" => "works for cleaning the console?" |
20:20:20 | * | def- quit (Quit: -) |
20:21:14 | * | def- joined #nim |
20:21:33 | * | junaid_ joined #nim |
20:23:10 | FromDiscord | <michaelb.eth> In reply to @norax.2 "someone that uses windows": pretty sure that works re: cmd.exe, probably in PowerShell too; of course Windows users with good taste will be using an MSYS2 bash shell/environment |
20:29:48 | FromDiscord | <guttural666> god, C is painful |
20:30:18 | FromDiscord | <Elegantbeef> C puts the C in "I really want to stop programming" |
20:31:52 | FromDiscord | <guttural666> I'v been trying to develop a dir scanner to get some experience and it's kinda perverse fun, but a lot of things just seem annoying and cumbersome |
20:32:49 | FromDiscord | <guttural666> string handling is absolute dog shit, it's just more work and it doesn't seem to do anything useful for the work you put in |
20:33:09 | FromDiscord | <griffith1deadly> In reply to @Elegantbeef "C puts the C": nim sometimes too with it compile errors and slow compile time |
20:33:45 | FromDiscord | <griffith1deadly> c++ with cmake with 5k files for ue 4.27 compiles for small change like 2-7 sec |
20:35:17 | FromDiscord | <Phil> In reply to @Elegantbeef "C puts the C": There is no C in "I really want to stop programming", was it introduced by some preprocessor? |
20:35:52 | FromDiscord | <guttural666> when char[256] = char is hard, I just don't get it, just write the fucking chars into the buffer and stop when it's full god damnit |
20:37:28 | FromDiscord | <guttural666> makes me wish I had actually studied CS, but I reckon they'd just have tought me Java 🤮 |
20:38:09 | FromDiscord | <griffith1deadly> java is good |
20:38:15 | FromDiscord | <griffith1deadly> but kotlin better |
20:38:30 | FromDiscord | <griffith1deadly> wanna see some kotlin -> nim compiler |
20:38:33 | FromDiscord | <Elegantbeef> Yea I don't agree |
20:38:39 | FromDiscord | <Elegantbeef> Yes it's not the fastest compile time but it gives you time to sip your water |
20:38:39 | FromDiscord | <Robyn [She/Her]> Why is `out` highlighted red and underlined in VSC? |
20:38:47 | FromDiscord | <guttural666> dunno, I look at Java projects and I'm horrified |
20:39:04 | FromDiscord | <Robyn [She/Her]> In reply to @griffith1deadly "wanna see some kotlin": I'd rather have Nim -> Java or Nim -> Kotlin |
20:39:06 | FromDiscord | <Phil> In reply to @griffith1deadly "java is good": We're about to be enemies |
20:39:15 | FromDiscord | <Elegantbeef> Postprocessor↵(@Phil) |
20:39:16 | FromDiscord | <Elegantbeef> Guttural there is no full in an array |
20:39:19 | FromDiscord | <Phil> And I earn some of my money with java |
20:39:36 | FromDiscord | <Elegantbeef> The C interface for arrays is a type erasure as such you have no idea when it's full |
20:39:39 | FromDiscord | <griffith1deadly> im work at java project |
20:39:45 | FromDiscord | <Elegantbeef> you need to do `call(myArr, len)` |
20:40:01 | FromDiscord | <Phil> My grief is more with the type of devs that exist in java land I guess than the lang itself, though I'm not a massive fan of OO either |
20:40:06 | FromDiscord | <guttural666> this is my problem rn https://media.discordapp.net/attachments/371759389889003532/1223371125166182461/image.png?ex=66199c25&is=66072725&hm=716e854da18b4cd62ded3b774d99643a032eac403507d928da25beb9e6eeed51& |
20:40:46 | FromDiscord | <Phil> Because the amount of bad abstractions that make things more complicated than its worth (oh hello there Hibernate) is insane |
20:41:05 | FromDiscord | <Phil> And I've never seen it worse anywhere than in java land |
20:41:09 | FromDiscord | <Elegantbeef> Yea that should be `&dir[0]` |
20:41:31 | FromDiscord | <griffith1deadly> In reply to @isofruit "Because the amount of": i hate hibernate |
20:41:44 | FromDiscord | <Elegantbeef> `T[...]` is not compatible with `T` |
20:41:50 | FromDiscord | <griffith1deadly> i'm love mongodb driver for kotlin |
20:41:51 | FromDiscord | <Phil> I mean, the java logging frameworks aren't much better either for my next example of overcomplication |
20:42:52 | FromDiscord | <griffith1deadly> atleast writing jni anticheat for minecraft with nim is painful |
20:42:58 | FromDiscord | <Elegantbeef> Guttural why are you even using C, just do this in Nim and learn the same things 😛 |
20:42:59 | FromDiscord | <Elegantbeef> Wrap your C functions though |
20:43:23 | FromDiscord | <Elegantbeef> jni anticheat? |
20:43:28 | FromDiscord | <guttural666> In reply to @Elegantbeef "Guttural why are you": to broaden my horizon and learn something new, strictly personal |
20:43:46 | FromDiscord | <griffith1deadly> In reply to @Elegantbeef "jni anticheat?": use jni for checking game values |
20:44:25 | FromDiscord | <guttural666> figured everybody should know some C, just plugging some holes in my education |
20:44:57 | FromDiscord | <Elegantbeef> I never conventionally learned C myself I just learned it incidentally through Nim 😄 |
20:45:18 | FromDiscord | <griffith1deadly> i'm just learned c/c++ with nim |
20:45:29 | FromDiscord | <guttural666> In reply to @Elegantbeef "I never conventionally learned": how so? through Nim's C output? |
20:45:32 | FromDiscord | <griffith1deadly> never write before nim c++ code |
20:45:38 | FromDiscord | <Elegantbeef> Nope |
20:46:01 | FromDiscord | <griffith1deadly> In reply to @guttural666 "how so? through Nim's": try start with lowlevel system api |
20:46:07 | FromDiscord | <Elegantbeef> Wrote Nim as a system language and learned the underlying logic then just mapped it to C's syntax when attempting to wrap code |
20:46:10 | FromDiscord | <griffith1deadly> not that provide nim stdlib |
20:46:52 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "I'd rather have Nim": java -> kotlin already exists |
20:46:57 | FromDiscord | <griffith1deadly> but not ideal |
20:47:08 | FromDiscord | <griffith1deadly> by jetbrains ide |
20:47:14 | FromDiscord | <guttural666> yeah, I just think it's essential to learn some low level language if your day work is writing really high level code, it's just an immense asset |
20:47:53 | FromDiscord | <Elegantbeef> Right and Nim is a low level language 😛 |
20:48:24 | Amun-Ra | jni is painful enough by itself |
20:48:31 | FromDiscord | <griffith1deadly> nim can make java a way faster, just rebind java zip functions with zippy :p |
20:48:42 | FromDiscord | <guttural666> I know, but not #that low level with GC and all and a lot of convenient stuff, you don't really learn what is involved when copying strings etc. |
20:49:08 | FromDiscord | <Elegantbeef> I mean just go use `create`, `dealloc` and friends |
20:49:32 | FromDiscord | <guttural666> In reply to @Elegantbeef "I mean just go": are those the Nim equivs. of malloc and free? |
20:49:37 | FromDiscord | <Elegantbeef> Yes |
20:49:44 | FromDiscord | <griffith1deadly> In reply to @guttural666 "I know, but not": learn pointers with nim |
20:49:50 | FromDiscord | <Elegantbeef> You can always go make your own `seq[T]` and learn exactly what you did in C |
20:50:00 | FromDiscord | <guttural666> In reply to @griffith1deadly "learn pointers with nim": already dipped in to that with multithreading |
20:50:03 | FromDiscord | <Elegantbeef> Nim just makes it cleaner to do what C teaches you since it has destructors |
20:50:34 | FromDiscord | <griffith1deadly> In reply to @guttural666 "already dipped in to": multithreading in nim is painful |
20:50:39 | FromDiscord | <Elegantbeef> Your `=wasMoved` and `=destroy` is your `dealloc_seq(...)` in C |
20:51:03 | FromDiscord | <guttural666> yeah, I know Nim's great, but I still think you should know some languages for experience, it's just a great lesson |
20:51:16 | FromDiscord | <guttural666> In reply to @griffith1deadly "multithreading in nim is": it kinda is |
20:51:55 | FromDiscord | <Elegantbeef> Yea I'm too far into my own sauce that you can learn languages through Nim, I pretend to know Rust, C, and Zig since it's all the same shit |
20:52:21 | FromDiscord | <griffith1deadly> i'm tried learn zig and stopped |
20:52:24 | FromDiscord | <griffith1deadly> ahah |
20:52:32 | FromDiscord | <guttural666> Zig seems fucking awesome |
20:52:42 | FromDiscord | <Elegantbeef> Why does it seem awesome |
20:52:49 | FromDiscord | <Elegantbeef> I think it seems fucking silly |
20:52:51 | FromDiscord | <guttural666> C without the pain |
20:53:01 | FromDiscord | <Elegantbeef> You still have to play compiler |
20:53:04 | FromDiscord | <griffith1deadly> In reply to @guttural666 "C without the pain": with |
20:53:05 | FromDiscord | <MDuardo> That |
20:53:44 | FromDiscord | <guttural666> I think Zig and especially the compiler tool chain just make C and cross compiling and Cmake and all that horse shit obsolete |
20:53:49 | FromDiscord | <guttural666> it does the same but better |
20:53:52 | FromDiscord | <griffith1deadly> c without pain more like nim without bugs and multithreading high level |
20:54:00 | FromDiscord | <Elegantbeef> Sure that's cool but that's not really the language |
20:54:03 | FromDiscord | <Elegantbeef> That's zigcc |
20:54:10 | FromDiscord | <guttural666> yeah that's not the lng |
20:54:16 | FromDiscord | <Elegantbeef> It's the year 2024 and people still want to do explicit memory management |
20:54:42 | FromDiscord | <guttural666> Zig is just another C style lng, which is great and familiar, metaprogramming and comptime tho |
20:54:55 | FromDiscord | <guttural666> just better than C macros |
20:55:30 | FromDiscord | <Elegantbeef> With no overloading, explicit generics, and explicit memory management! |
20:56:24 | FromDiscord | <MDuardo> I only would like Zig to have Nim-like memory management |
20:56:38 | FromDiscord | <Elegantbeef> RAII is fantastic for system languages |
20:56:50 | FromDiscord | <Elegantbeef> I find it absurd to want to manually do `dealloc(x)` at the right time |
20:56:54 | FromDiscord | <guttural666> In reply to @Elegantbeef "With no overloading, explicit": yeah I was recently scolded in the Zig channel by saying heap allocation should be included in the examples they ship |
20:57:06 | FromDiscord | <odexine> In reply to @isofruit "There is no C": "I really want to stop programming\0CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC" |
20:57:18 | FromDiscord | <guttural666> defer: deinit() is a good step in the right direction tho |
20:57:49 | FromDiscord | <Elegantbeef> `defer` is not an upgrade it's just manual RAII |
20:57:56 | FromDiscord | <Elegantbeef> Odin has the same thing |
20:58:10 | FromDiscord | <guttural666> it is, but it is definitely better than a block of cleanup which you goto |
20:58:17 | FromDiscord | <guttural666> and might forget |
20:58:25 | FromDiscord | <Elegantbeef> You might forget a `defer` anyway |
20:58:31 | FromDiscord | <MDuardo> Also, I find very hard to ask for user inputs in Zig↵Waaay harder that it should↵(@guttural666) |
20:58:44 | FromDiscord | <guttural666> nah, not after a heap alloc, you just put it right after |
20:58:48 | FromDiscord | <Elegantbeef> `a := some_proc()` |
20:59:00 | FromDiscord | <Elegantbeef> damn does `some_proc()` own memory?! |
20:59:25 | FromDiscord | <guttural666> In reply to @MDuardo "Also, I find very": yeah, their philosophy seems to be to force people to learn about low level programming |
20:59:58 | FromDiscord | <Elegantbeef> Maybe given that the matrix rest api is kicking my ass I should not espouse my views of what makes a good system language 😄 |
21:00:10 | FromDiscord | <Elegantbeef> Ever get owned by json |
21:01:37 | FromDiscord | <guttural666> In reply to @Elegantbeef "`a := some_proc()`": explain pls, the proc should dealloc its local memory |
21:01:50 | FromDiscord | <Elegantbeef> That's odin for a variable declaration |
21:02:04 | FromDiscord | <Elegantbeef> You can call a procedure and not realise it owns memory |
21:02:19 | FromDiscord | <Elegantbeef> As such you can leak cause you have to manually do `defer: dealloc(T)` |
21:02:28 | FromDiscord | <Elegantbeef> So it's not really much better than an exit goto block |
21:03:56 | FromDiscord | <guttural666> dunno, the proc should obviously handle its own memory and if it returns anything it should be visible in the signature |
21:04:44 | FromDiscord | <Elegantbeef> I mean say it returns a struct that has an internal pointer |
21:05:03 | FromDiscord | <Elegantbeef> The type signature does not indicate to the program that it should be deallocated as it's just a struct |
21:05:17 | FromDiscord | <Elegantbeef> So you can easily go "Oh this has no heap memory" |
21:05:36 | FromDiscord | <Elegantbeef> I'm just too biased to ever want to play compiler |
21:06:18 | FromDiscord | <guttural666> probably my knowledge fails me here, but returning a pointer to something you've just allocated in a func should be fine, since now the ownership of that thing has gone to the caller |
21:06:39 | FromDiscord | <Elegantbeef> Right but if it's hidden by a struct you will not know the struct has a pointer |
21:06:49 | FromDiscord | <Robyn [She/Her]> I need to make a simple connection pool hm... And can you do connection pooling with SQLite?? |
21:06:50 | FromDiscord | <guttural666> ohhh |
21:07:10 | FromDiscord | <guttural666> then the deinit funcs come into play I guess |
21:07:20 | FromDiscord | <odexine> In reply to @chronos.vitaqua "I need to make": what point is there to make a connection? SQLite dbs are in memory |
21:07:51 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=EfaOACNomLhe |
21:08:11 | FromDiscord | <Robyn [She/Her]> In reply to @odexine "what point is there": I'm gnna have to implement it for PostgreSQL so I wanna get it out of the way |
21:08:21 | FromDiscord | <Elegantbeef> if you do `struct myStruct bleh = getIt()` there is no indication at the callsite memory is actually owned |
21:08:37 | FromDiscord | <Elegantbeef> This is worse in odin since it has type inference so it's `bleh := getIt()` |
21:08:50 | FromDiscord | <guttural666> yeah, and by convention there are deinit(myStruct) functions that do the cleanup and you'd do defer: deinit(myStruct) after the function call |
21:08:56 | FromDiscord | <Elegantbeef> yes we can say "the proc should have new in it's name" |
21:09:01 | FromDiscord | <Elegantbeef> Right I know how it works |
21:09:21 | FromDiscord | <Elegantbeef> The thing is that there can be no clear indication to the programmer that the struct owns memory |
21:09:30 | FromDiscord | <guttural666> guess it's something you "have to know", or read the source, but I reckon it's still better than C |
21:09:31 | FromDiscord | <Elegantbeef> As such forgetting a destructor is easy |
21:09:37 | FromDiscord | <Elegantbeef> This is why RAII exists |
21:09:37 | FromDiscord | <guttural666> gotcha |
21:09:51 | FromDiscord | <guttural666> yeah totally agree |
21:10:44 | FromDiscord | <guttural666> but I've heard complaints about RAII, that it unnessecarily slows down shut down procedures, since the OS cleans up after you anyways |
21:10:59 | FromDiscord | <Elegantbeef> Oh noes my program is slow when it shuts down |
21:11:09 | FromDiscord | <odexine> In reply to @chronos.vitaqua "I'm gnna have to": probably would abstract this connection pooling api internally and not pool anything for SQLite, while doing so with PostgreSQL |
21:11:13 | FromDiscord | <Elegantbeef> For shame! |
21:11:14 | FromDiscord | <guttural666> I think that's a legit concern |
21:11:40 | FromDiscord | <Elegantbeef> Resources are properly handled and any destructors are fired ensuring the desired behaviour happens |
21:11:41 | FromDiscord | <guttural666> it sucks to have your appls or even the OS waiting for some unnecessary steps to be performed |
21:12:02 | FromDiscord | <Robyn [She/Her]> In reply to @odexine "probably would abstract this": Wdym exactly? |
21:12:18 | FromDiscord | <Elegantbeef> If you have a data type that writes to the disk on destruction do you want it to write to the disk or do you want it to just shut down? |
21:12:24 | FromDiscord | <odexine> you're making a connection pool API/library/thing |
21:12:27 | FromDiscord | <Elegantbeef> One of these is proper the other is incorrect |
21:12:31 | FromDiscord | <guttural666> it does, but it doesn't matter when shutting down something, so it's wasted, I think that's a legit point, apps should start AFAP and shut down AFAP |
21:12:39 | FromDiscord | <odexine> in that, for SQLite do no actual connection pooling |
21:12:44 | FromDiscord | <Robyn [She/Her]> Oh okay yeah I understand now |
21:12:53 | FromDiscord | <Elegantbeef> Apps should shut down as fast as possible whilst maintaining correct state |
21:13:01 | FromDiscord | <Elegantbeef> Just as they should start up as fast as possible |
21:13:31 | FromDiscord | <guttural666> sure thing, but just throwing away run time stuff that is not critical is okay |
21:13:34 | FromDiscord | <Elegantbeef> If destructors are supposed to be called to keep state correct... they should be called |
21:13:44 | FromDiscord | <guttural666> agreed |
21:13:55 | FromDiscord | <Elegantbeef> I mean if you want to make a program close faster just kill it |
21:14:10 | FromDiscord | <Elegantbeef> But you're accepting that when you do that you're possibly losing state |
21:14:42 | FromDiscord | <Elegantbeef> "Why is my text editor losing information, I always kill it and it loses the last things I typed" |
21:14:42 | FromDiscord | <guttural666> loosing state is another thing, but not all state is worth keeping and writing to disk etc. |
21:14:53 | FromDiscord | <guttural666> you know what I'm talking about |
21:15:19 | FromDiscord | <Elegantbeef> Sure, but no op destructors are not going to cause your program to stay alive for 5 minutes |
21:16:23 | FromDiscord | <Elegantbeef> Plus there is nothing saying you cannot have your own short circuit exit that skips destructors you don't want |
21:16:32 | FromDiscord | <Elegantbeef> Not that I'd ever condone it |
21:17:00 | FromDiscord | <guttural666> my Linux machine takes 10 seconds to "properly shut down" my VPN, not sure why that is, but something there is excessive, normal shutdowns take 5 seconds, no clue if that has something to do with what I've described, just saying it has impact on UX if you don't shut down fast |
21:17:04 | FromDiscord | <odexine> In reply to @Elegantbeef "Plus there is nothing": program sending a sigkill to itself: |
21:17:19 | FromDiscord | <odexine> In reply to @guttural666 "my Linux machine takes": thats unlikely related to destructors |
21:18:28 | FromDiscord | <odexine> and i mean id say anything related to networking could have a somewhat-long graceful shutdown period cuz theyre prolly still handling data of some sort? |
21:18:47 | FromDiscord | <guttural666> I understand the argument that things have to be properly takend care of, writing shit to disk etc. but RAII just blanket destroys everything "properly" if it's not necessary because the OS just nukes your memory space anyways, that was my point |
21:19:45 | FromDiscord | <guttural666> In reply to @odexine "and i mean id": yeah, I have no clue what I'm talking about network related but I just see my Linux cmd line saying "waiting for service PIA to shut down" 😄 fucking bothers me because it takes so long |
21:20:12 | FromDiscord | <odexine> First mistake using PIA |
21:20:16 | FromDiscord | <odexine> Half kidding |
21:20:24 | FromDiscord | <guttural666> elaborate please |
21:20:43 | FromDiscord | <odexine> One of the VPN companies lots of people accuse of being shady |
21:20:47 | FromDiscord | <Robyn [She/Her]> Either way the underlying connection is hidden since the only purpose of it is to belong to a 'Provider` object that can use it under the hood anyway |
21:21:00 | FromDiscord | <guttural666> In reply to @odexine "One of the VPN": thought they were not, no logging et al |
21:21:16 | FromDiscord | <Elegantbeef> That's what they all say |
21:22:06 | FromDiscord | <guttural666> got fd once with piracy, that's all I care about really, not being a prime target for those lawyer IT systems |
21:22:26 | FromDiscord | <guttural666> (edit) "with" => "for" |
21:23:14 | FromDiscord | <Elegantbeef> fed? |
21:23:20 | FromDiscord | <guttural666> for distributing perfectly legal linux distros |
21:23:41 | FromDiscord | <guttural666> nah, I'm in europe |
21:24:32 | FromDiscord | <odexine> I don’t really trust any VPN company advertising “privacy” or virus avoidance |
21:24:48 | FromDiscord | <Elegantbeef> I was commenting on "f\d" |
21:25:00 | FromDiscord | <odexine> I wasn’t commenting on anything about you twos sayings |
21:25:12 | FromDiscord | <guttural666> well, I know how those lawyer comps work, they just sit in the torrent stream and auto fuck all the people in there |
21:25:40 | FromDiscord | <guttural666> good way to earn back your tuition fees |
21:26:20 | FromDiscord | <guttural666> VPNs put enough of a barrier to them, so they just go for the low hanging fruit |
21:26:40 | FromDiscord | <Elegantbeef> How do you even get a lawyer email from distro torrents |
21:26:46 | FromDiscord | <Elegantbeef> I mean secondly how do you even care |
21:27:17 | * | cm_ joined #nim |
21:28:07 | FromDiscord | <guttural666> obv. ironic, they fucked me for a film that wasn't even good |
21:28:36 | * | cm quit (Ping timeout: 268 seconds) |
21:28:36 | * | cm_ is now known as cm |
21:29:07 | FromDiscord | <guttural666> cared for the 600 quid bill then (didn't realy, but was a pain in the ass to get a lawyer) |
21:30:10 | FromDiscord | <Elegantbeef> Oh they actually took action... what a odd thing |
21:30:54 | FromDiscord | <guttural666> enough of the highly illegal talk, authorities might be programming in Nim 🤣 |
21:31:29 | FromDiscord | <Elegantbeef> Well I can only otherwise talk about how much the matrix api is pissing me off since it's not behaving as I expect |
21:32:18 | FromDiscord | <guttural666> Matrix as in the chat client, just watched a making of of the Matrix |
21:32:29 | FromDiscord | <Elegantbeef> Matrix as in the protocol, yes |
21:32:44 | FromDiscord | <guttural666> what is it written in |
21:33:35 | FromDiscord | <guttural666> got Cinny installed |
21:34:09 | FromDiscord | <Elegantbeef> What? |
21:34:11 | FromDiscord | <guttural666> is this actually from Germany? just reading up on this |
21:34:18 | FromDiscord | <Elegantbeef> It's a protocol it's written in English |
21:34:52 | FromDiscord | <guttural666> TU Dresden |
21:34:57 | FromDiscord | <Elegantbeef> https://spec.matrix.org/v1.10/client-server-api/#syncing I'm currently here and crying |
21:35:22 | FromDiscord | <guttural666> elaborate, bad API design or what's the prob |
21:35:49 | FromDiscord | <Elegantbeef> I'm trying to regenerate the history from the first sync but getting nowhere |
21:35:53 | FromDiscord | <Elegantbeef> So... whatever you want to call that |
21:37:18 | FromDiscord | <Elegantbeef> I do know Germany uses matrix for the bundeswher communication and also medical chat now |
21:37:37 | FromDiscord | <Elegantbeef> https://element.io/matrix-in-germany/projects/bwmessenger |
21:38:43 | FromDiscord | <guttural666> that's so interesting |
21:39:11 | FromDiscord | <guttural666> probably a result of being fucked in the ass by Russian spies and being butthurt |
21:39:45 | FromDiscord | <guttural666> god damn, the Bundeswehr is a joke |
21:40:39 | FromDiscord | <Elegantbeef> Hey it's technically not a standing army |
21:41:22 | FromDiscord | <guttural666> it's a lying down and Schnitzel eating army |
21:41:55 | FromDiscord | <guttural666> but I better stop, enough piracy and shit against the party line for today 🤣 |
21:42:18 | * | cm quit (Ping timeout: 255 seconds) |
21:43:48 | * | cm joined #nim |
21:43:56 | FromDiscord | <guttural666> hello Bundeswehr: please program in C so your developers have a fantastic time and produce no vulnerabilities whatsoever |
21:44:17 | FromDiscord | <guttural666> and if they do it's a skill issue |
21:44:36 | FromDiscord | <Elegantbeef> I think that qualifies as a cybercrime |
21:44:36 | FromDiscord | <Elegantbeef> That's like giving legal advice as a lawyer that was wrong |
21:44:37 | FromDiscord | <Q-Master> Яussian spies are carefully recording.... \:)) |
21:44:52 | FromDiscord | <guttural666> hahaha |
21:44:53 | FromDiscord | <Elegantbeef> You have written programs therefore you should know C is not good, straight to the gulags |
21:45:04 | FromDiscord | <norax.2> I CANT MANAGE TO GET A CLEAR FUNCTIOOON |
21:45:04 | FromDiscord | <norax.2> AAAAAAA |
21:45:15 | FromDiscord | <Elegantbeef> OH NOES |
21:45:23 | FromDiscord | <guttural666> clear function? scientology now? god help me |
21:45:34 | FromDiscord | <norax.2> a function to clear terminal |
21:45:36 | FromDiscord | <Elegantbeef> Scientolgists don't have a god |
21:45:36 | FromDiscord | <norax.2> in nim |
21:45:44 | FromDiscord | <norax.2> (edit) "a function to clear ... terminal" added "the" |
21:45:47 | FromDiscord | <Elegantbeef> Have you used `clearScreen`? |
21:45:50 | FromDiscord | <norax.2> what |
21:45:53 | FromDiscord | <norax.2> it exists |
21:45:54 | FromDiscord | <Elegantbeef> I hear it clears the screen |
21:45:57 | FromDiscord | <guttural666> I've done that before let me look itup |
21:46:11 | FromDiscord | <norax.2> wait a second |
21:46:24 | FromDiscord | <Elegantbeef> There is also `eraseScreen` |
21:47:01 | FromDiscord | <norax.2> what lib? |
21:47:53 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/theindex.html |
21:48:16 | FromDiscord | <guttural666> don't have that on my PC, but I think std/terminal and then something like up cursor and delete line? |
21:48:59 | FromDiscord | <norax.2> In reply to @Elegantbeef "https://nim-lang.org/docs/theindex.html": https://nim-lang.org/docs/linenoise.html#clearScreen |
21:49:02 | FromDiscord | <guttural666> if you're doing CLI stuff |
21:50:25 | FromDiscord | <guttural666> std/terminal cursorUp, eraseLine maybe |
21:50:29 | FromDiscord | <norax.2> k |
21:50:42 | FromDiscord | <norax.2> i tough i could just use cmd exec and then clear |
21:50:45 | FromDiscord | <norax.2> But nooo |
21:50:47 | FromDiscord | <norax.2> too easy |
21:51:09 | FromDiscord | <guttural666> what is your use case |
21:51:15 | FromDiscord | <norax.2> like |
21:51:17 | FromDiscord | <guttural666> what do you want to achieve |
21:51:22 | FromDiscord | <norax.2> to clear the terminal |
21:51:30 | FromDiscord | <guttural666> the whole terminal |
21:51:30 | FromDiscord | <norax.2> exactly like when i run clear in console |
21:51:32 | FromDiscord | <norax.2> yes |
21:51:48 | FromDiscord | <guttural666> look in std/terminal and I think you'll find something |
21:52:49 | FromDiscord | <guttural666> (edit) "look in std/terminal and I think you'll find something ... " added "https://nim-lang.org/docs/terminal.html" |
22:05:41 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "Scientolgists don't have a": They do...kinda |
22:05:46 | FromDiscord | <Robyn [She/Her]> It's very weird lmao |
22:06:39 | FromDiscord | <Elegantbeef> A tomato with feelings is hardly a diety |
22:06:53 | * | pmp-p quit (Ping timeout: 240 seconds) |
22:10:45 | FromDiscord | <Robyn [She/Her]> Lol |
22:10:55 | FromDiscord | <Robyn [She/Her]> But the intergalactic federation!!!!!! |
22:11:25 | FromDiscord | <Elegantbeef> When you cut a tomato does it scream in A or D? |
22:12:24 | FromDiscord | <norax.2> In reply to @guttural666 "look in std/terminal and": that,dint only fix my issue |
22:12:47 | FromDiscord | <norax.2> but also found a way to make the bar to show the user at what point they are |
22:12:53 | FromDiscord | <norax.2> epic |
22:12:57 | FromDiscord | <norax.2> thanks <3 |
22:25:48 | FromDiscord | <Robyn [She/Her]> I'm naming my storage related functions with a theme of mining lol |
22:26:10 | FromDiscord | <Robyn [She/Her]> `store`? Nah, `deposit`↵`load`? Nah, `extract` |
22:26:19 | FromDiscord | <Elegantbeef> "bitcoin" "etherum" "doge" |
22:26:41 | FromDiscord | <Robyn [She/Her]> Trying to figure out a term for creating a table, but best I can come up with is `claimSite` |
22:26:49 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef ""bitcoin" "etherum" "doge"": Not crypto mining :p |
22:27:02 | FromDiscord | <Elegantbeef> ledger 😛 |
22:27:12 | FromDiscord | <Elegantbeef> landClaim |
22:28:13 | FromDiscord | <Robyn [She/Her]> In reply to @Elegantbeef "ledger 😛": I mean, hm... Seems like a no but something similar might be good hm |
22:29:14 | FromDiscord | <Robyn [She/Her]> `establishMine`? |
22:31:14 | FromDiscord | <Robyn [She/Her]> Or just `establish` |
22:32:18 | FromDiscord | <Robyn [She/Her]> `establish` it shall be |
22:33:17 | FromDiscord | <Robyn [She/Her]> I wonder how I'm going to handle migrations |
22:33:25 | FromDiscord | <Robyn [She/Her]> Oh well, problem for future me |
22:36:29 | * | junaid_ quit (Remote host closed the connection) |
23:04:10 | FromDiscord | <Robyn [She/Her]> My storage provider abstractions are going well I think |
23:04:18 | FromDiscord | <Robyn [She/Her]> Still writing up the code but I like the structure |
23:10:11 | FromDiscord | <Robyn [She/Her]> With LowDB how would I be inserting blob data? A tad confused here |
23:10:58 | FromDiscord | <Robyn [She/Her]> Specifically for PostgreSQL DBs, since LowDB doesn't support that functionality natively |
23:11:27 | FromDiscord | <Robyn [She/Her]> `DbOther` hm... |
23:21:02 | FromDiscord | <xezcpg_21960_03796> Teen Porn and Onlyfan Leaks here 🍑🍒 : https://discord.gg/MyHq3YEner @everyone |
23:23:04 | FromDiscord | <Robyn [She/Her]> <@&371760044473319454> |
23:42:40 | FromDiscord | <Robyn [She/Her]> I'm not looking forward to using the low level SQLite bindings oof |
23:42:52 | FromDiscord | <Robyn [She/Her]> Might just use something like sqliteral |
23:44:02 | termer | How do I get the underlying array in a string? |
23:44:12 | termer | I can't cast someStr.cstring to UncheckedArray[char] |
23:44:20 | termer | Error: VM does not support 'cast' from tyCstring to tyPtr |
23:50:06 | FromDiscord | <Robyn [She/Her]> Try `cast[UncheckedArray[char]](someStr.cstring[0])` |
23:55:33 | FromDiscord | <Elegantbeef> You not going to be able to get much at CT in relation to string |