←2016-04-09 2016-04-10 2016-04-11→ ↑2016 ↑all
00:13:09 -!- iconmaster has joined.
00:18:36 <zzo38> I want to make up the computer operating system that you can use a Forth environment and a SSH client with double one time pad encryption; the pad data is stored in the computer but also on the external memory which must be XOR together, and then it is further encrypted with a password, and RAM scrambling and hardware security so that it is deleted if someone try to modify the program. The external memory must be attached to your body so that if s
00:20:21 <b_jonas> zzo38: that looks truncated
00:20:25 -!- Frooxius has joined.
00:20:36 <shachaf> Is double one time pad encryption where you xor with the one time pad twice, for extra security?
00:20:36 -!- earendel has quit (Disconnected by services).
00:20:37 -!- earendel has joined.
00:20:37 -!- earendel has quit (Changing host).
00:20:37 -!- earendel has joined.
00:25:24 <oerjan> shachaf: of course not, everyone knows that's the identity. you need to use sum instead of xor hth
00:28:22 * oerjan thinks math trolling may be too hard.
00:29:13 -!- bb010g has joined.
00:29:42 <oerjan> oh and boily never mapoled me up there. i seem to flying high.
00:29:50 <oerjan> *to be
00:30:01 <oerjan> hm now he's gone.
00:31:43 <shachaf> oerjan: obviously i meant you compute plaintext ^ pad and then you compute plaintext ^ pad a second time
00:32:33 <oerjan> ah.
00:32:54 <oerjan> well in that case you need it three times so you can do a proper error correction hth
00:37:27 -!- tromp_ has joined.
00:37:54 -!- lambda-11235 has quit (Read error: Connection reset by peer).
00:41:20 -!- lambda-11235 has joined.
00:48:17 -!- tromp_ has quit (Remote host closed the connection).
01:10:17 <zzo38> shachaf: No, double one time pad is when you use two separate pads
01:10:30 <shachaf> half-time pad
01:10:54 <zzo38> (Which can be combined into one by XOR operation, although it is called double because they are stored on separate memory)
01:11:09 <zzo38> If my message is truncated, to what point?
01:12:02 <oerjan> "so that if s"
01:12:36 <zzo38> The external memory must be attached to your body so that if someone steal the computer, the external memory is broken.
01:13:16 <zzo38> (Some sort of error detection is also needed, in order to prevent someone from tampering with the data being sent across the network.)
01:15:25 <zzo38> Hopefully it can be understandable?
01:16:12 <b_jonas> I'm reminded to http://www.xkcd.com/538/
01:17:49 <zzo38> Since it is SSH with one time pad including external memory that can be broken, the police can hit you with a wrench and force you to tell them the password, but it will not be of any help to them. Next time you use it, the password will have been changed.
01:18:41 <oerjan> *reminded of
01:18:48 <b_jonas> don't forget the drugging part
01:19:54 <b_jonas> zzo38: and, like some people who device similar encryption schemes point out, even if the police can't access your data this way, it may cause the police to deliberately inconvenience you very seriously in other ways
01:20:15 <zzo38> All of the data is stored remotely anyways, so it won't help. The key will be destroyed by the time the data is accessed, and once the data is gone from the screen, the RAM is scrambled too so it cannot be recovered. This includes even if they try to install spyware on the computer, the remaining keys will go missing and the data is now no longer accessible anyways.
01:20:43 <zzo38> b_jonas: Yes, that is still possible.
01:20:44 -!- hppavilion[1] has joined.
01:21:00 <zzo38> Still I do not mean protection only from the police and government, but also from common thieves and so on, of course
01:24:47 -!- Frooxius has quit (Quit: *bubbles away*).
01:24:56 <zzo38> Of course it will not stop anyone from inconveniencing or killing you.
01:25:12 <zzo38> (But they can do that even if you do not own a computer.)
01:33:20 <zzo38> It also won't prevent local files from being accessed
01:33:57 -!- boily has joined.
01:44:05 <oerjan> wboily
01:48:51 -!- tromp_ has joined.
01:53:19 -!- tromp_ has quit (Ping timeout: 260 seconds).
01:59:16 <boily> de retœurjan.
02:02:13 -!- tromp_ has joined.
02:06:55 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:14:39 -!- tromp_ has quit (Remote host closed the connection).
02:19:29 <b_jonas> `wisdom
02:19:48 <HackEgo> sbus/SBus is the standard bus in many a Sun SPARC-based system, capable of coping with thirty-two (32) bits in parallel, at rates of around 16.67 to 25 MHz. There is a 96-pin connector, and the cards lay parallel to the motherboard, like toppings on a sandwich.
02:20:47 <boily> which was the most piniest connector in history?
02:21:40 <b_jonas> boily: maybe some of the modern CPU connections?
02:21:51 <b_jonas> For Intel cpus
02:40:11 <boily> indeed. CPU sockets are piny.
02:40:18 <boily> (piny? pinny? pinnerous?)
02:41:00 <earendel> so sbus is somewhere between eisa and pci
02:41:06 <earendel> vlb
02:41:37 <boily> earendello. vlb?
02:41:39 <earendel> vesa local bus.. 80486
02:41:43 <boily> oh.
02:42:08 <boily> b_jellonas. what about external connectors? centronix, maybe?
02:44:00 <earendel> was it the printer connector?
02:44:08 <earendel> lpt1
02:49:00 -!- XorSwap has joined.
02:59:03 -!- bb010g has quit (Quit: Connection closed for inactivity).
02:59:36 -!- tromp_ has joined.
03:26:47 <lambda-11235> Are there any esoteric statically typed languages?
03:27:38 <boily> hellombda-11235. I think Glass is statically typed.
03:28:46 <lambda-11235> I'm specifically thinking of an ML like language whose only datatype is a polymorphic function.
03:30:28 <lambda-11235> ML sans ADTs, functors, conditionals, ..., basicaly only function definitions.
03:43:21 <hppavilion[1]> lambda-11235: So just ST λ-calculus?
03:44:06 <lambda-11235> hppavilion[1]: Yep
03:47:14 <hppavilion[1]> lambda-11235: Do you have an issue with ST λ-calculus as the language of choice? It's a little eso
03:47:55 <hppavilion[1]> lambda-11235: I'm trying to make a language for Nomicing
03:48:27 <lambda-11235> hppavilion[1]: Lack of implementation and syntax.
03:48:40 <hppavilion[1]> lambda-11235: Lack of syntax? How so?
03:49:25 <lambda-11235> hppavilion[1]: I assume you're talking about System-F when you ST λ-calculus?
03:49:47 <hppavilion[1]> lambda-11235: Not sure. I've heard of ST λ, but I don't know which ones there are
03:50:28 <hppavilion[1]> lambda-11235: It appears I am not
03:50:45 <hppavilion[1]> "In contrast, systems which introduce polymorphic types (like System F)..."
03:51:27 <hppavilion[1]> lambda-11235: I can probably hack together an interpreted statically-typed functional language
03:51:42 <lambda-11235> hppavilion[1]: The problem is they use math notation, which is variable. ML is the closest I've seen to a strict syntax.
03:51:46 <hppavilion[1]> lambda-11235: One with nothing but polymorphic functions
03:52:04 <hppavilion[1]> lambda-11235: Do you want pattern matching?
03:52:35 -!- boily has quit (Quit: DISHWASHER CHICKEN).
03:52:45 <lambda-11235> hppavilion[1]: Not if it only has functions.
03:53:02 <hppavilion[1]> lambda-11235: OK
03:53:45 <hppavilion[1]> lambda-11235: No tuples?
03:54:25 <lambda-11235> hppavilion[1]: Only functions, hold on I have an EBNF.
03:54:31 <hppavilion[1]> lambda-11235: OK
03:54:36 <hppavilion[1]> lambda-11235: EBNF will be helpful
03:54:44 <hppavilion[1]> lambda-11235: Python 3 interpreter acceptable?
03:55:45 -!- XorSwap has quit (Quit: Leaving).
03:59:07 <lambda-11235> hppavilion[1]: http://lpaste.net/159372, python 3 would be fine.
04:00:13 <hppavilion[1]> lambda-11235: Wait, isn't "Nat" a type?
04:00:20 <hppavilion[1]> a non-polymorphic type?
04:00:46 <lambda-11235> Nat is just a type expansion.
04:01:08 <hppavilion[1]> lambda-11235: OK, I don't know ML. I know a bit of haskell, but that's about it
04:01:17 <hppavilion[1]> lambda-11235: I don't think I'll be able to help you. Sorry :/
04:01:24 <lambda-11235> So you don't have to write ((a -> a) -> a -> a) everytime.
04:01:40 <hppavilion[1]> Oooooooooooh
04:01:44 <hppavilion[1]> I see now
04:02:18 <lambda-11235> No worries, I was going to write an interpreter myself, but I'm short on time right now.
04:02:22 <hppavilion[1]> OK
04:20:33 <oerjan> <hppavilion[1]> lambda-11235: Not sure. I've heard of ST λ, but I don't know which ones there are <-- ST in this context usually doesn't mean "statically typed", but "simply typed", which is a particularly weak version without "real" polymorphism. afaiu system F is much easier to define data types in.
04:23:23 <oerjan> and ML uses hindley-milner, which is somewhere in between.
04:26:09 <shachaf> you obviously haven't heard of the seriously typed lambda calculus
04:34:35 -!- Frooxius has joined.
04:37:00 <oerjan> that is true.
04:37:09 <oerjan> well, was true.
04:38:07 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
04:46:26 <zzo38> I am making the Z-machine assembler in JavaScript and I may need two documents; one document describing the input of the program and another document describing the API for writing extensions. What is some feature you might think this API might need to have (that I might not have thought of already)?
04:50:20 <zzo38> There are cases in JavaScript where I will want to use the >>= operator of Haskell
04:50:27 <zzo38> (on arrays mainly)
04:57:29 <zzo38> You could do it like this: function(ar,f){var out=[]; ar.forEach(x=>out.push.apply(out,f(x))); return out;}
04:58:34 -!- centrinia has quit (Quit: Leaving).
04:59:03 <zzo38> Is there a better way?
05:01:59 <zzo38> Possibly this way: (ar,f)=>ar.reduce((x,y)=>(x.push.apply(x,f(y)),x),[])
05:03:47 <zzo38> [].concat.apply([],ar.map(f))
05:04:10 * deltab nods
05:05:28 -!- hppavilion[1] has joined.
05:13:13 -!- Kaynato has quit (Ping timeout: 268 seconds).
05:16:46 <zzo38> Now there is encodeText which encodes a full text using Black-Johansen, and encodeVocab which is used only for vocabulary words and acts like the ZWSTR instruction of Z-machine (it uses only temporary shifts, no "frequent words" codes, always pads with Z-character 5, and limits the output to a fixed length).
05:24:04 -!- oerjan has quit (Quit: Nite).
05:25:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
05:26:27 -!- iconmaster has quit (Ping timeout: 260 seconds).
05:34:19 -!- Frooxius has quit (Quit: *bubbles away*).
05:36:52 <zzo38> "Is not the title of any book so far as I know" is not the title of any book so far as I know. But, do you know of any book with such title?
05:38:00 <shachaf> I know a book called "What is the name of this book?".
05:38:07 <shachaf> Maybe that's its title.
05:38:37 <shachaf> `quote preceded
05:38:39 <HackEgo> 1005) <shachaf> "would be a good name for a band when preceded by its quotation" would be a good name for a band when preceded by its quotation
05:40:16 <zzo38> Are you going to make up such band?
05:44:34 <shachaf> "is zzo38's true name" is zzo38's true name
05:45:04 <zzo38> O, I didn't know that. I thought I should know my own name
05:46:12 <shachaf> Are you a cat, maybe?
05:46:17 <shachaf> I don't think you are.
05:46:20 <shachaf> http://famouspoetsandpoems.com/poets/t__s__eliot/poems/15121
05:47:18 <coppro> https://www.youtube.com/watch?v=8NIE4nqcLYQ
05:47:46 <zzo38> I also think I am not
06:10:29 -!- deltab has quit (Remote host closed the connection).
06:13:36 -!- tromp_ has quit (Remote host closed the connection).
06:22:02 -!- hppavilion[1] has joined.
06:23:03 -!- heroux has quit (Ping timeout: 244 seconds).
06:24:02 -!- heroux has joined.
06:29:05 -!- deltab has joined.
07:02:44 <zzo38> Do you know a card game "one poker"?
07:06:28 <zzo38> Each player gets two cards (face-down), and your opponent will know how many of your cards are higher than seven (ace is high). You play one card (opponent won't yet know if it is high or low), and then bet, and then expose the card you played and the highest card wins, except that a deuce beats an ace. After that they are discarded, the card you did not play is kept and you get one new card for the next hand.
07:07:17 <zzo38> You then again must tell to your opponent how many of your two cards now are higher than seven, and do same thing again as before (you can play either the new card or the card you kept from before).
07:09:32 <zzo38> Do you like this?
07:14:08 -!- tromp_ has joined.
07:18:17 -!- tromp_ has quit (Ping timeout: 244 seconds).
07:27:36 -!- lambda-11235 has quit (Quit: Bye).
07:33:45 -!- variable has joined.
07:54:35 <hppavilion[1]> adu hasn't been here in a while
07:55:42 <hppavilion[1]> b_jonas: Were you the one who designed predicate nomic?
08:17:28 -!- variable has quit (Quit: 1 found in /dev/zero).
08:35:38 -!- Reece` has joined.
08:49:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
09:01:32 -!- gremlins has joined.
09:02:33 -!- Reece` has quit (Ping timeout: 240 seconds).
09:12:40 -!- rdococ has joined.
09:14:43 -!- tromp_ has joined.
09:19:16 -!- tromp_ has quit (Ping timeout: 268 seconds).
09:22:50 -!- AnotherTest has joined.
09:22:58 <rdococ> yey
09:42:39 -!- aloril_ has quit (Ping timeout: 276 seconds).
09:45:55 -!- aloril has joined.
09:50:12 -!- gamemanj has joined.
10:05:12 -!- aloril has quit (Remote host closed the connection).
10:06:05 -!- aloril has joined.
10:20:14 -!- Reece` has joined.
10:21:03 -!- gremlins has quit (Ping timeout: 240 seconds).
10:30:47 -!- aloril has quit (Remote host closed the connection).
10:33:34 -!- aloril has joined.
10:42:41 -!- aloril has quit (Remote host closed the connection).
10:43:55 -!- aloril has joined.
10:44:51 -!- aloril has quit (Read error: Connection reset by peer).
10:48:30 -!- aloril has joined.
11:06:17 -!- mroman has joined.
11:06:34 <mroman> Does any of you guys know a free webmail provider for anonymous e-mail accounts?
11:06:53 <mroman> and by anonymous I just mean that I don't have to verify my identity by providing a postal address or mobile phone number
11:07:43 <gamemanj> I don't think I've ever had to provide a postal address or mobile phone number... There was that time Hotmail made it really hard to see the "ignore this nonsense and let me get into my email account" link, though.
11:08:04 <mroman> google requires a real name
11:08:11 <mroman> it's in their ToS
11:08:20 <mroman> if you provide fake details you risk that they delete your account
11:08:49 <gamemanj> Can I provide initials? >:D
11:09:26 <mroman> and lying is actually probably a crime
11:09:58 <gamemanj> anyway, do you really think they'd suspect John Apley of not being a person?
11:10:09 <gamemanj> (Who is John Apley? IDK. That's the point.)
11:11:04 <gamemanj> (Unless John Apley is a real name that I picked up from somewhere and never realized. Hmm.)
11:13:33 <Taneb> I've never met anyone by the name of Apley
11:13:57 <gamemanj> Good! Basically, there are multiple solutions to the problem. Solution 1 is "you don't seriously believe people actually check for fake names, do you?". Solution 2 is to go find a provider, and presumably one that won't spy on your emails,
11:14:36 <gamemanj> Solution 3 is just to setup SMTP & POP3 on a server and hope you never talk to anyone using Hotmail (they completely reject anything from a dynamic IP address).
11:18:36 <mroman> alright
11:18:48 <mroman> if you get an email from apleyjohn@gmail.com that'll be me :D
11:19:12 <gamemanj> Yay! Now I have to go advance my Fake Name Calendar.
11:19:20 * gamemanj flips over a sheet and gets out a pen
11:19:27 <mroman> gamemanj: pretty much all E-Mail providers reject e-mails from a server you just set up at home :D
11:19:34 <gamemanj> Actually, GMail doesn't.
11:19:41 <gamemanj> But it does put it in the Spam folder.
11:19:58 <mroman> you need an mx entry for sure
11:20:01 <gamemanj> And all my tests have been after sending an email from GMail to the account first so it counts as "solicited".
11:20:22 <gamemanj> Aha, the good old "you need an MX entry" myth. Nope, MX is just an optional redirect.
11:20:33 <mroman> it's not a myth.
11:20:42 <mroman> if you send something with FROM: foo@bla.ch
11:20:45 <gamemanj> Feel free to email me at gamemanj@gamemanj.duckdns.org.
11:20:58 <mroman> they will make a reverse lookup for bla.ch, check if you have an mx record
11:21:11 <mroman> and check if the src ip matches the one of the mx entry
11:24:26 <gamemanj> In theory, I'd agree with you - in practice, I did tests. It does go into the Spam folder, but emails to and from the server do work.
11:37:25 <deltab> if the MX query fails, it should do an A query
11:37:41 <gamemanj> Exactly.
11:43:26 -!- heroux has quit (Ping timeout: 250 seconds).
11:43:52 -!- heroux has joined.
11:46:08 <int-e> but having their emails delivered to the recipient's spam folder isn't what most people want from a mail server.
11:47:46 <gamemanj> int-e: I considered that, but would the emails from an "anonymous email account provider" reach the inbox, either?
11:49:03 <int-e> No, probably not... but for different reasons (they're bound to have trouble with abuse management and then end up in spam filters simply because a lot of spam originates there...)
11:51:30 <gamemanj> Different reasons, but the same result. Again, there is still a problem with Solution 3, which is that if you're using a dynamic IP Hotmail will reject anything you send.
11:53:33 <gamemanj> (Hence it's the last solution and not the second or first - there are problems with running your own email server, but if you can't find an email provider that meets your requirements, aka. solutions 1 and 2, what do you do?)
12:15:59 -!- tromp_ has joined.
12:18:01 -!- gremlins has joined.
12:18:33 -!- Reece` has quit (Ping timeout: 240 seconds).
12:20:40 -!- tromp_ has quit (Ping timeout: 252 seconds).
12:39:41 -!- sebbu has quit (Ping timeout: 244 seconds).
13:19:49 -!- boily has joined.
13:29:14 -!- gamemanj has quit (Read error: Connection reset by peer).
13:33:18 -!- mroman has quit (Ping timeout: 250 seconds).
13:40:32 -!- Phantom_Hoover has joined.
13:47:04 -!- gamemanj has joined.
13:50:22 <boily> @massages-loud
13:50:22 <lambdabot> You don't have any messages
13:53:02 <Taneb> Ugh, panicked revision
13:54:46 -!- J_Arcane has joined.
14:08:06 -!- Lord_of_Life has quit (Excess Flood).
14:09:41 -!- Lord_of_Life has joined.
14:20:34 -!- J_Arcane has quit (Ping timeout: 252 seconds).
14:24:02 <rdococ> esonums
14:24:35 <rdococ> anyways, why is the time dimension negative and not division?
14:24:43 <rdococ> e.g. 3m/2s
14:24:50 <rdococ> but it's 3m-2s???
14:25:23 <rdococ> never understood it
14:28:51 <Taneb> ?
14:30:10 <boily> rdhellococ. ?
14:36:41 -!- sebbu has joined.
14:44:00 * boily lightly mapoles rdococ
14:44:13 <boily> *thwack thwack thwack*
14:44:21 <boily> Tanelle. he seems to have gone catatonic.
14:44:42 <boily> *thwack thwack* *thwack* *thwackitty thwack*
14:44:55 <boily> *thwuck* ♪
14:45:50 <rdococ> ...?
14:45:56 <boily> he's alive!
14:46:04 <boily> what do you mean, by negative time?
15:05:34 <boily> hmm... not exactly alive.
15:05:49 * boily shakes rdococ “NEGATIVE TIME! NEGATIVE TIME!”
15:07:55 <gamemanj> boily: He means: "The universe has no end, though it does have a beginning. --- Infinite." (Ok, probably not. I'm literally reading that off of the front of a random book.)
15:07:55 <rdococ> wait, WHAT?
15:08:15 <rdococ> duh
15:08:24 <rdococ> a flying spaghetti monster wanted to make us
15:08:55 <rdococ> Sending you to time coordinates (Error: space is relative
15:09:17 <rdococ> but esospace isn't
15:09:29 <gamemanj> (...I wonder why people keep referring to flying spaghetti monsters? It doesn't happen that often, but it's interesting that it's still relatively common...)
15:09:52 <rdococ> (I believe it's a religion made up to show how dumb the creator believes religions are)
15:12:29 <boily> may you be touched by His Noodly Appendage. Ramen.
15:14:32 <gamemanj> (note to self: it is a good thing I don't eat pot noodles as it would probably be offensive to <Unknown Classifier, ID 28374/9>)
15:15:28 <boily> you have to up your pasta game. fresh noodles, homemade stock and broth, freshly braised cuts of meats...
15:16:07 <boily> . o O ( some nori on the side, ajitsuke tamago, corn... *drool*... )
15:17:26 <gamemanj> (note to self: research the proper name instead of referring to <Unknown Classifier, ID 28374/9> as an Unknown Classifier indexed by a numeric-keyboard-mash ID)
15:18:48 <boily> [EXPUNGED] :D
15:19:09 <deltab> http://gregegan.customer.netspace.net.au/ORTHOGONAL/00/PM.html
15:20:14 <gamemanj> boily: Unfortunately, an object in the system with String ID "index$EXPUNGED" also exists. It has links to IDs: "SCP Foundation" "Annoyances" "Things To Use To Annoy People"
15:20:19 -!- tromp_ has joined.
15:21:20 <gamemanj> (How to annoy anyone who actually wants to be able to read something: hide all your [EXPUNGED] in [NEED O5 LEVEL] and [REMOVED] your [DELETED])
15:25:34 <rdococ> ([REDACTED]! gamemanj's [DELETED] [PURGED] me [Content de-Error
15:26:56 <rdococ> o_o
15:27:48 <gamemanj> Wait, what on eart-[{yield uses up UNKNOWN instructions of the next frame.} if @yieldOk then @finalReturn else @yieldFail; @finalReturn; @yieldOk = @id+0; { false } );
15:27:57 <rdococ> IRC [redacted] [Expunged] [Content de-Error
15:28:27 -!- J_Arcane has joined.
15:28:48 <rdococ> Why is this chat glit
15:29:15 <gamemanj> Maybe it's because of the Ctrl-Ks? [import_spr @bank_video bkg 0 0 256 256 65536;]
15:29:23 <rdococ> (Best way to troll someone: alϕwЀaϚyЂsКШϹψγήΖΎΥ
15:31:01 <gamemanj> (rdococ: I'm just copying random stuff that only makes sense with a very long description.)
15:31:18 * rdococ has quit (Quit: Ping timeout: 264 seconds)
15:31:28 <gamemanj> Welp, that's a shame.
15:31:31 <rdococ> LOL
15:31:35 <gamemanj> Yes, I get it
15:31:40 <gamemanj> it would've been orange if it was real
15:31:59 * rdococ has quit (Quit: gtg)
15:32:02 <gamemanj> ...
15:32:09 <rdococ> ...
15:32:27 <rdococ> same client as me
15:32:34 <gamemanj> * rdococ
15:32:44 <rdococ> what does my nick show as?
15:32:47 <rdococ> what color?
15:32:56 <gamemanj> I think I already showed you.
15:32:57 <boily> rdococ: you are blue.
15:33:02 <gamemanj> Green to me.
15:33:11 <rdococ> that's if I ping you
15:33:18 <rdococ> or you changed color scheme
15:33:44 <rdococ> my yellow is actually easy to read
15:34:11 <rdococ> if you don't need to highlight this to read it, you probably have HexChat
15:34:30 <gamemanj> yes I do
15:34:40 <gamemanj> but can you read THIS?
15:34:42 <rdococ> I love HexChat because of these conveniences
15:37:49 <izabera> http://i.imgur.com/dMppSnF.png
15:39:24 <gamemanj> italic text: the new way to annoy people with pixel perfect fonts
15:39:32 <izabera> yeah
15:39:57 <gamemanj> ^ shorter and not-italic version for izabera: "Italic Text: Do not use it"
15:40:36 <gamemanj> also, nice font
15:40:47 <boily> http://imgur.com/nPyVhOf
15:41:17 <izabera> your color scheme is awful
15:41:25 <boily> whose?
15:41:28 <izabera> yours
15:41:32 <boily> mine?
15:41:34 <gamemanj> Ok, so Boily doesn't get italics, Izabera doesn't want them, and I'm capitalizing names and am probably going to be shouted at for it.
15:41:37 <izabera> yes boily
15:41:53 <boily> it's Ubuntu's default and/or approximatively default colourscheme.
15:41:57 <izabera> it's awful
15:42:05 <izabera> Gamemanj: yeah fuck you
15:42:08 <boily> I like it ^^
15:44:28 <myname> i can read the yellow text just fine incirssi
15:45:29 <myname> s/nci/n i/
15:47:25 <gamemanj> using incredibly specially formatted text, such as capital letters, quotes, numerics, italics, bold, underline, pixel art, ascii art, embedded message fonts, buffer allocation ctcps, shader execution ctcps, and other potentially performance and experience degrading symbols and mechanisms, is not a good idea.
15:51:26 <boily> shaders? for 2D monospace text?
15:51:42 <gamemanj> boily: you actually read that?
15:53:44 <gamemanj> (if you thought that was supposed to make sense, recall the bit about capital letters and quotes, then reconsider.)
15:57:34 <boily> it's text. it's meant to be read. if push come to shove, it'll make the quotes. or become fungot fodder. mwah ah ah ah.
15:57:35 <fungot> boily: the two french initiatives intended to better combat illegal immigration and the trafficking of women is flourishing. in the irish constitution which, fortunately, has been ratified within a year? the commission is calling for more resources, more employees and more powers but, all this is related to the notorious ' small steps forward must be accepted in these discussions several rather abolitionist associations have tr
15:58:21 <gamemanj> ...I wondered where that befunge-nomming quote-eating markovian madman went!
15:59:39 -!- oerjan has joined.
16:00:21 <boily> hellørjan.
16:04:09 <oerjan> bohily.
16:07:27 <b_jonas> ohai
16:08:13 <boily> b_jellonas.
16:24:46 -!- tromp_ has quit (Remote host closed the connection).
16:43:42 -!- iconmaster has joined.
16:44:05 -!- acertain has quit (Ping timeout: 244 seconds).
16:48:55 <zzo38> For email you could use your ISP smarthost for senting and to avoid the problem to be rejected by dynamic addresses; you can set a SMTP server to receive though
16:50:47 <gamemanj> For me at least, receiving's fine. It's sending that's the problem. Question: What's an "ISP smarthost"?
16:53:12 <zzo38> At least if you set up Exim it will ask you to use a "smarthost" which means that you will send through your ISP's SMTP
16:54:23 <gamemanj> Things I searched for involving mail relay by the ISP seem to revolve around business.
16:54:51 <gamemanj> If I was a business, however, I wouldn't have any problems in the first place, as I'd have a static IP.
16:55:13 <gamemanj> So it's basically useless.
16:56:03 <oerjan> <rdococ> but it's 3m-2s??? <-- where did you hear such a ridiculous thing twh
16:56:11 <rdococ> idk
16:56:30 <oerjan> or are you confusing with minkowski space.
16:56:36 <rdococ> yep
16:56:52 <oerjan> in which case it's not negative, but imaginary, and you don't add different coordinates like that.
16:58:20 <oerjan> you do something like sqrt((2s)^2 - (3m)^2) with some c's thrown in to make the units match.
16:58:36 <oerjan> *-something like
16:58:57 <oerjan> and the result is the time elapsed as experienced by the moving object.
16:59:12 <oerjan> (aka proper time)
16:59:33 <zzo38> gamemanj: Can't you have a email account by your ISP though?
16:59:34 -!- muimui has joined.
17:00:41 <oerjan> you can also do the same thing with energy and momentum, in which case you get the rest mass.
17:01:36 <oerjan> er, mass.
17:01:54 <gamemanj> zzo38: Not that I know of, and besides, that would just be (accountname)@(theirdomain), not gamemanj@gamemanj.duckdns.org (TODO: maybe get <firstname><lastinitial>.co.uk)
17:01:58 * oerjan swats himself for adding the redundant "rest" -----###
17:05:51 <gamemanj> zzo38: Since it's on dynamic dns, and said dynamic DNS is pretty primitive (A record only. Not even IPv6...), I also don't get to change the MX record, and then there's making any workaround forwarding support SSL, so any forwarding would involve lots of stunnel and lots of prayer.
17:06:59 -!- jaboja has joined.
17:07:08 -!- Kaynato has joined.
17:07:21 <zzo38> You could set the return address to your own domain name and don't have to be the account from ISP
17:08:03 <zzo38> Although do you need SSL support with it? Probably it doesn't need; the message can be encrypted separately anyways
17:09:14 <gamemanj> zzo38: Well, no requirement for SSL, but it's a nice bonus. Anyway, AFAIK there's no magical mail forwarding address I could send stuff to for bypassing the dynamic IP restriction, such a thing would be tantamount to an open relay anyway.
17:09:22 -!- J_Arcane has quit (Ping timeout: 244 seconds).
17:09:28 -!- muimui has left.
17:09:51 <gamemanj> zzo38: It's only really a problem if interacting with Hotmail accounts. And since I haven't actually used the mail server for anything major yet, it's not really a problem.
17:10:09 <zzo38> At least in ISP I am using, there is a SMTP server which is only available when connected from within the ISP's network
17:11:03 -!- jaboja has quit (Ping timeout: 240 seconds).
17:11:05 <gamemanj> zzo38: Yes, but the thing is, that SMTP server probably won't accept messages with arbitrary From: addresses.
17:12:05 <zzo38> For me it works, and even if it doesn't you could put the proper address in the MIME header instead
17:13:06 <gamemanj> That's pretty close to an open relay.
17:13:18 <gamemanj> I guess if it's within the ISP's network, they can track abuse, though.
17:13:49 <zzo38> Yes they could
17:14:18 -!- J_Arcane has joined.
17:17:16 -!- earendel has quit (Quit: earendel).
17:18:08 <oerjan> <boily> . o O ( some nori on the side, ajitsuke tamago, corn... *drool*... ) <-- . o O ( when will boily drop out of programming and start his own restaurant... )
17:21:45 -!- lambda-11235 has joined.
17:23:35 <gamemanj> <boily> [Long quote, see above.] ajitsuke tamago [more quote] <-- . o O ( What's ajitsuke tamago? Is it a just-in-time version of some sort of programming language? )
17:24:31 <boily> oerjan: seriously, I often think about having my own café when I go to sleep. a little bit too often. it's disturbing.
17:24:33 <gamemanj> (Google Translate gives "Seasoned egg.", but I have a hunch it's not that simple, or boily would have just typed "Seasoned egg"... )
17:24:35 <oerjan> aka "ramen egg", apparently.
17:24:40 -!- jaboja has joined.
17:25:05 <oerjan> boily: *MWAHAHAHA*
17:25:21 <boily> gamemanj: it's a half-boiled egg you soak in marinade. the Chinese have their variant tea-egg. both are quite similar.
17:26:00 <gamemanj> boily: Thanks for informing me. Now I have proof my remote dream injection system works! I will make millions!
17:26:22 <gamemanj> ...and then be forced to pay oerjan most of it in patent licencing fees.
17:26:29 <oerjan> boily: i smell a True Dream hth
17:28:13 <boily> I'll stick with my regular gig for the moment htah.
17:28:56 <oerjan> gamemanj: hey, stop ruining my spiritual coaching twh
17:29:11 <gamemanj> Mwuhahahaha!
17:29:42 * boily thwacks gamemanj “you have to ask an accredited evil laugher first before cackling evilly”
17:30:13 <gamemanj> You mean oerjan is an accredited evil laugher?
17:30:23 <gamemanj> Or are you just discriminating on who you thwack?
17:30:34 <oerjan> i have a grandfather clause hth
17:31:15 <gamemanj> Fine. I won't evilly laugh without oerjan's permission...
17:31:38 <gamemanj> `echo Mwuhahah! Mwuhahahaha!
17:31:44 <gamemanj> ...no?
17:31:53 <gamemanj> :(
17:31:56 * oerjan winds HackEgo's crank
17:32:12 <boily> gamemanj: mwah ah ah ^^
17:32:12 * gamemanj turns HackEgo's large and highly visible clockwork screw
17:32:27 <HackEgo> Mwuhahah! Mwuhahahaha!
17:34:32 <gamemanj> so far we have determined that HackEgo has a crank and a clockwork screw, and turning both made it/him/her/[this entry reserved for future expansion] work once.
17:37:01 -!- canaimito has joined.
17:37:48 -!- canaimito has quit (Remote host closed the connection).
17:40:19 <b_jonas> fungot, does HackEgo really have and clockwork screw? I assumed it was a Frankenstein's Monster kind of screw instead.
17:40:19 <fungot> b_jonas: mr president, many other people are more likely to paralyse growth and employment: improving quality and sustainability ( com(2000) 888 fnord/ 2001)
17:41:09 <b_jonas> fungot, is that like http://www.xkcd.com/1007/
17:41:10 <fungot> b_jonas: madam president, if you will allow me, madam president, firstly i should like to close with a short quotation by george bernard shaw, who said to me: ‘i hear that you have suggested.
17:41:13 <gamemanj> ...
17:41:24 <gamemanj> Ok, what on earth happened to fungot!?!?!
17:41:25 <fungot> gamemanj: mr president, mr rübig, half a million of our fellow citizens before the elections, it is 100 years since the soviet invasion saw a country that has traditionally opposed the big countries to have higher salaries? in its present form, where we hurried to apply measures concerning quality, traceability, market monitoring, the promotion and strengthening of controls. it would provide more adequate answers for europe.
17:41:42 <gamemanj> I am not the President!
17:41:42 <b_jonas> gamemanj: what do you maen? he seems all right to me.
17:41:47 <b_jonas> at least as all right as he usually is
17:41:58 <gamemanj> b_jonas: "mr president" this, "madam president" that
17:42:03 <Taneb> Is this the europarl corpus
17:42:15 <gamemanj> fungot, lorem ipsum el dolor.
17:42:16 <fungot> gamemanj: mr president, and mandela was and remains convinced of the importance of this service will soon be as many sign languages as there are still differences in the field to the programme: ' i know that the dialogue between the two sexes. it is then that we are making very good headway in research and development, the legal basis before implementing any community expenditure. as your rapporteur is of the opinion of the com
17:42:38 <gamemanj> See? It's locked to stuff about a president.
17:43:47 <oerjan> gamemanj: have you not been introduced to ^style twh
17:43:51 <oerjan> ^style
17:43:51 <fungot> Available: agora alice c64 ct darwin discworld enron europarl* ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
17:43:56 <oerjan> ^style europarl
17:43:56 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
17:44:15 <b_jonas> `? ^style
17:44:23 <HackEgo> ​^style? ¯\(°​_o)/¯
17:44:23 <b_jonas> `? europarl
17:44:25 <HackEgo> europarl ? ¯\(°​_o)/¯
17:44:33 <gamemanj> ^lovecraft
17:44:36 <gamemanj> fungot
17:44:37 <fungot> gamemanj: mr president, having talked about bulgaria, which are not reliable. so what solutions do we have to make a start on the annual budget of the european parliament at the conference in kyoto, it may seem paradoxical to say the least. it was the wish to encourage, to continue to count on the expertise already available in the commission' s initiative to create jobs.
17:44:39 <gamemanj> ...
17:44:46 <gamemanj> ^style fungot
17:44:46 <fungot> Selected style: fungot (What I've said myself)
17:44:57 <gamemanj> ...I've confused myself now
17:45:15 <Kaynato> What algorithm is behind fungot?
17:45:15 <fungot> Kaynato: and, dab, words like pop-culture should use the binary level, then i say lo, world!
17:45:25 <gamemanj> Kaynato: Think it's supposed to be based on markov chains
17:45:40 <Kaynato> Hm, I suppose. char-rnn is always a pretty fun thing though
17:46:15 <gamemanj> Good news is it's on GitHub. https://github.com/fis/fungot Just have fun trying to understand the code...
17:46:15 <fungot> gamemanj: that is just a value of type " airbus is a big fan of avril....but this song " there
17:48:01 <oerjan> Kaynato: variable length word-based markov chains
17:48:40 <Phantom_Hoover> gamemanj, shrooms
17:49:03 <gamemanj> (Strings written backwards, toggle switches, values placed on stack to be discarded at a conditional which I can't understand since I don't understand lunar runes inscribed upon tablets...)
17:49:19 <gamemanj> (It's like BytePusher files in hex editors, but worse.)
17:51:25 <gamemanj> (Huh. I started thinking I understood the general structure for a second. Then I saw the privmsg handling and realized only one thing - that I knew nothing.)
17:51:43 -!- oerjan has quit (Quit: Later).
17:54:24 -!- lambda-11235 has quit (Read error: Connection reset by peer).
17:55:54 <gamemanj> (After some reflection, I guess the code is nicer than the theoretically most complicated and evil Befunge code possible.)
18:03:21 <b_jonas> What's wrong with backwards strings? Befunge can have strings in all four cardinal directions.
18:03:51 <b_jonas> Some befunge variants can probably have strings with any delta.
18:04:03 <gamemanj> Well, technically in terms of what is acceptable to a Befunge interpreter "wrong"? Nothing. In terms of what's sane, however...
18:17:33 -!- boily has quit (Quit: SKULL CHICKEN).
18:25:20 -!- tromp_ has joined.
18:30:27 -!- tromp_ has quit (Ping timeout: 276 seconds).
18:32:04 -!- jaboja has quit (Ping timeout: 250 seconds).
18:44:53 <izabera> the awkward moment when the alphago paper is written in word instead of latex
18:45:30 <gamemanj> maybe people should just write papers in Markdown
18:46:11 <gamemanj> that way, it's easily converted to whatever it's needed in
18:48:34 <zzo38> I just use Plain TeX and convert to DVI for printout
18:48:49 <zzo38> (Although troff can also output to DVI)
18:51:28 -!- evalj has joined.
18:52:28 <gamemanj> \footline={\hfil Produced by Blah Corporation. \folio} Yay for Plain \TeX !\par It's very useful\footnote{$^1$}{If you know the commands.}!
18:52:46 <gamemanj> (Note: The above is untested.)
18:53:16 -!- jaboja has joined.
18:57:24 <b_jonas> izabera: you know, writing papers in word isn't such a stupid idea these days than it used to be ten years ago when people started to hate that kind of thing. especially not for non-maths papers.
18:59:14 <b_jonas> izabera: part of the problem was always that the people who wrote papers in word were the kind of people who didn't know how to write papers in word either
18:59:22 <b_jonas> (and that's still part of the problem)
19:00:55 <b_jonas> very rarely, you can see really badly formatted papers written in LaTeX too. you know, ones with less than signs instead of angle brackets like < a|b + c >=< a|b > + < a|c > and even more horrible things that I can't even approximate in ascii
19:06:38 -!- p34k has joined.
19:08:43 -!- centrinia has joined.
19:16:18 <HackEgo> [wiki] [[Brainfuck minus -]] N https://esolangs.org/w/index.php?oldid=46763 * Keymaker * (+12441) Showing that brainfuck is Turing-complete without '-'. Also includes a B-machine translator.
19:16:38 <myname> sounds like a trivial proof
19:16:52 <myname> replace - with 255 +, done
19:17:07 <izabera> unbounded cells
19:17:12 <myname> ah
19:17:40 <myname> well, in this case translate your program into bounded bf first :p
19:18:22 <izabera> it's not that trivial
19:18:58 -!- hppavilion[1] has joined.
19:18:59 <gamemanj> ...turing-complete without '+'? doesn't that mean that for [ purposes, brainfuck memory is like PROM - write once, read always, but never write again...
19:19:42 <HackEgo> [wiki] [[Brainfuck derivatives with nontrivial computational class proofs]] https://esolangs.org/w/index.php?diff=46764&oldid=46698 * Keymaker * (+166) Linked BM-.
19:22:03 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46765&oldid=46653 * Keymaker * (+157) Mentioned BM-.
19:23:07 <zzo38> Wang B-machine does not allow marks on the tape to be modified or erased once they are written, although it is possible to write additional marks on other positions on the tape
19:24:12 <zzo38> Yet it is still Turing-complete
19:24:51 <b_jonas> zzo38: yes, but brainfuck is more restricted in its control structures
19:25:05 <zzo38> Yes
19:25:06 <myname> how is it important to have unbounded cells if you only set them to 1
19:25:45 <b_jonas> myname: because you don't have convenient control structures to increase the cell only if it's not zero?
19:25:48 <b_jonas> only if it's zero
19:25:50 <b_jonas> um
19:26:31 <b_jonas> hehe, “this is not a brainfuck derivative, this is merely a way for programming brainfuck without using '-'” – he's trying hard to rationalize it
19:27:08 <gamemanj> myname: the point of using unbounded cells is that 255 + is basically just '-' anyway, so it's cheating.
19:27:55 <b_jonas> gamemanj: um, modulo and unbounded aren't the only alternatives. there's also just raising an error if you go outside the range.
19:28:14 <myname> okay
19:29:04 <HackEgo> [wiki] [[Wang program]] https://esolangs.org/w/index.php?diff=46766&oldid=41258 * Keymaker * (+239) Linked BM-.
19:29:13 <gamemanj> b_jonas: "The Brainfuck program that we use to control the dinosaur entry prevention mechanism is running...! ... BOUNDED CELL FAULT" would be a very evil ending to a book.
19:31:25 <myname> not more evil than "oh my got an overflow"
19:32:39 -!- jaboja has quit (Ping timeout: 260 seconds).
19:34:33 <gamemanj> A note: if '+' is run only once for a given cell anyway, the code is probably valid Boolfuck too.
19:35:58 <b_jonas> gamemanj: lol
19:36:57 <gamemanj> ...and if you replace '+' with * it's also valid Smallfuck...
19:37:42 <myname> it may be valid in a lot of bf derivates
19:37:52 <myname> that's part of why they suck
19:38:20 <myname> every clear subset does not deserve the name derivate anyways
19:40:17 <gamemanj> Huh. Apparently Smallfuck has limited data storage, though it doesn't actually say how much - it's implementation-dependent. So, nvm.
19:44:21 <HackEgo> [wiki] [[Brainfuck derivatives with nontrivial computational class proofs]] https://esolangs.org/w/index.php?diff=46767&oldid=46764 * Keymaker * (+25) Mentioned non-wrapping cells.
19:50:33 <gamemanj> I just read the topic and saw the "kitten typesetting" line... and how exactly does one typeset a kitten?
19:51:42 <zzo38> You load kittens into a typewriter, destroying both.
19:51:51 <gamemanj> ...that's horrible.
19:52:06 <zzo38> Yes I know, and that is why you should not do that
19:52:58 -!- earendel has joined.
19:53:32 <b_jonas> heh, gamemanj is like the third person who asks about kitten typesetting. it was well worth keeping it in the topic.
19:54:28 <gamemanj> remember: when doing a /join, even if you knew what the topic was like from months ago, that's no excuse, read it again.
19:55:37 <gamemanj> Because topics are abstract strings stored by an IRC server for goodness knows how long, and they can change when you're not looking. (And also when you are looking.)
19:56:47 <gamemanj> That is, they're not carved into stones delivered upon to us by the Deities Of Esotericism.
19:57:15 <gamemanj> So, they have a tendency to change, and thus, you should observe them.
20:00:10 -!- rdococ has quit (Quit: gtg).
20:02:16 <b_jonas> gamemanj: yeah. eg. it says California now. It used to say Budapest.
20:11:19 -!- lambda-11235 has joined.
20:17:15 <gamemanj> Hmm. Should I make a random and mostly unrelated comment about kittens or about typesetting?
20:19:10 <hppavilion[1]> Ugh
20:19:24 <hppavilion[1]> I'm trying to write a parser for a WS-sensitive language using PLY
20:19:37 <zzo38> gamemanj: If you want to do so? I don't know?
20:19:42 <hppavilion[1]> I'm honestly considering parsing the language in Node and sending it over to Python
20:20:08 <gamemanj> zzo38: I was referring to "which of the two would be preferable" :)
20:20:31 <zzo38> I have no preferences
20:21:17 <zzo38> hppavilion[1]: I think it would probably be better to just use one or other, if possible, rather than having to write one program using both
20:21:39 <hppavilion[1]> zzo38: Yeah, but I don't know Node and PLY is a pain in the ass for this kind of language
20:22:03 <hppavilion[1]> I mean, I can't use Node proficiently
20:26:00 <zzo38> If you have the newest version of SmileBASIC, can you tell me if you can get it to work with QR codes and/or tape loading/saving?
20:26:07 -!- gremlins has quit (Read error: Connection reset by peer).
20:26:16 -!- tromp_ has joined.
20:30:59 -!- tromp_ has quit (Ping timeout: 260 seconds).
20:48:38 -!- jaboja has joined.
20:53:35 <Kaynato> A friend had an idea:
20:53:35 <Kaynato> http://i.imgur.com/gY5bRZC.png
21:01:43 -!- gamemanj has left ("a one-instruction cpu can't draw proportional text! the bard said verily. https://dl.dropboxusercontent.com/u/21184720/donotdelete_text.BytePusher").
21:03:57 <myname> https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
21:06:01 -!- augur has joined.
21:09:40 -!- augur_ has quit (Ping timeout: 268 seconds).
21:42:36 -!- p34k has quit.
21:48:44 -!- lambda-11235 has quit (Read error: Connection reset by peer).
21:55:06 -!- jaboja has quit (Ping timeout: 244 seconds).
21:57:45 -!- jaboja has joined.
22:25:07 -!- centrinia has quit (Ping timeout: 252 seconds).
22:25:56 <HackEgo> [wiki] [[BF Joust]] M https://esolangs.org/w/index.php?diff=46768&oldid=46505 * Iconmaster * (+4) fixed the link to my horrible GML creation
22:27:29 -!- tromp_ has joined.
22:31:33 -!- tromp_ has quit (Ping timeout: 240 seconds).
22:41:01 -!- augur has quit (Remote host closed the connection).
22:41:46 -!- augur has joined.
22:52:44 -!- augur_ has joined.
22:52:57 -!- zzo38 has quit (Ping timeout: 244 seconds).
22:52:58 -!- augur has quit (Ping timeout: 244 seconds).
22:58:41 <hppavilion[1]> Ugh, PEG is awful
23:06:13 -!- carado has quit (Ping timeout: 268 seconds).
23:06:16 -!- evalj has quit (Remote host closed the connection).
23:18:57 -!- J_Arcane_ has joined.
23:19:36 -!- oerjan has joined.
23:21:03 -!- J_Arcane has quit (Ping timeout: 240 seconds).
23:21:09 -!- J_Arcane_ has changed nick to J_Arcane.
23:21:19 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
23:23:09 <oerjan> @tell gamemanj <gamemanj> Well, technically in terms of what is acceptable to a Befunge interpreter "wrong"? Nothing. In terms of what's sane, however... <-- afaiu backwards strings are common in befunge because it's simply the easiest to handle.
23:23:09 <lambdabot> Consider it noted.
23:29:40 <int-e> ah darn, box-256 got an update... need to fight urge to have a look...
23:31:47 -!- carado has joined.
23:32:43 <hppavilion[1]> Ugh, can't get nodejs to send the charset
23:34:54 <Phantom_Hoover> int-e, did this update include linux support
23:35:03 <int-e> still runs in wine
23:35:08 <int-e> I suppose :P
23:35:20 <int-e> anyway that's how I've been running it so far
23:35:23 <Phantom_Hoover> oh the web player works on my system
23:35:26 <Phantom_Hoover> never mind
23:36:38 <Phantom_Hoover> still no means of thread discrimination :(
23:36:59 <Kaynato> Is anyone here good with SWI-prolog?
23:37:05 <int-e> Phantom_Hoover: does that surprise you?
23:37:37 <Phantom_Hoover> well it was requested by myself and someone else at least, though in different ways
23:38:02 <oerjan> Kaynato: i've peeked at the manual once, does that count? :P
23:38:34 * oerjan may also have downloaded it, but never got to write anything of note.
23:38:38 <Kaynato> Ah, I mean - I'm trying to solve a logic problem specifically with SWI-prolog, and I know the answer - however, Prolog is giving me the wrong answer even though I seem to be giving it the correct declarations
23:38:51 <oerjan> aha
23:38:58 <oerjan> pastebin?
23:39:08 <int-e> Phantom_Hoover: I thought it hit a remarkably sweet spot if you treat it as a puzzle, with its crazy memory model and the vectored jump
23:39:15 <oerjan> are you using any fancy stuff
23:39:27 <Kaynato> Let me show this:
23:40:00 <Phantom_Hoover> int-e, that's fair enough but i was interested in it as an assembly programming toy
23:40:27 <oerjan> i said "pastebin" to discourage long pastes in channel hth
23:40:27 <int-e> perhas you should just find a gpu to program ;)
23:41:05 <int-e> put pasta tastes good
23:41:15 <hppavilion[1]> int-e: Oooh, I just had the idea for a Numpy-based CPPU
23:41:25 <Phantom_Hoover> the jump vectoring was cute and all but i think programming this thing would be much richer if you could write single subroutines to be executed by different threads at once
23:41:34 <int-e> hmm, funny typo... "perhas"
23:41:36 <hppavilion[1]> Instead of individual registers/memory locations, it has NxN arrays of some fixed size (maybe 4x4)
23:41:39 <Phantom_Hoover> rather than trying to pack as many duplicate instructions in as possible
23:41:46 <oerjan> int-e: in theory. i had spaghetti carbonara today and i think the bacon was a bit sour.
23:41:58 <int-e> ah pity
23:42:10 <int-e> though I'd like to point out that this wasn't the pasta's fault, really
23:42:13 <oerjan> true.
23:42:33 <hppavilion[1]> There would be vectorized versions of all instructions
23:42:41 <hppavilion[1]> So to start a thread, you use VJMP
23:42:57 <hppavilion[1]> Which is a JMP to multiple locations, based on the matrix
23:43:01 <hppavilion[1]> Has that been done before?
23:43:11 <hppavilion[1]> Is that how threading usually works?
23:44:31 <oerjan> i'm gonna guess "no".
23:44:40 <Kaynato> ...oh, actually I've fixed it
23:44:46 <oerjan> Kaynato: fancy
23:44:54 <int-e> sort of... e.g. int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); <-- note the sart_routine argument. but also note the new stack.
23:45:04 <Phantom_Hoover> hppavilion[1], threading irl is highly abstracted
23:45:19 <int-e> hmm
23:45:29 <hppavilion[1]> Phantom_Hoover: How does it work on the CPU level?
23:45:30 <int-e> no new stack there... I'm mixing something up here, sorry.
23:45:45 <hppavilion[1]> In terms of ASM/machine code, that is
23:46:03 -!- earendel has quit (Ping timeout: 264 seconds).
23:46:05 <int-e> uh
23:46:10 <Phantom_Hoover> hppavilion[1], afaiu, partly through context switching on individual cores and partly through running each thread's code simultaneously on different cores
23:46:23 <Phantom_Hoover> this is why it's so nondeterministic
23:46:24 <hppavilion[1]> Phantom_Hoover: Ah?
23:46:29 <int-e> you just have n CPUs working concurrently; it's the OS's task to give them work to do, i.e. to schedule threads.
23:46:29 <hppavilion[1]> Makes sense
23:47:37 <oerjan> there's also interrupts to give the OS a chance to switch context from a thread...
23:47:59 <oerjan> um
23:48:18 * int-e is oversimplifying of course
23:48:56 <Phantom_Hoover> oerjan, the OS handles the context switching and core assignment obv.
23:49:19 <oerjan> Phantom_Hoover: well yes, but there needs to be a basic mechanism for preempting a running thread
23:49:25 <oerjan> (unless you go all cooperative)
23:49:48 <Phantom_Hoover> interrupts are just the way context switching is implemented, is what i'm saying
23:49:54 <oerjan> yeah
23:50:06 <int-e> (the n there may change over the runtime of the system these days... and the CPUs may not even be equal... it's becoming messier and messier especially on mobile devices)
23:50:12 * Phantom_Hoover wonders how threading is implemented in linux on a syscall level...
23:50:58 -!- centrinia has joined.
23:51:11 <Phantom_Hoover> hppavilion[1], the upshot is that threading doesn't have the direct relationship to multicore CPUs that you might at first think
23:52:01 <Phantom_Hoover> if you have a bunch of threads in the same process the OS might decide to run them all on the one core, for instance
23:52:10 <int-e> Phantom_Hoover: "One use of clone() is to implement threads..." ... the clone system call allows you to just specify a new stack and function to execute, without duplicating the rest of the process state
23:52:47 <Phantom_Hoover> right
23:52:52 -!- Frooxius has joined.
23:54:33 <int-e> Phantom_Hoover: so what else is there... futex for synchronisation, tgkill() for signaling threads ... now I'm wondering how threads die...
23:54:51 <Phantom_Hoover> also heh, box256 inlines constant ADDs to a MOV
23:56:21 <oerjan> . o O ( they wander off to the thread graveyard )
23:56:43 -!- acertain has joined.
23:59:05 <Phantom_Hoover> god damn the sierpinski one makes me wish i had bitwise ops
←2016-04-09 2016-04-10 2016-04-11→ ↑2016 ↑all