←2014-12-20 2014-12-21 2014-12-22→ ↑2014 ↑all
00:00:02 <int-e> web comics, code golfing, Haskell, the many warts of C, category theory and esoteric programming languages.
00:00:04 <TheM4ch1n3> I am a programmer, and sleepy atm ...
00:00:34 <int-e> Also orthography and grammar.
00:00:43 <oerjan> sleepy atms are bad, they keep your money
00:01:15 <elliott> same except without the sleepy part
00:01:19 <int-e> And... I forgot the most important topic: puns.
00:01:31 <elliott> int-e: you make this channel sound so much better than it actually is :p
00:01:43 <int-e> elliott: you're welcome :P
00:01:52 <Taneb> elliott, you are atm?
00:02:18 <elliott> yes, I'm an automated teller machine; I automatically tell this channel things
00:02:45 <oerjan> a web comic about code golfing in esoteric programming languages the category theory of the many warts of C
00:03:15 <zzo38> OK you can try to make such a comic?
00:04:02 <zzo38> Well, the main topic of this channel is esoteric programming but a lot of things can be discussed; of course, mostly the things listed there.
00:05:05 -!- TheM4ch1n3 has quit (Ping timeout: 244 seconds).
00:07:16 -!- roasted42 has joined.
00:12:01 -!- shikhout has joined.
00:12:22 -!- shikhout has changed nick to Guest31893.
00:14:52 -!- shikhin has quit (Ping timeout: 245 seconds).
00:19:50 -!- oren has joined.
00:23:31 <oren> does the nightly build of something mean they compile the whole project every night?
00:25:10 <zzo38> I don't know
00:25:41 <oren> because i compile most of my projects every few minutes when i'm working on them
00:25:48 <zzo38> Wikipedia says a nightly build is a neutral build done automatically
00:26:07 <zzo38> And, "a neutral build is a software build that reflects the current state of the source code checked into the source code version control system by the developers, and done in a neutral environment (an environment not used for development)"
00:26:42 <oren> ohhh... i get it. it's a clean build with nothing from previousbuilds
00:27:45 <oren> so they can know that the whole thing actually compiles, and doesn't just work on their system
00:28:44 <Jafet> Indeed. Now they know it works on one other system.
00:29:18 <oren> ha. yeah the rust source code doesn't compile on my system.
00:29:40 <oren> it takes all my memory and forces me to kill it
00:32:23 <oerjan> well they also know that it has all the source files and isn't just using a .o file that was left around...
00:32:23 <HackEgo> [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41521&oldid=41506 * AndoDaan * (-64) /* External resources */ Live version.
00:32:23 -!- idris-bot has quit (Quit: Terminated).
00:32:23 -!- idris-bot has joined.
00:32:23 -!- idris-bot has quit (Client Quit).
00:32:24 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
00:32:50 <oerjan> fiendish
00:33:32 <oren> oerjan: yeah that's what i thought. well i'm trying to at least install the binaries now, we'll see if they work...
00:35:43 <int-e> oren: out of curiosity, how much memory do you have?
00:36:00 <elliott> not enough
00:36:11 <elliott> oren: btw have you heard of swap
00:36:16 <int-e> elliott: well that's true for everybody.
00:36:24 <elliott> int-e: yeah but it's a very not enough
00:36:38 <oren> i have 2GB of memory and 2GB swap
00:36:41 <elliott> like 1 or 2 gigabytes the last time this came up re: firefox's amazing incredible huge gigantic bloat that needs to be rlimited away, or something
00:37:11 <int-e> oren: ah. ok, that's small nowadays.
00:37:15 <oren> i am running 64-bit linux
00:37:41 * int-e had to upgrade to 8GB because 4GB was too little for some stuff.
00:37:42 <oren> elliott already told me thats dumb
00:38:08 <elliott> I have 16 gigabytes and I'd still kind of like more
00:38:15 <elliott> it's enough but more breathing room would be good
00:38:27 <oren> 64000 bytes should be enought for anyone
00:38:47 <int-e> (this PC's motherboard can't handle more than 8 GB, unfortunately.)
00:39:13 <oren> i am on a cheap craptop
00:39:26 -!- idris-bot has joined.
00:39:28 <int-e> poor lambdabot is confined to a 512 MB+512 MB swap VM.
00:39:52 -!- roasted42 has quit (Ping timeout: 240 seconds).
00:40:05 <elliott> more RAM + bigger SSD is the finest luxury of computing
00:40:51 <oren> apparently rustc binaries install fine, i just can't compile them myself
00:41:31 <elliott> not sure how that's surprising
00:42:00 -!- roasted42 has joined.
00:42:11 <oren> eventually i will buy a less crappy computer, like in a year or so
00:44:12 -!- drdanmaku has joined.
00:46:52 <oerjan> craptop is such a nice word
00:47:30 <int-e> I thought the term was "netbook".
00:49:08 <int-e> (I have one. I don't build software on it anymore. The last big thing I compiled was ghc 7.6.1...)
00:49:21 <Solace> So apparently dark is faster than light since it carries no information and im done with physics forever
00:50:32 <oerjan> Solace: well it's not really an object...
00:50:44 <Solace> Yeh
00:50:50 <int-e> "Light thinks it travels faster than anything but it is wrong. No matter how fast light travels, it finds the darkness has always got there first, and is waiting for it." - Pratchett (via Google)
00:52:08 <int-e> From "Reaper Man", hmm.
00:52:10 <Solace> But in geometric terms the point when you close scissors gets to the end before the blades close so if you were to use really long (light year) sized scissor blades would the point still get there as fast
00:52:28 <Solace> Gonna go eat
00:52:37 <Solace> And back to heresy
00:52:56 <oerjan> Solace: that's absolutely nowhere _near_ the weirdest thing in physics. it doesn't really even need relativity or quantum mechanics
00:53:31 * int-e wonders whether "Solace" has any relation to "Quantum"
00:53:53 <Solace> If you heat the head of a pin to the same point as the core of the sun it will kill every living thing in a 1000 mile radious
00:54:09 <Solace> What int-e ?
00:54:47 <int-e> Solace: apparently not. (There's that James Bond movie.)
00:54:49 <oerjan> the head of a pin? i'm not sure i buy that, needs some calculation...
00:55:09 <Solace> 15 billion kelvin
00:55:13 <Solace> Is pretty hot
00:55:15 <oerjan> wat
00:55:18 <int-e> How many fairies can dance on that head of a pin?
00:55:30 <Solace> But what about plank temperature
00:55:30 <oerjan> i'm pretty sure the core of the sun isn't believed to be that hot
00:56:14 <oerjan> Solace: million, not billion
00:56:26 <Solace> Sorry
00:56:35 <Solace> I was like what
00:57:18 <oerjan> because i remember that fusion reactors are only millions, but they still have to be _hotter_ than the sun to compensate for lack of pressure.
00:57:26 <Solace> Plank temperature is 141e^31 i think
00:57:30 -!- qlkzy_ has changed nick to qlkzy.
00:57:38 <Solace> Planck? i forget how its spelt
00:57:55 <Solace> The unit of measure i mean
00:57:58 <Solace> Not the wood
00:58:34 <oerjan> i think planck
00:58:39 <Solace> Yeh
00:59:00 <Solace> Well doesnt it get really hot if you were to compress waves to that point
01:00:31 <oerjan> hm where can you find a formula for the amount of energy in a pinhead given temperature
01:01:09 <Jafet> A pinhead shaped cloud of high-energy subatomic particles
01:02:22 <oerjan> hm equation of state may be the term
01:02:45 <oren> Well the boltzmann equation relates particle speed to temperature, so combine that with kinetic energy...
01:02:57 <oerjan> argh so many
01:03:08 <oren> both those equations might be wrong at that temperature tho
01:05:04 <Solace> How old are you oerjan
01:05:06 <oerjan> bah i cannot be bothered
01:05:09 <oerjan> Solace: 44
01:05:36 <oren> well assuming they're not, you do E = T*(3/2)*k_B
01:05:57 <Solace> Im alot younger than you and pretty much every one here ;-;
01:06:03 -!- roasted42 has quit (Ping timeout: 272 seconds).
01:06:04 <oren> I am 21
01:06:20 <Solace> 5 years younger than oren
01:06:24 <oerjan> i'm probably the oldest regularly talking here...
01:06:43 -!- nys has joined.
01:07:03 <oerjan> although there was someone here even older a few years back, he made a cobol-based esolang :P
01:07:25 <Solace> Welp
01:07:47 <Solace> I have alot to learn
01:07:52 -!- roasted42 has joined.
01:07:52 <oerjan> Solace: some regulars here weren't older than you when they joined, so don't panic
01:08:00 <int-e> Solace: you have plenty of time to do so
01:08:12 <elliott> I was 11 :p
01:08:17 <Solace> :0
01:08:29 <oerjan> how time flies
01:08:47 <Solace> How old are you now elliott
01:08:50 <elliott> 19.
01:08:52 <Solace> :00
01:09:26 <Solace> Well im one day into winter break
01:09:28 <elliott> technically I might have joined when I was 10, like, once
01:09:36 <elliott> but I didn't say anything
01:10:00 <Solace> That was 8 years ago
01:10:01 <oren> Elliott is 19 OДO
01:10:13 <Solace> 2006
01:10:23 <elliott> is a 19 year old on the internet really that surprising
01:10:29 <Solace> :^0
01:10:30 <elliott> I understood the shock when I was 12, but... :p
01:10:37 <nys> i made http://esolangs.org/wiki/Itflabtijtslwi i made this when i was 11
01:10:47 <oren> elliott a 19 year old who is so much smarter than me is
01:10:54 <nys> oops i said words twice
01:11:04 <Solace> Well i joined the internets at the age of 9 and have been ruined ever since
01:11:32 <oren> me too... well the trip to japan didn't help
01:11:36 <Solace> Oh the internet is an awful place
01:11:53 <elliott> I forget when I started using the internet but it was before I was 8.
01:12:02 <Solace> Where awful people are free to spew garbage
01:12:18 <elliott> it's weird that there are fourteen year olds born in 2000 :/
01:12:18 <oren> the japanese internet is if anything worse
01:12:24 <elliott> I could argue about haskell on the internet with someone born in 2000
01:12:45 <int-e> elliott: you probably do, from time to time
01:12:50 <elliott> yes
01:12:55 <elliott> well I'm not in #haskell any more so maybe not really
01:12:55 <Taneb> I was at a party last night with someone who was born 2002
01:13:14 <Solace> Its weird to talk to people born in the 2000
01:13:18 <int-e> https://xkcd.com/386/ <-- yes, awful place indeed.
01:13:28 -!- mitchs has quit (Ping timeout: 255 seconds).
01:13:46 <Solace> Oh my lord
01:13:59 <elliott> nys: oh you made that language
01:14:10 <elliott> liking /// at 11 is good taste
01:14:15 <nys> :D
01:14:20 <Solace> I started programming and making silly things at the age of 12 but thats cuz i was all like
01:14:28 <Solace> :0 coding is cool wow
01:14:39 <elliott> I started at 8 with PHP :(
01:14:47 <Solace> :0
01:14:47 <nys> i have a new idea but i'm not sure it's interesting on its own without an implementation
01:14:50 <oren> I started at 9 with PErl 4
01:14:51 <Solace> well then
01:14:53 <myname> i started at 12 with qbasic :(
01:15:10 <Solace> 12 is a good age to start code
01:15:41 <myname> qbasic on the other hand isn't a good language to
01:15:57 <oren> what is crazier is that some of my cousins satrted having kids at 16-18
01:16:03 <Solace> Did all of it secretly though since my schools were filled with bullies who hated smart kids
01:16:04 <elliott> qbasic isn't that bad a first language
01:16:25 <oren> i was a bully in public school
01:16:41 <Solace> ;-;
01:16:45 <Solace> Why
01:17:09 <Solace> I started python at 12
01:17:10 <oren> i liked to make fun of people
01:17:17 <Solace> :(
01:17:24 <myname> because he wanted to eliminate all smarter people so he'd be the smartest?
01:17:44 <Solace> Not the smartest if you make people feel bad
01:17:53 <oren> also i had anger management issues
01:17:57 <myname> don't think that's the definition of smart
01:18:02 <Solace> well dont we all
01:18:23 <myname> afaik you tend to be less socially compatible if you are too smart
01:18:33 <zzo38> If you like to write computer games in DOS, then QBASIC is not so bad
01:18:35 <Solace> yeh
01:18:42 <oren> actually it turned out everyone else thought I was the one being bullied
01:18:51 <Solace> wat
01:18:56 <Solace> Well then
01:19:10 <oren> they saw fights and assumed i didn't start them
01:19:19 <Solace> ©_©
01:19:24 -!- roasted42 has quit (Ping timeout: 250 seconds).
01:19:54 <oren> just because i was short! dumb teachers
01:19:59 * oerjan hadn't realized /// was on the wiki before him
01:21:20 -!- roasted42 has joined.
01:21:36 <Solace> Im trying to find a game that was like 2d but made inbetween 2008-2011 and its about a small spaceship that goes on an adventure trying to save the planet from a darkness and this game is like all puzzely i just like the music but Google is very unhelpful
01:21:50 <Solace> /-/
01:21:55 <myname> does anybody know if there is a language in the wiki where programs could be checked?
01:22:08 <Solace> Uh
01:22:09 <oren> checked how?
01:22:20 <myname> with CTL for example
01:23:03 <myname> i thought about writing a modell checker for my language
01:23:14 <myname> not sure if i was the first one with that idea
01:23:27 <Jafet> Promela deserves to go on the wiki
01:23:36 <myname> :D
01:26:52 <oren> i'm not aware of any language in the wiki with CTL as a built in thing
01:27:30 <myname> well, i'm not sure if i want to built it into the language itself
01:27:45 <myname> but i do think writing a modellchecker for it would be easy enough
01:27:48 <oren> it's applicable to any language with statefulness imo
01:28:29 <myname> well, yes, but you have to name your states
01:31:02 -!- roasted42 has quit (Remote host closed the connection).
01:33:40 <elliott> oerjan: /// is interesting because it is one of those languages that is much more interesting than I suspect the author could have possibly anticipated...
01:33:53 <elliott> (compare to brainfuck, which is rather "predictable" in a sense)
01:34:52 <pikhq> Though Brainfuck at least has the excuse it wasn't even intended to be interesting.
01:35:51 <elliott> (I mean, compare the 99bob to your later work...)
01:36:22 -!- roasted42 has joined.
01:36:53 <oerjan> heh
01:38:45 <elliott> like, /// is very easy to come up with, and it seems like a probably not-that-interesting, sub-TC language idea when you come up with it
01:38:51 <elliott> but given more work it ends up quite amazing
01:43:18 <Jafet> /// is, in some sense, just a generalisation of thue
02:02:20 -!- boily has joined.
02:27:46 -!- roasted42 has quit (Ping timeout: 258 seconds).
02:29:32 -!- roasted42 has joined.
02:32:30 <HackEgo> [wiki] [[Brainfuck derivatives]] M http://esolangs.org/w/index.php?diff=41522&oldid=41517 * Oerjan * (+5) /* MIBBLLII Isn't brainfuck But Looks Like It Is */ sp, link
02:36:50 <HackEgo> [wiki] [[K-on Fuck]] http://esolangs.org/w/index.php?diff=41523&oldid=41514 * Oerjan * (+12) /* Example Code */ Use rectwrap class
02:39:53 <myname> if MIBBLLII were my language, i would've called it IIBBLLII
02:42:02 <Taneb> I called MIBBLLII MIBBLLII because MIBBLII isn't brainfuck but looks like it is
02:42:38 <Taneb> Also because I pronounce the acronym "mibbly" and that sounds cute
02:43:16 <HackEgo> [wiki] [[Flow chart]] http://esolangs.org/w/index.php?diff=41524&oldid=41520 * Oerjan * (-2) subsections
02:45:12 <oerjan> Taneb: by that principle, it clearly should have been WIBBLII hth
02:45:26 <oerjan> *WIBBLLII
02:46:08 <oerjan> or perhaps BIBBLLII
02:46:18 <elliott> oren: out of curiosity how old did you expect me to be
02:48:57 <oren> uhh... maybe 36 at least, given that you seem to be as experienced and knowledgeable as my professors... if you're going to college, you should either major in something other than CS, or be going to like... Yale or something
02:50:05 <elliott> 36 lol
02:50:11 <elliott> old 'n grumpy
02:50:35 <elliott> (I dropped out of school a decade ago, actually.)
02:51:29 <oren> you dropped out in 4th grade? holy crap
02:51:56 <elliott> somewhere around that, I guess (I'm not american)
02:52:43 <oren> well aparently you didn't need it.
02:52:52 <Solace> What bots are in here?
02:53:02 <oerjan> ^prefixes
02:53:05 <oerjan> oops
02:53:09 <oerjan> `prefixes
02:53:15 <Solace> And, What do they do/are made in
02:53:16 <oerjan> sheesh
02:53:28 <Solace> Im guessing those arent in?
02:53:31 <oren> lambdabot interprets haskell
02:53:40 <oerjan> HackEgo is in, it's just horrendously slow these days
02:53:41 <HackEgo> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
02:53:41 <elliott> well, it makes going to university a bit harder when you have no qualifications
02:53:45 <elliott> I left for mostly non-education-related reasons though
02:53:46 <myname> fungot is made in befunge
02:54:02 <Solace> Ego?
02:54:06 <oren> and does various utility like things
02:54:39 <oerjan> EgoBot has a number of esolangs implemented
02:55:21 <oren> blsqbot interprets burlesque
02:55:26 <elliott> egobot is mostly obsolete these days
02:55:26 <oerjan> `echo hi
02:55:28 <HackEgo> hi
02:55:30 <Solace> elliott: 4th grade?!
02:55:52 <oerjan> HackEgo is slightly less slow once it gets up and running
02:55:53 <elliott> I don't know your grades! all I know is I was about 10 (I don't remember exactly)
02:56:09 <Solace> Oh 10
02:56:11 <Solace> Um
02:56:18 <oren> that would be 4th or 5th grade
02:56:20 <Solace> 6th grade
02:56:33 <elliott> I was also born in August so I was younger than everyone else or something
02:56:37 <elliott> I don't know, I don't remember
02:56:38 <Solace> For my district/depending in date of birth
02:56:47 <Solace> Like i was born in June
02:56:52 <Solace> So i graduate at 17
02:57:12 <oren> yeah so basically you didn't take middle or high school
02:57:22 <oren> in our system
02:57:23 <Solace> B-but
02:57:26 <Solace> How
02:57:33 <Solace> In our system
02:57:41 <elliott> well, I dropped out in what we call middle school...
02:58:10 -!- roasted42 has quit (Ping timeout: 244 seconds).
02:58:10 <Solace> You are fined placed on a beka system and if you dont report to school you are fined and either arrested or sentenced to house arrest
02:58:36 <oren> it's funny because i basically didn't attend grades 1-6
02:58:56 <Solace> Also the multitude of tests and state requirement ls and the bills that just destroy education
02:59:04 <Solace> Is so pressuring on a teen
02:59:25 <Solace> That it can cause depression and mental illness lack of sleep and disorders
02:59:29 <Solace> Yay America
02:59:47 <elliott> tbf I also spent a while in a children's mental health unit as a teen, there was compulsory schooling there
03:00:15 -!- roasted42 has joined.
03:00:18 <Solace> Well these are artificially brought on
03:00:23 <Solace> School days are like this
03:00:31 -!- dts|pokeball has joined.
03:00:59 <Solace> Wake up at 3:00 to 5:00 am go to school till 2:30 pm go to sleep at 10:00 pm
03:01:00 <elliott> my mental illnesses were not brought on by schooling
03:01:04 <elliott> well, probably.
03:01:05 <Solace> Start over
03:01:26 <oren> in high school they always told us university was going ot be so hard, but really it is easier
03:01:31 <Solace> Since most sleep schedules have to be forced because of in out studying
03:01:46 -!- Farra_000 has joined.
03:02:00 <Solace> I feel as if i live in London most of the days because of my weekend sleep schedule
03:02:34 <Solace> Since its never actually night in London because of it being halfway in the suns light and earths cast shadow
03:02:34 <elliott> you should try my sleep schedules, they're great
03:02:44 <Solace> Example?
03:02:56 <oren> my sleep schedule is to sleep 12 hours every two days
03:02:58 <elliott> my classic is "sleep for 16 hours every other day"
03:03:02 <elliott> damn
03:03:09 <elliott> there's not room enough here for both of us, oren
03:03:13 <oren> lol
03:03:18 <Solace> I sleep for
03:03:26 <elliott> mostly I just do an oerjan-style "moving forward an hour or a few every day erratically"
03:03:29 <elliott> now
03:03:32 <Solace> Let me i actually have to write this down
03:03:39 <elliott> with some doomed atetmpts at resetting it with all-nighters and stuff
03:04:09 <oren> when i was working, i stabilized it as 12 hours every two days
03:04:22 <Solace> Since i wake up for school at 2 am cuz before school tutoring and my internship thats at 4 am
03:04:26 <elliott> mine is almost impossible to stabilise
03:04:31 <Solace> So
03:04:43 -!- Farra_000 has left.
03:04:44 <elliott> if I get forced into a normal schedule, I get tireder and tireder every day
03:04:49 <Taneb> I think moving an hour every few days is pretty standard
03:04:49 <Solace> sleep at 9pm wake up at 2am
03:04:52 <elliott> so it isn't sustainable for more than a few days
03:04:57 <Taneb> I know that's what I've ended up doing
03:05:00 <Solace> Im barely alive
03:05:08 <Taneb> Possibly because I tend to nap in the afternoon
03:05:23 <Solace> Someone turn caffine into an inhaler
03:05:24 <Solace> Pls
03:05:36 <elliott> there are caffeine pills
03:05:52 <Solace> Inhaler now!
03:06:00 <Solace> So i can breath it in
03:06:27 <Solace> I toss a caffeine pill into a cup of coffee each morning
03:06:28 -!- oerjan has set topic: The sleepless channel | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
03:06:39 <Solace> Thanks
03:06:44 <elliott> caffeine pills make me incredibly shaky and sick
03:06:53 <elliott> modafinil is better, it just makes me a bit sick
03:06:55 <Solace> Me too! but i have to
03:07:15 <Solace> Cuz i have to be up for job
03:07:24 <elliott> melatonin is also useful to some degree (but not enough for me)
03:07:31 <Taneb> oerjan, I'd argue that MIBBLLII isn't really a brainfuck derivative except for syntax
03:07:33 <oren> elliott: that happnes when i drink coffe all at once. it is better to have it in small doses every 15 min
03:07:52 <elliott> I suspect caffeine pills have more in them than a c up of coffee
03:07:55 <Solace> Supporting your family when you have to go to school is really hard
03:08:06 * Solace breathes heavily
03:08:17 <oerjan> Taneb: personally my main problem with that page is that several of the things there don't have articles.
03:08:34 <Solace> Im done with life and school
03:08:50 <oren> elliott: coffee can vary in caffiene content massivly depending on how it is made
03:08:59 <elliott> yeah I know
03:09:05 <Taneb> oerjan, hmm yeah
03:09:25 <zzo38> If you are done with life then how can you write on this IRC?
03:09:26 <Taneb> oerjan, sorry, I assumed it was your page because I saw you editing it
03:09:33 <Taneb> zzo38, they said life, not IRC
03:09:42 <oren> IRC is undeath
03:09:54 <zzo38> But you cannot type on the computer if you are dead.
03:09:57 <oren> Braaaainnns...
03:09:58 <elliott> I hope to god I don't have to talk in here in the afterlife
03:10:20 -!- dts|pokeball has quit (Ping timeout: 250 seconds).
03:10:23 <zzo38> elliott: I too hope so; because, it would be too difficult.
03:10:27 <elliott> agreed
03:10:55 <Solace> Depression fuels typin zzo38
03:11:03 <Solace> Typing*
03:11:05 <oren> Orreeeen hunnngggrrry for brraaaains!!
03:11:22 <oerjan> Taneb: i tend to fix some obvious stuff when i'm looking at recent changes
03:11:53 -!- roasted42 has quit (Ping timeout: 264 seconds).
03:11:59 <zzo38> Just because someone edit it doesn't mean it is their page. Also, just because something is their page doesn't necessarily mean other people are allowed to edit it, too.
03:12:04 <oerjan> the dead talk on Extrasensory Relay Chat
03:13:40 -!- roasted42 has joined.
03:15:10 <elliott> hopefully when I am dead I will never think about programming ever again
03:19:39 <int-e> `relcome oerjan
03:19:43 <HackEgo> oerjan: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
03:20:06 <oren> the rainbow is still too dark
03:20:07 <oerjan> ooh
03:20:14 <zzo38> oren: Are you sure?
03:20:47 <Solace> elliott is reincarnated as an ai super computer in the year 7896 on a not earth planet and is forced to program forever
03:21:42 <elliott> works for me
03:23:57 <oren> ummm... would that not be "reinsilicated"?
03:24:13 <oren> given that "carn" means "meat"
03:24:44 <oerjan> well then it wouldn't be "re-"
03:25:11 <oren> and if the computer is photonic it might be "invitrated"
03:25:11 <oerjan> elliott: 's ok just program up some undergrads, it's what all the professors do
03:25:12 <Solace> A coding language based entirely off of bad puns?
03:25:34 <oerjan> hmmmmmmm
03:26:07 <Jafet> Network socket programming?
03:26:28 <Solace> Whats the difference between a dirty bus station and a crab with breast implants?
03:26:52 <quintopia> you mean
03:26:53 <zzo38> I saw a television show once that mentioned reincarnation, and about people with memories of stuff that they couldn't have known normally, and scientific test, but it doesn't quite looks like "reincarnation" to me, unless that is what you mean by the word "reincarnation" since otherwise it is too much unclearly?
03:26:56 <quintopia> what's "a" difference
03:27:01 <quintopia> because there are a lot of them
03:27:11 <Solace> One's a crusty bus station the other is a busty crustation
03:27:23 <oren> crustacean
03:27:26 <quintopia> *crustac yeah
03:27:29 <zzo38> Yes I know there is a lot of difference someone told me before and it was my answer too there too many difference!
03:28:02 <quintopia> reincarnation: a flower for your horse straps
03:29:02 <Solace> Im 16 and am running off of pure sugar
03:32:30 <oren> transmigration: a limit per day of the E-isomer soviet jets
03:41:56 <Taneb> What is the difference between a rabbit and a gorilla
03:42:05 <Taneb> Rabbits look nothing like gorillas
03:42:58 <elliott> thanks
03:44:23 -!- dts|pokeball has joined.
03:45:22 -!- roasted42 has quit (Ping timeout: 240 seconds).
03:47:25 -!- roasted42 has joined.
03:47:31 -!- Sgeo has quit (Read error: Connection reset by peer).
03:48:01 -!- Sgeo has joined.
03:54:10 <Solace> Im done
03:54:18 <dts|pokeball> ok
03:54:31 <Solace> Hi dts|pokeball?
03:54:46 <dts|pokeball> hi
04:04:20 <Solace> Im done with people in general
04:05:07 <oren> try talking to animals
04:05:14 <zzo38> But, are you done with pokeball in general? I have some pokeball inside of my desk drawer
04:05:25 <Solace> Nah this guy
04:05:27 <zzo38> oren: I think that is difficult. But, you can try!
04:05:35 <Solace> Is saying he's a perl hacker
04:05:49 <Solace> And im like, and?
04:05:52 <oren> talking to them is easy. getting them to talk mback is hard
04:05:59 <Solace> Hes getting very angry
04:06:33 <oren> why?
04:07:47 <Solace> Because i use old versions of perl and other things
04:07:54 <Solace> And hes like i can hack you
04:08:00 <Solace> Oh well?
04:08:33 <oren> lol... "i can haxx0rs j0r compucore d00d"
04:09:04 -!- boily has quit (Quit: EXTROSPECTIVE CHICKEN).
04:09:20 <oren> is keckleon a good pokemon?
04:09:24 <Solace> Yeh like that
04:09:53 <zzo38> Some attack may be good against other pokemon, so it depend what attacks you used.
04:10:31 <Solace> Use a lvl 100 shuckle
04:11:00 <oren> I started a new game today
04:11:37 <oren> well i caught the keklion
04:12:40 <Solace> Lucky ducks
04:12:46 <Solace> And your pokemons
04:12:58 <Solace> I dont have money to spend on games
04:14:45 <oren> I bought this game last year
04:15:20 -!- roasted42 has quit (Ping timeout: 250 seconds).
04:17:07 -!- roasted42 has joined.
04:18:17 <oren> i'm playing it in japanese this time over
04:21:18 <Solace> Yay
04:21:23 <Solace> Glitches
04:36:33 -!- dts|pokeball has quit (Quit: Leaving).
04:36:55 -!- dts|pokeball has joined.
04:42:30 -!- nys has quit (Quit: quit).
04:43:33 -!- kcm1700_ has joined.
04:45:22 -!- kcm1700 has quit (Ping timeout: 240 seconds).
04:45:41 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:53:57 -!- MDude has quit (Read error: Connection reset by peer).
04:56:55 <oren> This is the first pokemon game in which you have anything resemblinga girlfriend.
04:57:19 -!- Guest31893 has quit (Ping timeout: 245 seconds).
05:05:15 <oren> caught a kabigon (snorelax)
05:06:18 -!- roasted42 has quit (Ping timeout: 244 seconds).
05:07:08 -!- roasted42 has joined.
05:44:43 <Solace> How small can you make a number
05:44:51 <Solace> Cuz i wanna break some stufg
05:44:55 <Solace> Stuff*
05:45:18 <Taneb> Very
05:45:28 <Solace> Example
05:45:46 <Solace> -e8888888888888888888888888888 is pretty small
05:45:50 <Taneb> Yes
05:45:59 <Solace> But not small enough for me
05:46:32 <Taneb> > "-1" ++ repeat '0'
05:46:34 <lambdabot> "-10000000000000000000000000000000000000000000000000000000000000000000000000...
05:46:46 <Taneb> Small enough?
05:47:12 <Solace> Uh
05:47:15 <Solace> Let me see
05:47:22 <Solace> No
05:47:39 <Taneb> Right, because that is so small it isn't actually a number
05:47:49 <Solace> Yup
05:47:52 <Solace> Its a thing
05:47:53 <Taneb> It is the limit of a divergent function
05:48:17 <Solace> How old are you taneb
05:48:21 <Taneb> 20
05:48:36 <Solace> ©_©
05:49:18 <Taneb> ?
05:50:02 <Taneb> Why do you need a very small number
05:51:15 -!- roasted42 has quit (Ping timeout: 244 seconds).
05:51:27 <oerjan> Solace: 1/Ackermann(5,5) hth
05:51:53 <oerjan> or wait
05:52:12 <oerjan> -Ackermann(5,5)
05:52:14 <Taneb> oerjan, I think Solace wants a low number rather than a small one
05:52:47 <oerjan> -G_64
05:52:55 <oerjan> -BB(G_64)
05:53:02 <oerjan> hth
05:59:12 -!- roasted42 has joined.
06:28:33 -!- Stormzy has joined.
06:28:52 <Solace> Swiggity swineral much crave such mineral
06:29:19 <Taneb> Solace, you realise that very few people in this channel are going to even have a clue what that joke is about?
06:29:28 <Solace> Ofc
06:29:41 <Solace> Do you know what its about?
06:29:43 <Taneb> And it's a joke that requires heaps of context to even make sense
06:29:49 <Taneb> As it happens, yes
06:30:03 <oren> i rarely bother to look things up
06:30:11 <Solace> Mountain goats go up a 90° slope to get salt
06:30:15 <Solace> On a mountain
06:30:34 <Solace> Idk how its a meme
06:38:03 <oren> the largest number is 1.79769313486232 time ten to the 308.
06:39:19 <oren> the most negtive number is negative that
06:39:30 <coppro> I thought it was 40 million plus 1
06:39:43 <Taneb> coppro, those two numbers are actually equal
06:40:14 <coppro> happy solstice day everyone
06:40:27 -!- roasted42 has quit (Ping timeout: 272 seconds).
06:40:36 <Taneb> You too
06:40:45 <oren> that means this is the longest night of the year
06:40:51 <Taneb> Not where I am!
06:41:39 -!- roasted42 has joined.
06:42:29 <coppro> solstice occurs late GMT, so that means that most places will have tomorrow night be longer
06:42:45 <coppro> remember to sing your solstice carols
06:43:36 <oren> deck the halls with bows of hally falalalalalalalalala
06:43:54 <oerjan> Taneb: oh you're in australia now?
06:44:17 * oerjan vaguely recalls you passing through hong kong
06:45:54 <coppro> oren: that's a christmas carol. common mistake.
06:46:07 <coppro> https://www.youtube.com/watch?v=iYQ8bcDaMaI
06:46:17 -!- incomprehensibly has quit (Ping timeout: 240 seconds).
06:46:39 <oerjan> i don't know any solstice carols. the sta. lucia song is close if you squint anachronistically in two ways simultaneously
06:46:48 <oerjan> or possibly three
06:47:43 <oerjan> (st. lucy's day is on dec. 13, which _used_ to be solstice under the julian calendar - but the change to gregorian happened _before_ the swedes stole the song from the italians)
06:48:48 <oren> Jingle bells, Batman smells, Robin laid an egg!
06:49:00 -!- incomprehensibly has joined.
06:49:53 <oerjan> coppro: thx now i know one tdh
06:50:49 * oerjan recall's irregular webcomic's old christmas carols
06:50:52 <oerjan> *-'
06:51:14 <Taneb> oerjan, yeah, until tomorrow morning
06:51:50 <oerjan> (also the italian song isn't a carol, or religious at all)
06:51:58 <oren> Joy to the world, the teacher's dead, we bbqed her head!
06:52:39 -!- hjulle has quit (Ping timeout: 258 seconds).
06:54:07 <Solace> Pettition to rename planet "punishment orb"
06:55:07 <Solace> Gonna go spend time with family and drink England water
06:55:15 <Solace> Thats what i call tea
06:55:56 <oerjan> Strafenkugel
06:56:19 <Solace> Huh
06:57:02 <oerjan> that's punishment orb, except in german, so sounds better
06:57:22 <oerjan> not quite sure about the -en-
06:59:33 <oren> 罰球- batsukyuu=punishment orb in japanese
07:01:20 <oren> or maybe it would shorten to bakkyuu?
07:02:06 <oerjan> hm googling i found Strafenkugel in a long word list, but otoh i found Strafkugel on a site with "bondage" in the title
07:03:00 <J_Arcane> http://docs.spring.io/spring-framework/docs/2.5.x/api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html
07:03:20 <oren> OH GOD WHY
07:03:24 <oerjan> ok the latter has many more hits (still just 134)
07:04:29 <oerjan> oren: because enterprise hth
07:04:34 <oren> apparently 罰球 is a chinese word meaning a free throw or free kick
07:05:37 <oerjan> is it used in football?
07:05:46 <oerjan> (soccer)
07:05:48 <oren> in basketball and football.
07:06:03 <oerjan> there are two different kinds of kick in soccer though
07:06:34 -!- roasted42 has quit (Ping timeout: 265 seconds).
07:06:55 <oerjan> oh possibly three
07:07:08 <oerjan> direct free kick, indirect free kick, and penalty kick
07:07:30 <oren> the chinese wikipedia article describes this and has articles on each one
07:08:01 <oren> (my chinese is very very bad...)
07:08:03 <oerjan> ok
07:08:09 -!- roasted42 has joined.
07:08:53 <oerjan> i just learned today that the new chinese president, or was it premier, is a soccer fan and wants china to stop being ridiculously bad at it
07:09:10 <oerjan> (they're 88th place on the ranking, behind e.g. norway and tiny iceland)
07:09:46 <oerjan> um i guess it's yesterday by now
07:10:29 <Jafet> Why is AbstractSingletonProxyFactoryBean considered bad
07:12:52 -!- shikhin has joined.
07:12:57 <oren> because the factory, singleton, and proxy patterns are by themselves bad things created by a bad language
07:13:07 -!- shikhin has quit (Changing host).
07:13:07 -!- shikhin has joined.
07:13:24 <coppro> k/win 6
07:13:52 <coppro> oerjan: the hp lovecraft historical society has two albums of them, and they're mostly fantastic
07:14:27 <oerjan> coppro: but some are real right?
07:14:53 <coppro> oerjan: they are all just re-lyriced christmas carols
07:15:01 <coppro> usually to the same tune, with one notable and wonderful exception
07:15:10 <coppro> death to the world is joy to the world, but transposed into minor key
07:15:19 <coppro> https://www.youtube.com/watch?v=ptP0OR-e7rI
07:15:21 <coppro> it's pretty amazing
07:22:26 -!- Patashu has quit (Ping timeout: 256 seconds).
07:29:47 -!- Stormzy has left.
07:43:47 -!- roasted42 has quit (Ping timeout: 272 seconds).
07:46:03 -!- dts|pokeball has quit (Ping timeout: 252 seconds).
07:48:52 <oren> https://www.youtube.com/watch?v=Sbk5xdG8V4g
07:49:36 -!- dts|pokeball has joined.
08:33:43 -!- oerjan has quit (Quit: Nite).
08:35:59 <J_Arcane> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773619
08:36:21 <oren> you ever like a song, and then find out the lyrics and they are kind of worrying?
08:37:36 <oren> J_ARcane: yeah it should just display the half-loaded page. fail.
08:38:15 <J_Arcane> oren: indeed. It's a bizarre approach. I haven't seen loading behavior like that in years.
08:38:52 <oren> Anyway this song is worrying: https://www.youtube.com/watch?v=uy2-B3D0cvU
08:39:43 <oren> (lyrics start at 30 seconds in)
08:41:00 <oren> I built a spreadsheet program, but i haven't added formulas in. what kind of formula syntax would be better than excel's?
08:45:09 <oren> I am thinking that formulae will not be attached to any particular cell, but rather to the page
08:46:19 <oren> and then act on the page as "constraints" that are truified each time the spreadsheet is modified
08:47:42 <oren> (is "truify" a word? it should be one)
08:51:58 <oren> so for example ``[0,0] = [1,0]+[2,0]" will ensure that the equation between those three cells holds true when any of them is modified
08:52:14 <zzo38> That might be a good idea
08:52:36 <zzo38> But in some cases it would become ambiguous
08:53:04 <oren> hmm so long as we have some arbitrary rules for biguation
08:54:16 <oren> or, disallow adding a formula that isn't true right now
08:54:59 <oren> wait that would not solve all of it
08:55:01 <zzo38> oren: In that case at least, what you can do is that if that rule is defined when [0,0] is empty, fill in that cell when the rule is defined
08:55:23 <zzo38> But only for rules of that particular form and only in those cases
08:55:28 <oren> yeah i have a special empty type already
08:55:38 <zzo38> Another thing that would help is to be able to define ranges, such as data belongs in this series of rows, and/or columns, and then if you insert rows/columns it expands the range.
08:56:57 <oren> here is example of a spreadsheet: http://snag.gy/HdVDO.jpg
09:02:04 <J_Arcane> http://boingboing.net/2014/12/19/usbdriveby-horrifying-proof-o.html
09:04:53 <oren> J_arcane that is pretty horrifying
09:05:39 <oren> and reason to lock your computer when you get up to go tothe bathroom
09:07:05 <zzo38> That is also something I have thought of many years ago and is one thing I hate about USB.
09:07:42 <zzo38> But, there are also ways to fix a system to avoid this problem, such as you can fix Linux.
09:09:15 <oren> and don't trust anyone to use your computer whom you don't trust implicitly
09:11:35 <Jafet> Physical access.
09:18:41 -!- Patashu has joined.
09:31:55 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
09:32:34 -!- adu has joined.
09:47:33 -!- adu has quit (Quit: adu).
10:09:04 <zzo38> About physical access it is still true you should not let them to touch your computer; with physical access you can damage stuff.
10:10:03 <zzo38> But, even if someone give to you and you connect it to your computer, then it can cause this problem with USB.
10:12:43 <zzo38> It is just one of many problems with USB in general.
10:19:08 -!- roasted42 has joined.
10:23:58 -!- InvalidC1 has changed nick to InvalidCo.
10:30:10 <oren> perhaps instead of defining exact constraints, we define statements of dependent action
10:30:58 <oren> e.g. x<-x+N=>y<-y+N
10:31:27 <oren> which means when x changes by N, y changes by the same amount
10:34:46 <oren> hmm, but then there are loops. we can resolve this by allowing only one rule mentioning any pair of cells
10:35:32 <oren> and allowing <=> as well as =>
10:40:08 -!- Solace has quit (Quit: Connection closed for inactivity).
10:56:25 <oren> No that doesn't help. constraints need to be in a strict tree to avoid loops
10:57:20 <oren> following => from any cell should get a tree with no duplicate nodes
11:00:10 <oren> yes i think that will work
11:02:22 -!- roasted42 has quit (Ping timeout: 240 seconds).
11:04:25 -!- roasted42 has joined.
11:12:17 -!- roasted42 has quit (Changing host).
11:12:17 -!- roasted42 has joined.
11:12:17 -!- roasted42 has changed nick to TheM4ch1n3.
11:17:37 -!- oren has changed nick to |oren\.
11:31:07 -!- MoALTz has quit (Read error: Connection reset by peer).
11:32:54 -!- MoALTz has joined.
11:35:07 <b_jonas> yay!
11:42:05 <J_Arcane> blargh. I am thus far not finding Scribble nearly as friendly as advertised ...
11:42:40 <b_jonas> it's not friendlyi
11:44:06 <J_Arcane> It seems like a hell of a lot of weird syntax to learn when I could just be writing in Markdown or LyX like I usually would ...
11:45:27 -!- TheM4ch1n3 has quit (Ping timeout: 265 seconds).
11:45:27 -!- roasted42 has joined.
11:59:26 -!- Patashu has quit (Ping timeout: 250 seconds).
12:26:04 -!- shikhout has joined.
12:26:26 -!- shikhout has changed nick to Guest66634.
12:28:47 -!- shikhin has quit (Ping timeout: 244 seconds).
12:34:37 -!- roasted42 has quit (Ping timeout: 240 seconds).
12:37:31 -!- roasted42 has joined.
12:41:43 <|oren\> I am implementing greek mode for TTML, based partly on this image of the original space cadet keyboard layout: http://home.comcast.net/~mmcm/kbd/SpaceCadet3.jpeg
12:48:34 <|oren\> also from that image i now know where vi's bizarre ghjk arrows come from
12:48:57 <b_jonas> |oren\: what...
12:49:18 <|oren\> what what?
12:49:37 <b_jonas> vi has hjkl arrows, and they have no relation to APL keyboard layouts
12:50:26 <b_jonas> hjkl was simply invented because it's four convenient neighbouring keys
12:50:42 <HackEgo> [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=41525&oldid=41505 * * (+1017) /* Looks Like */ "Soviet Script" and "In Soviet Russia" merge YOU!!!
12:51:41 <|oren\> i see... well i don't use vi so i just knew it had some crazy layout... anyway why not ijkl?
12:52:18 <|oren\> that has the advantage that they are in the right configuration and all in a row in ASCII
12:52:29 -!- vanila has joined.
12:52:35 <b_jonas> |oren\: as for that APL layout, it seems to be similar to the third image in http://www.quadibloc.com/comp/kybint.htm , which by the way you may want to consult if you want to see more crazy keyboard layouts
12:53:30 <b_jonas> |oren\: it's not ijkl because it's more difficult to reach i than j and k, especially if you also want to press l soon after, and also, i is the perfect mnemonic for "insert", the most important command in vi
12:53:42 <b_jonas> also, because of history
12:54:02 <b_jonas> and of course i is also the best mnemoic for "inventory"
12:54:52 <b_jonas> |oren\: just in case it's not clear, those arrows on that keyboard layout are printable symbols
12:55:20 <b_jonas> specifically in APL, the left arrow stands for assignment (same as in smalltalk), the right arrow stands for goto, the up and down arrow stand for take and drop respectively
12:57:48 <|oren\> anyway v is an interesting choice for the ending sigma. i would have put it on c...
12:58:59 <|oren\> and i would put nu on v, and eta on n
12:59:41 <|oren\> so that the greek letters look sort of like their corresponding latin letters.
13:00:33 <|oren\> they seem to have gone with a pronounciation based layout instead
13:01:05 <|oren\> i wonder which is actually the best choice
13:03:59 -!- roasted42 has quit (Ping timeout: 245 seconds).
13:05:41 -!- roasted42 has joined.
13:09:11 <|oren\> oh and i am also rerying my idea for a language with its own non-ascii-based, entirely original code page
13:09:56 <|oren\> like what if you could change latin to greek by flipping one bit?
13:10:27 <|oren\> and then change to cyrillic by flipping another one
13:19:00 <zzo38> I think I have seen that "hjkl" is due to some keyboard having those arrows on those letters (which they put there for the purpose of inventing vi)? Apparently also the escape was where the modern keyboard has a tab key? I don't know for sure.
13:20:10 <zzo38> Well, also their order is same as in Dance Dance Revolution and related games, I have noticed. If you play using a keyboard you might want to use "hjkl" if possible; same as vi even.
13:26:14 <lifthrasiir> that suddenly made me interesting, DDR indeed uses the same order as vim's (and many others).
13:26:50 <lifthrasiir> other combinations don't make much sense, but the choice between hjkl and hkjl seems not that arbitrary, with a strong preference to hjkl
13:37:46 <b_jonas> zzo38: on the PC XT keyboard, escape is of course to the left of the 1, but vi is older than that
13:43:02 -!- boily has joined.
13:48:41 -!- roasted42 has quit (Ping timeout: 252 seconds).
13:49:39 -!- roasted42 has joined.
13:51:35 -!- GeekDude has joined.
14:12:24 -!- Guest66634 has changed nick to shikhin.
14:12:30 -!- shikhin has quit (Changing host).
14:12:30 -!- shikhin has joined.
14:29:18 -!- roasted42 has quit (Ping timeout: 265 seconds).
14:29:57 <|oren\> yesss... i will make a language with an alternate-universe code page
14:31:19 -!- roasted42 has joined.
14:32:37 -!- nys has joined.
14:37:57 -!- roasted42 has quit (Ping timeout: 244 seconds).
14:48:27 * J_Arcane writes documentation.
15:02:48 <J_Arcane> Of all the things about Lisp, this is one that still strikes me as largely unnecessary: http://stackoverflow.com/questions/547436/whats-the-difference-between-eq-eql-equal-and-equalp-in-common-lisp
15:03:12 <vanila> EQ is important for a fast pointer equality check
15:03:24 <vanila> EQUAL is important to test equality of values
15:03:54 <vanila> eql and equalp seem stupid
15:04:41 <elliott> scheme having like ten equality procedures is annoying
15:04:47 <elliott> especially the pointless type-specific ones
15:05:08 <elliott> you really want pointer equality in a language with mutability though
15:05:15 <|oren\> how the hell do i type an å
15:05:18 <elliott> like you're kind of screwed in terms of handling cyclic lists without it
15:05:57 <|oren\> mutability as default sucks tho
15:06:05 <elliott> I didn't say as default
15:06:13 <vanila> mutability does not suck
15:06:24 <elliott> if you have mutability at all you need to be able to compare identifies of any object that acts as a mutable reference
15:07:03 <|oren\> elliott: true but any high level language should have mutability as like an advanced feature, not a basic one
15:07:34 <elliott> okay well... that doesn't make sense since you can't really add mutability after the fact like that
15:07:39 <elliott> unless you're talking about like... State or whatever
15:07:43 <elliott> but it's also irrelevant to the point
15:07:53 <elliott> *Haskell's Staet
15:07:54 <vanila> http://simple.wikipedia.org/wiki/Structured_program_theorem this is low quality
15:07:56 <elliott> *spelling
15:07:59 <vanila> The structured program theorem is a theory in programming and computer science
15:08:04 <vanila> it's a theorem, not a 'theory'
15:09:05 <|oren\> elliott: i was annoyed by the fact that the pointer equality is the shortest one. t should have a longer name and regular equality shoulf have a short one
15:09:17 <elliott> it's shorter because it's faster
15:09:24 <elliott> it's easier for the computer to process shorter names
15:09:24 <vanila> |oren\, it's not important to huffman code variable names
15:09:37 -!- mitchs has joined.
15:09:39 <elliott> actually I disagree :p
15:09:42 <|oren\> i kind of disagree
15:10:01 <elliott> eq is O(2) because it has two letters
15:10:07 <elliott> whereas equal is O(n) because it has more letters than I can count
15:10:12 <|oren\> the short variable names like x,i,etc should always be the localist var names
15:10:15 <elliott> therefore eq is faster
15:10:23 <|oren\> *est
15:10:42 <elliott> call-with-current-continuation is O(n^4) because there's four words
15:10:43 <vanila> can someone help me about structured programming theorem?
15:13:23 <|oren\> what about it? doesn't it just say all you need to be turing complete is if and loops?
15:13:55 <vanila> there's a claim that you need goto or labelled break/continue - otherwise programs can be made which are hard to turn into structured programs
15:13:58 <vanila> what are those programs?
15:14:14 <vanila> Kosaraju proved that a strict hierarchy of programs exists, nowadays called the Kosaraju hierarchy, in that for every integer n, there exists a program containing a multi-level break of depth n that cannot be rewritten as program with multi-level breaks of depth less than n
15:14:53 <J_Arcane> I actually don't have anything but eq? defined in Heresy.
15:15:17 <|oren\> but any break can be replaced with an extra variable
15:16:13 <vanila> basically I need to read Sambasiva Rao Kosaraju paper
15:16:47 <vanila> http://dl.acm.org/citation.cfm?id=804055 oh cool it's on ACM, only $15
15:16:52 <vanila> isn't science great!
15:18:42 <vanila> What do the programs on the Kosaraju hierarchy look like?
15:22:43 <vanila> I found an graph of the heirerarchy but not what the programs on it look like
15:23:11 <vanila> I had thought that this structured programming stuff might make me think goto had some uses but it doesn't
15:26:59 <|oren\> goto has uses, it just isn't good when overused. any goto can be replaced with a boolean var and some extra conditions,
15:27:37 <|oren\> but this practice is generally more confusing than if you had just used a goto with a descriptive label
15:37:41 <vanila> http://soclab.ee.ntu.edu.tw/~soclab/course/Milestones_in_SW_Evolution/2-2-CACM-Nov-1975-p629-ledgard.pdf]
15:37:42 <vanila> http://soclab.ee.ntu.edu.tw/~soclab/course/Milestones_in_SW_Evolution/2-2-CACM-Nov-1975-p629-ledgard.pdf
15:37:43 <vanila> kinda fun
15:37:47 <vanila> all kinds of control structures
15:40:51 <|oren\> aha. so kosaraju's hierarchy apparently shows when you have to have a new boolean variable
15:47:42 <|oren\> the argument against knuth's use of goto on page 638 i find vacouous, because call is practically a goto, it simply provides a mechanism to goto back.
15:48:08 <|oren\> (in imperative languages that is)
15:48:29 <vanila> http://citeseerx.ist.psu.edu/viewdoc/summary?doi= lol
15:49:01 <vanila> call?
15:49:03 <vanila> i dont know
15:49:09 <vanila> procedure cal?
15:49:20 <|oren\> yes that
15:49:36 <vanila> thats not goto
15:49:58 <|oren\> it is a goto followed by a complex assigned goto
15:50:16 -!- roasted42 has joined.
15:50:20 <|oren\> return is a goto assigned by the caller
15:51:16 <|oren\> in BASIC calling a procedure is done with GOSUB command
15:53:28 <|oren\> anyway, procedure call was not among the control structures listed in the article
15:53:44 <vanila> |oren\, if you only use sequencing, if/then/else while and procedure calls then each part of the program can be understood on its own piece by piece. When you use goto that is lost
15:55:37 <|oren\> that is true... when goto is used as in was in the 1970's
15:55:49 <vanila> procedure calls may be implemented in terms of jumps but they are done in such a way that this property is preserved
15:55:59 <|oren\> when goto is used wisely it pervents confusion
15:56:18 <vanila> i am skptical of that
15:56:53 <|oren\> would you rather keep track of how many nested loops use a boolean or simply ^F for the goto label
15:57:26 <vanila> i dont know, this has never come up in my programming
16:00:14 <|oren\> Multiple nested loops that you have to break out of have never come up?
16:00:36 <vanila> goto
16:02:04 <|oren\> well consider the following problem then: search a list of strings for a word, and either print the first sentence in which it appears or print "Does not appear." if you do not find one.
16:03:06 <|oren\> I maintain that the simplest, least confusing algorithm for this uses a goto or return from the innermost loop on success.
16:05:39 <elliott> > let search _ [] = "Does not appear."; search w (s:ss) | w `isInfixOf` s = s | otherwise = search w ss in text $ search "hello" ["q", "the hello world", "r"]
16:05:40 <lambdabot> the hello world
16:05:44 <vanila> okay let me try
16:06:15 <|oren\> elliott: i was talking about imperative languages of course... lol
16:06:29 <elliott> > let search = fromMaybe "Does not appear" . find . isInfixOf in text $ search "hello" ["q", "the hello world", "r"]
16:06:30 <lambdabot> Couldn't match expected type ‘[[GHC.Types.Char]]
16:06:31 <lambdabot> -> GHC.Base.String’
16:06:31 <lambdabot> with actual type ‘[GHC.Types.Char]’Couldn't match type ‘[[a]] ->...
16:06:32 <elliott> oops
16:06:41 <elliott> > let search w = fromMaybe "Does not appear" . find (w `isInfixOf`) in text $ search "hello" ["q", "the hello world", "r"]
16:06:42 <lambdabot> the hello world
16:07:06 <elliott> |oren\: but I like writing haskell code
16:07:10 <elliott> well, I like writing haskell one-liners
16:08:03 <vanila> find_word_index() { for(i = 0; i < length; i++) { if(contains_word(word, sentence[i])) { return i; } } return -1 }
16:08:03 <vanila> program() { i = find_word_index(); if(i != -1) { print(sentence[i]); } else { print("Not found"); } }
16:08:41 <elliott> vanila: to be fair, return breaks the same invariants as break
16:08:45 <|oren\> a return from the innermost loop, as i said.
16:08:58 <elliott> (which isn't as bad as a goto, but dijkstra still isn't happy)
16:09:06 <vanila> |oren\, okay, but this isnt' goto
16:09:14 <elliott> (since you can't do the same proof about the contract of the loop)
16:09:45 <vanila> elliott, what's that?
16:09:49 <elliott> vanila: http://blog.plover.com/prog/Hoare-logic.html
16:09:57 <elliott> that explains why dijkstra doesn't like goto/break
16:10:10 <vanila> "I never read anything by Dijkstra that wasn't noticeably out of touch with the reality of programming" <- lol
16:10:16 <vanila> yeah he never even coded
16:10:35 <elliott> (the argument there applies to returning from a loop too since that's basically a break)
16:10:37 <|oren\> in structured programming the general assumption is that every procedure exits at the end
16:11:22 <|oren\> when they even have procedures, which or example brainfuck doesn't
16:11:40 <vanila> yeah this is why brainfuck is so hard and awful to program in
16:11:51 <vanila> http://en.wikipedia.org/wiki/Structured_program_theorem even links to P''
16:11:53 <elliott> vanila: so in this sense break/return is not nearly as bad as goto but it is still a concession away from structured programming
16:11:55 <vanila> The construction was based on Böhm's programming language P′′.
16:11:57 -!- roasted42 has quit (Ping timeout: 245 seconds).
16:12:27 <elliott> because you can prove less using the structure, you cannot entirely understand each part of the program on its own like you said
16:13:30 <elliott> (it reduces the compositionality of your hoare logic)
16:13:51 <vanila> i see, that makes sense to me
16:14:40 <vanila> I don't think omitting break and continue will make it easier to prove programs correct
16:15:05 <elliott> I think it does (but it might make the programs harder to write in the first place)
16:15:12 <elliott> (the same applies to goto, arguably)
16:15:13 -!- roasted42 has joined.
16:15:47 <elliott> find_word_index() { found = None; for (i = 0; i < length && found.isNone(); i++) { found = search_sentence(sentence[i], word); } return found; }
16:15:51 <elliott> ^ I think this isn't so bad
16:16:04 <elliott> (assuming a None/Some maybe type)
16:17:13 <vanila> it could be written recursively instead of for loop
16:17:16 <elliott> of course { result = None; for (i = 0; i < length && result.isNone(); i++) { result = f(list[i]); } return result; } is precisely Haskell's find :p
16:17:30 <elliott> *p(list[i]);
16:19:10 <|oren\> procedural programming languages of the era such as Fortran 66, often didn't allow recursion.
16:19:21 <vanila> yeah you need scheme to write this recursively
16:19:49 <elliott> algol did!
16:20:20 <|oren\> I have a book that my dad studied programming from. the examples are in fortran 66 and PL/I. might as well be greek and sanscrit.
16:20:44 <|oren\> actually that's not fair
16:21:00 <|oren\> PL/I is pretty readable if you know C
16:21:48 <|oren\> elliott: yeah but i dunno how many people actually used algol.
16:24:35 <elliott> it was certainly relevant to people like dijkstra and knuth!
16:25:04 <vanila> dijkstra implemented the algol compiler
16:25:10 -!- Prax has joined.
16:25:12 <elliott> algol 68 is kind of incredible, it's like a language from the future but also the most 60s thing ever
16:25:22 <vanila> hehe
16:25:27 <elliott> and also kind of a total mess?
16:25:52 <elliott> algol is to blame for bash's god-awful "esac" stuff
16:25:55 <elliott> so I can never forgive it
16:29:43 <|oren\> comments with a weird slashed c which i've never even seen
16:30:03 <elliott> you've never seen a cent sign?
16:30:10 <elliott> aren't you american
16:30:27 <|oren\> a cent sign is a c with a vertical line. I'm from Canada
16:30:39 <elliott> it would have actually looked more like https://en.wikipedia.org/wiki/ALGOL_68#Example_of_different_program_representations
16:30:54 <elliott> ¢ is a cent sign (and the comment character used there)
16:31:30 <|oren\> that is a c with a vertical line
16:31:59 <elliott> so is the character there
16:32:11 <elliott> I copied and pasted it.
16:32:15 <|oren\> hold on
16:32:27 <elliott> I think algol 68 actually has "semantic bolding"
16:32:32 <elliott> because you can name variables after keywords
16:32:35 <elliott> because keywords are all bolded.
16:32:41 <|oren\> yeah. that is kinda nuts
16:32:57 <|oren\> but doable today because of the math extensions to unicode
16:33:00 <elliott> oh right, and names with spaces in them I guess
16:33:05 <elliott> the future
16:33:20 <fizzie> Can also be underlined.
16:33:52 <elliott> the keywords or the names
16:34:15 <fizzie> I don't remember which way around, I just remember underlining to differentiate was also a thing.
16:34:18 <fizzie> Easier than bold when writing by hand.
16:34:29 <|oren\> http://snag.gy/Sc1dX.jpg <-- it might be a vagary of the font
16:35:25 <|oren\> yeah it is. me and my stupid japanese fonts
16:35:37 <fizzie> That's the screwiest font possible for "font-family: monospace, Courier".
16:36:18 <|oren\> Jiyucho Bold
16:37:10 <elliott> what a cute monospaced font
16:37:24 <elliott> bug report your title bar fonts are too normal
16:37:52 <|oren\> i'll see what i can do about that
16:37:57 <elliott> |oren\: did you deliberately plant that video that looks like it might be "Disney Furry" or something
16:38:25 <|oren\> No i was listening to this: https://www.youtube.com/watch?v=uYccun6GkDI
16:38:26 <fizzie> JPEG has not been kind to that red text.
16:38:58 <elliott> oh, it's Eur, not Fur
16:39:22 <elliott> very glad Disney Eurobeat CD 1 is a thing that exists, especially in how it implies the existence of future Disney Eurobeat CDs
16:39:26 <elliott> *of further
16:39:34 <|oren\> There are 3 that i know of
16:40:18 <elliott> scientists may yet discover more
16:40:21 <|oren\> they are actually made by real eurobeat artists
16:43:05 -!- roasted42 has quit (Ping timeout: 264 seconds).
16:43:07 <|oren\> fizzie: wow, you're right, it's all blotchy.
16:43:52 <elliott> fizzie: I don't know why Y'CbCr hurts red so much.
16:44:00 <elliott> presumably something to do with fiddly human optics things.
16:44:08 <elliott> but it's weird.
16:44:21 <nys> the periodic table of eurobeat CDs suggests that there are eight theoretically possible disney eurobeat CDs
16:44:41 <nys> though the remaining ones can only be observed for brief moments under laboratory conditions
16:45:36 <|oren\> he lives in you, he lives in me, he watches over, everything we see... into the water. into the truth. in your reflection. he lives in you.
16:45:37 <elliott> nys: don't forget the "transition eurobeat CDs", which are compilations of partly disney, partly other eurobeat tracks
16:46:10 <nys> hee
16:49:04 <elliott> vaporwave was long hypothesised to exist but only recently created in laboratories
16:51:00 <fizzie> elliott: I don't remember too much about the JPEG details. Maybe it's because the red and grey parts have more-or-less identical Y' values, so they're differentiated only by the color channels, and those are (often) downsampled. The other text also has the shape in the full-resolution luminance information.
16:51:26 <elliott> fizzie: blue text generally fares better, I think
16:51:41 <elliott> fizzie: you can see this in regular videos, too -- red stuff with edges just looks bad compared to everything else
16:51:47 <elliott> it's always smudgier
16:53:54 <elliott> http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1009.html dijkstra on goto again -- my version of that word search program is recognisable in the bounded linear search theorem here
16:54:16 <fizzie> What's weird is that if I wget the image, what I get is a PNG file with a .jpg extension.
16:55:24 <elliott> ((0) and (1) are perfect examples of how much of an annoying dick he was, too :p)
16:55:34 <elliott> (well, (0) especially)
16:55:45 <fizzie> (But it's still clearly been compressed with something very JPEGy (you can see the 8x8 blocks and the typical DCT artefacts) at some point of its history.)
16:56:01 <vanila> (1) Rubin still starts indexing the rows and the columns at 1. I thought that by now professional programmers knew how much more preferable it is to let the natural numbers start at 0. I shall start indexing at 0.
16:56:02 <vanila> lol
16:56:54 <elliott> (2) rubin smells and is bad at programming
16:57:08 <vanila> haha
16:58:10 <elliott> http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1009.PDF his handwriting was so great
16:58:51 <elliott> it's like he ran a typesetting program in his head
16:59:20 <|oren\> why the hell is bing now better than google
16:59:46 <|oren\> i guess because microsoft isn't taking everything down
17:00:12 <elliott> I find it interesting that |oren\'s suggested goto-using problem was very comparable to the one posed back in 1968
17:00:44 <vanila> Applying the above theorem twice yields for Rubin’s problem
17:00:45 <vanila> does that mean
17:00:47 <vanila> Applying the above theorem twice yields for Rubin’s program
17:01:30 <vanila> that was a brutal takedown
17:01:35 <vanila> he just derived the program like that
17:02:22 <elliott> it means for Rubin's problem
17:02:33 <elliott> Rubin stated a problem to defend the use of goto, Dijkstra derived a solution for it
17:02:38 <vanila> http://joshuah.scripts.mit.edu/blog/?p=195
17:02:57 <vanila> python doesn't have GOTO????
17:03:17 <elliott> it doesn't
17:03:30 <elliott> Dijkstra's solution is basically just nesting (search p n = go 0 where go m | m == n = Nothing | p m = Just m | otherwise = go (m + 1))
17:04:46 <elliott> if only his pseudocode had included abstraction over control structures so he could have written (search (\i -> not (search (\j -> x!(i,j) == 0) n)) n) :p
17:04:50 -!- ais523 has joined.
17:05:08 <elliott> uh that might need another ) in there somewhere
17:09:17 <|oren\> ok i am just going to swith my default serch to bing. google is officially over.
17:10:11 <elliott> wouldn't duckduckgo be more your thing
17:11:00 <elliott> it's the same results after all
17:11:11 <elliott> (my interaction with duckduckgo consists of appending !g to every query because the ddg/bing results are useless)
17:11:42 <|oren\> in two cases today the top result on bing was what i wanted and google did not even list it
17:12:18 <|oren\> so google is over. it's just... over. I'm breaking up with google
17:12:32 <elliott> (okay, not actually the exact same results)
17:12:45 <elliott> (I guess ddg have started doing their own crawling too now)
17:13:07 <vanila> have you tried to use the search engine made by the guy who wrote the elk cloner?
17:13:10 <ais523> elliott: ddg take results from yandex quite a bit, IIRC
17:13:25 <ais523> also they use the ais523 method of searching quite a bit (i.e. know in advance what website to look on)
17:13:45 <ais523> e.g. if there's a Wikipedia article about your search term, and it has an official website link, they'll use that (possibly with checks to ensure it hasn't been edited recently, although I doubt it)
17:13:51 -!- S1 has joined.
17:14:01 <elliott> vanila: blekko? no but I think ddg uses it or something
17:14:12 <elliott> for the results it has in the top bar
17:25:28 <|oren\> anyway from my point of view it is completely unacceptable for google to refuse a Canadian access to links to a Russian website based on a law that only exists in America.
17:26:04 <elliott> yeah it's completely unacceptable for google to follow laws in the country their servers are in
17:26:09 <elliott> so that they don't get seized
17:26:13 <elliott> fucking weird imo
17:26:25 <elliott> it's almost like google is an american corporation or something
17:26:30 <elliott> and has to follow american laws
17:26:43 <|oren\> well microsoft lists the russian websites
17:27:00 <elliott> because nobody cares about bing enough to send DMCA notices to them
17:27:06 <ais523> elliott: they also have to follow the laws in the country their headquarters are in
17:27:08 <elliott> would you like me to?
17:27:09 <boily> Google should change the law.
17:27:12 <ais523> Microsoft got in trouble over this recently
17:27:27 <ais523> by refusing to give US law enforcement information on servers they controlled outside the US
17:27:36 <ais523> not sure how the story ended or if it has yet
17:27:46 <|oren\> that is completely correct in my view
17:28:02 <elliott> |oren\ is probably accessing US servers
17:28:09 <elliott> at least I don't know google to have any servers in canada
17:28:27 <|oren\> it's cold here they could save on cooling
17:28:39 <ais523> tbf Google probably have servers everywhere
17:28:49 <ais523> in order to reduce latency
17:29:01 <elliott> |oren\: do you think it's absurd that corporations in the US can't sell cocaine to people who live in countries where it's legal because selling cocaine is illegal in the US (let's ignore laws on possession, and the pointlessness of the war on drugs)
17:29:53 <elliott> ais523: I don't think that's a given... for something like google search, investing in making huge data centeres everywhere doesn't make much sense
17:30:02 <elliott> compared to picking a few hotspots for it
17:30:06 <elliott> *centres
17:30:27 <ais523> I don't think either method is necessarily going to be the better one on the information we have
17:30:44 <elliott> well, we know about amazon's data centre distribution
17:31:10 <|oren\> elliott: the issue is that the US tries to apply its laws elsewhere, to the point of for example an american corporation seized an argintinean navy ship.
17:31:12 <ais523> huh, that's weird, I just did "dig google.com" and a whois on the resulting address
17:31:17 <ais523> and it was registered to YouTube
17:31:19 <elliott> (http://www.enterprisetech.com/2014/11/14/rare-peek-massive-scale-aws/ goes into some detail)
17:31:27 <ais523> Google owns YouTube, but I think of YouTube as being part of Google rather than the other way round
17:31:36 <elliott> |oren\: ok, but this has nothing to do with not giving you links that they are required by US law not to give you :P
17:32:34 <ais523> IMO censoring information by censoring links to it doesn't really work anyway
17:33:20 <ais523> |oren\: you'd have better luck with a canadian or russian search engine, really
17:33:32 <ais523> then neither would have a sensible reason to deny access to the links, assuming they're legal in both canada and russia
17:34:58 <|oren\> isn't google.CA enough? apparently not. anyway i have been known to use baidu
17:35:04 <vanila> it looks hard to censor information off the web
17:35:11 <ais523> it is hard
17:35:14 <vanila> i suppose the thing is, for the guys who have done this well - we do not know about it
17:35:27 <vanila> although we hear a lot about china, I thinkt hey have a very successful set of methods
17:35:57 <vanila> (mostly the social part, getting lower level web admins to help self-censor things so that they can continue to run their site without trouble)
17:36:13 <vanila> but of course DPI and blocking a lot of things too
17:36:57 <|oren\> of course to use baidu properly you need to write in chinese (which is pretty much beyond my capabilities still)
17:37:32 <|oren\> so i use a translator
17:38:47 <elliott> vanila: china do some fancy things with tor -- they actually talk the tor protocol to IPs to check whether they're tor relays
17:38:56 <elliott> uh, maybe not relays. I forget the exact tor terminology. they use this for blocking tor, anyway
17:39:25 -!- MM_ has joined.
17:39:55 <ais523> elliott: "exit node" and "middle node" is the main Tor terminology, I think
17:40:10 <ais523> middle nodes are the ones you bounce off, exit nodes are where the traffic reaches the open internet
17:40:13 <|oren\> really i think a lot of the web is simply hidden by linguistic barriers
17:40:23 <vanila> ive hard them called relays
17:40:26 <ais523> (with everything but the source address unencrypted)
17:40:31 <elliott> ais523: I forget what a relay is though
17:40:32 <ais523> "relay" is a pretty decently descriptive term, though
17:40:33 <elliott> maybe a middle node
17:40:49 <|oren\> i've never used tor or even bothered to read bout it
17:41:33 <ais523> I don't use it, but I'm aware of it
17:41:38 <elliott> I'm not sure china get much out of their internet censorship other than economically (cf. there being chinese versions of every internet thing)
17:41:44 <elliott> which may be the whole point?
17:41:52 <ais523> you pretty much have to be if you've ever needed to chase someone
17:42:01 -!- MM_ has quit (Client Quit).
17:42:01 <ais523> elliott: well apparently, the main purpose is to stop people arranging public gatherings
17:42:04 <ais523> like the one in Hong Kong
17:42:08 <ais523> is that one still going, incidentally?
17:42:10 * ais523 looks it up
17:42:16 <|oren\> nah they broke it up
17:42:27 <|oren\> i read on Xinhua about that
17:42:33 -!- n00b7489 has joined.
17:42:51 * |oren\ regularly reads Xinhua, RT, BBC, and Fox News
17:47:24 -!- hjulle has joined.
17:49:24 <n00b7489> Assuming a programming language doesn't have variable names or even memory addresses, but rather just a stack to push data on the top and retrieve then discard from the top,
17:53:09 <elliott> pushdown automaton
17:53:22 <elliott> they are not TC
17:53:39 <elliott> ...I hope I just psychically answered your question :p
17:54:31 <n00b7489> and it doesn't even have built-in multiply and divide, greater and less than, or any other advanced operations of any level built in, rather just the simple addition and subtraction of the top two values, and simple flow control by whether the top value is or isn't 0,
17:55:02 <ais523> n00b7489: it can't be TC unless you have another data structure somewhere (another stack will do; sometimes you can use the call stack for that purpose, if the language has a callstack)
17:55:30 <elliott> ais523: well, it could be if the elements are unbounded integers, depending
17:55:40 <elliott> maybe we should wait for the end of the question though.
17:55:55 <ais523> elliott: actually I don't think, e.g., BF-PDA is TC with unbounded integers
17:55:56 <n00b7489> Is there a way to implement printing a value as decimal and other complex algorithms in that highly limited programming language?
17:56:12 <elliott> ais523: well, you just need enough for fractran, right :p
17:56:49 <ais523> elliott: fractran needs you to be able to handle two unbounded integers at once, unless you have modulo or the like
17:56:56 <ais523> n00b7489: no, there isn't
17:57:09 <elliott> ais523: well, okay, yes, I was assuming you had the necessary arithmetic
17:57:11 <ais523> or, hmm
17:57:14 <ais523> "addition and subtraction of the top two values"
17:57:21 <ais523> there's a difference from normal
17:57:33 <ais523> I think now it's possible, if you have unbounded integers
17:58:02 <ais523> you can do multiply-by-constant, at least, which is /not/ true in BF-PDA
17:58:19 <ais523> if you can do divrem-by-constant too, you can do fractran
17:58:47 <ais523> n00b7489: I think this is very important: when you add/subtract the top two stack elements, where is the answer written? in particular, can you write the answer to the second stack element?
17:59:42 <n00b7489> The addition and subtraction operations pop two values from the top and push the result on the top.
18:00:10 <ais523> oh, hmm
18:00:12 <ais523> that changes things a lot more
18:00:17 -!- Phantom_Hoover has joined.
18:00:23 <b_jonas> or you could just have a few operations that shuffle or copy or discard the top few stack elements, in any combinations but only to a limited max depth
18:01:09 <ais523> in this case, there's obviously no way to move any information further from the bottom of the stack than it starts
18:01:35 <ais523> that leads me to think sub-TC, but haven't quite proved it yet
18:01:47 <elliott> well, maybe you can push
18:01:58 <elliott> oh, I see
18:02:14 <elliott> ais523: that's fine as long as you don't need the stack to be unbounded
18:02:26 <elliott> in which case we're on our way to reformulating counter machines with stacks...
18:03:46 <ais523> well in that case you only have one counter, right? because information can only flow in one direction
18:04:08 -!- MoALTz has quit (Quit: Leaving).
18:05:55 <ais523> OK, clearly the stack is bounded in this case; you can never use information from lower on the stack, meaning that if the height on the stack is not constant for a given position in your program's control flow, you have an infinite loop
18:06:45 <ais523> in this setting, it's possible to do a divide-modulo
18:06:52 <ais523> trying to work out if it's possible to do a multiply-by-constant
18:07:14 <ais523> I don't think it is
18:07:25 <ais523> oh, no, you can't do a divide-modulo, just a modulo
18:07:27 <ais523> yep, this is subTC
18:08:30 <elliott> we don't even know exactly what control flow there is yet
18:13:32 <ais523> I'm assuming "if zero then goto"
18:13:56 <ais523> given that it's a hypothetical question, and that's as fully general as you can get given the restrictions
18:14:58 <vanila> n00b7489, have you seen MNNBFSL
18:15:25 <vanila> it has two stacks but its interesting
18:15:28 <ais523> huh, that's a crazy "from" domain for spam: prison.gov.my
18:15:43 <ais523> it was a "you have won the lottery, we are google" spam
18:15:47 -!- drdanmaku has joined.
18:16:15 <vanila> ais523, I hope your spam anaysis goes into Casino Viagra
18:16:28 <glguy> Oh congrats. I hope you use your winnings for good
18:17:04 <ais523> I don't believe that if this had happened, Google would email me from a prison (presumably that's malaysia, haven't checked the country code but it isn't hugely relevant)
18:19:58 <fizzie> ais523: Well. Ban Ki-moon, the Secretary-General of the United Nations sends email from unitednationspayment101@gmail.com.
18:20:11 <elliott> isn't .my myanmar
18:20:22 <ais523> oh, could be
18:20:37 <elliott> no, it's malaysia
18:20:39 <elliott> this ruins my next joke: from the country's name, MburmYa
18:21:12 <fizzie> .mm from Burmma, there you go.
18:22:05 <fizzie> This is interesting piece of spam I don't think I've seen before.
18:22:12 <fizzie> "Below are few list of tracking numbers you can track from the UPS) Website (WWW.UPS.COM). To confirm beneficiaries like you who have received their payment successfully."
18:22:22 <fizzie> Then there's a list of 7 UPS tracking codes.
18:23:09 <glguy> Sounds legit. Where do I send my money?
18:23:14 <ais523> fizzie: that reminds me of the "we've won the lottery and want you to help us spend the money" scammers, some of them link to articles about people winning the lottery
18:23:17 <fizzie> I tested one, and it had indeed been delivered. So I guess that's confirmed.
18:23:21 <ais523> presumably hoping that people will trust the from address
18:23:58 <fizzie> The "my late husband died and left me a lot of money" spams sometimes have links to Wikipedia articles about the people involved, or the high-profile plane crash or whatnot where they died.
18:24:25 <glguy> I saw someone claim that they make the spam absurd so only the dumbest people will engage with them
18:26:36 <glguy> I also went to a talk where they analyzed internet pharmaceutical spam and found it was very reliable with excellent customer service. The thing was that it's hard to get a merchant credit card account so they can't afford getting complaints
18:26:49 <fizzie> This one also says that any delay in responding will cause UN to use the $4,900,000 they've earmarked for me to "help the people who have been displaced in Darfur, Sudan Africa which you can see it in this site www.savedarfur.org and the Tsunami's victims in Asia."
18:27:31 <glguy> Wow, that one's really selecting for a special kind of human
18:27:41 <fizzie> I guess I'm doing a good thing in not replying.
18:28:20 <glguy> You can probably write that 5m$ on your taxes
18:28:29 -!- shikhout has joined.
18:28:37 <|oren\> glguy: the same type of human who worships ebola-chan
18:28:51 -!- shikhout has changed nick to Guest222.
18:31:23 -!- shikhin has quit (Ping timeout: 252 seconds).
18:32:37 -!- MoALTz has joined.
18:33:33 -!- shikhin has joined.
18:33:55 -!- shikhin has changed nick to Guest26838.
18:35:53 -!- Guest222 has quit (Ping timeout: 240 seconds).
18:38:38 -!- shikhout_ has joined.
18:39:40 -!- Guest26838 has quit (Ping timeout: 265 seconds).
18:43:34 -!- shikhout_ has quit (Ping timeout: 256 seconds).
18:48:51 -!- shikhout_ has joined.
18:52:37 * J_Arcane debates if he should deviate from BASIC syntax for the left$ and right$ functions.
18:53:54 -!- shikhout1 has joined.
18:54:14 <vanila> what are they
18:55:56 <J_Arcane> Well, the standard forms take the leftmost or rightmost X number of characters.
18:56:22 <J_Arcane> It seems like just taking the left or right half from index X instead would be more useful (it sure would've made my string-slice easier to write).
18:56:23 -!- shikhout_ has quit (Ping timeout: 258 seconds).
18:57:01 <ais523> J_Arcane: the lefts are equivalent there
18:57:05 <ais523> it's just the rights that differ
18:57:08 <J_Arcane> It also makes more sense to me: left$ essentially does this already, but right$ thus doesn't, so you get the actual right half from X, you have to either use mid$ or slice.
18:57:30 <J_Arcane> ais523: Exactly. It bugs me, because they seem like they should be opposite in a different way, you know?
18:58:03 <elliott> do you support negative indices
18:58:15 <elliott> you could write a split$ function
18:58:21 <elliott> > splitAt 3 "hi there!"
18:58:23 <lambdabot> ("hi ","there!")
18:58:27 <elliott> > splitAt (-2) "hi there!" -- not so much...
18:58:28 <lambdabot> ("","hi there!")
18:59:49 -!- shikhout1 has quit (Ping timeout: 245 seconds).
19:00:01 <J_Arcane> actually, at the moment I think a negative index would probably just result in some kind of horrible error.
19:00:35 <J_Arcane> And I suppose it's moot in a sense because I do *have* slice and mid, and they can easily be used for that instead of left and right.
19:05:37 <J_Arcane> I'm now struck with a desire to overhaul my slice function ...
19:06:09 -!- boily has quit (Quit: UNINTERRUPTIBLE CHICKEN).
19:09:29 -!- shikhout_ has joined.
19:27:46 -!- n00b7489 has quit (Quit: leaving).
19:28:14 <int-e> aww, this no longer works in ldmud: string s = "foo"; s[3..0] = "bar"; write(s); ===> foobarfoo
19:37:28 -!- shikhout_ has changed nick to shikhin.
19:37:33 -!- shikhin has quit (Changing host).
19:37:33 -!- shikhin has joined.
19:44:31 <elliott> def rsa_encrypt(key, element):
19:44:31 <elliott> assert isinstance(element, (long, int)), type(element)
19:44:32 <elliott> _element = mpz(element)
19:44:32 <elliott> return long(pow(_element, key.e, key.n))
19:44:32 <elliott> def rsa_decrypt(key, cipher):
19:44:34 <elliott> assert isinstance(cipher, long), type(cipher)
19:44:36 <elliott> _cipher = mpz(cipher)
19:44:39 <elliott> return long(pow(_cipher, key.d, key.n))
19:44:41 <elliott> this is like crypto slapstick
19:45:17 <elliott> you're meant to just implement the equations directly using GMP, right? without padding or blinding or anything?
19:46:03 <elliott> (no, not from pedagogic RSA-explaining code; https://lists.torproject.org/pipermail/tor-dev/2014-December/007999.html)
19:47:18 <vanila> I dont know any better
19:48:43 <elliott> hopefully you're not marketing your supposedly secure software like http://www.tribler.org/ <_<
19:49:03 <vanila> if i was to implement RSA I would probably do better than these guys
19:49:17 <vanila> but right now I don't knwo whats wrong with that code
19:49:49 <elliott> e.g., https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Padding and the next section
19:50:15 <elliott> (the "Timing attacks" section mentions blinding)
19:50:29 <elliott> I like how their CSPRNG is mersenne twister
19:50:47 <vanila> I know that mersenne twister is cryptographicaly secure
19:50:50 <vanila> is NOT***
19:50:53 <vanila> god damn it lol
19:51:13 <ais523> elliott: so many people try to use the Mersenne Twister as a CSPRNG, it's depressing
19:51:27 <vanila> In cryptography, Optimal Asymmetric Encryption Padding (OAEP) is a padding scheme often used together with RSA encryption.
19:51:31 <ais523> although one bit of good news is, almost everyone seeds it with a 32-bit seed even though it has much more internal state than that
19:51:32 <b_jonas> ais523: and they seed it with 32 bytes of entropy or less
19:51:42 <vanila> padding attacks and stuff is kind of advanced
19:51:44 <ais523> or arguably bad news
19:51:54 <vanila> thats no tthe sort of thing you'd learn without trying
19:51:54 <ais523> this means that a mersenne twister can be easy to reverse just by brute force
19:52:19 <elliott> vanila: trying is one thing -- this is I think grant-funded research that has a snazzy site marketing it as secure and anonymous to ordinary people
19:52:29 <elliott> (I'd hope any course about crypto would teach about padding or such though!)
19:52:46 <b_jonas> ais523: yes. hopefully they'll fix this in future standards, but currently in C++11 you need like four lines of code of cargo cult magic to seed the mersenne twister properly with more than just 32 bits of entropy
19:53:10 <b_jonas> and even then you have to give an explicit amount of entropy to seed with, and you just have to make that number up
19:53:23 <b_jonas> no wait, maybe not that
19:53:24 <Sgeo> `pbflist
19:53:25 <b_jonas> but something close
19:53:30 <Sgeo> :(
19:53:32 <HackEgo> pbflist: shachaf Sgeo quintopia ion
19:54:53 <vanila> elliott, Well I hope people will start to learn that you cannot pay for security
19:55:06 <vanila> you can't buy a "NSA Proof phone" or whatever the fuck they are selling today
19:55:24 <vanila> maybe once people learn that they will actually bother to learn how to use RSA for emails
19:55:45 <vanila> (just kidding, I know that will never happen - people just want to throw money around and pretend it will solve everything)
19:55:48 <elliott> PGP is nigh-unusable, to be honest
19:55:53 <vanila> I have used it
19:55:54 <vanila> its fine
19:56:00 <b_jonas> it's something like std::array<unsigned, 64> ent; std::random_device dev; for (unsigned &w : ent) w = dev(); std::mt19937_64 rns(seed_seq(ent.begin(), end.end()));
19:56:09 <elliott> I find it unbearable and I'm as nerdy as its designers.
19:56:19 <b_jonas> it's riddiculous, why do I have to learn such magic incantations to seed my rng?\
19:56:20 <vanila> the real problem with PGP is that you need someone ELSE to use it too
19:56:30 <vanila> thats why i never took off
19:56:31 <elliott> I like the work https://whispersystems.org/ is doing with more-usable strong crypto.
19:56:33 <vanila> it*
19:56:51 <vanila> I don't know if whispersystems.org is free/open source?
19:56:56 <elliott> yes, it is
19:57:00 <elliott> and they publish their designs
19:57:01 <vanila> I think the guy behind it moxie did release some tools before that are not free
19:57:06 <vanila> like redphone or something
19:57:14 <vanila> that's kind of annoying to me
19:57:19 <vanila> thayt's good they're doing better now
19:57:21 <elliott> e.g., https://whispersystems.org/blog/advanced-ratcheting/
19:57:57 <elliott> in fact they recently worked with WhatsApp and deployed that to all WhatsApp users... not sure how key verification works if it works at all but that's still kind of amazing that they gave every user of one of the biggest messaging platforms in the world state-of-the-art encryption overnight
19:58:33 <int-e> elliott: linear algebra is hard, they couldn't figure it out, so the NSA won't either ;-)
19:58:36 <elliott> (it would be sad if the owners of WhatsApp could MITM the keys -- not sure if that's the case or exactly how they implemented it -- better than nothing though)
19:59:25 <elliott> vanila: https://github.com/WhisperSystems/RedPhone, at least (not saying it was necessarily released when the binaries were)
20:00:49 <vanila> wow ok I might just have this all totally wrong
20:00:52 <vanila> that's cool!
20:01:29 -!- Patashu has joined.
20:17:57 -!- GeekDude has changed nick to GeekAfk.
20:21:15 <vanila> elliott, do you know crypotl?
20:21:17 <vanila> cryptol
20:21:29 <elliott> I know of it, and one or two vague things about it
20:21:31 <elliott> nothing more
20:21:37 <vanila> there's a free open source implementation now
20:21:58 <elliott> cool
20:23:43 <vanila> its really good
20:28:43 -!- Patashu has quit (Ping timeout: 252 seconds).
20:39:53 -!- shikhin has quit (Ping timeout: 258 seconds).
20:46:41 -!- FreeFull has quit (Ping timeout: 264 seconds).
20:47:25 -!- |oren\ has quit (Ping timeout: 252 seconds).
20:48:10 -!- FreeFull has joined.
20:50:45 -!- boily has joined.
21:04:54 <newsham> my dr gave me some cryptol last week
21:05:33 <vanila> newsham, you should try it out!
21:05:38 <vanila> i bet you will like it
21:05:52 <vanila> http://cryptol.net/
21:07:07 <newsham> is the free/open one not the galois one?
21:07:36 <vanila> its still galois
21:07:49 <vanila> it doesn't emit VHDL and stuff anymore
21:39:18 -!- MoALTz has quit (Ping timeout: 258 seconds).
22:02:21 -!- MoALTz has joined.
22:37:17 -!- S1 has quit (Quit: S1).
22:37:38 -!- boily has quit (Quit: SUBLIMATED CHICKEN).
22:41:26 -!- Solace has joined.
22:43:27 -!- GeekAfk has changed nick to GeekDue.
22:43:29 -!- GeekDue has changed nick to GeekDude.
22:45:09 <Solace> J_Arcane: thats very scary
22:47:09 <Solace> So is that just on the flashdrive or is it remote access?
23:07:39 -!- oerjan has joined.
23:11:10 -!- bb010g has quit (Quit: Connection closed for inactivity).
23:15:06 <oerjan> `echo hi
23:15:07 <HackEgo> hi
23:15:38 <oerjan> HackEgo up, codu.org down. it's a mystery.
23:17:10 <oerjan> <oren> you ever like a song, and then find out the lyrics and they are kind of worrying? <-- reminds me of the time i considered learning the lyrics to Stenka Razin
23:17:21 <oerjan> (still considering)
23:17:49 <oerjan> wat, oren not here, that's unnatural
23:22:06 * oerjan checks out oren's youtube link and feels the generation gap widening
23:22:47 <oerjan> my general noise sensitivity isn't helping with that either.
23:24:16 <oerjan> argh now i'm starting to notice the ventilation system again
23:36:36 -!- FreeFull has quit (Ping timeout: 258 seconds).
23:39:48 -!- roasted42 has joined.
23:45:29 -!- FreeFull has joined.
23:46:28 -!- MDude has joined.
23:49:42 -!- roasted42 has quit (Ping timeout: 264 seconds).
23:57:14 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
←2014-12-20 2014-12-21 2014-12-22→ ↑2014 ↑all