Time Nick Message 00:00 GreenDimond also Minetest 00:00 sofar from lua? 00:00 GreenDimond Yes 00:00 sofar how much data is it? 00:00 sofar 5, 50, or 500000? 00:01 GreenDimond Can be as little as 50 characters to as much as 5 million 00:01 sofar how many elements? 00:01 sofar not byte size 00:01 GreenDimond What I currently store in one line would be an element right? 00:01 GreenDimond each line is a serialized table, btw 00:02 sofar if you define that to be "an element" then yes 00:02 sofar e..g. think row in an sql table 00:02 GreenDimond I have little knowledge of how databases work 00:03 GreenDimond In theory the amount of elements could be anything, but at a sane level it would probably be no more than 10 million. 00:03 GreenDimond Average of less than 5 mil 00:05 GreenDimond could even be 1 element 00:05 sofar I think you should consider using something like lsqlite3 or even an actual SQL backend then 00:06 GreenDimond Alright, then the question of how is it read? Can I access indexes individually (similar to a table)? 00:06 sofar Yes, you just query by e.g. index number, or some other data property 00:06 GreenDimond and how fast is it 00:07 GreenDimond Because I could be accessing thousands of indexes per second 00:07 sofar Usec response times 00:07 sofar Even large queries can be fast 00:07 sofar Depends on how good you write queries and design your sql tables 00:08 sofar It uses lsqlite3 00:08 sofar Itb* 00:09 GreenDimond I suppose I should look at ITB and sauth/sban code 00:10 rubenwardy bad uses of lsqlite3 can result in massive lag 00:10 rubenwardy ie: sauth and sban are very sloq 00:10 rubenwardy before the sauth optimisations 00:10 GreenDimond Yeah I was sort of aware of that 00:10 rubenwardy which essentially resulting in in-memory caching being used 00:10 sofar There are alternatives, and there are ways to make mistakes :) 00:11 GreenDimond Are databases more compressed too? 00:11 sofar No 00:11 GreenDimond Less? 00:11 sofar No 00:11 GreenDimond So there is no space gain 00:11 rubenwardy I think it would be very beneficial to have an engine API for nonrelational data 00:11 sofar Well generally SQL databases have a nontrivial overhead 00:12 rubenwardy ie: arrays of records potentially with a key, but not necessarily 00:12 GreenDimond But I suppose because it will no longer be easily accessible it doesnt need to be human-readable at that point, so minetest.compress will help. 00:12 rubenwardy unsure on how this should be implemented 00:12 sofar You can put compressed data in the DB, though 00:12 rubenwardy but builtin caching would be good 00:12 sofar My does this 00:13 * rubenwardy reads up on recent security news for my exam tomorrow 00:13 rubenwardy Fortnite had a vulnerabilty 00:13 rubenwardy sounds about right 00:13 sofar Hah 00:13 rubenwardy dump of 3 billion user records found on hacker forums, announced tomorrow 00:13 rubenwardy because time zones 00:13 rubenwardy https://www.troyhunt.com/the-773-million-record-collection-1-data-reach/ 00:14 rubenwardy 3 billion records, but 800 million unique emails 00:14 sofar All dances were stolen 00:17 rubenwardy Troy Hunt himself was in that breach, apparently 00:18 sofar Well it suck my 50 hidden emails were in there 00:19 GreenDimond so sqlite3 has its own "language" 00:20 sofar It's almost identical to MySQL and pgsql 00:20 GreenDimond I meant its not Lua 00:20 sofar For most simple uses it's the same 00:21 sofar Sure, that's why there are bindings to lua 00:21 rubenwardy ...lool 00:21 rubenwardy GreenDimond: you're gonna have to learn other languages some day 00:21 rubenwardy and SQL is preetttyyy essential 00:21 GreenDimond Fucking hell rubenwardy shut up 00:21 rubenwardy :D 00:21 rubenwardy sorry 00:22 sofar We can harass, I mean help you with it 00:22 rubenwardy It was meant to be a light tease, sorry if it came across rude or otherwise 00:23 GreenDimond It was fine the first time 00:23 GreenDimond But it wasnt 00:23 GreenDimond especially considering I do know more than Lua 00:24 GreenDimond When I ask what language things are in, it is not a "darn, it isnt lua :(" its a "can I use what I already know best or is it something else" 00:24 GreenDimond Generally when it comes to Minetest, I assume things are Lua because thats the main language used in mods. 00:25 rubenwardy well, lsqlite3 is a lua binding for sqlite, but you still need to use SQL because it's harder to express the necessary querying in Lua 00:25 rubenwardy but yeah, ok, sorry 00:27 rubenwardy there is actually an ORM for SQLite in Lua: http://itdxer.com/4DaysORM/ 00:27 rubenwardy but it'll be sloowww 00:27 GreenDimond Yeah that doesnt look as good 00:28 GreenDimond So downside, users have to install sqlite3 for the mod to work. Upside, it'll be really freakin cool. 00:28 GreenDimond Also upside, I wont have to scrub a text file backwards. 00:28 rubenwardy the modding book describes a method to make the sqlite3 dependency option 00:28 rubenwardy +optional 00:29 rubenwardy basically by having a backend_something and backend_sqlite file, which both have the same methods but different storage methods 00:29 rubenwardy however, extra work 00:29 GreenDimond ill just stick to one 00:34 GreenDimond different topic, can a coroutine loop be used to not hang minetest? 00:35 GreenDimond In other words, a normal loop will hold Minetest until it exits, can I fix that with a coroutine 00:38 sofar Don't think so 02:13 kaeza Greetings 02:14 ANAND Greetings! 04:03 tumeninodes ughhhh. MS already frikken around with the layout of github webpages. They do this just to annoy me... I _know_ it 05:28 jas_ a couple of people mistype their passwords and the next thing we know we all have to deal with this confirmation dialog. 05:56 IcyDiamond Oops 05:56 jas_ hi 05:57 jas_ paramat: i think the dialog needs to be disabled on android, if you want android users 05:57 jas_ maybe it's not that bad, i do tend to exagerate 05:57 jas_ what's good icy? 05:59 jas_ tumeni: i had a similar frustration when trying to make a new issue, it kept showing me a hundred related issues and seemed to be actively discouraging me from posting a new one in duplicate. stressful, really. 06:01 jas_ (i'm sorry, i'm sure that's a fine feature) it's just when dialogs pop up and they're like "YOU GOT IT?" or, "OK?" and it's like "i never asked you anything" and you can't NOT click on it BAH i digress 12:45 IcyDiamond https://i.lunasqu.ee/Screenshot_19-01-17-14:45:20.png wtf do i do now 13:15 rubenwardy IcyDiamond: do you have any blocks? 16:22 rubenwardy ha, MT is everywhere 16:22 rubenwardy found this: https://github.com/stevedonovan/LDoc/issues/307 18:47 rubenwardy blooodyy hell http://capitalismgame.rubenwardy.com/docs 18:49 paramat capitalism game vs. communistcraft 18:50 rubenwardy that joke is not original at all 18:50 rubenwardy :P 18:50 rubenwardy maybe I should rename it to "BusinessTest" 18:51 rubenwardy that doc software is terrible 18:52 rubenwardy it can be used to make good looking docs, for example this one: http://lua4z.com/doc/index.html 18:52 rubenwardy but it's painful to do so 19:06 paramat Busytest 19:07 paramat or Busynest 19:19 paramat Businest 19:47 Andrey01 hi 19:49 Andrey01 question: can i use other names of inventory list differing from 'main' and 'craft'? for example, 'my_list' name. 19:49 Andrey01 I read rubenwardy`s manual and i have not understood either i can use other names or not. 19:54 sofar you can make your own 20:17 Andrey01 sofar, i tried to create formspec with 'list' element that has 'main' name because Krock said i can not create with other name in this case, then inv:set_list(, {}) implemented 20:17 Andrey01 so correctly? 20:18 sofar if you *make* new inventories, you can use them 20:18 Andrey01 i get warning: WARNING[Main]: GUIFormSpecMenu::drawList(): The inventory list "kwc1_2" @ "nodemeta:-192,3,-189" doesn't exist 20:18 sofar not sure about node inventories 20:20 Andrey01 no, when i created formspec string, i wrote same list name that i used in that method 23:57 kaeza Greetings. 23:57 rubenwardy p/ 23:58 kaeza \q