←2023-03-03 2023-03-04 2023-03-05→ ↑2023 ↑all
00:10:13 <b_jonas> zzo38: let me go through that point by point. (1) Only byte strings => the doc mentions it in very few places, but sqlite3 actually guarantees that you can just use any byte string in strings just fine as long as you don't use any of the utf-16-related functionality. (2) Separate the file format => I don't really see what remains in the core if you remove the file format. You can replace basically all
00:10:19 <b_jonas> parts but the file format, though there are defaults. (3) Allow existing file descriptors => you can kind of do that with the vfs feature. It's tricky, because sqlite3 needs to be able to open temporary files for the things listead at https://sqlite.org/tempfiles.html , but if you define how to do that in the vfs then you can use a descriptor. (4) Recursive triggers => there's a pragma for that. it's
00:10:25 <b_jonas> not the default only for compatibility, because enabling it could break old databases that rely on no recursive triggers, but you probably always want to enable them in newly designed databases.
00:14:15 <zzo38> About byte strings, while it does guarantee that, the string handling functions assume Unicode and can break unless you use a cast. You can override them using sqlite3_create_function, but then some optimizations will be disabled, such as the LENGTH optimization (which should work for text if they measure bytes, but currently is only available for blobs)
00:15:07 <zzo38> Also, perhaps I was a bit unclear because I think that the file format should still remain in the core, but be separated, like how the core includes a default VFS but you can replace that too.
00:15:28 <b_jonas> (5) Better blobs => for short blobs, you could write write custom SQL functions for this. for long blobs you're screwed because the file format stores long rows in a linked list so you can't random access into the blob, only read it in sequence. for byte sequences from numbers there's now a new built-in function unhex.
00:16:27 <b_jonas> "the string handling functions assume Unicode" => no, at least no the ones like substr and replace and lower, I believe the guarantee applies to those too.
00:17:34 <zzo38> SUBSTR does assume Unicode, but LOWER doesn't.
00:18:22 <b_jonas> zzo38: if you replace the file format then which part of sqlite3 do you want to keep? the page cache and atomic update mechanism? you can probably implement those if you can implement a file format, unless perhaps you want to make a multi-database atomic update mixed with normal sqlite3 format.
00:18:33 <zzo38> I know about the new UNHEX function. Unfortunately, it is a bit messy way to do it. You can use UNHEX(FORMAT('%02x',...)) I suppose, but that isn't realy the cleanest way to do it.
00:18:54 <b_jonas> oh, you're right about substr, sorry
00:19:05 <b_jonas> yeah, you may need a different function instead of that
00:19:05 <zzo38> One part of SQLite that would be kept if the file format is replaced is the SQL parser, of course.
00:20:11 <b_jonas> (6) preparing multiple SQL statements in a single object => sure, and then next you'll ask for a full programming language with conditionals and variables to preserve between statements. I think sqlite just doesn't want to go there because it's a slippery slope.
00:20:22 <b_jonas> even triggers are scary enough for that
00:20:26 <zzo38> Also, even if you do substitute your own file format implementation, you can still call the standard ones from your own ones, e.g. if you want to store some tables in different files, or other uses you might have for doing this.
00:21:13 <zzo38> (or if you want to add functions in between for profiling, or add your own locking/replication/etc; it is less messy to do that way than using the VFS to do it, in some cases)
00:21:14 <b_jonas> (7) Don't cause PRAGMA to have effect on prepare => fair, but possibly also hard to change now because it would break existing programs
00:21:46 <zzo38> Most of what I wrote would break existing programs, which is why one that does what I mention should not be called "SQLite 3"
00:23:12 <b_jonas> (8) inline journaling => sure, that could be useful, but note that you'd have to do it not just for the journal but for most of the temp files in https://sqlite.org/tempfiles.html to be thorough, except perhaps for multi-database atomic update
00:23:30 <b_jonas> but that would definitely be an improvement
00:23:48 <b_jonas> I guess even if you only did it for the journal so that you can't accidentally corrupt your database by copying without the journal
00:25:03 <zzo38> About multi-database atomic update, I think that is a problem with the operating system design, actually. (I do have ideas about operating system design too, including the idea of how to improve this.)
00:27:13 <b_jonas> (9) "Don't make inherent use of the local timezone" => I can't really answer that, I haven't much studied how sqlite3's time functions work, I mostly just assume that when I want to store times I use my own preferred time functions, since I need those regardless of database
00:28:19 <b_jonas> (10) SQL functions for packing and unpacking the binary record format => no opinion on this
00:29:26 <zzo38> You can override the determiniation of the current time using the VFS functions, but you cannot override the determination of the local timezone (except by using an undocumented test feature). This doesn't make sense, I think.
00:30:56 <b_jonas> zzo38: yes, but that's kind of because they don't want to add an extra dependency, and the time functions in the C standard library are limited in this respect
00:31:40 <b_jonas> so if you want to throw in the timezone database or libicu in your program you can do with custom functions in your extension, but it's probably not worth to add it into the sqlite3 core
00:33:03 <b_jonas> I assume if I need date functions I wouldn't do them in sqlite3, except for comparing times so you can do a range query with an index, and for thatif you can choose a sensible format that's compatible with the built-in comparisons
00:33:53 <b_jonas> so basically either store the dates as numbers, or as strings or blobs but make sure they're big-endian then, or (unlikely) as strings with a custom comparison function
00:34:17 <zzo38> I agree that they should not add an extra dependency. However, doing so is unnecessary, anyways. Currently it uses localtime_r, or an undocumented testing feature (see the definition of osLocalTime is SQLite). If you want to write your own using only documented features, you will have to reimplement the date/time functions, and if you do that, you can't have the behaviour of keeping the time per statement, either.
00:35:31 <b_jonas> and maybe throw in a custom function for the current time for if you want them into a column default value, I think you can call custom functions in a default value
00:35:56 <zzo38> My proposal would probably make the implementation simpler rather than more complicated, if it is done properly.
00:36:30 <b_jonas> sure, but they can't remove the existing time functions
00:37:10 <b_jonas> and they're probably not so big as to be worth to conditionally omit from your compiled version
00:38:39 <b_jonas> "keeping the time per statement" => wait, what do you mean?
00:38:42 <zzo38> It depends on localtime_r already. If made a part of the VFS, then the core no longer depends on the date/time functions of C. This can be done as an enhancement to existing SQLite. However, my document was mainly about making a new one instead (which might share some of the code from SQLite, but it would be something different from SQLite).
00:39:27 <b_jonas> oh, you mean sqlite3 should have callbacks that you can override for handling timezones? that could be done compatibly perhaps
00:40:44 <zzo38> The SQL date/time functions have a special handling, as described by: "The 'now' argument to date and time functions always returns exactly the same value for multiple invocations within the same sqlite3_step() call."
00:41:33 <b_jonas> ah, I didn't know that
00:42:24 <zzo38> But, yes it can be done compatibly; just by adding a new function to the VFS interface (and incrementing the version number of that structure). (Currently, it can be done by using sqlite3_test_control, but that is undocumented and can be changed in future)
00:42:51 <b_jonas> ok, that sounds logical, adding such callbacks to the vfs structure
00:45:17 <b_jonas> oh, you want a function that makes a blob from a list of numbers that give each byte?
00:45:24 <b_jonas> I guess that makes sense
00:46:13 <b_jonas> and substr is fair too, you might want a function that slices a string by byte index
00:48:05 <b_jonas> these are somewhat different from what changes I'd like to see, but some of them are interesting indeed
00:48:48 <zzo38> OK, what are your ideas of changes?
00:50:10 <zzo38> What kind of changes that you would like to see?
00:53:20 <b_jonas> zzo38: one thing I'd like to see but might be kind of hard to design is aggregate indexes. the goal of these would be that you can query for a range that's already consecutive in an index the sum of another column for which the sum is indexed, or, in general, an aggregate of that column by some custom aggregate function. not any aggregate function works for this, it would need a new extended interface
00:53:26 <b_jonas> for aggregate functions that support it, though most of the time you'd just use one of {sum, total, min, max} which the core would have to extend. the implementation would cache in each intermediate node of the b-tree of the index the aggregate of that the rows under it.
00:54:48 <zzo38> Actually, it is something that I had thought of too. (as well as being able to support this for virtual tables) However, I am not sure how difficult such a thing is.
00:55:08 <b_jonas> only picking the right interface for extended aggregate functions is tricky, so it can do aggregate that depends on multiple columns, or aggregates with tricky types, like tracking both the count and average and standard deviation, or the same but weighted by another column, etc
00:55:25 <b_jonas> oh right, it's {count, sum, total, min, max}, count must absolutely be supported but that's the easiest one
00:55:46 <b_jonas> this definitely isn't easy to design properly, but it's also something that is hard to do anywhere but at the database level
01:00:21 <zzo38> However, some kinds of virtual tables might be able to much more easily calculate some aggregate functions, though.
01:00:24 <b_jonas> I'd also like some kind of indexes that aren't trees sorted by a key, but the index itself keeps the order, and you can insert anywhere in the order, so when you insert you have to specify (presumably in some virtual column for this) which item you want to insert before or after, or to insert at the very beginning or very end of that index (perhaps you could also set a default).
01:00:54 <b_jonas> and of course this would be the most useful when you combine it with aggregate columsn in those indexes
01:01:12 <b_jonas> but it's not clear how to best set up the interface for this
01:01:42 <zzo38> I agree, it is not clear how to set up the interface for this
01:01:56 <b_jonas> persumably you'd give the primary key of an existing row in each magic column associated with such an index, plus a before/after flag, and perhaps you give NULL for very beginning/end
01:02:58 <b_jonas> but you'd also need some interface to query the next or previous row in the order of such an index
01:03:24 <b_jonas> and possibly even a way to move a whole range of rows to a different place
01:06:38 <zzo38> It seems to me that it is probably too difficult to make aggregate indexes for ordinary tables, but aggregate indexes for virtual tables is probably more useful, and might be easier to implement, potentially.
01:12:52 <zzo38> (I might also later add stuff to this file, and change existing stuff, too.)
01:15:47 <zzo38> I also had ideas about operating system designs. For example, I had decided to include capability-based security including proxy capabilities, and atomic locking and transactions of multiple files (or arbitrary capabilities) at once (some combinations cannot be implemented though, but some do work), hypertext file system, etc.
02:20:41 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
02:21:48 -!- Lord_of_Life has joined.
02:40:57 <esolangs> [[Timers]] M https://esolangs.org/w/index.php?diff=107236&oldid=107234 * Rphii * (+0) /* Truth machine */
03:35:50 <esolangs> [[Timers]] M https://esolangs.org/w/index.php?diff=107237&oldid=107236 * Rphii * (+2) /* Commands */
05:45:37 <esolangs> [[Aardvark]] https://esolangs.org/w/index.php?diff=107238&oldid=104859 * DanielDG * (+114) /* Infinite triangle */
05:46:54 <esolangs> [[Aardvark]] https://esolangs.org/w/index.php?diff=107239&oldid=107238 * DanielDG * (-10) /* Infinite triangle */
05:55:31 -!- chiselfuse has quit (Remote host closed the connection).
06:02:51 -!- chiselfuse has joined.
06:05:16 <esolangs> [[Aardvark]] https://esolangs.org/w/index.php?diff=107240&oldid=107239 * DanielDG * (+705) /* Syntax */
06:09:58 <esolangs> [[Danicb]] https://esolangs.org/w/index.php?diff=107241&oldid=107064 * Squidmanescape * (+2065) /* Under-the-Hood */
06:14:31 <esolangs> [[User:Squidmanescape]] https://esolangs.org/w/index.php?diff=107242&oldid=101627 * Squidmanescape * (+162) /* My Languages */
06:25:53 <esolangs> [[Aardvark]] https://esolangs.org/w/index.php?diff=107243&oldid=107240 * DanielDG * (+8) /* Grammar */
06:58:23 -!- bgs has joined.
07:23:34 -!- tromp has joined.
08:42:31 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
08:51:29 <esolangs> [[While true (cat)]] N https://esolangs.org/w/index.php?oldid=107244 * Tesolang * (+250) uhhh what do i write here
08:52:04 <esolangs> [[While true (cat)]] https://esolangs.org/w/index.php?diff=107245&oldid=107244 * Tesolang * (+1) fixed a little
08:53:33 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=107246&oldid=106547 * Tesolang * (+23) added while true {cat}
08:54:41 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=107247&oldid=107246 * Tesolang * (+17) fixed while true {cat}
09:59:34 -!- tromp has joined.
10:21:59 -!- Sgeo has quit (Read error: Connection reset by peer).
11:55:45 -!- chiselfuse has quit (Remote host closed the connection).
11:56:58 -!- chiselfuse has joined.
12:03:03 -!- __monty__ has joined.
12:04:37 <esolangs> [[Correct Syntax Error]] M https://esolangs.org/w/index.php?diff=107248&oldid=79952 * Joaozin003 * (+4) Fixed typos
12:16:08 <esolangs> [[Arrows]] https://esolangs.org/w/index.php?diff=107249&oldid=79464 * Joaozin003 * (+295) Added wavy arrows to commands
12:42:44 -!- bgs has quit (Remote host closed the connection).
13:25:24 -!- craigo_ has quit (Ping timeout: 268 seconds).
13:31:13 <esolangs> [[User:Tesolang]] https://esolangs.org/w/index.php?diff=107250&oldid=107195 * Tesolang * (+39) added while true {cat}
13:33:36 <esolangs> [[Lesser known programming languages]] https://esolangs.org/w/index.php?diff=107251&oldid=42581 * Tesolang * (+40) added while true {cat}
13:59:22 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:10:39 -!- tromp has joined.
14:34:49 <river> I didn't realize that hofstatder coined the name quine
15:04:46 -!- tromp has quit (Read error: Connection reset by peer).
15:18:50 <Riviera> how would one "realize" that? :P
15:19:20 <int-e> by reading about it
15:21:41 <int-e> Or possibly by reading Hofstadter's Gödel, Escher, Bach, where he explains how Quine came up with quotation as a mechanism for self-reference, and calls that procedure quining.
15:23:02 <int-e> (I think; I only have that book in a german translation.)
15:24:13 <int-e> Riviera: But maybe your process of realization is different? :P
15:24:38 <int-e> Or maybe you're playing with an alternative meaning of "realize". It's hard to say.
15:27:03 <river> i looked within
15:28:33 <int-e> oh $DEITY
15:29:16 <int-e> (staring into the abyss)
16:10:30 <river> what is going on?
16:10:53 <int-e> "i looked within"
16:11:18 <river> i mean, tell me something that has happened
16:11:39 <int-e> no
16:11:48 <river> its a separate topic
16:13:25 <int-e> https://research.ibm.com/haifa/ponderthis/challenges/March2023.html ...for once, the bonus problem does appear to be quite a bit harder than the primary one.
16:13:33 <int-e> So that happened.
16:13:46 <int-e> river: I hope that'll make you happy.
16:14:14 <int-e> fungot: Where are you today?
16:14:17 <int-e> `"
16:14:19 <HackEso> 1/1:881) <quintopia> is there a way to tag things on wikipedia as "wtf this makes no sense"? <elliott> quintopia: {{featured article}} \ 681) <itidus21> ok in other words, its a lot easier to reason about 2^43112609-1 apples by using the text "2^43112609-1" than it is to actually produce 2^43112609-1 apples
16:14:20 <river> why is it harder when the digits are added to the left?
16:14:56 <int-e> Probably because fewer digits are excluded modulo 2 and 5.
16:16:07 -!- razetime has joined.
16:19:57 <fizzie> I was doing some systems maintenance (migrated everything to ZFS for easier backups via replication, after the previous thing I was using became... problematic), that's probably what happened to fungot.
16:20:54 -!- fungot has joined.
16:20:58 <fizzie> fungot: Where were you?
16:20:59 <fungot> fizzie: why don't you upload the selection somewhere with the source that is.)) the lexical variable x is bound to
16:27:44 -!- ^[ has quit (Ping timeout: 248 seconds).
16:41:52 <b_jonas> welcome back, fungot
16:41:53 <fungot> b_jonas: that's only in -current, works fine building there at least anyone on here that i wrote myself, which was
16:43:12 <oren> Testing the new 100 gigabyte BD RE s recently
16:44:48 <oren> turns out that windows explorer corrupts them
16:45:06 <oren> but if yo write to them with Total Commander they work great
17:08:59 <b_jonas> what is "BD RE"?
17:09:52 <b_jonas> `? BD RE
17:09:54 <HackEso> BD RE? ¯\(°​_o)/¯
17:10:12 <esolangs> [[While true (cat)]] M https://esolangs.org/w/index.php?diff=107252&oldid=107245 * PythonshellDebugwindow * (+87) Categories
17:11:29 <FireFly> bluray disk something format?
17:11:42 <FireFly> 100G sounds about right for bluray
17:12:54 <esolangs> [[Jellang]] M https://esolangs.org/w/index.php?diff=107253&oldid=107196 * PythonshellDebugwindow * (+141) Add link and categories
17:19:49 -!- razetime has quit (Remote host closed the connection).
17:29:44 <fizzie> Speaking of backups, I'm sad to report that there's no longer a copy of esolangs.org in an underground vault in the Finnish bedrock.
17:30:24 <fizzie> (Our bank in Finland is relocating that office, and they're discontinuing the service.)
17:33:36 <fizzie> To compensate, there's now an (encrypted) copy within a moderately secure office facility of a multinational technology corporation, which is at least something.
17:34:01 <int-e> oh no, evicted from the dungeon
17:35:31 <FireFly> fizzie: aww
17:42:24 <b_jonas> ouch
17:46:30 <b_jonas> there's a copy in a hard disk in my computer, but the bedrock is hard to reach here, Hungary is all covered with thick soft and fertile agricultural soil. ideal for crops of grains and oily seeds, not perfect for burying backup hard disks.
17:47:00 <b_jonas> if you want an underground vault, you have to make walls from concrete
17:48:48 <fizzie> To be entirely honest, I don't know the specifics of the construction of the one we used to have a box in. I just assumed, since Finland is pretty rocky. But they didn't leave any of that exposed, sadly.
17:50:30 <esolangs> [[Special:Log/newusers]] create * DinoNuggets2700 * New user account
17:50:44 <b_jonas> there are bank vaults here but they're expensive
17:53:12 -!- perlbot has quit (Ping timeout: 255 seconds).
17:53:39 -!- simcop2387 has quit (Ping timeout: 255 seconds).
17:54:12 <fizzie> This used to cost ~5€/month (for a slightly-over-A4-footprint by 50mm locker) which was covered by the "bonus" program thing.
17:54:37 <fizzie> But banks in general in Finland have been no longer offering these as they close down offices and so on.
17:57:01 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=107254&oldid=107224 * DinoNuggets2700 * (+192)
18:02:27 -!- ^[ has joined.
18:35:50 <b_jonas> fungot, besides "ajar" what's the most common english word that starts with a unique two letter string?
18:35:50 <fungot> b_jonas: i figured that out) document/ content management system?
18:40:02 <b_jonas> dude, do you think I'm going to reply to a spam for a mere 3_000_000 dollars that I've won? have you programmed this spambot two years ago before the big inflation? 3_000_000 dollars isn't worth enough to lift my fingers now.
18:40:43 <b_jonas> this is like that other spam that claimed that I have to pay 3 HUF of import tax for my package
18:41:27 <FireFly> three huffs
18:51:19 <FireFly> forint, the currency for iterating over whole numbers?
18:54:31 <oren> BDRE is "blu ray recordable/erasable"
18:55:19 <oren> they decided that RW for Re-Writable was bad for some reason and changed it
18:56:03 <FireFly> ah
18:57:07 <oren> normal size BD-RE are 25 gb for single layer and 50 gb for 2-layer. Sony came out with this new BD-RE XL format which has 3 layers and 33.3 GB per layer
18:57:43 <oren> the BDRE-XL are basically the rewritable version of Ultra-HD bluray movie disks
18:59:58 <zzo38> "Recordable/erasable" does make sense if that is what it is, compared with disks that are rewritable without being erased first, I think
19:00:54 <oren> but uhh the issue is that these disks *are* in fact, random-access writable
19:01:30 <oren> If you format them as UDF disks instead of "mastered burn"
19:02:42 <esolangs> [[Arrows]] https://esolangs.org/w/index.php?diff=107255&oldid=107249 * Joaozin003 * (+141) /* Commands/arrows */
19:03:16 <oren> It's really weird. For years I thought that you had to erase entire disk before you could reuse space. But recently I tried it and it just works.
19:06:27 <zzo38> If that is the case, then perhaps they should call it "RAM" (like "DVD-RAM") instead of "RW" or "RE".
19:07:29 <oren> The funny thing is that, there is DVD-RAM already. but somehow UDF file system makes RW disks work the same as RAM or something? Maybe it's just that the UDF technology didnt exist when these thigns were named
19:11:56 <esolangs> [[Arrows]] https://esolangs.org/w/index.php?diff=107256&oldid=107255 * Joaozin003 * (+190) Added truth machine
19:12:26 <esolangs> [[Arrows]] https://esolangs.org/w/index.php?diff=107257&oldid=107256 * Joaozin003 * (+2) Added comments
19:12:47 <b_jonas> oren: I see!
19:14:27 <b_jonas> so does a rewritable disk cost less than an equal capacity micro-SD card anymore?
19:17:16 <oren> it still does
19:17:56 <oren> per gigabyte, flash memory is still twice as expensive
19:18:34 <oren> hard disks are much cheaper per gig tho
19:18:46 <esolangs> [[P]] https://esolangs.org/w/index.php?diff=107258&oldid=90710 * Joaozin003 * (+0) USE == INSTEAD OF === YOU DUMBOS!!!!!!!!!!!
19:19:50 <FireFly> do bluray disks go down in price, or are they pretty much fixed? I don't imagine there's that much demand and R&D into them compared to flash storage
19:20:13 <FireFly> but maybe there's still enough improvements happening to affect prices
19:20:18 <oren> they've gone down quite a bit since I bought these
19:20:23 <FireFly> hm okay
19:21:19 <oren> The 100GB ones are new and hadn't fully ramped up production I think
19:22:30 <oren> I think the unit cost of the disks is mostly licensing
19:23:07 <oren> they're made of similar material and similar production process to a CD-RW
19:24:16 <oren> One day maybe we'll get those holographic disks with 3-dimensional recording that keep getting rumoured
19:26:54 <oren> the main reason I like the idea of optical disks is that the uhh data storage is completely separate from the reader/writer hardware
19:28:57 <oren> IoMega Jaz/Zip is the same thing but for hard disks but we don't have those for any more than 1 GB
19:37:48 <zzo38> I still think that for the purpose of making backups, WORM disks are better
19:43:19 -!- simcop2387 has joined.
19:44:48 -!- simcop2387 has quit (Read error: Connection reset by peer).
19:46:50 -!- perlbot has joined.
19:48:51 -!- simcop2387 has joined.
19:49:29 <FireFly> is that "write once, read many"?
19:54:01 <zzo38> Yes
20:07:20 -!- perlbot has quit (Read error: Connection reset by peer).
20:07:32 -!- simcop2387 has quit (Read error: Connection reset by peer).
20:11:54 -!- perlbot has joined.
20:12:24 -!- simcop2387 has joined.
20:26:59 <fizzie> I think the thing with optical media is, they're not permanent (a lot of the random CDs I burned are no longer readable), and if you just stick them into a box you won't ever learn whether they've rotted away or not, and at least personally I'm far too lazy to have a periodic go-through of all of them.
20:27:35 <fizzie> When it's a hard drive connected to a computer, it's easy enough to have an automated scrub to verify all the checksums, and then swap the drive when it goes bad.
20:28:33 <b_jonas> FireFly: for DVDs, you can't drive the price of disks down anymore because most of the price is taxes
20:28:49 <b_jonas> for Blueray I don't know, I never got into those
20:29:21 <b_jonas> "holographic disks with 3-dimensional recording" => the EVD?
20:30:50 <fizzie> We did a ferry trip once or twice with school friends from Helsinki to Tallinn to buy spindles of DVD-R's from a sketchy retailer in the middle of nowhere, because in Estonia you didn't have to pay the "media fee" to the local copyright mafia.
20:30:56 <fizzie> Or at least it was smaller if you did.
20:31:20 <b_jonas> from https://stickman.qntm.org/comics.php?n=874 and next strop. "The EVD has the capacity to hold the entire internet on it."
20:32:03 <b_jonas> fizzie: oh! that's a really good excuse that you can tell your parents about your drinking trip
20:33:13 <fizzie> Turns out Finland has removed that particular fee from retail prices in 2015 anyway, so it no longer works.
20:34:10 <fizzie> It was always a bit controversial, because you had to pay it for all kinds of storage media, even when you weren't planning to use it for personal copying of copyrighted works.
20:34:11 <b_jonas> wait, were you buying blank DVDs (as opposed to CDs) as a high school student? I first saw a DVD writer right shortly after I graduated high school.
20:35:43 <b_jonas> fizzie: sure, but also people don't buy many DVDs anymore so you don't need that excuse, and you're not so young that you need to tell an excuse to your parents about a drinking trip, so it's ok
20:35:45 <fizzie> Maybe they could have been CD-R's? I'm not entirely sure. I feel like they were DVD's, though. Because I had like a small handful of well-known-brand discs, and then a bunch of these "PRINCO" ones from that trip.
20:37:16 <fizzie> Can't really think of a good way to figure out when I got a DVD burner, I haven't got archived receipts from that far back.
20:38:05 <b_jonas> fizzie: it doesn't need to be your DVD burner, it could be a classmate's DVD burner and they burn DVDs for all the geeks in the class for a small fee
20:38:16 <b_jonas> only it's CDs that worked that way back when I was in high school
20:41:19 -!- Sgeo has joined.
20:43:23 <fizzie> I got out of high school in the spring of 2002, at which point DVD-R and DVD-RAM were already in the market, but DVD+R was just coming out.
20:47:53 <b_jonas> "in the market" sure, but too expensive for normal people to own.
20:54:17 <esolangs> [[List of ideas]] M https://esolangs.org/w/index.php?diff=107259&oldid=106854 * DinoNuggets2700 * (+186) I added an entry to the Silly Ideas section.
21:01:32 <fizzie> Perhaps that's right. I browsed through the 2001 Radio Shack catalog (the first thing I could think of that'd have old prices for consumer electronics), and it's listing a single DVD-RAM disc at $49.99 (tagged [New]), and no DVD-R products at all.
21:01:56 <fizzie> Then it was probably cheaper CD-R's that trip was for.
21:03:44 <b_jonas> well *-RAM was always too expensive
21:12:13 <oren> I go through them to check for errors every few years- I have DVD-R's from 2004 that still work
21:12:54 <FireFly> fizzie: oh you had that silliness too around storage media huh
21:13:39 <FireFly> same in sweden, also affecting things like mobile phone storage.. I don't know if it's still the case though, they don't really have much of an argument there anymore with how popular streaming services are nowadays I'd say
21:13:53 <oren> I don't know what causes some people's burned disks to go bad, but it might be that I store them carefully
21:18:36 <oren> Actually, I have something older- A CD-R with "starcraft brood war" on it which still runs
21:20:02 <zzo38> What I read is that storing recorded DVDs vertically in the dark is helpful; I do not know how much that will help, though.
21:31:29 <oren> I don't think the orientation matters much as long as it's dry, cool and out of sunlight
21:34:55 <oren> I have several tools for scanning disks entire surface for errors
21:35:20 <oren> but most of the time they only complain if the disk is physically scratched
21:36:00 <oren> I've heard of disk rot and seen examples of it online but I've never seen any disks I own rot
21:42:15 <oren> the only time I saw corrosion was when the disk had apparently been covered in coffee
21:42:42 <oren> even then, the data was fully recovered
21:47:07 -!- chiselfu1e has joined.
21:47:46 -!- chiselfuse has quit (Remote host closed the connection).
21:48:58 <fizzie> Could have something to do from where and how your discs are made, I guess. I think most of what I had I could still read, when few years back I made copies of them onto a hard drive.
21:52:02 -!- craigo_ has joined.
21:53:12 -!- craigo_ has quit (Remote host closed the connection).
22:04:08 -!- Cale has joined.
22:37:04 <oren> one of the oldest CD-R's I have is a 240i recording of star wars 2 from someone who snuck into he theatre with a camera
22:38:12 <oren> Its survived the last 20 years completely watchable... well... playable
23:13:20 -!- perlbot has quit (Quit: ZNC 1.8.2+deb3+b4 - https://znc.in).
23:13:38 -!- perlbot has joined.
23:19:39 -!- simcop2387 has quit (Ping timeout: 248 seconds).
23:19:52 -!- perlbot has quit (Ping timeout: 268 seconds).
23:26:54 -!- simcop2387 has joined.
23:33:26 -!- perlbot has joined.
23:40:56 -!- __monty__ has quit (Quit: leaving).
23:44:20 -!- sprout_ has joined.
23:47:40 -!- sprout has quit (Ping timeout: 252 seconds).
←2023-03-03 2023-03-04 2023-03-05→ ↑2023 ↑all