[17:26:34]: *gollark has gone AFK. [17:26:36]: Luca_S: i wonder how many NBT tags is the maximum you can get [17:26:39]: Lemmmy: this is an anti-piracy measure we use for The Switch Times, they're printed by command computers so they can have >15 pages [17:26:39]: Luca_S: is each line 1 tag? [17:26:44]: Lemmmy: two tags [17:26:47]: Lemmmy: one is text, one is blit (colour) [17:26:58]: Lemmmy: hang on when i can get this screenshot working [17:27:00]: Luca_S: so you could have 15 * 21 * 2 NBT Tags on a single items [17:27:12]: Lemmmy: eh fuck it [17:27:14]: Lemmmy: have a fullscrene screenshot lol [17:27:16]: Lemmmy: https://i.lemmmy.pw/bwOf.png [17:27:43]: Lemmmy: the maximum sized print [17:27:54]: Lemmmy: before it crashes clients (though sponge now has protection against it and will kill you and delete the item) [17:27:55]: Luca_S: that seems like a terrible way to implement printed pages [17:27:56]: Lemmmy: is 517 pages [17:28:03]: Lemmmy: the pages contain random data so they cannot be compressed any further [17:28:08]: Lemmmy: uncompressed, i have managed ~10k pages [17:28:14]: Lemmmy: i mean, 10k pages that compress very well [17:28:21]: Lemmmy: yes, this is how dan200 codes [17:28:26]: Lemmmy: monitors work exactly the same way, unfortunately [17:28:31]: Lemmmy: and screens in general [17:28:35]: Lemmmy: each line on a terminal is 3 NBT tags [17:28:40]: Lemmmy: one is text, one is bg colour, and one is foreground colour [17:28:43]: Lemmmy: this is a 68x overhead [17:28:44]: Luca_S: that's terrible [17:28:45]: Lemmmy: i am working on rewriting it [17:29:00]: *ndiniz2012 has gone AFK. [17:30:01]: Check out the claims we have for auction! https://market.switchcraft.pw [17:30:53]: Lemmmy: i really need more space in this room.. [17:30:59]: Lemmmy: i guess i don't need some of these diamond chests anymore [17:31:00]: Luca_S: have you seen my home? [17:31:19]: Luca_S: look at this cramming [17:31:27]: Lemmmy: lmao basically the same as my base + under spawn [17:31:31]: Lemmmy: i have like 13 floors [17:31:33]: Lemmmy: and most of them are empty [17:31:38]: Lemmmy: i just like hhaving everything in that one room [17:31:53]: Lemmmy: it's kind of scary, i have a command block directly adjacent to a computer that has PotatOS on it [17:32:00]: Lemmmy: separated by a single wireless modem [17:32:03]: Lemmmy: https://i.lemmmy.pw/qNj6.png [17:32:25]: Luca_S: you're lucky that CC doesn't connect through components like OC does [17:32:31]: Lemmmy: hah [17:32:37]: Luca_S: else that command block would be connected to the computer [17:32:40]: Lemmmy: i didnt even realise until today, and this block has been here for a week or two now [17:32:46]: Luca_S: are command block peripherals turned on? [17:32:46]: Lemmmy: and potatos has been there since potatos was first released [17:32:53]: Lemmmy: probably tbh, let me check [17:32:59]: Lemmmy: would be irresponsible of us tho [17:33:08]: Luca_S: gimme a command block and I will check for you :p [17:33:18]: [D] The Red Spy in Base: lol [17:33:33]: [D] The Red Spy in Base: has anyone else done any mainframe work [17:33:35]: [D] The Red Spy in Base: atall [17:33:36]: Lemmmy: https://i.lemmmy.pw/u6yx.png [17:33:37]: Lemmmy: oh thank god [17:34:03]: Luca_S: tbh why is command block peripherals even still a thing [17:34:09]: Luca_S: just use a command computer instead [17:34:25]: Lemmmy: command computers can't actually call 90% of commands [17:34:29]: Lemmmy: they don't work with sponge permissions [17:34:40]: Luca_S: wut [17:34:41]: Lemmmy: so half of our infrastructure uses plain old command blocks [17:34:44]: Lemmmy: (or, lately, groovy scripts) [17:34:55]: Luca_S: i assumed commands.execute does the same thing as a command block would do [17:35:02]: Lemmmy: if i'm too lazy to add it into the proper sponge plugin (e.g. a quick script), then i write a groovy script [17:35:05]: Lemmmy: we basically have inbuilt RCE [17:35:19]: Luca_S: how useful [17:35:22]: Lemmmy: mostly, but some commands seem to work on a command block [17:35:25]: Lemmmy: nucleus ones still dont though [17:35:55]: Lemmmy: the groovy thing is actually pretty handy [17:35:57]: Lemmmy: for analytics [17:36:02]: gollark: I don't see why you're so scared of potatOS gaining access to command blocks. [17:36:03]: *gollark is no longer AFK. [17:36:10]: Lemmmy: https://i.lemmmy.pw/paste/s4xn.groovy [17:36:24]: Lemmmy: pardon my complete lack of groovy knowledge, i'm a java guy [17:37:12]: gollark: Idea: allow submitting Groovy scripts over HTTP, then have command computers dynamically generate Groovy scripts. [17:39:58]: *MattHowell is no longer AFK. [17:40:13]: [D] Lemmmy: https://i.lemmmy.pw/regd.png\nhttps://i.lemmmy.pw/HVvL.png\ni've adjusted it to have equal horizontal and vertical margins [17:40:18]: [D] Lemmmy: as per 3d6's suggestion [17:40:25]: [D] Lemmmy: maybe we can ship this, but i'm still kind of annoyed that she never used line 21 [17:40:33]: [D] Lemmmy: but at least i get an extra line to play with now ! [17:40:40]: [D] Lemmmy: oh i should fix that fuckin zip thing [17:40:44]: gollark: I wonder if I should make the flags on incident reports just be a JSON array or something, or if I should have a separate table with something like flag TEXT NOT NULL, incident_id INTEGER REFERENCES report_log (id). [17:41:02]: [D] Lemmmy: the proper way would be to make a separate table [17:41:11]: [D] Lemmmy: but nobody's gonna shoot you for using a json array [17:41:13]: ndiniz2012: Beep! [17:41:14]: *ndiniz2012 is no longer AFK. [17:41:17]: [D] Lemmmy: also mysql has json functions anyway [17:41:24]: [D] The Red Spy in Base: i wonder if i can run cobol on computercraft computers [17:41:24]: [D] The Red Spy in Base: 🙂 [17:41:34]: gollark: I'm actually using SQLite, but it has a good JSON extension. [17:41:35]: [D] The Red Spy in Base: mainframe time [17:41:36]: [D] Lemmmy: by the way the groovy control script was originally designed to run on CC [17:41:41]: [D] Lemmmy: then i asked the mod author to repurpose it as an admin tool for us [17:41:52]: [D] Lemmmy: it has been incredibly useful, basically a live REPL on the server [17:42:03]: gollark: The issue is that I might want to search by flags, and that would take O(n) time with it just being an array. [17:42:04]: [D] Lemmmy: ah right fair enough gollark [17:42:10]: [D] Lemmmy: definitely just make another table then [17:42:26]: [D] Lemmmy: joins are pretty optimised, at least on proper sql servers, dunno about sqlite [17:42:35]: gollark: SQLite is pretty fast too. [17:42:35]: [D] The Red Spy in Base: i cannot find a COBOL interpreter for cc [17:42:36]: Luca_S: gollark would that really be a problem? Are there so many incident reports? [17:42:37]: [D] The Red Spy in Base: sad! [17:42:44]: gollark: Well, the IDs go up to 11000 in the live database. [17:42:50]: Luca_S: wut [17:42:53]: [D] Lemmmy: wait, an incident can have multiple flags right? [17:42:55]: gollark: And I plan to roll them out more to track stuff like errors in production. [17:42:57]: gollark: Yes, it can. [17:43:08]: [D] Lemmmy: have a table defining each flag, a table for incident reports, and a many-to-many joining table [17:43:09]: gollark: Otherwise I would just make it a field and create an index. [17:43:17]: [D] Lemmmy: that's the proper normalized way to do it [17:43:22]: [D] The Red Spy in Base: time to write a cobol interpreter for cc/oc [17:43:23]: [D] Lemmmy: then, if you want to search by flags, you search the joining table for that flag ID [17:43:33]: [D] Lemmmy: if you want to search for incidents with multiple flags though you'll need a join [17:43:36]: gollark: The problem I had is that it would also be slower to display flags in a list of all incident reports. [17:43:38]: [D] Lemmmy: but if you just want to search for a single flag it's super fast [17:43:49]: [D] Lemmmy: i suppose, but 11k entries still isn't that much [17:43:59]: [D] Lemmmy: i have a database with 2 million entries that i can fulltext search in realtime on my android phone [17:44:02]: [D] Lemmmy: sqlite [17:44:03]: gollark: I plan to roll it out more to do stuff like track errors in potatOS so I can fix them more easily. [17:44:14]: [D] Lemmmy: and if performance becomes an issue, you can just migrate to not sqlite [17:44:15]: gollark: And that would be with an optimized FTS index. [17:44:20]: MattHowell: what is with the random messages on the computercraft pc's? [17:44:28]: gollark: Oh, those are motds, they provide useful advice. [17:44:31]: Lemmmy: MattHowell: that is the Message Of The Day feature SquidDev asked us to test [17:44:34]: gollark: PotatOS has its own better version which provides random nonsense./ [17:44:36]: Lemmmy: you get a random one each startup that gives you advice [17:44:40]: MattHowell: cool [17:44:41]: Lemmmy: gollark wrote like half of them! [17:44:46]: gollark: Actually only ten or so! [17:44:49]: Lemmmy: basically half [17:44:55]: gollark: There are 43! [17:44:56]: MattHowell: not bad [17:45:02]: Check out the claims we have for auction! https://market.switchcraft.pw [17:45:12]: Lemmmy: gollark wrote 23% of them! [17:45:14]: Luca_S: gollark 43! ? That's impressive [17:45:25]: gollark: 43 not-factorial! [17:45:27]: Lemmmy: uhh gollark wrote 0.0000000000000000000000000000000000something% of them! [17:45:34]: MattHowell: if you didn't want them, how do you turn them off? [17:45:38]: gollark: set motd.enable false [17:45:41]: Luca_S: that's like 6E52 motds? [17:45:56]: MattHowell: in the term? [17:46:00]: gollark: In the shell. [17:46:03]: MattHowell: ok [17:46:04]: [D] The Red Spy in Base: guys time to make a cc mainframe cluster on switchcraft running cobol to process krist payments [17:46:17]: gollark: Time to rewrite potatOS's core logic in COBOL! [17:46:40]: Lemmmy: wut [17:46:46]: Lemmmy: ah whatever [17:46:49]: [D] The Red Spy in Base: yes [17:47:04]: [D] The Red Spy in Base: i found a new OC os called OpenKernel which is *NIX like [17:47:09]: Luca_S: when motd.path doesn't exists it just says "missingno" lol [17:47:17]: [D] The Red Spy in Base: i should just fork it and make a Mainframe Unix OS for OC [17:47:27]: MattHowell: ok, computers with Opus installed don't do that. [17:47:28]: [D] The Red Spy in Base: with an included COBOL interpreter and all [17:48:04]: gollark: I checked, and I only wrote smething like nine of them, because the one about GPS hosts got moved to the wiki page I wrote for those instead. [17:49:12]: - valithor left the game [17:49:23]: + valithor joined the game [17:52:17]: *Luca_S has gone AFK. [17:52:22]: *Luca_S is no longer AFK. [17:52:28]: *ndiniz2012 has gone AFK. [17:53:05]: *gollark has gone AFK. [17:53:08]: ndiniz2012: Matt, I sent you some mail [17:53:09]: *ndiniz2012 is no longer AFK. [17:53:39]: [D] The Red Spy in Base: fucking void linux is being shitty [17:53:45]: [D] The Red Spy in Base: cant even install official j a v a [17:53:54]: [D] The Red Spy in Base: and a lot of programs are being shit [17:53:55]: Lemmmy: official being oracle? because fuck oracle [17:54:05]: Lemmmy: i say that, we're on an oracle JRE because it's 10% faster [17:54:06]: Lemmmy: but still [17:54:13]: ndiniz2012: wish I could get some official distro of Linux on my gaming laptop [17:54:21]: [D] The Red Spy in Base: i might just install ubuntu mate or manjaro or some shit [17:54:28]: MattHowell: hi ndiniz2012 i'm sorry about discord [17:54:28]: [D] The Red Spy in Base: void is being kinda shit [17:54:37]: ndiniz2012: no worries Matt. [17:54:57]: [D] The Red Spy in Base: https://ubuntudde.com/ looks kinda hot [17:54:59]: Lemmmy: does anyone know a better offline NBT editor than nbtexplorer that runs on linux? [17:55:03]: [D] The Red Spy in Base: ubuntu with deepin desktop [17:55:04]: Lemmmy: and preferably runs natively and not in wine [17:56:05]: Lemmmy: hrmm found a decent web one, and has a search which is better than nbtexplorer's, though i can't quite open a file from the command line with that [17:56:10]: Lemmmy: i'd like a gui but the ability to pass a filename in as an argument [17:56:30]: [D] The Red Spy in Base: hmm [17:56:36]: [D] The Red Spy in Base: fedora or opensuse or ubuntu [17:56:42]: gollark: ubuntu-is-stable.com/ [17:56:43]: *gollark is no longer AFK. [17:56:46]: gollark: https://ubuntu-is-stable.com/ [17:56:49]: gollark: Use arch linux, btw. [17:56:52]: [D] The Red Spy in Base: nah [17:56:52]: [D] The Red Spy in Base: ' [17:56:53]: Lemmmy: thats an AMAZING site [17:57:05]: [D] The Red Spy in Base: ive used arch, void, and openbsd [17:57:11]: gollark: In that case, use TempleOS. [17:57:19]: [D] The Red Spy in Base: good idea [17:57:31]: [D] The Red Spy in Base: actually on second thought [17:57:35]: [D] The Red Spy in Base: ill just use [17:57:39]: [D] The Red Spy in Base: IBM [17:57:40]: [D] The Red Spy in Base: z/OS [17:57:55]: gollark: I've added "This software uses an army of frogs that throw cookies in the general direction of your computer." to the potatOS privacy policy, to make it more surreal. [17:58:57]: MattHowell: what's up? [17:59:02]: ndiniz2012: not much [17:59:07]: MattHowell: cool [17:59:11]: gollark: Ah, yes, "MattHowell". [17:59:15]: gollark: If that's even your real username. [17:59:19]: ndiniz2012: uh oh [17:59:59]: Luca_S: is there a way to get the maximum stack size of an item? [18:00:01]: Check out the new ComputerCraft Forums! https://forums.computercraft.cc [18:00:04]: Lemmmy: turtle or plethora? [18:00:15]: Luca_S: idc, but plethora preferred [18:00:22]: Lemmmy: maxCount in plethora [18:00:26]: Lemmmy: with getItemMeta() [18:00:41]: Luca_S: ah nice thx [18:00:45]: Luca_S: exactly what i was looking for [18:00:45]: Lemmmy: definitely cache getItemMeta() for each name and damage combination [18:00:47]: Lemmmy: becuase it is a slow call [18:00:49]: gollark: You know what, I'll just make the flags be JSON. [18:01:04]: Lemmmy: what i do is have a table and every time i see a name:damage, i check the table, and if the meta isn't there, then i add it [18:01:12]: ndiniz2012: do you guys know what the scariest enemy besides Endermen are to me on most servers I've been on? [18:01:15]: Lemmmy: bonus points you can persist it to the file [18:01:19]: Lemmmy: as long as you don't care about individual item NBT [18:01:23]: ndiniz2012: Phantoms. [18:01:40]: ndiniz2012: those mobs scare me when they appear unexpectedly [18:01:46]: Luca_S: tbh for what I'm doing it's probably doesn't really make sense to save it to a file [18:01:51]: Lemmmy: alternatively, turtle.getItemSpace() [18:01:54]: Luca_S: not gonna use the program very often [18:01:56]: gollark: You can tack on nbtHash too if you want that. [18:01:56]: Lemmmy: will tell you how many more items you can fit in the slot [18:02:03]: Lemmmy: so 64 - turtle.getItemSpace() = max stack size [18:02:04]: gollark: Oh, that's useful, I should use that. [18:02:25]: Lemmmy: uh, you need the count in there and my brain cant math [18:02:29]: Lemmmy: but sure you can figure it out [18:02:36]: Luca_S: turtle.getItemSpace() + turtle.getItemCount() [18:02:44]: Lemmmy: ah ofc lmao [18:03:12]: Luca_S: But I need to get the stack size of items in a chest so loading them into the turtle first is probably more wasteful than using getItemMeta [18:03:25]: Lemmmy: definitely, but also definitely still cache it [18:03:29]: Luca_S: yedah [18:03:29]: Lemmmy: even if it's just once per boot [18:03:59]: Lemmmy: shit i can't use ctrl+del anymore with this macro oops [18:04:09]: Lemmmy: why's the numpad gotta be so weird [18:04:15]: [D] [REDACTED-1]: Since i dont have ender io in my mod pack my base will be a sphagetti of conduits yay [18:04:41]: gollark: You mean "ducts". They're called "ducts". [18:04:57]: Luca_S: if i have a table stackSize indexing it like stackSize[itemName][itemDamage] should work right? [18:05:15]: Lemmmy: yeah, provided each itemName is it's own table [18:05:17]: Lemmmy: but i would instead do [18:05:30]: Lemmmy: local function getItemKey(item) return item.name .. ":" .. item.damage end [18:05:38]: Lemmmy: and then index the table by stackSize[getItemKey(item)] [18:05:49]: Luca_S: is that guarenteed not to have conflicts? [18:05:53]: Lemmmy: tha way you dont need an additional statement to see if stackSize[itemName] already exists [18:06:00]: Lemmmy: provided you don't care about NBT, yes [18:06:04]: valithor: turtle0 next [18:06:07]: valithor: bleh [18:06:16]: valithor: turtle0 next [18:06:18]: valithor: wtf [18:06:18]: valithor: lol [18:06:27]: valithor: oh i renamed it [18:06:28]: Luca_S: shit, i kind of need to check nbt [18:06:36]: Luca_S: because one printed page doesn't stack to another one [18:06:37]: Lemmmy: i didn't even think about using a chat recorder [18:06:38]: gollark: Hey, the chat messages on 1010 restarted! [18:06:48]: Luca_S: but both have the same name/damage combination [18:06:53]: Lemmmy: well, you can still use this cache for the stack size [18:06:54]: gollark: Wow, these are some not-actually-unique UUIDs. [18:07:11]: Lemmmy: the stacking behaviour of any printed page, even bound, does not change [18:07:16]: Lemmmy: all prints do not stack [18:07:19]: Luca_S: i know [18:07:38]: Luca_S: i could just hope that all items which might have different nbt won't stack anyways [18:07:38]: valithor: test [18:07:40]: *ndiniz2012 has gone AFK. [18:07:51]: Lemmmy: yeah, that's the point of NBT [18:08:08]: gollark: Test chat message. [18:08:08]: Luca_S: well I mean I need them to not stack even if they have the same nbt [18:08:18]: Luca_S: and that actually won't work because of tipped arrows [18:08:26]: Lemmmy: hmm [18:08:35]: Luca_S: is there a plethora way to get the nbt hash [18:08:37]: Lemmmy: yes [18:08:37]: gollark: Yep! [18:08:39]: gollark: nbtHash. [18:08:42]: You may claim up to 41132 more blocks. [18:08:42]: Click for Land Claim Help: http://bit.ly/mcgpuser [18:08:47]: Lemmmy: https://squiddev-cc.github.io/plethora/methods.html [18:08:50]: Lemmmy: search for MetaItemBasic [18:08:53]: gollark: Hey, it looks like I actually did crash whatever is broadcasting those chat messages. [18:08:55]: Lemmmy: this is a really good opportunity to finish my FAQ bot! [18:09:10]: Luca_S: oh it's nil [18:09:11]: gollark: textutils.unserialise is vulnerable to denial of service exploits because dan200. [18:09:37]: Lemmmy: HAHAHAHAHA [18:09:40]: Lemmmy: SHES SO silly [18:09:42]: Luca_S: well shit that means for every item I will need to call getItemMeta because of nbt hashes [18:09:45]: *MattHowell has gone AFK. [18:09:53]: gollark: No, they're specified in list. [18:09:54]: gollark: I think. [18:09:55]: Lemmmy: https://i.lemmmy.pw/kYB2.png [18:09:57]: Lemmmy: she does this new thing [18:10:02]: Lemmmy: she knows that i have a way to 'undelete' snapchat messages [18:10:05]: Luca_S: doesn't look like they are [18:10:06]: Lemmmy: so intsead, she'll send multiple texts and cover them up [18:10:12]: Lemmmy: what she doesn't realise is that: 1. it's very easy to read [18:10:18]: Lemmmy: 2. snapchat sends all text objects as an additional database field along with the image [18:10:19]: gollark: Are you making a ßtorage system? [18:10:23]: Lemmmy: so my app can read the raw text anyawy LOL [18:10:30]: Luca_S: gollark I'm trying to defragment my Milo [18:10:32]: gollark: What do you mean "undelete" them? [18:10:46]: gollark: Are they stored somewhere even when snapchat messages have apparently been deleted? [18:10:46]: Lemmmy: oops i sent 'Xc' instead of 'Xx' [18:10:49]: Lemmmy: yep [18:10:54]: gollark: How very big-data. [18:11:03]: Lemmmy: in summer 2019, they were stored encrypted in the app's private data folder (accessible with root) [18:11:10]: Lemmmy: the encryption keys were stored in a sqlite database until the snap was opened by a user [18:11:19]: *MattHowell is no longer AFK. [18:11:20]: Lemmmy: and then you could correlate the image ID with the snap database ID by using their analytics database [18:11:32]: Lemmmy: in sepstember 2019, they removed the analytics DB (rather, nulled out the field), so you could no longer correlate [18:11:45]: Lemmmy: and the only way to fetch them was to brute force all fetched encryption keys [18:11:54]: Lemmmy: not a massive pain, just slower [18:11:54]: Luca_S: wait you can scan printed pages using plethora? [18:12:01]: gollark: Not that I know of? [18:12:02]: MattHowell: ndiniz2012, i'll be back [18:12:04]: Lemmmy: but then on 19th sep 2019, they stopped encrypting snaps entirely [18:12:15]: - MattHowell left the game [18:12:17]: Lemmmy: AND they stopped deleting them from the directory once viewed [18:12:17]: Luca_S: MetaItemPrintout contains the lines of a printout [18:12:19]: gollark: How mysterious. [18:12:22]: Lemmmy: yes Luca_S [18:12:27]: gollark: Well, that's cool, I did not know that. [18:12:31]: Luca_S: that's awesome [18:12:31]: Lemmmy: so the good and bad news is that you can literally just go into the private data directory with a root file explorer [18:12:33]: gollark: Time for PotatOS BackupToPaper(tm). [18:12:34]: Lemmmy: i explicitly asked squid to add that [18:12:37]: Lemmmy: on switchcraft 1 [18:12:44]: Luca_S: i really wish plethora would be a little bit better documented [18:12:45]: gollark: It can backup to tapes, so why not paper? [18:12:49]: Lemmmy: the bad news is that youc an no longer correlate them with the snap owner [18:13:05]: Lemmmy: Luca_S PR's welcome [18:13:23]: Lemmmy: its funny because, the old CC wiki says that you can't read prints, so don't use them for code storage, use floppy disks intsead [18:13:26]: Lemmmy: but with plethora, they're very readable! [18:13:30]: Lemmmy: the new wiki should reflect that information [18:13:33]: gollark: I mean, they're still terrible for code storage. [18:13:36]: Lemmmy: yeah ;p [18:13:45]: gollark: Also, is there a good gzip library for CC? [18:13:46]: Luca_S: Do printed pages count toward the 50MB limit? :pw [18:13:51]: Lemmmy: yep [18:14:04]: Lemmmy: i think i stated that during the discussion of the rule [18:14:06]: Luca_S: seems like a pretty expensive way to store data tho [18:14:11]: Lemmmy: gollark: i've been asking someone to implement it [18:14:17]: valithor: turtle0 [18:14:24]: gollark: Never mind, I found one. [18:14:24]: Lemmmy: Luca_S: you would need a stupid amount of diamond chests [18:14:45]: Luca_S: also a CC disk is 2MB right? [18:14:49]: Lemmmy: yea [18:14:52]: Lemmmy: on SC anyway [18:14:59]: Luca_S: how big is a page? 21x? [18:15:01]: You can change the colour of your claims on Dynmap with /claimcolour. [18:15:22]: [D] abby: 4 KiB [18:15:49]: Lemmmy: 25x21 [18:15:52]: + MattHowell joined the game [18:15:58]: Lemmmy: except in our current resource pack the 21st line overlaps the edge of the page [18:15:58]: Luca_S: 25x21 so one printed page can store 525 bytes of data lol [18:16:05]: gollark: Hmm, even minified this is still 30KB. [18:16:05]: [D] abby: that is significantly less than 4 KiB :( [18:16:06]: Lemmmy: you can store data in the foreground colour too [18:16:06]: [D] abby: smol pages [18:16:09]: Lemmmy: 4 bits per ch ar [18:16:18]: Luca_S: oh right [18:16:18]: Lemmmy: but that's going to be VERY expensive in dyes [18:16:22]: Luca_S: yeah [18:16:26]: Lemmmy: so not worth it [18:16:27]: Luca_S: so let's assume monochrome prints [18:16:32]: Lemmmy: also, makes the gzip compression worse [18:16:38]: Lemmmy: meaning counts towards your 50mb limit faster [18:16:44]: Lemmmy: but for now, let's ignore gizp [18:16:48]: Lemmmy: and assume everything is uncompressed [18:16:56]: Luca_S: so you'd need about 4k pages to store the equivalent of 1 disk [18:16:59]: Lemmmy: in fact, i'll even be generous and ignore NBT entirely [18:17:11]: gollark: I could probably start gzipping potatOS system libraries and programs to reduce its storage impact. [18:17:25]: Luca_S: meaning 4k times the paper and instead of 1 redstone you need 4k dye [18:17:29]: Lemmmy: you can store 1620 printed pages per diamond chest [18:17:37]: Luca_S: and that's not even counting storage costs [18:17:40]: gollark: You can use ender chests for basically free but slow and annoying storage easily. [18:17:53]: gollark: Just set it to private and go up a channel every time it fills up. [18:17:56]: Lemmmy: so you'd need 3 dia chests to store an entire floppy in printed pages [18:18:05]: *ndiniz2012 is no longer AFK. [18:18:05]: gollark: That's actually less than I thought. [18:18:23]: Luca_S: but if you store 1620 printed pages in a diamond chest you also need string [18:18:33]: Lemmmy: how the FUCK do i respond to "i feel like we've been linking" [18:18:35]: gollark: String is from spiders, so it's quite cheap. [18:18:55]: Lemmmy: i would consider string cost negligible [18:19:01]: Lemmmy: paper is cheap but 4k of it not so much [18:19:17]: Luca_S: paper is really cheap [18:19:28]: Lemmmy: getting 4k of it still takes a bit of time [18:19:31]: Lemmmy: even with a big reed farm [18:19:38]: Luca_S: i have 1k sugar cane + 2.8k sugar cane blocks [18:19:44]: Lemmmy: not too bad then [18:19:56]: Luca_S: so that's about 26k pieces of paper [18:20:02]: [D] abby: uhh [18:20:04]: Luca_S: the real problem is going to be the dye [18:20:09]: Lemmmy: she apologised [18:20:13]: [D] abby: @Lemmmy help me you're like familiar with java n stuff [18:20:20]: Lemmmy: the cheapest die is probably rose red [18:20:21]: [D] abby: lsp supports go to declaration, definition and implementation [18:20:29]: Lemmmy: beucase you can infinitely farm it with a single rose bush [18:20:34]: [D] abby: i can get declaration vs definition but wtf is implementation [18:20:37]: Luca_S: yeah [18:20:44]: Lemmmy: i think its 1 bone meal per 2 rose red? [18:20:50]: Lemmmy: another really cheap dye is light blue [18:20:58]: Luca_S: still 1 redstone dust is probably less expensive than 4k rose red [18:20:58]: Lemmmy: you can farm a shitton of it in swamps, but still requiring bonemeal [18:21:22]: Lemmmy: ther than that i dont tihnk theres anything that 'farms itself' [18:21:26]: Lemmmy: though im unfamiliar with harvestcraft [18:21:41]: gollark: I just spent ages debugging this JS only to find that the problem is that apparently an array has type object and not array, because of course. [18:21:44]: Lemmmy: abby: uhh [18:22:01]: Luca_S: also imagine how slow access time would be [18:22:09]: Luca_S: if you would need to get the meta of each printed page [18:22:28]: Luca_S: you could probably label them and find the correct page using an index [18:22:31]: Luca_S: but still [18:22:37]: Lemmmy: i can definitely think of different cases but i can't tell you which is which [18:22:42]: Lemmmy: in intellij i usually just bruteforce until i get the thing i need [18:22:45]: gollark: Maybe you should just cache the contents of the printed pages on a disk to speed up access. [18:22:45]: Lemmmy: one of them is the import [18:22:55]: Lemmmy: one of them is the implementation you directly clicked on that type [18:23:01]: Luca_S: gollark but disks are expensive [18:23:04]: Luca_S: they cost restone [18:23:06]: Lemmmy: and one is the first definition of it in the superclass hierarchy [18:23:06]: Luca_S: redstone* [18:23:09]: Lemmmy: none of those are proper terms i hope it makes sense [18:23:14]: Luca_S: that's why we're storing data on pages in the first place [18:23:28]: [D] abby: i could see declaration goes to the method prototype in a superclass or interface, definition goes to the method implementation in the type you have, but implementation is ???? in my head [18:23:36]: Lemmmy: im unsure sory [18:23:39]: Lemmmy: i wont pretend to really know [18:23:49]: Lemmmy: she's, laughing while apologising [18:23:50]: Lemmmy: and smiling [18:23:53]: Lemmmy: that must be forced [18:24:12]: [D] abby: the docs are literally like [18:24:19]: [D] abby: > The go to implementation request is sent from the client to the server to resolve the implementation location of a symbol at a given text document position. [18:24:29]: Luca_S: how complicated is the gzip compression? [18:24:49]: *ndiniz2012 has gone AFK. [18:25:09]: Lemmmy: wait [18:25:10]: gollark: Well, the library I found for it is 37KB minified. [18:25:10]: valithor: omg im sick of looking at this [18:25:12]: Lemmmy: i tihnk justyn already implemented it [18:25:20]: Lemmmy: hah did it driven you crazy valithor [18:25:22]: Luca_S: that's quite big [18:25:25]: Lemmmy: gzip is just DEFLATE right? [18:25:25]: gollark: What, gzip or paper storage? [18:25:31]: Luca_S: gzip [18:25:32]: gollark: DEFLATE with headers or something. [18:25:34]: Lemmmy: png uses DEFLATE right? [18:25:35]: valithor: command comps do not want to cooperate [18:25:42]: Lemmmy: yeah i hate command comps [18:25:46]: Lemmmy: justyn implemented PNG in CC [18:25:51]: Lemmmy: so, take the DEFLATE algo from that [18:25:58]: Lemmmy: probably just for decompression though [18:26:02]: Luca_S: wow [18:26:04]: Lemmmy: so that's half the work [18:26:05]: Luca_S: i already have that [18:26:11]: Luca_S: i just noticed [18:26:19]: Luca_S: i downloaded some png library for my dynmap monitor [18:26:20]: Lemmmy: deal with headers and then implement inflate [18:26:28]: Luca_S: and it already has the deflate library [18:26:33]: Lemmmy: valithor2 dont stres too much about it, what you've already done is amazing work [18:26:45]: valithor: ehh its almost done i just wanted this last thing lol [18:26:53]: Luca_S: and it already contains an example on how to uncompress a gzip file [18:27:17]: Luca_S: wow that library already includes a builtin gunzip function [18:27:33]: Lemmmy: this works with non-turtles too right? [18:27:37]: valithor: task_complete [18:27:37]: valithor: yea [18:27:40]: Lemmmy: becuase it's usually computers, not turtles [18:27:52]: valithor: it should work with everything [18:27:54]: valithor: just testing with turtles [18:27:55]: Lemmmy: great [18:28:16]: Lemmmy, Luca_S [18:28:19]: gollark: Link to this PNG library, Luca_S? [18:28:40]: Lemmmy: https://github.com/Lustyn/png-lua-cc [18:28:45]: Luca_S: https://github.com/DelusionalLogic/pngLua [18:28:52]: gollark: There are TWO of them? [18:28:57]: Lemmmy: delusionallogic is a png one [18:28:59]: Lemmmy: lua one* [18:29:05]: Lemmmy: lustyn's one is CC-compatible [18:29:17]: Luca_S: i'm using the pngLua library successfully in CC [18:29:22]: Lemmmy: it's a fork of didericis's one which is a fork of delusionallogic one [18:29:22]: Lemmmy: ah [18:29:29]: Lemmmy: well you probably want lustyn's one anyway [18:29:36]: gollark: Huh, they use almost identical deflate libraries. [18:29:47]: gollark: I figure I could minify it to only 10KB or so. [18:29:52]: Lemmmy: unless squid added some bit compatible stuff [18:29:56]: Lemmmy: that makes the former work [18:30:00]: Lemmmy: https://github.com/Lustyn/png-lua-cc/commit/73660569a22e6e56254179ae10ab1c4be1a5b867 [18:30:02]: You can install MBS, a Mildly Better Shell, on your computer by running mbs install. [18:30:03]: Lemmmy: cos this is what's changed [18:30:53]: Lemmmy: its just #15791 right ? [18:30:58]: Lemmmy: not theone next to it ? [18:31:04]: valithor: yea [18:31:06]: Lemmmy: coolio [18:31:08]: Lemmmy: its on the startup list now [18:31:26]: valithor: i gave up on trying to get it to work and am doing a work around [18:31:37]: gollark: PotatOS ships CRC anyway, so I figure I can patch Justyn's to add it back if it becomes necessary. [18:32:39]: Lemmmy: why is it invalid json huh ... [18:33:18]: valithor: wtf.... [18:33:38]: valithor: i hate command computers... [18:33:40]: Lemmmy: i guess we are both debugging insane issues [18:33:47]: Lemmmy: with command computres [18:33:53]: valithor: i just cant get it to execute the stupid commands.... [18:34:24]: Lemmmy: is it all vanilla+CC commands? [18:34:26]: Lemmmy: or are you trying to use sponge cmds [18:34:27]: valithor: yea [18:34:30]: Lemmmy: hmm [18:34:31]: valithor: trying to use minecraft:tp [18:34:39]: Lemmmy: https://i.lemmmy.pw/7Pq4.png [18:34:43]: Lemmmy: i'm also getting invalid json on something that is very valid json [18:35:17]: valithor: hmm [18:35:30]: Lemmmy: https://i.lemmmy.pw/B2zL.png [18:35:45]: Lemmmy: oh i get a better error running it in-game [18:35:52]: Lemmmy: for some reason the command comp just misses out the entire error [18:36:04]: *MattHowell has gone AFK. [18:36:04]: valithor: weird [18:36:15]: Lemmmy: end of input at line 1 column 241 path $[8].value[3] [18:36:18]: valithor: ohh you need quotes around the entire thing [18:36:22]: valithor: i ran into that problem [18:36:25]: Lemmmy: oh? that's odd [18:36:35]: Lemmmy: does that mean i need to escape quotes too? [18:36:36]: valithor: just for when you are passing it to tellraw [18:36:39]: valithor: yea [18:36:39]: *Luca_S has gone AFK. [18:36:44]: valithor: like /tellraw valithor2 "hi" [18:36:47]: Lemmmy: and so i also need to escape backslashes ? [18:36:54]: valithor: probably [18:36:57]: Lemmmy: fuck sake [18:37:09]: *MattHowell is no longer AFK. [18:37:25]: + MultMine joined the game [18:37:32]: MultMine: morning [18:37:35]: Lemmmy: morning [18:37:38]: Lemmmy: oh oh, this is intresting though [18:37:46]: Lemmmy: commands.tellraw automatically serialises and seems to be used for tellraw [18:37:54]: valithor: hmm [18:38:07]: Lemmmy: still says invalid json though!! [18:39:28]: Lemmmy: hrrm [18:39:31]: Lemmmy: what if i just json.encode it twice? [18:39:55]: Lemmmy: that made it worse [18:40:15]: Lemmmy: https://i.lemmmy.pw/qhVW.png [18:40:16]: Lemmmy: i mean,... [18:40:30]: *gollark has gone AFK. [18:40:34]: *gollark is no longer AFK. [18:40:51]: gollark: I think MC has its own bizarre "JSON" thing. [18:40:55]: gollark: Textutils has something for it. [18:40:56]: Lemmmy: mojangson, yes [18:40:58]: Lemmmy: does it? [18:41:07]: gollark: serializeJSON [18:41:14]: *Luca_S is no longer AFK. [18:41:16]: Lemmmy: i didn't realised that serialised to mojangson [18:41:21]: gollark: It MIGHT. [18:41:34]: Lemmmy: nope doesnt work [18:41:37]: gollark: One really must wonder why Mojang invented existing solutions for everything and did it so poorly. [18:41:48]: Lemmmy: its actually worse than json.encode() in terms of what it produces, but its definitely still not compatible [18:41:52]: Lemmmy: i think like val said i need quotes around it for soem reason [18:42:28]: gollark: They have NBT, which really just sounds like buggy CBOR, use a gazillion different compressed NBT formats for things, have broken JSON for tellraw and stuff, that sort of thing. [18:42:54]: Lemmmy: wait [18:43:00]: Lemmmy: are command computers limited to 256 chars? [18:43:09]: valithor: uhh [18:43:11]: Luca_S: whose code is worse? dan200's or mojangs? [18:43:13]: valithor: i dont think so [18:43:20]: gollark: Luca_S: yes. [18:43:32]: Lemmmy: yep they are [18:43:36]: valithor: eww [18:43:38]: Lemmmy: whre it says 'end of input' 'column 241' [18:43:49]: Lemmmy: 241 + #("tellraw Lemmmy ") = 256 [18:44:03]: valithor: annoying [18:44:04]: Lemmmy: that json isn't read in, but is written out from startup.lua [18:44:06]: Lemmmy: that's what my script genreates [18:44:16]: Lemmmy: the fuck am i supposed to do now then?! [18:44:21]: valithor: command block api? [18:44:27]: Lemmmy: disabled [18:44:30]: Lemmmy: i could add a secret tellraw mode to chatboxes [18:44:31]: Luca_S: enable it [18:44:34]: Lemmmy: bad idea [18:44:37]: Luca_S: no [18:44:40]: Luca_S: great idea [18:44:45]: Luca_S: especially if I get a command block [18:45:02]: You can create GriefPrevention claims with a golden shovel. Get one by running /kit gp! [18:45:02]: Luca_S: you can trust me [18:45:03]: gollark: Also please give me 49 command computers. [18:45:13]: gollark: Exactly 49. [18:45:13]: Luca_S: gollark you can have command dirt [18:45:18]: gollark: I already HAVE that. [18:45:56]: *MultMine has gone AFK. [18:46:07]: Luca_S: gollark do you want some "Kommandobruchstein" [18:46:45]: Luca_S: It's the newest stuff on the market [18:46:49]: Luca_S has requested that they teleport to you. [18:46:49]: Accept - Deny [18:47:47]: Lemmmy: programming is more often than not frustrating [18:47:56]: ndiniz2012: Matt, did you get my /mail message? [18:47:57]: *ndiniz2012 is no longer AFK. [18:48:09]: MattHowell: no? [18:48:11]: Lemmmy: i might be PRing some fixes to CC:T today... [18:48:35]: - MattHowell left the game [18:48:47]: ndiniz2012: ok [18:49:52]: There are no teleport requests for you to accept. [18:50:17]: - MultMine left the game [18:50:43]: Luca_S: wtf the computer label is literally just the display name of the item [18:50:44]: gollark: Maybe I should just make the entire table monospace. [18:51:00]: gollark: And add some nice color coordination. [18:51:35]: + MattHowell joined the game [18:51:56]: gollark: Hello, "MattHowell". [18:52:45]: MattHowell: ok [18:52:59]: ndiniz2012: "Thank you for MattHowelling and have a nice day" [18:53:05]: [D] jakedacatman: https://youtu.be/c4KNd0Yv6d0 [18:53:09]: Lemmmy: so, re: command issue [18:53:22]: Lemmmy: the EOF error is probabyl because my dumbass is pasting it into the chat directly [18:53:27]: Lemmmy: the command computer actually just prints no error at all [18:53:29]: Lemmmy: so i'll try it from console [18:53:38]: Lemmmy: i checked the code, and see nothing where it is restricting the length [18:53:55]: Lemmmy: CommandAPI calls the server's command manager, and the command sender is an instance of CommandBlockBaseLogic [18:54:12]: Lemmmy: console gives me the same empty error [18:54:25]: Luca_S: gollark I have a command computer for you, do you want it? [18:54:38]: Lemmmy: so now i just gotta look through every single part of my json and figure out whats invalid about it [18:55:13]: Lemmmy: lol i just got a reminder that doors open for a concert i was meant to be going to in 5 mins [18:55:19]: valithor: woops [18:55:26]: Luca_S: fd [18:55:27]: Luca_S: f [18:55:28]: Lemmmy: oh lol figured out the problem [18:55:37]: Lemmmy: my ass is very dubm indeed [18:55:45]: valithor: hmm? [18:56:07]: Lemmmy: that was a REALLY dumb error [18:56:12]: Lemmmy: so my code requires me to pass a table of text objects [18:56:12]: valithor: works now? [18:56:17]: Lemmmy: instead of passing a talbe of text objects, i just passed a single text object [18:56:30]: Lemmmy: yeah works perfectly :facepalm: [18:56:31]: Lemmmy: rip 2 days [18:56:36]: valithor: ind of like what my error was lol [18:56:42]: valithor: really stupid and obivous [18:56:47]: Lemmmy: ii hate things like this [18:56:55]: Lemmmy: the errors that take longest to debug are always the stupidest and simplest [18:57:00]: valithor: ^^ [18:57:04]: *gollark has gone AFK. [18:57:32]: Lemmmy: she wants to call me, probably to tell me she loves me again [18:57:36]: Lemmmy: but im too busy playing minecraft dabs [18:57:59]: *ndiniz2012 has gone AFK. [18:59:28]: Lemmmy: oh yea shit phoebe's band released her first thing on spotify i should check that out [18:59:50]: valithor: brb [19:00:01]: Check out the new ComputerCraft Forums! https://forums.computercraft.cc [19:00:19]: Lemmmy: fucking [19:00:24]: Lemmmy: i just clicked their distrokid and it sent them my email [19:00:25]: Lemmmy: cunts [19:00:35]: Luca_S: distrokid? [19:00:46]: Lemmmy: a distributor that lets artists put their songs on the main platforms [19:00:52]: Luca_S: ah [19:01:02]: Luca_S: why would it do that [19:01:15]: Lemmmy: https://i.lemmmy.pw/GF0z.png [19:01:17]: Lemmmy: hi have no idea [19:01:31]: Lemmmy: i dont think they realised that music doesnt get released until fridays LOL [19:01:36]: Lemmmy: so its out on youtube but not anything else [19:02:44]: *ndiniz2012 is no longer AFK. [19:03:30]: *MattHowell has gone AFK. [19:04:31]: - valithor left the game [19:07:32]: FAQ/test: Hellomfff fmmm [19:07:34]: Lemmmy: did everoyne see that ? [19:07:37]: Luca_S: i did [19:07:39]: Lemmmy: great [19:07:54]: Luca_S: FAQ/test: Hellomfff fmmm [19:11:53]: Lemmmy: textutils.serialiseJSON is freaking dumb [19:11:59]: Lemmmy: cant contain the same table twice, it thinks its recursive LMAO [19:12:18]: Luca_S: can you actually check if it's recursive? [19:12:28]: Lemmmy: yes, but you do it with a stack, not a global table for the entire serialisation [19:12:41]: Luca_S: oh yeah a stack would work [19:12:54]: *ndiniz2012 has gone AFK. [19:13:08]: Luca_S: but I think that's the same way textutils.serialise does it [19:13:23]: Lemmmy: serialise does not use a stack [19:13:32]: Lemmmy: if you have the same child table twice, anywhere in the table [19:13:33]: Luca_S: no, serialise does it like serialiseJson [19:13:39]: Lemmmy: e.g. local a = { 5 } [19:13:44]: Lemmmy: { foo = a, bar = a} [19:13:49]: Lemmmy: this is considered 'recursive' by dan200's dumb function [19:14:11]: Luca_S: yeah that's what i meant [19:14:16]: Luca_S: serialise does it like serialiseJson [19:14:26]: Lemmmy: https://i.lemmmy.pw/X2uH.png [19:14:27]: Lemmmy: wow that's dumb [19:14:39]: *MattHowell is no longer AFK. [19:14:40]: Lemmmy: and check what works ;) [19:14:41]: Lemmmy: https://i.lemmmy.pw/4Tcr.png [19:14:41]: Luca_S: it is [19:14:52]: Luca_S: :D [19:15:01]: You can install MBS, a Mildly Better Shell, on your computer by running mbs install. [19:15:17]: Luca_S: couldn't you use metatables to actually trick textutils.serialise [19:15:22]: Lemmmy: not sure [19:15:55]: Luca_S: wait pairs() doesn't iterate over __index [19:17:04]: gollark: Lua 5.3 or something lets you meddle with pairs. [19:17:04]: *gollark is no longer AFK. [19:17:18]: Luca_S: we don't have 5.3 tho [19:17:22]: gollark: Yes. [19:17:59]: Lemmmy: we have pseudo-5.3 [19:18:04]: Lemmmy: https://github.com/SquidDev-CC/CC-Tweaked/issues/363 [19:18:08]: Lemmmy: go bug abby and squid to add more 5.3 features [19:18:18]: Lemmmy: mainly bug abby, squid's too sweet [19:18:22]: Lemmmy: and fuck abby [19:19:05]: Lemmmy: who even are our staff again [19:19:41]: Lemmmy: wow 10 staff members that's a lot [19:19:53]: Lemmmy: wait 12 * [19:19:58]: Lemmmy: vs code isnt showing me line count..! [19:20:01]: - kthoau left the game [19:20:05]: + kthoau joined the game [19:20:12]: [D] gollark: DeepinScreenshot_select-area_20200408191939.png I think this UI actually looks somewhat sensible. [19:20:20]: Lemmmy: cute [19:20:22]: Lemmmy: i actually like it [19:20:37]: Lemmmy: just maybe try not to have dark bg and dark text [19:20:52]: Luca_S: why is uninstallation an incident? Lol [19:21:06]: gollark: Well, I want to know what causes an uninstall. [19:21:07]: Lemmmy: why wouldn't it be [19:21:20]: gollark: Specifically, whether it's done by the uninstall command, OmniDisk or something, or 1337 h4xx. [19:21:35]: MattHowell is now sleeping. (1/3) [19:21:39]: Lemmmy: can you detect a filesystem uninstall? i cant tihnk of any way you could [19:21:43]: Luca_S: the uninstall command requires the user to factor a prime, right? [19:21:45]: Lemmmy: other than waiting for the computer ID to show up anywhere else (e.g. rednet traffic) [19:21:51]: Lemmmy: and seeing that it isn't on the potatos network [19:21:58]: Luca_S: factor a number made by multiplying 2 primes * [19:22:02]: Lemmmy: semiprime [19:22:24]: gollark: Yes. [19:23:15]: Lemmmy: oh that's right, i was going to test something the other day [19:23:31]: gollark: Incident reports are currently sent by the main potatOS code in case of disk signature validation failures, and uninstallation, PotatoBIOS in case of the code safety checker tripping, or one attempted exploit, and the OmniDisk if weird license errors occur [19:23:48]: *ndiniz2012 is no longer AFK. [19:24:34]: gollark: I'm not really sure where else to add them, but presumably I could come up with something. [19:24:35]: - Luca_S left the game [19:25:53]: gollark: Maybe in case of one of the "unsupported configurations" it has, invalid password (potatOS actually has two different password features), data dumps, and at random if some function or other is called. [19:29:27]: MattHowell: ndiniz2012, i need my chair [19:30:02]: You can create 3D claims with /cuboidclaims! [19:30:14]: [D] [REDACTED-1]: Are "label clear" and "rm *" considered incidents? [19:30:17]: ndiniz2012: woonder why it kept coming to me. Am I some kind of magnet or somethin/g?! [19:30:53]: *gollark has gone AFK. [19:30:55]: [D] gollark: @[REDACTED-1] Why would I track those? [19:31:07]: [D] gollark: They don't do anything. [19:31:25]: [D] [REDACTED-1]: Attempts to uninstall potatOS the "wrong way" [19:31:30]: *gollark is no longer AFK. [19:31:33]: [D] gollark: Well, they aren't. [19:31:46]: [D] gollark: I suppose in theory I could track those, but don't. [19:31:50]: [D] [REDACTED-1]: Yes it is an attempt [19:32:23]: Lemmmy: why tf are the json tags case sensitive lmao [19:32:29]: Lemmmy: when they're a dumb mix of uppercase and lowercase [19:32:42]: [D] [REDACTED-1]: You should track it and see how much time passes between an user boots into potatos for the first time and attempting to uninstall [19:32:45]: MattHowell: ndiniz2012, if you like, the other computer is your, just need to change the user name [19:32:57]: [D] gollark: Oooh, that's a neat idea. [19:33:18]: [D] [REDACTED-1]: Actually just implement a timer after first boot that stops if you run label clear or rm * [19:33:20]: [D] gollark: I can track time from seeing the "please review the license" prompt to an actual uninstall or something. [19:33:37]: [D] [REDACTED-1]: And have it report the time as an incident [19:33:53]: [D] gollark: Either just on the computer itself and have it uploaded later, or make install and uninstall incidents and run analyses on the SPUDNET-IR database itself. [19:34:03]: MattHowell: add a password if you like to [19:34:09]: [D] [REDACTED-1]: Have it uploaded when timer stops [19:34:27]: [D] gollark: On CraftOS-PC potatOS actually adds the model of your CPU to "incident reports" because it can do that. [19:34:31]: Lemmmy: whoa! [19:34:33]: [D] gollark: On Linux, anyway, I don't know how to get it on Windows. [19:34:35]: Lemmmy: found a hack [19:34:50]: [D] [REDACTED-1]: If its shorter than one minute print "what do you think you're doing?" lol [19:35:00]: MattHowell: ndiniz2012, would you like to live here? [19:35:18]: MattHowell: Catking12 doesn't mind [19:35:30]: [D] gollark: Basically, CraftOS-PC makes you able to mount arbitrary files on the host filesystem by default, so PotatOS reads off /proc/cpuinfo. [19:35:32]: Lemmmy: found a hack [19:35:34]: Lemmmy: oops [19:35:44]: [D] [REDACTED-1]: If its longer than a minecraft day ask "why do you want to uninstall potatOS?" and have something like those annoying apps [19:35:52]: Lemmmy: so, here's a fun fact [19:36:00]: Lemmmy: if you create a TextComponent that starts with three spaces [19:36:08]: Lemmmy: and give it a hoverEvent show_item [19:36:14]: [D] [REDACTED-1]: Gollark, why dont you add hints to potatos [19:36:15]: Lemmmy: you can show items in any tellraw object in the chat [19:36:17]: [D] gollark: "Hints"? [19:36:21]: FAQ/test: Hello, world! [19:36:23]: Lemmmy: like that [19:36:26]: Lemmmy: there's my head ! [19:36:30]: *gollark has gone AFK. [19:36:34]: [D] [REDACTED-1]: Like [19:36:52]: [D] [REDACTED-1]: A random tip at boot [19:37:04]: Lemmmy: motds [19:37:06]: [D] [REDACTED-1]: Every random invertal another random tip [19:37:36]: [D] [REDACTED-1]: If user tries to clear label a hint saying "did you mean to run uninstall?" [19:38:05]: *ndiniz2012 has gone AFK. [19:38:07]: [D] [REDACTED-1]: But the tips should be pretty humorous like the old Microsoft office tips lol [19:38:30]: [D] [REDACTED-1]: "you may get hurt if you run around with scissors" [19:38:43]: [D] [REDACTED-1]: -office 97 tip [19:39:16]: [D] [REDACTED-1]: @gollark Wouldn't it enhance the user experience? [19:39:41]: ndiniz2012: let's see, I need to know how to adjust the date and time format for mineOS, so the full date & time appear at the top of the screen. [19:39:42]: *ndiniz2012 is no longer AFK. [19:39:58]: [D] [REDACTED-1]: Also would you like a potato screen saver? [19:40:11]: [D] [REDACTED-1]: A potato bouncing off the edges [19:40:16]: MattHowell: you can sit on the chair [19:40:18]: ndiniz2012: I want the date to be without leading zeros, and I also want the clock to be shown in 12 hour [19:40:19]: [D] gollark: What would enhance the user experience? [19:40:24]: [D] [REDACTED-1]: And when it hits the corner the screen flashes [19:40:36]: [D] [REDACTED-1]: Read mh previous messages [19:40:48]: [D] gollark: No. I don't want to. [19:40:51]: [D] gollark: I don't like them. [19:40:54]: [D] [REDACTED-1]: Ok [19:41:00]: Lemmmy: i don't know if there's an easy way to get the date without leading zeroes [19:41:08]: Lemmmy: but you can use os.date for most of that [19:41:18]: [D] [REDACTED-1]: How about the potatosaver? [19:41:19]: MattHowell: i'm from Lansing, you can enter your city and get the weather [19:41:21]: Lemmmy: for example, to get 04-08 19:41:30 you can do this: [19:41:24]: ndiniz2012: hmmmmmmmm... the weather should be shown in F instead of C [19:41:31]: Lemmmy: os.date("%m-%d %H:%M:%S") [19:41:40]: Lemmmy: that retursn the current time and date, formatted [19:41:56]: [D] [REDACTED-1]: HOW DARE YOU SAY THAT IMPERIAL MEASUREMENT UNIT SHOULD BE SHOWN INSTEAD OF METRIC [19:42:01]: ndiniz2012: Lemmy, what are the time & date format option? [19:42:02]: MattHowell: what about the weather? [19:42:06]: [D] [REDACTED-1]: Sorry for excessive caps [19:42:09]: ndiniz2012: lol [19:42:19]: Lemmmy: https://www.lua.org/pil/22.1.html [19:42:32]: Lemmmy: to convert C to F, multiply by 9/5 and add 32 [19:42:34]: ndiniz2012: I'm so used to seeing temperatures in Farenheit instead of Celsius [19:42:42]: [D] [REDACTED-1]: Or just dont [19:42:48]: Lemmmy: let's not be elitist here [19:42:50]: [D] [REDACTED-1]: And use the superior unit [19:42:54]: Lemmmy: getting tired of thsee pointless arguments solar [19:43:43]: Lemmmy: actually, what i'd do [19:43:53]: Lemmmy: local dateTable = os.date("*t") [19:44:28]: Lemmmy: local date = string.format("%d/%d %s", dateTable.day, dateTable.month, os.date("%H:%M:%S")) [19:44:30]: Lemmmy: that should be american format [19:44:35]: Lemmmy: with no leading zeroes for date [19:44:50]: Lemmmy: https://i.lemmmy.pw/DxJF.png [19:45:02]: You can create 3D claims with /cuboidclaims! [19:45:03]: Lemmmy: wait no american date format is M/D isn't it [19:45:24]: Lemmmy: https://i.lemmmy.pw/2TME.png [19:45:25]: Lemmmy: there [19:45:33]: Lemmmy: local date = string.format("%d/%d %s", dateTable.month, dateTable.day, os.date("%H:%M:%S")) [19:45:37]: ndiniz2012: now if I could get the weather app to show F instead of C. [19:45:41]: Lemmmy: like i said [19:45:45]: [D] CloudNinja: just convert it [19:45:47]: Lemmmy: F = (C * 9/5) + 32 [19:45:50]: [D] CloudNinja: it's not hard math to convert it [19:45:53]: [D] CloudNinja: literally a google away [19:46:05]: Lemmmy: or a "lemmmy already told you twice" away [19:46:10]: [D] CloudNinja: LOL [19:46:21]: MattHowell: just the city name [19:46:55]: MattHowell: ndiniz2012, can you go back to the date and time for me? [19:47:25]: Lemmmy: https://github.com/IgorTimofeev/MineOS/blob/master/Applications/Weather.app/Main.lua#L62 [19:47:28]: Lemmmy: you'll need to replace this line [19:47:42]: Lemmmy: https://github.com/IgorTimofeev/MineOS/blob/master/Applications/Weather.app/Main.lua#L106 [19:47:44]: Lemmmy: and this line [19:48:18]: Lemmmy: ah, it takes a date format string, then you want %m/%d %H:%M:%S [19:48:23]: Lemmmy: you will get leading zeroes though [19:48:28]: Lemmmy: to avoid that, you'll need to edit the lua [19:50:40]: *ndiniz2012 has gone AFK. [19:50:48]: + Galaxtone joined the game [19:50:53]: Lemmmy: welcome back ! [19:50:59]: Galaxtone: AH [19:51:30]: Galaxtone: I will hike. on journey to plane, . [19:51:33]: Galaxtone: ??? [19:51:43]: Lemmmy: it is uplift head thought ., [19:51:59]: Galaxtone: oh [19:52:03]: Lemmmy: https://www.npmjs.com/package/zen-quote [19:52:07]: Lemmmy: thanks for the submission tho ! [19:52:13]: Galaxtone: I logged myself out right at zero breath bubbles [19:52:19]: Galaxtone: so I logged back in and forgot [19:52:27]: Galaxtone: and was starting to drown so I freaked out [19:52:34]: Galaxtone: not like totally [19:53:07]: Lemmmy: 26 survey submissions, i should probably make those charts sometime soon [19:54:03]: *MattHowell has gone AFK. [19:55:23]: *ndiniz2012 is no longer AFK. [19:55:33]: ndiniz2012: sure [19:55:54]: MattHowell: i got it [19:55:55]: *MattHowell is no longer AFK. [19:55:59]: ndiniz2012: k [19:56:25]: MattHowell: shut that down real quick [19:57:01]: ndiniz2012: now that I've got this kinda set up the way I want it, I've posted ann issue about the temperature display to the person who created this on GitHub. [19:57:41]: MattHowell: i want to show you which server is yours. [19:57:49]: ndiniz2012: ok [19:58:12]: MattHowell: this cable above me, see it? [19:58:16]: ndiniz2012: yeah [19:58:22]: *Galaxtone has gone AFK. [19:58:25]: MattHowell: it goes to yours [19:58:40]: ndiniz2012: so what I'm looking at is my server? [19:58:48]: MattHowell: click on the bottom of the eack [19:58:53]: MattHowell: click on the bottom of the rack [19:59:10]: MattHowell: see the green line? [19:59:16]: ndiniz2012: yeah [19:59:23]: MattHowell: that is yours [19:59:50]: ndiniz2012: ok. so how do I know how much space my server has? [20:00:01]: You can change the colour of your claims on Dynmap with /claimcolour. [20:00:03]: MattHowell: click it [20:00:11]: MattHowell: 4MB [20:00:25]: MattHowell: you can more HDD [20:00:25]: ndiniz2012: 4 mb [20:01:12]: ndiniz2012: ok. [20:01:17]: Lemmmy: wtf [20:01:21]: Lemmmy: did spotify nuke my EQ or did my cat play with my knob [20:01:26]: ndiniz2012: think I'll see about making some harddrives then [20:01:37]: MattHowell: me to. [20:02:08]: MattHowell: use the top rack [20:02:12]: ndiniz2012: LOL Le,mmy [20:02:52]: ndiniz2012: better yet, I think I might have an unused harddrive or two I can put in this thing. [20:03:10]: ndiniz2012: think I'll go look [20:03:14]: ndiniz2012: brb [20:03:25]: Lemmmy: looks like my cat played with my knob indeed [20:03:27]: [D] Lemmmy: IMG_20200408_200146.jpg [20:04:19]: Lemmmy: why is the EQ so fucked?? [20:04:33]: Lemmmy: oh i was wearing my headphones backwards wtf [20:05:43]: ndiniz2012: Matt, how many hard drives can my server hold? [20:06:15]: MattHowell: plus the one you already have, 3 [20:06:21]: MattHowell: so 4 [20:06:42]: ndiniz2012: ok [20:06:59]: [D] gollark: @[REDACTED-1] Got any more bad suggestions? [20:07:56]: gollark: At this point I may even have to accept good ones. [20:07:56]: *gollark is no longer AFK. [20:09:02]: ndiniz2012: so are we sharing the server, or is this whole server seperate from yours [20:10:09]: MattHowell: you have to put in the top rack [20:10:55]: ndiniz2012: whoops [20:12:04]: MattHowell: where is that spider???? [20:12:56]: *gollark has gone AFK. [20:15:02]: Check out the new ComputerCraft Forums! https://forums.computercraft.cc [20:15:22]: - Galaxtone left the game [20:15:31]: Lemmmy: who in the fuck [20:15:33]: Lemmmy: put _G.asdf = tellraw in my code [20:15:39]: Lemmmy: i mean, thank you, but who?? [20:16:03]: MattHowell: nathan, look on the wall [20:17:05]: *ndiniz2012 has gone AFK. [20:17:37]: Lemmmy: oh shit we have two json modules in the rom [20:18:25]: Lemmmy: ...why was i looking at the json api again [20:20:34]: MattHowell: hey? [20:24:31]: ndiniz2012: oh nice [20:24:31]: *ndiniz2012 is no longer AFK. [20:27:40]: + gollark joined the game [20:27:43]: ------------------------ MOTD ------------------------ [20:27:43]: Info [20:27:43]: Thread - https://thread.switchcraft.pw [20:27:43]: Dynmap - https://dynmap.switchcraft.pw [20:27:43]: Market - https://market.switchcraft.pw [20:27:43]: Forums - https://forums.computercraft.cc [20:27:43]: Wiki - https://wiki.computercraft.cc [20:27:43]: Role Colours [20:27:43]: User - Moderator - Admin [20:27:44]: SwitchCraft Supporters [20:27:44]: Users with this [S] tag appearing next to their name in chat [20:27:44]: and the tablist are SwitchCraft Supporters. This means that [20:27:44]: they have donated to help keep the server online. If you [20:27:44]: would like to donate and receive Supporter status, visit: [20:27:44]: https://donate.switchcraft.pw [20:27:44]: ------------------------ « » ------------------------- [20:27:46]: MattHowell: i have a screen with the minecraft time here [20:28:43]: ndiniz2012: I like how the default screensaver shows minecraft time [20:28:54]: MattHowell: that is cool [20:30:01]: You can create GriefPrevention claims with a golden shovel. Get one by running /kit gp! [20:33:54]: + gollark joined the game [20:33:54]: ------------------------ MOTD ------------------------ [20:33:54]: Info [20:33:54]: Thread - https://thread.switchcraft.pw [20:33:54]: Dynmap - https://dynmap.switchcraft.pw [20:33:54]: Market - https://market.switchcraft.pw [20:33:54]: Forums - https://forums.computercraft.cc [20:33:54]: Wiki - https://wiki.computercraft.cc [20:33:54]: Role Colours [20:33:54]: User - Moderator - Admin [20:33:54]: SwitchCraft Supporters [20:33:54]: Users with this [S] tag appearing next to their name in chat [20:33:54]: and the tablist are SwitchCraft Supporters. This means that [20:33:54]: they have donated to help keep the server online. If you [20:33:54]: would like to donate and receive Supporter status, visit: [20:33:54]: https://donate.switchcraft.pw [20:33:54]: ------------------------ « » ------------------------- [20:33:55]: MattHowell: ndiniz2012? [20:33:55]: ndiniz2012: yeah, I changed that [20:34:02]: + kotahu joined the game [20:34:03]: MattHowell: no, the CC screen [20:34:06]: [D] Lemmmy: maybe i should outsource tellraw validation to players [20:34:11]: ndiniz2012: I saw that [20:34:17]: MattHowell: in your hand [20:34:17]: [D] Lemmmy: so they can stare really hard at it and figure out whats wrong, while i relax [20:34:29]: ndiniz2012: oh that, what about it? [20:34:34]: kotahu: why would a JSON validator not work? [20:34:39]: Lemmmy: because the json is valid [20:34:40]: MattHowell: i broke that [20:34:43]: Lemmmy: but the structure isn't [20:34:51]: Lemmmy: i.e. it contains something mojang dosen't like, or is missing something required [20:35:39]: kotahu: I guess the best way would be to first validate it with JSON, then do a minimal check for common elements. [20:36:12]: kotahu: maybe just text/color? [20:36:36]: Lemmmy: hang on just wrestling npm a sec [22:49:59]: + gollark joined the game [22:49:59]: ------------------------ MOTD ------------------------ [22:49:59]: Info [22:49:59]: Thread - https://thread.switchcraft.pw [22:49:59]: Dynmap - https://dynmap.switchcraft.pw [22:49:59]: Market - https://market.switchcraft.pw [22:49:59]: Forums - https://forums.computercraft.cc [22:49:59]: Wiki - https://wiki.computercraft.cc [22:49:59]: Role Colours [22:49:59]: User - Moderator - Admin [22:49:59]: SwitchCraft Supporters [22:49:59]: Users with this [S] tag appearing next to their name in chat [22:49:59]: and the tablist are SwitchCraft Supporters. This means that [22:49:59]: they have donated to help keep the server online. If you [22:49:59]: would like to donate and receive Supporter status, visit: [22:49:59]: https://donate.switchcraft.pw [22:49:59]: ------------------------ « » ------------------------- [22:50:33]: *Anavrins has gone AFK. [22:51:16]: Drucifer: Oh no, lem's lost to php [22:51:45]: *kotahu has gone AFK. [22:51:47]: Drucifer: <@478798120650670091> break free of the php [22:52:02]: *Anavrins is no longer AFK. [22:52:58]: *kotahu is no longer AFK. [22:56:13]: *gollark has gone AFK. [22:56:47]: *Drucifer has gone AFK. [22:57:02]: *Anavrins has gone AFK. [22:57:52]: ndiniz2012: back [22:57:52]: *ndiniz2012 is no longer AFK. [22:58:23]: [S] Cloud_Ninja: lem i found a solution for his hoppers filling [22:58:41]: kotahu experienced kinetic energy [23:00:01]: Check out the claims we have for auction! https://market.switchcraft.pw [23:00:02]: Automatic server restart in 10 minutes. [23:01:11]: Lemmmy: https://faq.switchcraft.pw/ [23:01:15]: Lemmmy: it's very hacked together but it does the job [23:01:23]: kotahu experienced kinetic energy [23:01:28]: Lemmmy: i'll add more faq entires tomoorrow [23:01:39]: [D] OMSIMattHowell: Nate? You still on? [23:01:57]: Lemmmy: !faq