00:01:46 -!- subleq has joined.
00:12:27 -!- Melvar has quit (Ping timeout: 268 seconds).
00:13:18 -!- Melvar has joined.
00:38:05 -!- ArthurStrong has joined.
00:45:37 -!- imode has quit (Ping timeout: 240 seconds).
01:22:31 -!- imode has joined.
01:32:19 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66873&oldid=66869 * Moon * (+704)
01:36:47 <esowiki> [[PTSL]] https://esolangs.org/w/index.php?diff=66874&oldid=66861 * Moon * (-1)
02:14:15 -!- moonheart08 has joined.
02:27:17 -!- MDude has quit (Ping timeout: 240 seconds).
03:27:03 -!- moonheart08 has quit (Read error: Connection reset by peer).
03:27:08 -!- moony_ has joined.
03:44:28 -!- hppavilion[1] has joined.
03:49:31 -!- moony_ has quit (Read error: Connection reset by peer).
04:33:12 -!- imode has quit (Ping timeout: 265 seconds).
05:07:57 -!- subiru has joined.
05:08:46 <shachaf> I cleaned up http://slbkbs.org/tmp/fmt/fmt.h somewhat and added fancy features.
05:08:51 -!- subiru has left.
05:08:56 <shachaf> Example usage: http://slbkbs.org/tmp/fmt/main.c
05:09:15 <shachaf> zzo38: I think you wanted to see it at one point?
05:35:31 -!- hppavilion[1] has quit (Remote host closed the connection).
07:38:18 <esowiki> [[Replace]] https://esolangs.org/w/index.php?diff=66875&oldid=40816 * Groowy * (+119) /* External resources */
08:24:46 -!- b_jonas has quit (Remote host closed the connection).
08:43:07 -!- Phantom_Hoover has joined.
08:44:44 -!- cpressey has joined.
08:53:14 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
08:58:17 -!- Phantom_Hoover has joined.
09:04:22 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
09:15:08 -!- Phantom_Hoover has joined.
09:15:52 -!- Phantom_Hoover has quit (Client Quit).
10:21:09 -!- Phantom_Hoover has joined.
10:24:23 -!- arseniiv has joined.
10:41:42 -!- Phantom__Hoover has joined.
10:41:46 -!- Phantom__Hoover has quit (Changing host).
10:41:46 -!- Phantom__Hoover has joined.
10:45:03 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
11:05:41 <cpressey> <arseniiv> is there (I think there is) a special name for algebraic types isomorphic to a sum of products of such types? <--- I don't know, but it reminds me of boolean algebras.
11:06:23 <cpressey> But that may just be because I've been reading about boolean algebras lately.
11:12:00 <shachaf> Do you like complete atomic boolean algebras?
11:14:13 <cpressey> Only if they're also residuated.
11:15:14 <cpressey> Uh, kind of like division, or implication, I gather.
11:15:52 -!- wib_jonas has joined.
11:29:44 <shachaf> The joke is that CABAs are just sets.
12:39:51 -!- imode has joined.
12:52:44 <wib_jonas> arseniiv: I think any algebraic type that doesn't use parametric polymorhpism (that is, -> in the kind) in its definition (and the definitions of other types that it's dependent on) has that property, so you can just call them algebraic types
12:52:58 <wib_jonas> algebraic is specifically the name because they're defined by polynomial equations
12:54:33 <arseniiv> wib_jonas: isn’t the class of algebraic types wider?
12:59:09 <wib_jonas> see http://www.madore.org/cgi-bin/comment.pl/showcomments?href=http%3a%2f%2fwww.madore.org%2f%7edavid%2fweblog%2f2017-11.html%23d.2017-11-10.2477 for where the "algebraic" name comes from, though in a slightly different context than algebraic types
12:59:35 <wib_jonas> arseniiv: it is wider if you allow parametric polymorpism, as in definitions like "data Foo a = ..." where a is a type parameter
12:59:47 <wib_jonas> then you can define types that you couldn't otherwise, as in that famous square matrix type
13:00:15 <wib_jonas> but if you only give definitions like "data Foo = ..." with constructors on the right side, then I don't think so
13:00:41 <wib_jonas> it's basically the same as with the context-free language productions
13:00:50 <wib_jonas> but I'm not entirely sure that that matches your description entirely
13:01:00 <wib_jonas> "types isomorphic to a sum of products of such types?"
13:01:24 <wib_jonas> if you read that wrong, then maybe any type matches it because it's isomorphic to itself
13:02:01 <wib_jonas> so maybe I just don't understand your question
13:02:50 <wib_jonas> arseniiv: ok, maybe you're right and that's not all algebraic types, if you write the definition properly
13:04:39 -!- moonheart08 has joined.
13:05:06 <arseniiv> I meant that there are several definitions like data T = C_1 a_11 … a_1(k1) | … | C_n an_1 … a_n(kn) where all a_ij are some T defined this way
13:05:29 <wib_jonas> arseniiv: is this definition written in such a way that if you take `data A = I; data L = N | C A L; data M = E | D L M; data P = X | M;` then L and M match your definition but P doesn't?
13:06:28 <wib_jonas> arseniiv: well in that case I think that's exactly what I'd call "algebraic types" in the strictest sense
13:06:47 <arseniiv> no, P does too if X, M are constructor names
13:07:13 <wib_jonas> `data A = I; data L = N | C A L; data M = E | D L M; data P = X | V M;`
13:07:13 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: data: not found
13:07:59 <arseniiv> shouldn’t we also call a type `data X = X (A → L)` algebraic?
13:08:17 <wib_jonas> arseniiv: not in the strictest sense I think
13:08:24 <wib_jonas> but you use names in whatever way you like
13:08:39 <arseniiv> ah, so I can name them “algebraic in the strict sense” in parenthesis
13:08:40 <wib_jonas> in the haskell context you could call any type that you define with `data` algebraic
13:09:00 <arseniiv> yeah, that got me confused in the first place
13:09:30 <wib_jonas> but you can define non-algebraic types with `data` if you use type parameters or other stuff
13:13:26 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66876&oldid=66873 * Moon * (+100) Add CALLASM
13:17:25 <cpressey> Oh, I thought they were called algebraic data types because their definitions are like signatures of algebraic structures
13:18:03 <wib_jonas> cpressey: what? how? algebraic structures have multi-argument functions in them, don't they?
13:18:45 <cpressey> Don't algebraic data types have multi-argument constructors?
13:19:33 -!- imode has quit (Ping timeout: 265 seconds).
13:19:33 <wib_jonas> cpressey: yes, but also alternations
13:19:48 <cpressey> data BA = And BA BA | Or BA BA | Not BA | One | Zero
13:20:19 <cpressey> That looks a lot like an algebraic signature to me. Not saying it is, but hard to see why you seemed shocked at the idea wib_jonas
13:20:52 <wib_jonas> cpressey: so you take the language of expressions that you can make from op'ns in that algebraic structures
13:21:12 <wib_jonas> cpressey: that's not how I'd imagine algebraic structure signatures, but I guess you're right, you can think of them like that
13:22:41 <wib_jonas> P_H: they're defined by polynomial equations, that's why they're called algebraic data types, yes
13:24:40 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66877&oldid=66876 * Moon * (+373) MSET*
13:25:50 <moonheart08> Shame that a computer running a 2D language would be kinda useless
13:26:06 <myname> why would that be useless?
13:26:21 <moonheart08> Or rather, it'd be too complicated to implement with 80s hardware
13:29:29 <moonheart08> Could index a memory device as 2D if it's size is a power of 2
13:30:52 <myname> or you could just use modulo?
13:32:11 <myname> i know that, but you didn't mention performance yet
13:32:23 <moonheart08> Yea, won't work. Idea too useless compared to normal hardware.
13:33:37 <myname> you could also just split the address in half
13:34:13 <myname> finally, useful usage of al and ah
13:34:36 <moonheart08> Also this is an idea for custom hardware, not x86
13:34:45 <moonheart08> So it'd be a hardware implemented fungeoid
13:37:12 <myname> i am curious if you could use an fpga for a weird way of memory access
13:39:47 <moonheart08> cpressey: hia. Wondering if you had any advice for making a hardware based fungeoid run fast.
13:41:23 <cpressey> moonheart08: Don't give it an unbounded playfield? Other than that, not really, sorry.
13:44:08 <moonheart08> I already have one thing in mind: A directional jump that takes a numeric argument instead of searching ahead
13:49:36 <cpressey> moonheart08: Actually I do have one idea, not sure it applies to what you're doing, but: assuming you only have 4 possible deltas for the IP it might be more efficient to have 4 read-execute loops instead of a single read-execute loop that loads the delta and adds it on every cycle.
13:50:29 <cpressey> (More expensive too, though, in terms of real estate)
13:50:41 <esowiki> [[User talk:Groowy]] https://esolangs.org/w/index.php?diff=66878&oldid=62956 * Groowy * (-2184) Replaced content with "''Talks cleaned at 29th October 2019 12:50 CET''"
13:51:31 <esowiki> [[User talk:Groowy]] https://esolangs.org/w/index.php?diff=66879&oldid=66878 * Groowy * (+3)
14:04:47 <myname> execute every possible next instruction at once, choose the one corresponding to your delta :D
14:06:26 -!- Sgeo has quit (Read error: Connection reset by peer).
14:06:52 -!- Sgeo has joined.
14:15:26 -!- Sgeo has quit (Read error: Connection reset by peer).
14:15:54 -!- Sgeo has joined.
14:21:15 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66880&oldid=66877 * Moon * (+241)
14:34:16 -!- sprocklem has quit (Ping timeout: 240 seconds).
14:36:07 <moonheart08> cpressey: would require that it waste time loading data it won't use from RAM
14:43:46 <cpressey> I don't think it does; it's more like having 4 seperate CPUs, one for each direction, that "swap off" their processing to one of the others, when the direction changes. Massive waste of transistors, just to optimize the "advance to next cell" circuit.
14:51:28 <cpressey> Good grief, now I'm actually wondering if you could actually do that with 4 actual 8-bit CPUs
14:55:55 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66881&oldid=66880 * Int-e * (+37) add headline with link to PTSL page
14:56:38 <int-e> (Editing the URL to get to the main page sucks... though maybe there's a prettier option)
14:58:09 <int-e> myname: How do you get back from https://esolangs.org/wiki/PTSL/instrtable to https://esolangs.org/wiki/PTSL if there isn't a link for that in the page?
14:59:10 <myname> from the diff pages, though
15:00:36 <int-e> can one /replace/ the standard headline? I mean, if the PTSL in there was a link, that would be perfect?
15:01:49 <wib_jonas> int-e: no, that would be confusing.
15:02:09 <wib_jonas> I thought mediawiki usually puts a link for parent pages under the page title when there's a slash inside the title
15:02:14 <wib_jonas> but evidently it's not doing that here
15:11:18 <cpressey> If you like clicking you can click "What links here" then click "PTSL"!
15:19:38 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66882&oldid=66881 * Moon * (+23) n o i n c l u d e
15:20:07 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66883&oldid=66882 * Moon * (-1) fix space
15:23:03 <moonheart08> int-e: Noinclude is nice for avoiding duplicate headers in the main article :)
15:24:24 <int-e> moonheart08: ah, sorry.
15:24:35 <int-e> moonheart08: thanks for fixing it :)
15:36:13 <wib_jonas> why is this even a separate article? do you expect to have a family of several languages that share the instruction table but are otherwise so different that they'll each be described on their own page?
15:38:54 <moonheart08> Keeps the core article free of a massive table in it's source. Makes it easier to go through
15:41:59 <cpressey> There's some precedent for putting distinctly technical things (proofs, implementations) in their own child articles
15:42:39 <esowiki> [[Transfinite program]] M https://esolangs.org/w/index.php?diff=66884&oldid=66847 * Chris Pressey * (+27) +cat Program forms, because this is a form a program can take
15:43:15 <wib_jonas> cpressey: sure. but this one is transcluded into the main article. I guess that could change if the main article becomes too long.
15:43:54 <moonheart08> The main point *right now* is convenience when editing
15:45:23 <wib_jonas> Do we have a year category for languages that will be published in the future, like Feather?
15:45:38 <wib_jonas> I was just wondering if I should make an article for Magic-16, which is such a language
15:45:44 <wib_jonas> but it would be just a stub article
15:46:30 <wib_jonas> and TwoDucks according to https://esolangs.org/wiki/History#2023
15:46:34 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66885&oldid=66883 * Moon * (+56) Collapse instr table by default, as not all readers need it.
15:46:52 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66886&oldid=66885 * Moon * (+15) fix
15:50:01 <esowiki> [[PTSL/instrtable]] https://esolangs.org/w/index.php?diff=66887&oldid=66886 * Moon * (+14) class="nowrap" doesn't work on here. Had to do it manually. style="white-space: nowrap;"
16:06:48 -!- imode has joined.
16:18:22 -!- cpressey has quit (Quit: quietly).
16:32:38 -!- MDude has joined.
16:35:05 -!- moony_ has joined.
16:39:07 -!- moonheart08 has quit (Ping timeout: 268 seconds).
16:42:33 -!- moony_ has quit (Ping timeout: 265 seconds).
17:02:09 -!- wib_jonas has quit (Remote host closed the connection).
17:05:15 -!- kspalaiologos has joined.
17:15:00 -!- moony_ has joined.
17:24:38 -!- kspalaiologos has quit (Quit: Leaving).
17:25:28 -!- kspalaiologos has joined.
17:43:53 -!- iczero has changed nick to probability.
17:44:58 -!- BWBellairs has changed nick to Yotsugi.
17:46:43 -!- moony_ has changed nick to moonythewerewolf.
17:47:21 -!- moonythewerewolf has quit (Remote host closed the connection).
17:56:17 -!- LKoen has joined.
17:57:31 -!- Yotsugi has changed nick to OugiOshino.
17:59:21 -!- LKoen has quit (Remote host closed the connection).
18:00:11 -!- LKoen has joined.
18:21:26 -!- Phantom__Hoover has quit (Ping timeout: 246 seconds).
18:30:33 -!- FreeFull has joined.
18:59:44 -!- Phantom__Hoover has joined.
19:29:44 -!- sprocklem has joined.
19:31:26 -!- Sgeo has quit (Read error: Connection reset by peer).
19:31:50 -!- Sgeo has joined.
19:32:39 -!- b_jonas has joined.
19:38:43 <esowiki> [[BareMinimum]] https://esolangs.org/w/index.php?diff=66888&oldid=66602 * Joshop * (+673)
19:42:43 -!- LKoen has quit (Remote host closed the connection).
19:46:16 -!- LKoen has joined.
19:46:20 -!- kspalaiologos has quit (Quit: Leaving).
19:46:43 <esowiki> [[BareMinimum]] https://esolangs.org/w/index.php?diff=66889&oldid=66888 * Joshop * (+427)
19:55:11 <lf94> list comprehensions is such a powerful syntax
19:55:34 <imode> you should add it to modal.
19:55:40 <lf94> [start...stop;step, filter1, filter2, filter3...]
19:56:02 -!- sprocklem has quit (Ping timeout: 240 seconds).
20:01:10 <kmc> monad comprehensions are even better
20:03:18 <imode> you ever get a feeling that you're not using a tool you made the right way.
20:08:57 <shachaf> [f(x) for x in xs if p(x)] # extremely powerful
20:09:22 <shachaf> for x in xs: if p(x): list.append(f(x)) # useless old-hat syntax
20:12:50 <b_jonas> shachaf: it's not useless, and I like it
20:13:20 <shachaf> the joke is that they're p. much the same thing
20:13:47 <lf94> I just care about having a good way to express how to define a certain list
20:13:53 <lf94> I couldn't find anything other than set theory
20:14:03 <shachaf> my fancy language will probably let you implement comprehensions using ` trickery
20:14:30 <shachaf> Did y'all see my fancy C fmt thing?
20:15:32 <b_jonas> shachaf: I glanced at it. it does look interesting
20:16:06 <b_jonas> http://slbkbs.org/tmp/fmt/fmt.h
20:16:09 <shachaf> https://slbkbs.org/tmp/fmt/fmt.h (example usage: https://slbkbs.org/tmp/fmt/main.c )
20:19:27 <shachaf> I like the init/chunk API. But it's possible that it has more overhead than it's worth for this particular application?
20:20:30 <int-e> surprisingly, "slbkbs" is not the result of applying a substitution cipher to "funpun".
20:21:56 <kmc> where is it from?
20:22:32 <lf94> monad comprehensions seem nice
20:27:17 -!- imode has quit (Ping timeout: 268 seconds).
20:42:08 -!- atslash has quit (Ping timeout: 246 seconds).
20:46:34 -!- oerjan has joined.
20:46:40 -!- imode has joined.
20:50:48 <imode> I have a term rewriting language and I don't know how to use it.
20:53:10 <oerjan> use it to rewrite your brain until you do hth
20:59:03 -!- Phantom__Hoover has quit (Ping timeout: 245 seconds).
21:03:12 <lf94> imode: your language is too powerful for the human mind :v
21:03:43 <imode> lf94: (`(`(K ?x)?y)) -> (?x) (`(`(`(S ?x)?y)?z) -> (`(`(?x ?z)`(?y ?z)))
21:03:52 <imode> I don't know if that works. but those are S and K.
21:04:06 <imode> there's probably some issue with parenthesization.
21:04:24 <imode> I don't know how I'd test that.
21:05:03 <lf94> SK make other known expressions
21:05:12 <lf94> just see if they make them
21:06:20 <imode> I think there's going to be parentheses issues.
21:07:25 <imode> `(`(`(S foo) (`(`(K bar) quux))) baz) yields `(`(`(foo baz) `((bar) baz)))
21:07:25 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: (`(`(S: not found
21:29:30 <imode> yeah it doesn't work.. meh.
21:51:00 <kmc> shachaf: the first gigasecond of my life is almost over
21:51:06 <kmc> anything more i should do?
21:56:24 <imode> I'll save that marker for later.
21:56:25 <esowiki> [[Smurf]] https://esolangs.org/w/index.php?diff=66890&oldid=66825 * Oerjan * (+39) /* External resources */ Wayback
21:57:06 <kmc> it's national cat day
21:57:11 <kmc> happy national cat day
21:57:45 <arseniiv> (sorry for a multiliner which follows)
21:57:45 <arseniiv> there’s μ-recursion operator which takes f :: N^(n+1) → N and returns μf :: N^n → N such that
21:57:45 <arseniiv> search n = if f args… n == 0 then n else search (n+1)
21:57:45 <arseniiv> now we can generalize that from N to an algebraic type T in at least two ways. We searched [0, 1, 2, …] for 0, now:
21:57:45 <arseniiv> (i) let’s search `iterate (s args…) (z args…)` for `q args` where s, z, q are additional arguments to μ;
21:57:45 <arseniiv> (ii) let’s search some natural ordering of the type for the least element wrt that ordering. Constructing the ordering uniformly seems painful though;
21:57:46 <arseniiv> which do you like? I grow on (i), it’s even allows different types for the last argument of `f` and its value; the price of additional arguments seems more than fair
21:57:51 <kmc> imode: yeah i'm old
21:59:08 <imode> I wouldn't call that old.
21:59:11 <arseniiv> kmc: happy national cat day => my cat purrs at this and reciprocates
21:59:16 <imode> then again I'm biased.
22:00:09 <b_jonas> kmc: how close is "almost"?
22:00:43 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:08:09 <kmc> imode: when I was 20, 30 sounded really old
22:08:23 <kmc> my gf would laugh though, she's much older than me
22:09:05 <kmc> turning 30 was kind of a big deal for me
22:09:14 <kmc> i decided to start giving a shit about my health
22:09:42 <kmc> I remembered that my paternal grandfather died at 48 due to obesity, alcoholism and smoking
22:09:48 <kmc> and 48 didn't seem so far from 30 anymore
22:11:06 <kmc> and i also started a big life change shortly before my 30th birthday
22:11:12 <kmc> which contributed to increased give-a-shit
22:11:36 <imode> developing apathy for your own life really does kill people.
22:12:17 <kmc> i had 3 really shitty years
22:13:41 <kmc> b_jonas: 125961 seconds left to go which is about a day and a half
22:15:53 <b_jonas> kmc: take a short vacation to somewhere nice where you haven't been yet?
22:16:18 <b_jonas> though that might have been better to start to plan earlier than a day and a half
22:17:02 <b_jonas> you can still do that after the round age of course
22:17:02 <kmc> I've done a fair amount of travel recently-ish
22:17:17 <kmc> i'd love to go out for a drive and a hike
22:17:20 <b_jonas> this year I've taken two nice vacations that I've organized myself
22:17:23 <kmc> need to search for those mushrooooooooooms
22:17:34 <kmc> I went to Texas to see a good friend, had loads of fun and then took the train back to SF
22:17:40 <kmc> (2 trains and a bus actually)
22:21:14 <b_jonas> please publish the next o strip, fungot
22:21:14 <fungot> b_jonas: officially i think two complement is rather arcane ;p ( sorry, dunno about quality yet still highly compatible body of real-world scheme code.
22:21:39 <kmc> b_jonas: the scenery on that train trip through the american southwest is amazingly beautiful
22:24:03 -!- arseniiv has quit (Ping timeout: 264 seconds).
22:44:21 <kmc> fungot: that's ok most people also think so when they are beginning learning assembly language
22:44:22 <fungot> kmc: wearing fnord even, i'd say no. way too expensive most of the big guys for a longish time completely filling a fnord thingy
23:13:41 <pikhq> Kinda fun how big life changes have cascading effects
23:15:07 -!- atslash has joined.
23:15:21 <kmc> 2 years later it's beginning to not dominate my life anymore
23:15:22 -!- atslash has quit (Client Quit).
23:16:47 * pikhq is very much not there yet
23:17:37 -!- atslash has joined.
23:18:39 <int-e> two's complement is arcane, fungot, where did you learn that :)
23:18:39 <fungot> int-e: so how far is the house? where is it? i see
23:18:55 -!- moony_ has joined.
23:18:59 <int-e> fungot: I never answer intimate questions like that.
23:18:59 <fungot> int-e: i doubt that an ignorant can ack that he's an idiot and he should go away and die. oh, the ops have come to one conclusion: you have to
23:19:35 <int-e> close to threatening, really.
23:19:55 <fungot> int-e: can you elaborate, alex? an instruction to the function ft with ft and k-1
23:20:24 <kmc> pikhq: hope it's going well though <3
23:22:59 -!- atslash has quit (Ping timeout: 276 seconds).
23:23:35 -!- atslash has joined.
23:25:19 <int-e> "Life," said Marvin, "don't talk to me about life."
23:37:43 <HackEso> ‘Life,’ said Marvin, ‘don't talk to me about life.’
23:38:17 <HackEso> herbalist//An herbalist is a list of herbas.
23:38:20 <HackEso> lba//This channel is having a Little Big Adventure(tm) with Linear Bounded Automata in devices using Logical Block Addressing.
23:43:40 <int-e> Ludicrously Ballooned Acronyms.
23:45:59 <pikhq> kmc: Oh, most defnitely is
23:46:37 * pikhq has a workout routine now!
23:49:53 <HackEso> fortran//FORTRAN was a language in 1957, in which our noble, honourable ancestors wrote programs on punched cards and paper tape.
23:57:57 <kmc> pikhq: ooh yay!
23:58:01 <kmc> I'm going to the gym tonight
23:58:10 <kmc> I go twice a week, for an hour or so
23:58:12 <pikhq> First time in my life I've, like, cared about my health
23:58:19 <kmc> it's not much but it makes me feel good
23:58:22 <kmc> pikhq: i know, right?
23:58:25 <kmc> and my appearance
23:58:38 * pikhq works out daily, though more like 15-30 minutes per day
23:58:56 <kmc> I went from "I'm uncomfortable how I look no matter what I change" to "holy shit I want to change a lot of things but I basically like myself"
23:59:09 <kmc> and now i've made many of those changes and well it's great ^__^