00:05:24 | * | stefanos82 quit (Remote host closed the connection) |
00:08:01 | * | krux02_ joined #nim |
00:08:36 | * | dddddd quit (Remote host closed the connection) |
00:11:18 | * | krux02 quit (Ping timeout: 264 seconds) |
00:12:54 | ryukoposting | Varriount: the plan is to use Amazon's JSON IDLs |
00:12:58 | * | theelous3_ quit (Ping timeout: 250 seconds) |
00:13:11 | ryukoposting | I' |
00:13:45 | ryukoposting | I'm actually working wiht a friend on it, and on our to-do list is something along the lines of "how does Boto do it? How does Go do it? How can we do it better?" |
00:14:36 | ryukoposting | The ultimate goal for me is to make something that's going to be extremely useful, but is also an impressive statement piece on the kind of crazy stuff Nim is capable of |
00:14:58 | ryukoposting | If this works, I think it will turn some heads |
00:25:31 | * | krux02_ is now known as krux02 |
00:29:43 | * | abm quit (Quit: Leaving) |
00:34:55 | FromGitter | <Varriount> ryukoposting: Where can I find those? |
00:35:07 | * | rnrwashere joined #nim |
00:38:17 | ryukoposting | https://github.com/aws/aws-sdk-go/tree/master/models |
00:57:08 | krux02 | ryukoposting, so you can now parse json at compile time |
00:57:29 | ryukoposting | haven't tried yet, is there a new release I should pull in |
00:57:38 | ryukoposting | or should i be running nightly build |
01:01:51 | krux02 | it is not in a release yet, so nightly might be your choise. I personally prefer though to build nim from git and make my own build. |
01:02:30 | ryukoposting | aight, I'll give it a shot |
01:02:55 | krux02 | I simply do it, because my projects often needed my patches of the compile (custom branch) |
01:03:57 | krux02 | I have to sleep now, good night. |
01:04:01 | * | krux02 quit (Remote host closed the connection) |
01:08:27 | * | rnrwashere quit (Remote host closed the connection) |
01:09:27 | * | rnrwashere joined #nim |
01:16:22 | * | mwbrown quit (Quit: Exiting) |
01:18:33 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
01:20:16 | ryukoposting | aaaaaayy it works |
01:24:18 | * | rnrwashere quit (Remote host closed the connection) |
01:33:55 | * | rnrwashere joined #nim |
02:08:54 | FromGitter | <Varriount> ryukoposting: That's the same data Boto3 (Botocore) uses. |
02:11:08 | ryukoposting | makes sense |
02:11:29 | ryukoposting | im pretty sure all of the official SDKs use the same files, can't see why they wouldn't |
02:12:27 | FromGitter | <arnetheduck> on rust lifetimes, and how they're used in relation to iterators - re iterator discussion the other day: https://raw.githubusercontent.com/Gankro/thesis/master/thesis.pdf |
02:13:02 | ryukoposting | >title: you can't spell trust without rust |
02:36:37 | FromGitter | <Varriount> Ugh |
02:41:16 | ryukoposting | I have nothing against rust, but that tag line has been beaten to death |
03:00:39 | * | theelous3_ joined #nim |
03:02:37 | * | banc quit (Quit: Bye) |
03:11:06 | FromGitter | <Varriount> That's what annoys me about rust - its so... evangelized |
03:15:34 | ryukoposting | eh, it's a small but noisy bunch |
03:17:40 | ryukoposting | it has some really good ideas, to be fair |
03:18:50 | ryukoposting | I think some people have convinced themselves that the way to make rust a practical language for use in production code is to cheer for it really loudly |
03:20:39 | ryukoposting | rust has a lot of great ideas but unless there's some magic thing about it that has completely flown over my head while using it, it's more of a pain in the ass to use than what it's worth |
03:23:37 | * | banc joined #nim |
03:34:41 | * | bobby quit (Ping timeout: 255 seconds) |
03:38:40 | * | bobby joined #nim |
03:53:55 | * | noeontheend joined #nim |
03:54:09 | FromGitter | <Varriount> To me, it's just so... Ugly |
03:54:31 | FromGitter | <Varriount> Then again, C++ is even uglier, so I guess it's an improvement. |
03:55:12 | * | bobby quit (Remote host closed the connection) |
03:59:36 | * | noonien quit (Quit: Connection closed for inactivity) |
04:00:05 | * | bobby joined #nim |
04:00:35 | shashlick | I agree, I cannot bear to see it |
04:00:56 | shashlick | Kind of like the verbosity of Java |
04:01:10 | shashlick | Or a python guy looking at ruby |
04:01:25 | shashlick | Not a rational response but what to do |
04:20:57 | ryukoposting | it's not even the syntax, as a C person I'm mostly fine with that |
04:21:57 | ryukoposting | it's just incredibly finicky about things that obviously are fine, yet there's no way to express "it's fine" to the compiler |
04:24:30 | ryukoposting | writing a doubly linked list in rust feels like transcribing homer's odyssey, except it's a misprint where it's just the first 3 pages reprinted over and over for the entire length of the book |
04:25:10 | * | nsf joined #nim |
04:32:12 | FromGitter | <Varriount> @cheatfate Sent another HTTP parser bug your way. |
04:32:24 | * | a_chou joined #nim |
04:34:18 | * | a_chou quit (Client Quit) |
04:51:10 | FromDiscord | <slymilano> Hi guys! |
04:51:19 | FromDiscord | <slymilano> Wondering if Discord messages get posted to Gitter? |
04:52:08 | * | Xe quit (Ping timeout: 258 seconds) |
04:52:12 | FromDiscord | <slymilano> Spent the weekend trying out Rust and Nim. Nim wins hands down, I could compile my simple hello world for Mac, Linux and Windows SUPER easily on Nim. Rust was a clusterfuck |
04:56:05 | shashlick | slymilano - Discord <-> IRC <-> Gitter |
04:56:25 | FromGitter | <gogolxdong> Anyone used svg in Karax, does it work? |
04:58:05 | FromGitter | <gogolxdong> No matter what tag I use, embed, object, or svg directly, it doesn't work properly. |
04:58:52 | FromDiscord | <slymilano> What is the "rails" of the Nim world? I'm looking to build a web application, and compile to a single static binary people can just double-click on and have it run on localhost:7777 for example. |
05:01:06 | FromGitter | <Varriount> slymilano: That would probably be jester |
05:01:49 | FromGitter | <Varriount> slymilano: I think there's httpbeast too, but I don't know how user-friendly it is |
05:02:28 | FromGitter | <Varriount> Oh wait, jester uses httpbeast |
05:04:05 | FromDiscord | <slymilano> Thanks, is there something like Ecto/ActiveRecord for Postgres? |
05:08:18 | FromGitter | <Varriount> slymilano: Not really. There's https://github.com/Araq/ormin and https://github.com/nanoant/nim-orm |
05:09:16 | FromGitter | <Varriount> slymilano: How complex is this application going to be? |
05:18:57 | FromGitter | <Varriount> slymilano: I will say, one of the problems with implicitly-loading ORM's (like ActiveRecord, if I'm reading it correctly) is that it's very hard to integrate them with asynchronous frameworks |
05:19:57 | FromGitter | <Varriount> Normally asynchronous frameworks require one to use something like `await` or `yield` to yield the current routine, however a member access like `model.attribute`, which can cause a database load, doesn't allow this. |
05:20:00 | * | noeontheend quit (Ping timeout: 252 seconds) |
05:28:07 | * | vlad1777d quit (Ping timeout: 240 seconds) |
05:28:21 | * | rnrwashere quit (Remote host closed the connection) |
05:29:37 | FromDiscord | <slymilano> Not super complicated, just a bunch of has_many, belongs_to, many_to_many. Single database, about 13 tables. |
05:39:56 | * | chimez joined #nim |
05:48:36 | FromGitter | <Varriount> slymilano: Hm, that might be tricky to do... |
05:51:08 | FromGitter | <Varriount> slymilano: If you end up using plain SQL statements, what you can do is (ab)use the unified function call syntax to mimic attribute access, load the actual attribute, then cache the result |
05:51:22 | * | tensortom quit (Remote host closed the connection) |
05:51:30 | FromGitter | <Varriount> dom96: Does Jester allow using `await`? |
05:51:40 | * | tensortom joined #nim |
05:57:42 | FromGitter | <Varriount> slymilano: https://gist.github.com/Varriount/894c457cf304fb96947d894293bdb96e |
05:59:08 | * | Cthalupa quit (Ping timeout: 255 seconds) |
05:59:54 | * | Cthalupa joined #nim |
06:05:09 | FromDiscord | <slymilano> Oof yeah I really just want a normal ORM like Ecto or ActiveRecord 😦 Dang there's always a catch 😛 |
06:10:26 | FromGitter | <Varriount> slymilano: Sorry. :/ |
06:10:53 | FromGitter | <Varriount> Unfortunately, we haven't really had anyone put in the time or effort to come up with a really good ORM |
06:11:29 | FromGitter | <Varriount> Though, now that you mention it, I have a chunk of time coming up that I planned to dedicate to a project. An ORM isn't a bad idea. |
06:12:27 | FromDiscord | <slymilano> That sounds terrific |
06:13:10 | FromGitter | <Varriount> slymilano: That chunk of time is in a couple of months though. I have an independant study course next semester, so I've been evaluating potential project ideas. |
06:14:17 | FromGitter | <Varriount> I've already written a shell (https://github.com/Varriount/commandant) |
06:14:30 | FromGitter | <Varriount> for my last independent project course. |
06:16:32 | * | theelous3_ quit (Ping timeout: 250 seconds) |
06:17:17 | * | narimiran joined #nim |
06:35:10 | FromGitter | <Varriount> slymilano: I'm unfamiliar with Ecto and ActiveRecord. What would you say are the most useful features they provide? |
07:12:27 | * | ryukoposting quit (Quit: WeeChat 1.6) |
07:21:08 | * | brakmic joined #nim |
07:26:18 | * | brakmic quit (Ping timeout: 250 seconds) |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:01:10 | * | krux02 joined #nim |
08:04:52 | * | gmpreussner joined #nim |
08:15:00 | * | brakmic joined #nim |
08:28:12 | * | Vladar joined #nim |
08:31:50 | FromGitter | <dom96> https://news.ycombinator.com/item?id=19298647 |
08:40:29 | * | PMunch joined #nim |
08:49:37 | * | brakmic quit (Remote host closed the connection) |
08:52:07 | * | brakmic joined #nim |
08:56:26 | * | brakmic quit (Ping timeout: 255 seconds) |
08:57:20 | * | PMunch quit (Remote host closed the connection) |
08:59:38 | * | lritter joined #nim |
09:01:16 | * | brakmic joined #nim |
09:02:33 | * | chimez1 joined #nim |
09:03:57 | * | chimez quit (Ping timeout: 244 seconds) |
09:03:57 | * | chimez1 is now known as chimez |
09:08:56 | * | floppydh joined #nim |
09:09:29 | * | sz0 quit (Quit: Connection closed for inactivity) |
09:10:33 | * | brakmic_ joined #nim |
09:14:41 | * | brakmic quit (Ping timeout: 268 seconds) |
09:25:28 | * | brakmic_ quit () |
09:28:29 | * | dddddd joined #nim |
09:36:43 | * | dddddd quit (Ping timeout: 245 seconds) |
09:46:34 | * | Vladar quit (Remote host closed the connection) |
09:47:38 | FromGitter | <mratsim> @Araq I think this is becoming important: https://github.com/nim-lang/RFCs/issues/80 - see your own answer: https://forum.nim-lang.org/t/4691#29266 |
09:48:59 | * | dddddd joined #nim |
09:57:12 | Araq | and what am I supposed to do? |
09:58:46 | Araq | when I say "use json.nim instead" what I mean is "use json.nim until you are more comfortable with static typing" |
10:00:04 | Araq | and the better RTTI is done with macros.getType for better or worse |
10:04:44 | FromGitter | <mratsim> well, right now what we can have is an article about runtime type in Nim cc @narimiran |
10:09:29 | * | PMunch joined #nim |
10:18:29 | * | junk[m] quit (*.net *.split) |
10:18:44 | * | junk[m] joined #nim |
10:24:26 | * | PMunch quit (Remote host closed the connection) |
10:34:37 | * | jeet joined #nim |
10:36:39 | jeet | hi i need help trying to sample a sequence of strings. what i would be the standard way to do it nim? i looked at the stdlib and it doesn't look like there's something i can use |
10:37:11 | * | Vladar joined #nim |
10:46:50 | Araq | random.nim has proc sample |
10:55:05 | * | theelous3_ joined #nim |
10:55:34 | * | stefanos82 joined #nim |
11:06:02 | * | ng0 joined #nim |
11:15:29 | * | abm joined #nim |
11:36:30 | jeet | @Araq I'm new to the language and don't know where to look for the example. could you please provide a link? |
11:37:59 | jeet | a google search throws up stdlib documentation and the nim-random github repo, whose code i can't seem to run. |
11:40:19 | narimiran | jeet: https://nim-lang.github.io/Nim/random.html#sample%2CopenArray[T] |
11:41:37 | jeet | narimiran: thanks a ton!! |
11:43:15 | * | MyMind joined #nim |
11:43:55 | * | Sembei quit (Ping timeout: 268 seconds) |
11:51:42 | * | PMunch joined #nim |
12:37:07 | FromGitter | <alehander42> hm |
12:37:10 | FromGitter | <alehander42> can i pass a=b |
12:37:17 | FromGitter | <alehander42> to macro? as varargs |
12:37:21 | * | vlad1777d joined #nim |
12:41:52 | * | Snircle joined #nim |
12:44:57 | FromGitter | <alehander42> oh i was using a template nvm! |
12:54:56 | * | gmpreussner quit (Ping timeout: 255 seconds) |
12:59:57 | shashlick | @slymilano, @Varriount - https://forum.nim-lang.org/t/4693#29269 |
13:32:37 | * | waleee joined #nim |
13:43:42 | Zevv | wow, 44 PRs only |
13:49:33 | * | noonien joined #nim |
13:56:25 | FromGitter | <Varriount> shashlick: Thats eerily convenient |
14:00:59 | * | Xe joined #nim |
14:01:04 | * | Xe quit (Changing host) |
14:01:04 | * | Xe joined #nim |
14:09:37 | Araq | does anybody remember how I thought the codegen can be patched incrementally to use ASTs? |
14:14:02 | Araq | gah, have been looking at the wrong tester.nim file |
14:14:19 | Araq | no wonder the stack trace makes no sense :-( |
14:16:39 | * | gmpreussner joined #nim |
14:28:55 | Araq | alehander42: do you remember what I proposed? |
14:34:47 | * | chemist69 joined #nim |
14:36:54 | * | waleee quit (Quit: WeeChat 2.4) |
14:50:56 | * | Vladar quit (Remote host closed the connection) |
15:06:02 | FromGitter | <arnetheduck> Araq, easy no? just turn rope into an "literal" ast node ;) |
15:06:34 | Araq | hmmm |
15:07:06 | Araq | I thought about an nkVerbatim node that has a string literal that is emitted unquoted |
15:12:06 | FromGitter | <arnetheduck> separate ast or the same as `compiler/ast.nim`? |
15:24:06 | * | disruptek quit (Quit: Bye) |
15:24:27 | * | disruptek joined #nim |
15:27:31 | Araq | I wish I knew |
15:28:39 | * | chimez quit (Quit: chimez) |
15:32:25 | Araq | what would be better for nlvm? (don't say "SSA") |
15:34:37 | * | PMunch quit (Remote host closed the connection) |
15:35:53 | * | jeet quit (Ping timeout: 245 seconds) |
15:41:36 | Araq | arnetheduck: what does "better GC tracking" mean? |
15:41:37 | * | noeontheend joined #nim |
15:45:10 | Araq | gah I broke devel |
15:51:24 | * | floppydh quit (Quit: WeeChat 2.3) |
15:57:29 | FromGitter | <arnetheduck> @Araq depends a bit.. what's difficult with the current compiler codebase is that you essentially have to know *all* of it to work on it because everything is very optimized and there's no clear a->b->c pipeline.. if there was a separate AST for codegen, one could optimize and make it ergonomic for backend development, and keep the other ast ergonomic for nim so they wouldn't infect each other.. that's how I'd start |
15:57:29 | FromGitter | ... out at least, also to be able to move quickly with developing it and not break the other one.. then I would follow up with an integration phase which would strive to unify whatever turned out to be common. the key here would be that by looking at it, I could exclude all the stuff that's not pertinent to codegen d ... [https://gitter.im/nim-lang/Nim?at=5c7d4ae9c1cab53d6f745657] |
15:57:30 | * | leorize quit (Ping timeout: 264 seconds) |
15:57:31 | * | Jesin quit (Quit: Leaving) |
15:58:20 | FromGitter | <alehander42> Araq I remember I wanted such a verbatim node for other reasons |
15:58:28 | FromGitter | <alehander42> But not sure about the proposal |
15:58:29 | * | narimiran quit (Read error: Connection reset by peer) |
15:59:07 | * | narimiran joined #nim |
15:59:15 | * | leorize joined #nim |
15:59:47 | FromGitter | <arnetheduck> better gc tracking would involve doing stuff like letting llvm track gc roots and barriers, so it also can optimize those properly.. http://llvm.org/docs/GarbageCollection.html#llvm-ir-features |
16:00:02 | * | nsf quit (Quit: WeeChat 2.4) |
16:04:27 | * | Jesin joined #nim |
16:08:04 | krux02 | arnetheduck: sadly Nim isn't based on the LLVM backend, it is still the C and C++ backend and it also doesn't seem like it is going to change very soon. |
16:11:25 | FromGitter | <arnetheduck> @krux02 what I've been talking to @Araq about before is a medium IR kind of AST where you can make certain optimizations and transformations the come after sem.. ie some optimizations that rely on nim semantics and would be hard for a generic c/llvm ir optimizer to do.. to take an obvious one, RVO - right now, that's done in the cgen, whereas some other things are done in `transf.nim` and yet others happen in |
16:11:25 | FromGitter | ... `sem`.. what I envision this to be is a transf on steriods that whittles down the nim ast to a core set of entites that are easy to generate from |
16:11:51 | FromGitter | <arnetheduck> that would benefit all backends - c, js, llvm |
16:14:11 | krux02 | ah, ok |
16:17:22 | * | brakmic joined #nim |
16:18:34 | * | rnrwashere joined #nim |
16:20:04 | * | Trustable joined #nim |
16:25:11 | * | brakmic_ joined #nim |
16:28:41 | * | brakmic quit (Ping timeout: 255 seconds) |
16:38:21 | FromGitter | <Varriount> @cheatfate Thanks for the fix! |
16:48:27 | Araq | ideally the IR is |
16:48:42 | Araq | - "structured" (not using goto everywhere) |
16:48:53 | * | rauss joined #nim |
16:49:04 | Araq | - typed (do not lose precious type annotations) |
16:49:54 | Araq | - smaller than the AST (but then the AST could also be trimmed, its special cases like nkStrToCStrConv are bad for the macro system too) |
16:51:15 | Araq | - "packed in memory" for efficient "immutable" transformations, learn the lessons from packedjson |
16:52:25 | Araq | - as high level as possible for easy debugging |
16:54:15 | * | mwbrown joined #nim |
16:54:27 | * | noeontheend quit (Remote host closed the connection) |
16:55:04 | * | noeontheend joined #nim |
16:57:53 | Araq | - with explicit runtime checks that can be optimized away rather than "left out in release mode and then pray for the best" |
17:09:30 | FromGitter | <alehander42> I wonder about the packed thing |
17:09:49 | FromGitter | <alehander42> I was trying to find resources for optimized ast representations these days |
17:10:00 | FromGitter | <alehander42> Is it optimizing mostly for memory |
17:15:59 | FromGitter | <arnetheduck> people that have moved on from the llvm IR have moved in two directions - higher level, preserving more language semantics to avoid having to run complex analysis to get guarantees and assumptions back, or more constrained in terms of layout, so as to avoid excessive pointer hopping and the like, to be more fast jit/runtime friendly.. |
17:16:04 | * | kapil____ quit (Quit: Connection closed for inactivity) |
17:17:37 | federico3 | dom96: any plan for BelFOSS? Any Nim talks? :) |
17:36:34 | Araq | and here are the cons: |
17:36:56 | Araq | generating C remains full of quirks: |
17:37:42 | Araq | - the lack of inheritance requires us to generate obj.up.up.up.field accesses that no sane IR gives a shit about |
17:37:58 | Araq | - some casts need to be turned into union accesses |
17:38:16 | Araq | - arrays decay into pointers way too early |
17:38:35 | Araq | - 'char' is neither signed nor unsigned |
17:39:38 | Araq | - we support .importcpp for generics so that C++ templates can be imported. |
18:00:53 | Araq | arnetheduck: higher level and less pointer hopping is not mutually exclusive |
18:11:05 | * | nsf joined #nim |
18:13:39 | FromGitter | <arnetheduck> less pointer hopping usually constrains the design/memory layout of the IR which makes it harder to shuffle things around / insert stuff / etc which is what the other passes want to do.. I'm happy to have the cookie and eat it if possible, but.. |
18:13:59 | * | lritter quit (Ping timeout: 255 seconds) |
18:14:49 | FromGitter | <arnetheduck> intuitively, I think something like a fat linked list/tree wouldn't be too bad as a compromise.. list is easier, but you don't like SSA so :) |
18:18:36 | Araq | well if you keep it immutable you don't shuffle things around or insert stuff in the middle |
18:20:41 | FromGitter | <arnetheduck> though that's in part an objective of the intermediate IR as I see it - you want to apply transformations on it, but you don't want the complexity of having to deal with all sugar nodes of the nim ast |
18:21:32 | FromGitter | <arnetheduck> er, I think it's called an "unrolled linked list", not fat |
18:22:08 | Araq | dunno I probably read too much FPC code, the word "list" already makes me cringe |
18:24:51 | * | brakmic_ quit () |
18:25:59 | * | brakmic joined #nim |
18:51:17 | FromGitter | <Varriount> FPC? |
18:52:17 | FromDiscord | <slymilano> Sorry I don't get pinged in Discord by gitterirc 😦 |
18:52:49 | FromDiscord | <slymilano> That was my HN thread, hoping to hear some in-the-trenches stories. Nim sounds amazing and the fact that I can compile static binaries is definitely my favorite feature. |
18:54:14 | FromGitter | <Varriount> slymilano: For extra portability, you can try statically linking musl or uclibc |
18:54:46 | Araq | Varriount: FreePascal |
18:55:14 | FromGitter | <arnetheduck> hum, maybe it's too much bother to get a shared backend ast, if the lang-specific quirks are too many |
18:56:22 | Araq | arnetheduck: I'm thinking about a "proc body only" IR |
18:57:53 | Araq | for easier optimization but most hacks in the C backend would remain. However, nlvm could then ignore what the C backend does |
18:58:12 | Araq | as the GC write barriers etc would be in the IR |
18:58:47 | * | ptdel joined #nim |
19:01:35 | ptdel | hello, I saw that gatabase was forked, is ormin no longer being developed/plans to make gatabase a more officious ORM? |
19:07:47 | * | jeet joined #nim |
19:09:46 | * | jeet quit (Client Quit) |
19:10:45 | FromGitter | <Varriount> gatabase? |
19:11:07 | Araq | ptdel: I fork interesting stuff just to be on the safe side |
19:11:50 | * | jeet joined #nim |
19:11:51 | Araq | I intend to work on Ormin further, eventually |
19:12:15 | Araq | it asked the right questions IMO, the implementation could always be better ofc |
19:12:31 | FromGitter | <Varriount> Since some people have the annoying habit of deleting repositories they no longer maintain. :/ |
19:12:38 | Araq | ^ exactly |
19:13:09 | Araq | and the Nimble package repo should fork projects |
19:13:28 | Araq | since we have this repo, we might as well use it to our advantage |
19:14:13 | jeet | Hi I'm unable to run the sample proc examples from this page - https://nim-lang.github.io/Nim/random#sample,openArray[T] . I'm using nim 0.19.4 . I get error saying 'expression . cannot be called'. I have miported random. Do i need to import somethign else ehre? |
19:16:05 | Araq | jeet: I think you need to use devel to get it |
19:16:07 | jeet | compiler throws test.nim(4, 11) Error: attempting to call undeclared routine: 'sample' |
19:16:11 | jeet | oh ok |
19:16:30 | Araq | or you copy random.sample from devel into your code... :-) |
19:16:31 | ptdel | oh i didn't realize he'd just archived it, thanks Araq |
19:19:34 | jeet | @Araq: Thanks |
19:20:53 | * | tribly quit (Quit: WeeChat 2.3) |
19:21:11 | * | tribly joined #nim |
19:25:44 | FromDiscord | <exelotl> has anyone ever had problems with SDL_CreateTextureFromSurface silently failing? |
19:26:42 | FromDiscord | <exelotl> it doesn't report any error but my call to SDL_RenderCopy returns -1, and SDL_GetError() gives "Invalid texture" |
19:28:31 | FromDiscord | <exelotl> maybe I should have asked in offtopic oops |
19:28:56 | leorize | it's fine if no one is talking :P |
19:31:26 | FromDiscord | <exelotl> the problem is super weird. The contents of the surface don't seem to matter, even if I don't change the surface at all, sometimes SDL_CreateTextureFromSurface will work and other times it won't |
19:31:52 | * | natrys joined #nim |
19:32:47 | Araq | limited HW resources? |
19:33:19 | Araq | if it's backed up by GPU memory it can fail if the GPU ran out of memory |
19:33:45 | FromDiscord | <exelotl> yeah maybe it's something like that, I'm just surprised that it doesn't give any error until I try to draw the texture |
19:37:14 | FromDiscord | <exelotl> What I found is that all the initial textures are fine when the application starts (there's about 100 textures each storing very small e.g. 16x16 bitmaps). |
19:37:26 | FromDiscord | <exelotl> On mouse-click I modify one of the small bitmaps, throw away the texture and create a new one. This *always* fails. But if I spam click about 50 times it suddenly starts working as expected. |
19:40:55 | * | jeet quit (Quit: WeeChat 2.4) |
19:50:29 | shashlick | how is nimx doing these days? |
19:50:50 | shashlick | am wondering if I should use nimx or libui |
19:50:58 | shashlick | for a cross-platform GUI |
19:52:29 | * | ng0 quit (Remote host closed the connection) |
19:55:34 | Araq | nimx is covered by important_packages, go figure |
19:56:16 | Araq | but it's mostly for games, being based on SDL2 (afaik!) |
19:56:30 | Araq | libui is for "ordinary" GUI apps |
20:02:32 | xace | shashlick: im a fan of nigui as it doesnt have the libui dependency... |
20:03:31 | xace | though i'd like to use nimx, if i could get nim to compile to a apk... but thats a different story |
20:04:52 | xace | oh i just read that libui doesnt neet gtk on macos... hmm |
20:06:43 | * | jonafato quit (Ping timeout: 246 seconds) |
20:06:53 | * | jonafato joined #nim |
20:14:03 | * | stefanos82 quit (Remote host closed the connection) |
20:15:12 | shashlick | nigui is gtk on osx so not native yet |
20:16:19 | shashlick | nimx is native on win/osx |
20:16:43 | shashlick | cc @yglukhov |
20:17:17 | xace | i thought nimx is just a opengl renedering of w/e nimx is |
20:17:20 | shashlick | oh I need to use -d:nimxAvoidSDL |
20:18:39 | shashlick | I really just need keyboard abstraction |
20:18:46 | shashlick | for accelerators |
20:22:48 | xace | what do you mean by that? |
20:23:44 | shashlick | well, I'm working on a text editor and want to bind keyboard shortcuts to actions |
20:23:48 | FromGitter | <zetashift> wouldn't GLFW suffice then? |
20:23:58 | shashlick | right now i'm using winapi directly with winim |
20:24:03 | shashlick | but want to be more cross-platform |
20:24:15 | xace | is it going to be a nim ide? |
20:24:43 | xace | well i would also be interested ina cross platform keybinding library... |
20:24:59 | shashlick | I've already started using it as my main editor for dev, but obviously it is a pain since many core features are still in dev |
20:25:31 | xace | have you uploaded it anywere for public use? |
20:26:35 | shashlick | https://github.com/genotrance/feud |
20:26:47 | shashlick | based on scintilla, only works on Windows right now |
20:28:26 | xace | ah interesting |
20:28:43 | shashlick | everything is a plugin so easy to see how it works |
20:28:45 | FromDiscord | <slymilano> It fills me with hope that Ruby actually came out in 1993 and it didn't get popular until YEARS later with Rails. |
20:28:45 | FromDiscord | <slymilano> |
20:28:45 | FromDiscord | <slymilano> Can you imagine what the killer Nim project will be? |
20:29:07 | FromDiscord | <slymilano> Is there a list somewhere of this that we need in the Nim ecosystem so people can take a swing at it? |
20:29:16 | FromDiscord | <slymilano> Is there a list somewhere of things that we need in the Nim ecosystem so people can take a swing at it? |
20:29:39 | FromGitter | <zetashift> https://github.com/nim-lang/needed-libraries |
20:30:57 | FromDiscord | <slymilano> Nice going to take a peek, maybe I can take a swing at some low hanging fruit. |
20:31:47 | shashlick | also check the issue tracker |
20:33:21 | * | rnrwashere quit (Remote host closed the connection) |
20:45:27 | Calinou | low-hanging fruits are unlikely to be killer Nim projects :) |
20:45:46 | Calinou | that said, I don't think it's healthy to aim to create such a project |
20:45:47 | * | theelous3_ quit (Ping timeout: 240 seconds) |
20:58:21 | * | seerix joined #nim |
21:00:13 | * | nsf quit (Quit: WeeChat 2.4) |
21:10:41 | * | tensortom quit (Remote host closed the connection) |
21:10:58 | * | tensortom joined #nim |
21:12:33 | * | narimiran quit (Ping timeout: 245 seconds) |
21:22:10 | * | rnrwashere joined #nim |
21:26:35 | * | rnrwashere quit (Ping timeout: 255 seconds) |
21:32:47 | * | rnrwashere joined #nim |
21:39:39 | FromGitter | <Varriount> Anyone here know if an HTTP header can contain spaces? Do spaces need to be percent-escaped? |
21:40:25 | * | rnrwashere quit (Remote host closed the connection) |
21:53:08 | * | jken quit (Ping timeout: 272 seconds) |
21:54:42 | FromDiscord | <slymilano> All the headers I've worked with have dashes as separators. Is that something out of your control and you need spaces? https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers |
21:55:04 | * | brakmic quit (Remote host closed the connection) |
21:55:38 | * | Trustable quit (Remote host closed the connection) |
21:56:37 | * | brakmic joined #nim |
21:57:43 | * | jken joined #nim |
21:58:19 | * | brakmic quit (Remote host closed the connection) |
21:58:28 | * | brakmic joined #nim |
22:03:40 | FromGitter | <arnetheduck> Araq, speaking of the devil: http://lists.llvm.org/pipermail/cfe-dev/2019-February/061450.html |
22:06:31 | Araq | muhahah, I predicted this, "reference count optimizations of std::shared_ptr" |
22:08:09 | FromGitter | <arnetheduck> interesting in that post is the reference to MLIR which is a new higher level IR they're working on.. |
22:09:09 | Araq | as far as I'm concerned LuaJIT proved that high level IRs are superior |
22:09:41 | Araq | the only question that remains is what "high level" actually means |
22:13:08 | FromGitter | <arnetheduck> well, well.. RISC is an IR to the gates in the cpu, and there it's winning over CISC as far as designs go;) |
22:14:11 | Araq | yes, winning since 30 years now |
22:19:44 | dom96 | federico3: hah no |
22:19:53 | Araq | and they didn't add vector instructions (oops) or software prefetching (oops, http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0434c/CHDEDHHD.html) |
22:19:57 | dom96 | I don't even have time to do a talk at FB |
22:21:02 | FromGitter | <arnetheduck> well, simplicity with a spice of complexity, vs complexity with.. uh.. more complexity! |
22:27:05 | Araq | https://www.eetimes.com/author.asp?section_id=36&doc_id=1327016 fwiw |
22:27:58 | Araq | I don't like x86 either, but ARM stopped being RISC some time ago. but you can argue either way, the terms are not well-defined |
22:29:49 | Araq | and x86 is not the only CISC anyway, much cleaner CISCy designs are possible |
22:40:34 | * | theelous3_ joined #nim |
22:43:42 | * | rnrwashere joined #nim |
22:47:34 | * | theelous3_ quit (Ping timeout: 250 seconds) |
22:48:24 | * | rnrwashere quit (Remote host closed the connection) |
22:49:03 | * | rnrwashere joined #nim |
22:50:50 | * | rnrwashere quit (Remote host closed the connection) |
22:51:31 | * | natrys quit (Quit: natrys) |
23:07:15 | * | rnrwashere joined #nim |
23:10:28 | * | rnrwashere quit (Remote host closed the connection) |
23:14:54 | * | noeontheend quit (Ping timeout: 264 seconds) |
23:20:10 | * | rnrwashere joined #nim |
23:31:28 | * | tensortom quit (Ping timeout: 246 seconds) |
23:44:17 | * | Cthalupa quit (Ping timeout: 255 seconds) |
23:45:41 | * | Cthalupa joined #nim |
23:53:44 | * | leorize quit (Ping timeout: 255 seconds) |
23:56:10 | * | ptdel quit (Quit: "http://im.triggered.help/humble/") |