00:00:51 `run echo '/quit' 00:00:52 ​/quit 00:00:57 `run echo '/part' 00:00:57 ​/part 00:03:25 It doesn't work like that 00:03:59 so i see 00:04:09 it was worth a shot 00:04:25 `run printf '\r\nQUIT :a\r\n' # would do better, but won't work anyway 00:04:26 ​ 00:05:00 obviously it wont be a raw irc message 00:05:14 otherwise plain echos wouldnt work 00:06:58 * boily chokes on trying to say “brzrocoin” <-- you're just not czech enough hth 00:07:52 I am Canadian. I am also sane. those are two qualities that prevent me of pronouncing exotic consonant clusters. 00:08:29 still with the delusions 00:09:36 the delusions, they are delicious. 00:10:01 (or is that the meal I'm currently eating? I can't make the distinction.) 00:18:01 -!- blotter__ has quit (Ping timeout: 272 seconds). 00:24:08 my current meal is so cheesy 00:24:30 also bready and liver patéy 00:27:01 http://yle.fi/uutiset/poroille_tarkoitetun_heijastinsprayn_tehtavana_estaa_liikenneonnettomuuksia/7093117 00:32:00 Well, the easiest way I've seen is by simulation of B,C,K,W with fix to get round Hindley-Milner <-- come to think of it, i don't actually have a citation that that is enough. i'm suddenly worried by the fact you cannot make polymorphic functions this way. 00:33:25 i'm not sure that it's actually a problem, though. 00:34:08 pâté de foie is a good thing. 00:34:27 -!- boily has quit (Quit: CHICKEN OF DOUBT). 00:34:30 -!- metasepia has quit (Remote host closed the connection). 00:34:40 and i think lens probably has enough stuff that you could make arithmetic directly as well, which would surely clinch it. 00:35:46 If you write "echo KCUF | rev", then the respose is supposed to be "FUCK" it isn't a misbehaviour. If you don't like it, give different input please! 00:36:00 boily: Being Canadian and sane prevent you from pronouncing some things? Are you sure? 00:36:39 :t view curried (view (sumOf both)) 00:36:40 Couldn't match type `((a0, b0) -> Accessor a1 (a0, b0), 00:36:40 (a0, b0) -> Accessor a1 (a0, b0))' 00:36:40 with `a1 -> Accessor a1 a1' 00:36:45 hm not quite 00:37:11 :t view curried (sumOf both) 00:37:12 Num a => a -> a -> a 00:37:26 :t view curried (productOf both) 00:37:27 Num a => a -> a -> a 00:37:37 I think it is allowed to be both sane and insane simultaneously. 00:38:14 There is an area of the mind that could be called unsane, beyond sanity, and yet not insane. Think of a circle with a fine split in it. At one end there's insanity. You go around the circle to sanity, and on the other end of the circle, close to insanity, but not insanity, is unsanity. 00:38:24 `addquote I think it is allowed to be both sane and insane simultaneously. 00:38:26 1170) I think it is allowed to be both sane and insane simultaneously. 00:39:19 :t (^-) 00:39:20 Not in scope: `^-' 00:39:20 Perhaps you meant one of these: 00:39:20 `-' (imported from Prelude), `^' (imported from Prelude), 00:39:24 oops 00:39:28 When the object enters the timestream, time begins to correct itself. Let me use this example: Imagine four balls on the edge of a cliff. Say a direct copy of the ball nearest the cliff is sent to the back of the line of balls and takes the place of the first ball. The formerly first ball becomes the second, the second becomes the third, and the fourth falls off the cliff. Time works the same way. 00:39:31 :t (~-) 00:39:32 Not in scope: `~-' 00:39:33 Perhaps you meant one of these: 00:39:33 `-' (imported from Prelude), `-~' (imported from Control.Lens) 00:39:38 :t (-~) 00:39:39 Num a => ASetter s t a a -> a -> s -> t 00:39:46 kmc: O, that's how it works. 00:39:54 OK, now I know 00:40:16 zzo38: that's what Terence McKenna says, anyway 00:40:28 dude probably smoked his own weight in DMT 00:40:39 :O 00:40:41 depending on your perspective that might make him either more or less reliable on these matters 00:40:46 OK, now I can know who such a quotation is from. 00:41:11 wait is DMT something you smoke 00:41:12 naturally, I know that quote not from reading his writing directly but from hearing it in a psychedelic trance song 00:41:17 Bike: can be 00:41:23 drat 00:41:56 "When smoked, DMT generally reaches full effects within 10-60 seconds of inhalation." it's one of these 00:41:58 I don't know what "DMT" stands for. 00:42:04 dimethyltryptamine. 00:42:20 N,N-dimethyltryptamine yeah 00:42:40 I,I N,N-dimethyltryptamine 00:42:43 * kmc has smoked 5-MeO-DMT but not DMT 00:43:16 I tried ayahuasca once 00:43:16 i,i 2-(1H-indol-3-yl)-N,N-dimethylethanamine ¬_¬ 00:43:46 Bike: you can also trip from eating DMT-containing plants but you need to take them with a MAOI; there are traditional preparations for this 00:43:51 copumpkin: oh, how was it? 00:43:56 weird as hell 00:44:02 but I haven't tried regular DMT 00:44:04 :t (-~) (over simple) 00:44:04 I threw up a bunch :P 00:44:05 Occurs check: cannot construct the infinite type: t0 = Mutator t0 00:44:05 Expected type: ASetter (Mutator t0) t0 (Mutator t0) (Mutator t0) 00:44:05 Actual type: (Mutator t0 -> Mutator t0) 00:44:11 https://24.media.tumblr.com/901826dd6f13abf694cac1fb0442643d/tumblr_n09sqfia1j1qetjcco3_250.jpg 00:44:11 did you see the machine elves 00:44:12 darn what was it again 00:44:17 :t (-~) id 00:44:18 Num t => t -> t -> t 00:44:32 :t over simple 00:44:33 (b -> b) -> b -> b 00:44:34 nope, but I saw lots of weird things getting drawn in green tendrils 00:44:38 cool 00:44:46 it was really weird, part of a ritual in the dark 00:44:48 :t view simple 00:44:49 MonadReader a m => m a 00:45:01 :t view simple id 00:45:03 a -> a 00:45:03 :t (-~) (view simple) 00:45:04 Num a => a -> a -> a 00:45:06 the room was completely dark but if my eyes were open, I'd feel super lucid 00:45:21 but since it was dark and I was seeing shit regardless, my eyes would creep shut without me noticing, but when they were shut I'd feel super mentally congested 00:45:25 :t view simple id 3 00:45:26 Num a => a 00:45:27 then I'd open them up and feel relieved again 00:45:33 woah 00:45:36 that's interesting 00:45:47 yeah 00:45:53 I'd do it again, but didn't much enjoy the throwing up :) 00:46:22 :t lengthOf 00:46:23 Getting (Endo (Endo Int)) s a -> s -> Int 00:46:25 yeah 00:46:27 it was the sketchiest thing I've ever done, too. I was in a big city in the peruvian amazon, super poor, driven away into the slums of the poor city 00:46:44 then walked into a house where the shaman lived 00:46:54 probably not the wisest thing to do, but it worked out 00:47:00 i'm glad it worked out :) 00:47:02 eating a large qty of plant stuff is a good way to throw up, yeah 00:47:08 though i have puked from pure synthetic psychedelics too 00:47:12 this was a weird liquid concoction 00:47:13 (well, purity unknown but probably high) 00:47:15 ah 00:47:37 I'd still like to try pure DMT 00:48:11 pity they took SR down :P 00:48:13 >_< 00:48:26 FreeFull: view simple _is_ id 00:48:31 oerjan: I know 00:48:55 FreeFull: the game here is to use no identifiers or constructors defined outside lens 00:49:05 I know 00:49:46 :t aside 00:49:47 (Applicative f, Choice p) => APrism s t a b -> p (e, a) (f (e, b)) -> p (e, s) (f (e, t)) 00:49:54 :t beside 00:49:55 (Applicative (Data.Profunctor.Rep.Rep q), Applicative f, Data.Profunctor.Rep.Representable q) => Overloading p q f s t a b -> Overloading p q f s' t' a b -> Overloading p q f (s, s') (t, t') a b 00:50:02 hm 00:50:06 :t side 00:50:07 Not in scope: `side' 00:50:07 Perhaps you meant one of these: 00:50:07 `aside' (imported from Control.Lens), 00:54:16 -!- tertu has joined. 00:56:25 :t re _Just 00:56:27 (Functor f, Contravariant f) => (Maybe b -> f (Maybe b)) -> b -> f b 00:57:17 :t review _Just 00:57:18 MonadReader b m => m (Maybe b) 00:58:24 :t lengthOf (review _Just) _Just 00:58:25 Couldn't match type `Maybe (a0 -> Accessor (Endo (Endo Int)) a0)' 00:58:25 with `(p0 a1 (f0 b0) -> p0 (Maybe a1) (f0 (Maybe b0))) 00:58:25 -> Accessor 00:58:34 :t lengthOf 00:58:35 Getting (Endo (Endo Int)) s a -> s -> Int 00:59:37 :t lengthOf folded ((review _Just) _Just) 00:59:38 No instance for (Choice p0) arising from a use of `_Just' 00:59:38 The type variable `p0' is ambiguous 00:59:38 Possible fix: add a type signature that fixes these type variable(s) 00:59:42 argh 00:59:49 :t lengthOf folded 00:59:50 Foldable f => f a -> Int 01:00:40 can't you just use djinn somehow 01:00:49 :t lengthOf folded ((review _Just) (view simple)) 01:00:50 No instance for (MonadReader a0 m0) arising from a use of `view' 01:00:50 The type variables `m0', `a0' are ambiguous 01:00:50 Possible fix: add a type signature that fixes these type variable(s) 01:01:43 :t lengthOf folded ((review _Just) (over simple)) 01:01:44 Int 01:01:47 whew 01:01:52 > lengthOf folded ((review _Just) (over simple)) 01:01:56 1 01:02:00 yay! 01:02:24 :t review 01:02:26 MonadReader b m => AReview s t a b -> m t 01:02:36 well i'm satisfied 01:04:07 Bike: just ponder http://cokmett.github.io/cokmett/ (you need to click on the picture) 01:04:36 incredible 01:04:53 bimonocycleoid 01:06:03 hm i recall a question whether it was statistically guaranteed to halt, don't think it got a proper answer 01:07:08 Highlighting the picture seems to reveal something, although clicking on it doesn't work. 01:08:02 > view curried (productOf both) (lengthOf folded ((review _Just) (over simple))) (lengthOf folded ((review _Just) (over simple))) 01:08:06 1 01:08:11 oops 01:08:17 > view curried (sumOf both) (lengthOf folded ((review _Just) (over simple))) (lengthOf folded ((review _Just) (over simple))) 01:08:19 2 01:08:27 @tell Taneb view curried (sumOf both) (lengthOf folded ((review _Just) (over simple))) (lengthOf folded ((review _Just) (over simple))) 01:08:27 Consider it noted. 01:08:54 -!- tertu has quit (Ping timeout: 252 seconds). 01:09:54 now do fib 01:09:58 Heh, using lengthOf for getting numbers 01:10:00 :t lengthOf 01:10:01 Getting (Endo (Endo Int)) s a -> s -> Int 01:10:13 Bike: oh Taneb already did 01:10:21 yeah but isn't _1 cheating or something 01:10:31 no, _1 is defined in lens 01:10:41 yeah but it has a 1 in it. 01:10:43 clearly too easy. 01:10:48 bah 01:10:54 > let foo1 = 'a' in foo1 01:10:55 'a' 01:10:58 _1 is fair 01:11:02 otherwise why did you go through all the effort of finding another way to get 1 01:11:44 How do you get 1 from _1? 01:11:52 hell if i know, i'm not a nerd 01:12:07 I don't think tuples are indexed 01:12:12 zzo38: it's using javascript 01:14:35 > (3,4) & view (each.index 0) 01:14:37 Couldn't match type `GHC.Types.Int' 01:14:37 with `p0 b' (Control.Lens.Internal.Getter.Accessor a0 b')' 01:14:37 Expected type: (a0 -> Control.Lens.Internal.Getter.Accessor a0 a0) 01:14:37 -> p0 b' (Control.Lens.Internal.Getter.Accessor a0 b') 01:14:37 Actual type: (a0 -> Control.Lens.Internal.Getter.Accessor a0 a0) 01:14:55 > [3,4] & view (each.index 0) 01:14:56 Couldn't match type `GHC.Types.Int' 01:14:56 with `p0 t0 (Control.Lens.Internal.Getter.Accessor a0 t0)' 01:14:56 Expected type: (a0 -> Control.Lens.Internal.Getter.Accessor a0 a0) 01:14:56 -> p0 t0 (Control.Lens.Internal.Getter.Accessor a0 t0) 01:14:56 Actual type: (a0 -> Control.Lens.Internal.Getter.Accessor a0 a0) 01:15:00 oop 01:15:01 s 01:15:33 > [3,4] & view (traversed.index 0) 01:15:34 Couldn't match type `GHC.Types.Int' 01:15:35 with `p0 t0 (Control.Lens.Internal.Getter.Accessor a0 t0)' 01:15:35 Expected type: (a0 -> Control.Lens.Internal.Getter.Accessor a0 a0) 01:15:35 -> p0 t0 (Control.Lens.Internal.Getter.Accessor a0 t0) 01:15:35 Actual type: (a0 -> Control.Lens.Internal.Getter.Accessor a0 a0) 01:16:57 -!- tertu has joined. 01:17:03 > (3,4) ^. each.index 0 01:17:05 Couldn't match type `GHC.Types.Int' 01:17:05 with `p0 b' (Control.Lens.Internal.Getter.Accessor a0 b')' 01:17:05 Expected type: (a0 -> Control.Lens.Internal.Getter.Accessor a0 a0) 01:17:05 -> p0 b' (Control.Lens.Internal.Getter.Accessor a0 b') 01:17:05 Actual type: (a0 -> Control.Lens.Internal.Getter.Accessor a0 a0) 01:18:29 What is your opinion of procedural SQL? I do not find procedural SQL extensions useful; the features provided by SQLite (now that recursive WITH clauses are supported) is good enough. Wikipedia does say, SQL is influenced by Datalog, so there is some relation to logic programming. 01:18:59 procedural sql is the false helix 01:20:13 However, two missing features from SQLite which would help would be CREATE FUNCTION (not in the way PL/SQL does it, though), and ALTER ... RENAME TO ... for objects other than tables. 01:21:03 Better way of CREATE FUNCTION should be one similar to views, so it is like: CREATE FUNCTION name(args) AS expression; 01:22:04 @tell Taneb hm i briefly forgot you'd already done fibonacci. 01:22:05 Consider it noted. 01:22:53 -!- nooodl_ has quit (Quit: Ik ga weg). 01:25:04 To do aggregate functions you should have, before AS, put ACCUMULATING and a list of variables, each one has "name = initial_value UPDATE TO new_value". Do you think that would be better way? 01:26:28 For example: CREATE FUNCTION TOTAL(X) ACCUMULATING (T = 0 UPDATE TO T+X) AS T; 01:28:55 no pasting allowed? <-- pasting is allowed. you're just not allowed to look at the result. 01:34:58 -!- blotter__ has joined. 01:45:54 -!- zzo38 has quit (Remote host closed the connection). 01:55:23 i think the last paragraph of this blog post is on topic here http://terrytao.wordpress.com/2014/02/04/finite-time-blowup-for-an-averaged-three-dimensional-navier-stokes-equation/#respond 01:55:42 oops i forgot to take off that #respond 01:55:54 (as did the reddit poster) 01:56:52 it is my dream to some day understand something tao says 01:57:09 -!- Frooxius has quit (Ping timeout: 265 seconds). 01:57:32 basically terry tao is suggesting that it _could_ in principle be possible to disprove the navier-stokes conjecture by embedding a computer into ideal fluid mechanics 01:57:52 O_o 01:58:27 or something equivalent to a cellular automaton replicator 01:58:34 «To visualise the dynamics of such a system, I found it useful to describe this system graphically by a “circuit diagram” that is analogous (but not identical) to the circuit diagrams arising in electrical engineering» damn 01:58:53 not that this looks anything like a circuit diagram but 01:59:20 -!- tertu has quit (Ping timeout: 252 seconds). 02:00:30 also he refers to the lord of the rings movies 02:01:10 (don't worry Bike, i don't really understand any of this either) 02:01:29 i've yet to meet anyone that can understand tao 02:02:28 of course, i probably couldn't understand anyone who could understand tao 02:03:34 -!- tertu has joined. 02:20:15 -!- heroux has quit (Ping timeout: 272 seconds). 02:20:32 -!- heroux has joined. 02:29:26 -!- CADD has joined. 02:29:50 -!- CADD has changed nick to Guest76828. 02:33:41 -!- Guest76828 has quit (Ping timeout: 248 seconds). 02:36:56 -!- yorick has quit (Ping timeout: 245 seconds). 02:41:52 -!- Sprocklem has quit (Read error: Connection reset by peer). 02:43:08 -!- Sprocklem has joined. 03:10:17 -!- blotter__ has quit (Ping timeout: 252 seconds). 03:14:52 -!- Phantom_Hoover has joined. 03:19:43 -!- Frooxius has joined. 03:23:28 -!- tromp_ has quit (Remote host closed the connection). 03:24:01 -!- tromp has joined. 03:28:11 -!- tromp has quit (Ping timeout: 245 seconds). 03:33:59 -!- zzo38 has joined. 03:53:37 -!- blotter__ has joined. 04:03:00 What d'you call the idea that if you choose something randomly it tends to be one of the more common ones? 04:03:45 bias? 04:03:55 Perhaps! 04:05:11 distribution? 04:16:24 Taneb: It isn't precisely clear what you mean. 04:16:41 i'm with zzo38 04:16:43 I don't think it really matters 04:17:08 Like, I'm trying to compute an estimate of the mode. Enumerating the possibilities is expensive. 04:17:40 Taneb: a poll? 04:18:12 I don't think it really matters what I call it 04:19:22 well i think the mode may be one of the hardest parameters to estimate if you don't have some other knowledge about the distribution 04:20:21 because you might miss it completely if it's a narrow spike 04:21:29 oerjan, here it's the case that any of the population is sort of good enough 04:21:32 Just the mode is the best 04:22:04 O, yes, that is what it is called; it is called the mode. 04:22:18 At first I didn't understand, but of course, that is what it is. 04:22:38 -!- tertu has quit (Ping timeout: 265 seconds). 04:25:29 -!- luserdroog has joined. 04:29:22 -!- password2 has joined. 04:39:46 -!- tertu has joined. 04:40:47 I thought of idea to connect I/O devices to computer and to each other using ethernet, that peer-to-peer is possible, no special drivers are need to write implementations or proxies, and several other things. 04:43:16 -!- Sorella has quit (Quit: It is tiem!). 04:48:19 just hook up keyboard to ethernet broadcast 04:48:24 everyone gets every keystroke..p2p! 04:48:46 in uni we made a Linux kernel driver which let you share a page of memory with every host on your LAN 04:48:58 Yes, that is the other thing; to allow multiple devices to be having multiple devices. 04:49:22 it was p. cool, you could just write into memory and the other nodes would see it by magic 04:49:28 DSM! 04:49:30 For example to allow one keyboard on two computers, or multiple computers to share access to a single disk. 04:49:31 of course doing this with good performance is Very Hard 04:49:42 but it's also a problem that multi-core systems have to solve 04:49:46 A file system could be supported using FTP and Plan 9 protocols. 04:50:15 EPARSE "ftp and plan9 protocols" 04:50:37 it would have been fun to extend that project by implementing real cache coherence protocols 04:51:05 newsham: Plan9 is a network protocol. To be specific it is the network protocol used for all RPC on Plan 9. :) 04:51:23 Or to have two devices connected to each other without necessarily needing the host computer (other than a router or something like that). 04:52:28 http://www.thenewsh.com/~newsham/plan9/ 04:55:53 -!- zzo38 has quit (Ping timeout: 252 seconds). 04:56:48 -!- Phantom_Hoover has quit (Quit: Leaving). 04:57:13 Did somebody say Plan9? 04:57:24 Longtime fan, never used it. 04:57:40 -!- zzo38 has joined. 04:57:43 I think it would be a good idea to make each process in a Linux (or similar) system to have a filesystem associated which is under its directory in /proc/ and if the program doesn't provide a filesystem, then you should get a "disk is not inserted" error when you try to access it. 04:58:35 luserdroog: you should use it. you can get a vm imgae setup really quickly. 04:59:13 Hmm. I do have some free disk space after offloading some porn.... 05:07:20 -!- atriq has joined. 05:07:27 My desktop decided to stop working 05:07:40 First time I've used my laptop in aaaages 05:08:38 is it pining for the fjords 05:08:57 It's pining for a hard drive that hasn't fallen out, I think 05:09:03 aha 05:09:15 plan9 ran on big machines in 2002. so pretty much takes up no disk space today ;-) 05:09:29 also the core system is itself pretty small 05:09:58 you can find some demo videos on youtubes, too 05:10:13 You know, it's 5 am 05:10:17 I really should sleep 05:10:42 Didn't people used to complain about how much resources a Smalltalk VM took up? 05:11:12 How much resources to they compare to how much DOS takes up? 05:11:20 also easy to get and use -- plan9 ports, which give syou much of the plan9 env/tools in unix. http://swtch.com/plan9port/ 05:14:21 Taneb: it sounds like you were describing the idea of statistical sampling 05:14:24 @localtime atriq 05:14:24 people will complain about anything 05:14:25 sgeo: now its just a small vm for toys on olpcs. :) 05:14:51 @time 05:14:54 Local time for oerjan is Tue Feb 18 06:14:51 2014 05:15:20 Local time for atriq is Tue Feb 18 05:15:25 05:15:25 Is it possible to obtain OLPCs these days? 05:15:43 i imagine people are throwing them away by now 05:16:02 Sgeo: ask Blaketh 05:16:13 he's in #trains 05:16:13 -!- SirCmpwn has changed nick to SirCmpwn_. 05:16:16 google says ebay has some for sale in the $100-$150 range 05:16:26 at one point he had like 30 of them plus the box that lets you charge 30 batteries at once :) 05:17:04 walmart has new olpc tablets 05:17:10 My laptop has connectivity problems 05:17:15 -!- SirCmpwn_ has changed nick to SirCmpwn. 05:17:25 one laptop per connection 05:18:25 i've got an xo. the clock battery is out, so i have to manually fix the date to use it properly, but other than that in working order 05:20:25 i installed debian on mine but it kept hard-freezing 05:20:41 -!- blotter__ has quit (Ping timeout: 245 seconds). 05:22:43 @ping 05:22:44 pong 05:23:35 looks fast enough from here 05:23:41 oerjan, it keeps dropping 05:24:00 It's fast but unstable 05:24:09 i should install the cray emulator on my xo 05:26:15 Have "process custom file systems" been implemented at all? I think I have seen some, but they require the program to terminate and retain some directory elsewhere, which doesn't seem very sensible to me. 05:31:05 -!- SirCmpwn has changed nick to SirAway. 05:32:02 Do you know of any graphics libraries for SQL? 05:32:25 -!- Sprocklem has quit (Read error: Operation timed out). 05:32:31 dont know what you mean by 'process custom filesystems' 05:32:56 My live esolang creation is in 3 days 05:34:09 newsham: I mean that in the process directory under /proc/ there would be another directory which represents a filesystem implemented by the program, and is available while it is running. If no filesystem is implemented by the program, then you could get a "disk not inserted" error or something like that, when trying to access it. 05:35:04 there are programs which implement synthetic filesystems from usre programs, usually using the fuse library and driver. 05:35:16 plan9ports (plan 9 from user space) has some in its dist 05:35:32 ie. when you run acme you get /mnt/acme/* directories for your acme windows. 05:35:42 see http://www.youtube.com/watch?v=dP1xVpMPn8M for a demo 05:35:51 OK, but that isn't quite what I meant. 05:36:04 I meant you would get it in /proc/1928/fs/ or whatever. 05:36:19 its a filesystem implemented by a program which is available while its running.. although its not (normally) mounted under /proc 05:36:20 (And if you wanted it elsewhere, you would create a link to it.) 05:36:24 it could be, if you wanted it to 05:36:41 you can mount it anywhere you feel like, of course 05:37:31 I mean the system should be designed to automatically mount it in /proc whether or not the program even provides a filesystem. If more than one instance is then running, you can access each one by their process ID. 05:38:21 whats the advantage? seems like you'd force each proc to implement at most one fs 05:38:34 i guess to answer your question, no, i have not heard of such a thing 05:39:19 If it implements more than one, they can be implemented in subdirectories, so you don't need more than one. 05:39:40 unless you didnt want them to have a parent/child relation to each other 05:40:14 you should implement it for the linux kernel and give it a try 05:40:41 They don't need to; for example you can implement one as /proc/444/fs/A/ and one as /proc/444/fs/B/ but they would generally be the same filesystem actually; if separate implementations exist the program would just proxy them through the A and B directories. 05:41:38 Or else the process could fork additional processes, if that would help at all. 05:42:16 -!- blotter__ has joined. 05:42:38 I think I'll just have all (most) lenses be merely traversals.... a wrong type would get reported as being 0 targets 05:43:34 zzo38 : the Aditi project was a really interesting idea 05:44:01 For example if the program implements FTP access as a local file system, then you might use a command like "ftpfs example.org &" and then you get its process ID; afterward you can close the connection by sending SIGTERM to the process, or perhaps to reset the connection by sending SIGUSR1. 05:44:49 ski: What is that? 05:45:02 a deductive database system 05:45:06 or rather, it was 05:46:11 it had integration with Prolog, and later with Mercury 05:46:32 How does it work? Do you have an example? 05:46:47 http://man.cat-v.org/plan_9/4/ftpfs 05:47:22 the project page is 05:48:43 "it" being the deductive database parts ? or the integration with Prolog or Mercury ? 05:49:10 ski: I mean the deductive database. 05:49:36 do you know any logic programming (like Prolog) ? 05:50:24 No, I don't know much about it. Wikipedia says SQL is influenced by Datalog, but I don't know much about how Prolog or Datalog works. 05:50:37 -!- SirAway has changed nick to SirCmpmn. 05:50:45 I know SQL though. I also know some about some kinds of synbolic logic. 05:50:58 well, then you imo should sooner or later learn some Logic Programming. it's quite interesting 05:51:12 preferably sooner :) 05:51:13 What relation does it have with SQL? 05:51:22 Maybe then I can understand. 05:51:32 Since, I do know how to write programs in SQL. 05:51:57 unfortunately, SQL has a very ugly syntax 05:52:23 Logic Programming languages typically borrow their syntax much more directly from first-order predicate logic 05:52:47 I do not think the syntax of SQL is so bad. 05:54:34 the main thing that should have to be changed in a Prolog-like syntax, to make it better applicable to databases, it adding support for records / named arguments, so that you don't have to remember the order of arguments for a thirteen-arity relation 05:54:38 newsham: I can see from that, its implementation has to add various things such as using unmount command, trying to access the user's home directory, etc, even though with my suggestion it is a bit more simpler since you can just use SIGTERM to get rid of the connection and that would automatically do everything for you; the directory is automatically gone since it is in /proc instead. 05:55:17 SQL is partly built as a pointful layer over relational algebra, which is more or less pointless 05:55:54 i would say sql is totally pointless ;-) 05:56:12 hehe (i meant "pointless" in the technical sense :) 05:56:16 newsham: Why? 05:56:29 Is prolog/datalog syntax actually compilable to something more efficient than brute-force? 05:56:30 zzo38: mostly for comedic effect. 05:56:47 -!- SirCmpmn has changed nick to SirCmpwn. 05:57:00 well, not totally. but unfortunately SQL deviates on several points from the relational model 05:57:15 ski: What kind of points do you mean? 05:57:31 (and then in addition many DBMSs deviate from the SQL standard) 05:58:02 :( Datomic is still proprietary, right? 05:58:22 Well, I use SQLite, and think many of the extensions that other systems add are mostly worthless. 05:59:47 [19:59] < zzo38> ski: What kind of points do you mean? 06:00:04 giving parameters names 06:00:31 http://www.haskell.org/haskellwiki/Pointfree 06:01:13 SQL programming does give everything names, such as tables, fields, and even loops are given names (unlike most programming languages). 06:01:37 Factor counts as almost fully pointfree, even though you do need to name parameters (just for the types, not for use in code), right? 06:02:18 [19:57] < ski> SQL is partly built as a pointful layer over relational algebra, which is more or less pointless 06:02:22 yah, he said it was pointful. 06:02:30 A view can contain a SELECT statement that doesn't define names for the result fields, although it won't be so useful if you want to try to insert data into the views (probably to cause triggers to fire). 06:03:56 zzo38 : some major points : order of attributes should never matter. nulls. duplicate tuples allowed in an extensional relation if it doesn't have a uniqueness constraintH 06:04:02 -!- atriq has quit (Quit: Leaving). 06:04:40 Sgeo : what do you mean by "brute-force" ? 06:04:54 ski: enumerating through every possibility, ala the List monad 06:05:14 Sgeo : deductive databases doesn't quite work like that 06:05:26 ski: ok. Prolog has to though, right? 06:05:33 yes, but that's different 06:06:04 ski: What do you mean, "order of attributes"? And, you can tell it which fields don't have null values, in SQL. 06:06:25 Logic Programming languages, like Prolog,Mercury,Oz,lambdaProlog, will employ backward-chaining, and will reason a tuple-at-a-time. this most commonly is implemented by backtracking 06:07:30 deductive databases otoh will employ forward-reasoning, and reason set-at-a-time, typically using variants of fixed-point-iteration for recursive intensional predicates 06:08:02 -!- password2 has quit (Ping timeout: 264 seconds). 06:08:09 -!- oerjan has quit (Quit: Hneit). 06:08:36 the latter is typically much more efficient, when you're dealing with huge upto gigantic amounts of data, and only a comparatively very meager amount of rules ("views") in addition to it 06:09:15 in Prolog, the computation starts from the goal, and reasons backwards, trying to find ways of justifying the goal in terms of new subgoal 06:09:28 until it comes back to the base data 06:10:12 and tuple-at-a-time means that it follows one solution at a (conceptually) time, tracing it through the logic 06:10:39 one can handle multiple solutions in parallel (OR-Prolog) or in sequence (backtracking) 06:11:35 deductive databases otoh start from the base data, combines such base sets together with each other according to the rules of the intensional database, until it has finally computed the set of tuples corresponding to the query (goal) made by the user 06:12:34 and set-at-a-time means that it reasons about the sets of tuples/solutions collectively, iterating over them by joins familiar from relational database theory 06:13:31 the extensional part of the database consists of schemata of extensional/base relations, together with the current data (tuples/facts) that are currently stored in the database for these relations 06:14:18 the facts in these relations are usually ad hoc, representing some (usually incomplete) view of how the messy world happens to look like at the moment 06:14:38 (abbreviated EDB) 06:15:32 the intensional part of the database (IDB), in the SQL case consists of views 06:17:01 in deductive databases, the IDB *looks* more or less like a program in a Logic Programming language. it consists of mainly rules, and perhaps a few facts as well (thay generally do *not* have an "ad hoc" feel, but rather "must be" what they are, and probably won't change at all in the near future, at least not any more than the rules) 06:17:55 however, the actual execution of the rules (and facts) here is different, because forward-chaining and set-at-a-time rather than backward-chaining and tuple-at-a-time, as mentioned above 06:19:33 (btw, one difference between Aditi and basic Datalog is that Aditi had support for handling non-atomic datums in tuples) 06:21:29 one of the simplest examples of IDB relations is transitive closure 06:23:08 -!- luserdroog has quit (Ping timeout: 245 seconds). 06:23:59 I do not quite understand what it related to databases. 06:24:38 we'd first declare something along the lines of 06:25:23 :- type airport == string. 06:25:34 OK 06:25:38 And then what? 06:25:54 -!- luserdroog has joined. 06:26:09 :- type distance == floating. 06:26:17 :- base flight(airport,airport,distance). 06:26:29 OK 06:26:33 OLPC! I loved my olpc to death. :( 06:26:46 :- mode flight(out,out,out) is nondet. 06:26:50 -!- tromp has joined. 06:27:03 What does ":- mode flight(out,out,out) is nondet." mean? 06:27:05 (i'm deviating a bit from the actual Aditi syntax here) 06:27:13 Not irreparable. I broke the pin in the power jack. 06:27:56 it's a mode declaration, and this mode declaration, with all `out's, and with `nondet' would probably be provided by default for base/extensional relations 06:28:39 I do not understand what that means. 06:28:58 it basically says that we can generate (output) values for the three attributes of this relation, and that we may get any number of solutions ("non-deterministic", zero or more solutions/tuples) 06:29:18 Ah, OK 06:29:36 i think for every base relation, we will have a mode with only `out's and with determinism `nondet' 06:30:09 How is it different if you don't put "out" in there, then? 06:30:13 (maybe in some cases it would make sense to change the determinism from `nondet' here, i'm not sure) 06:30:23 well, that's mostly interesting for IDB predicates 06:30:55 so 06:31:36 :- pred trip(airport,airport,distance). 06:31:42 -!- tromp has quit (Ping timeout: 265 seconds). 06:32:05 :- mode trip(in,out) is nondet. 06:32:19 er, we should get distance as well 06:32:23 :- mode trip(in,out,out) is nondet. 06:32:35 And how does that mean, then? 06:32:36 :- mode trip(out,in,out) is nondet. 06:34:08 the first of these two modes mean that we may query on the trip/3 relation (which is basically a view, in SQL terminology), providing the starting airport, and get back a set of triples with that starting airport, and all possible ending airports, and the cumulative distance travelled 06:34:29 for the second mode, in the other direction, from ending to starting 06:34:36 OK 06:35:31 (possibly there isn't much difference in this specific example, since i suppose flights between airports are usually(?) bidirectional, i.e. offered in both directions -- perhaps this isn't to be assumed in general) 06:36:14 Although SQL views don't take inputs, and may not even contain any meaningful data (when I write SQL programs at least, perhaps half of the time the views don't contain any data and are write-only). 06:36:32 well, trip/2 itself doesn't take any inputs 06:36:44 a specific *mode* of it can take inputs 06:36:52 oh, i just recalled 06:37:17 extra modes on base relations will in many cases amount to indices on the bsae relations 06:37:21 so 06:37:22 Ah, what? What is trip/2? 06:37:32 sorry, trip/3 06:37:35 OK 06:37:58 :- mode flight(in,out,out) is nondet. 06:38:19 expresses that you can index on the starting airport in the flight/3 relation 06:38:25 :- mode flight(out,in,out) is nondet. 06:38:31 expresses that you can index on the ending airport in the flight/3 relation 06:39:08 (and yes, as i said above, it would be better to use records or named arguments, instead of relying on argument order for the roles of the arguments) 06:39:24 anyway, trip/3 can be defined by the *clauses* 06:39:40 trip(Original,Destination,Distance) :- flight(Original,Destination,Distance). 06:39:54 Ah, OK, so it is like indexing, then. 06:40:20 trip(Original,Destination,DistanceA + DistanceB) :- 06:40:25 flight(Original,IntermediateStop,DistanceA), 06:40:30 flight(IntermediateStop,Destination,DistanceB). 06:41:20 these two rules (rules and facts are collectively known as clauses) would in SQL probably be expressed as a `union' of two `select' queries 06:41:38 the `:-' means "if" (in the logical sense) 06:41:46 Yes, that would be UNION 06:42:03 I can see what it is meaning now 06:42:21 Although then you will have no more than two flights, it looks like 06:42:29 so the first clause says that one can make a trip from `Original' to `Destination' travelling `Distance', *if* one can take a (single) flight from `Original' to `Destination' travelling `Distance'. 06:42:34 I am involving a lot of other people's intellectual resources on this project, I better follow through on it 06:42:40 er, sorry, mistyped 06:42:46 second clause should be 06:42:49 trip(Original,Destination,DistanceA + DistanceB) :- 06:42:56 trip(Original,IntermediateStop,DistanceA), 06:43:01 trip(IntermediateStop,Destination,DistanceB). 06:43:07 Yes, that is better. 06:43:33 (first i was thinking of an assymetric way of expressing it, but then i changed it to symmetric. unfortunately in the wrong way :) 06:44:00 ok, so the `,' separating the two trip/3 "calls" to the right of the `:-' ("if") here means "and", logical conjunction 06:44:13 Yes, that is clear 06:44:57 so the second clause says that one can make a trip from `Original' to `Destination' travelling `DistanceA + DistanceB', *if* one can make a trip from `Original' to `IntermediateStop' travelling `DistanceA' *and* make a trip from `IntermediateStop' to `Destination' travelling `DistanceB'. 06:45:20 now, for the first mode 06:45:23 :- mode flight(in,out,out) is nondet. 06:45:28 Yes, I can understand that much already. 06:45:46 the engine would probably internally rewrite the second clause to instead read 06:45:48 The mode, I don't quite understand yet 06:45:54 trip(Original,Destination,DistanceA + DistanceB) :- 06:45:56 trip(Original,IntermediateStop,DistanceA), 06:46:02 flight(IntermediateStop,Destination,DistanceB). 06:46:10 for efficiency reasons 06:46:22 Yes I would think too, to do like that 06:46:53 You can do that in SQL too by using recursive queries (something introduced this month, in fact) 06:47:04 the basic idea for computing trip/3 is to start by the empty set 06:47:12 then initialize by filling it with all the tuples/rows/facts from flight/3 -- this corresponds to the first clause above 06:47:47 zzo38 : yes, however, iiuc deductive databases still can make more general sorts of recursion than recursive `with' 06:48:11 the next step is to enter a fixed-point iteration loop 06:48:46 the (original) second clause for trip/3 says how we from tuples in trip/3 *and* from tuples in trip/3 can compute tuples in trip/3 06:48:59 this is basically a join (plus a little arithmetic and projection) 06:49:41 so, you use the recursive rule of trip/3 to add succesively more and more tuples to the (temporarily computed) intensional flight/3 relation 06:50:02 of course, if a tuple is already in the current approximation for flight/3, you don't add it again 06:50:18 Can you give an example of such more general sorts though? 06:50:23 the iteration stops when nothing new was added in the last step 06:52:27 the obvious first optimization to this process is to only combine *new* flight tuples with all the existing flight tuples, and also all the existing flight tuples with only the *new* ones, at each step 06:52:51 -!- blotter__ has quit (Ping timeout: 260 seconds). 06:53:34 so that in each join, for each combination of two tuples combined, one from the "left" trip/3 call, and one from the "right" one, at least one of those two tuples was newly added in the last iteration step 06:53:46 this is known as semi-naive execution 06:54:17 there are several further optimization steps, often depending on the actual structure of the recursive rule 06:54:44 well, several further possible optimization steps one could apply, i mean 06:55:46 one of these is that, in the case that the original starting airport (in terms of the example above) is known, it is better to use the alternative formulation of the recursive rule, with one call to trip/2 and one to flight/3, joining these instead 06:56:23 that way you only add one more airport to the conceptual (not stored/computed in the example) list of airports along the trip 06:56:52 the gain is that there's in general *many* ways to arrive at a string by concatenating smaller strings 06:57:26 so, the original (unoptimized) version will be inefficient in that it will recompute the same tuple very many times 06:57:34 already with 06:57:37 a,b,c 06:57:50 there are two different ways to built it up from parts 06:57:53 (a,b),c 06:57:55 and 06:57:57 a,(b,c) 06:58:27 as the number of nodes rise, the number of possible ways to arrive at the list rises at a faster rate 06:58:40 (i don't recall whether it's exponential, or only polynomial rn) 06:58:49 (hm, probably exponential) 06:59:05 so, one could consider a query 06:59:37 ?- trip(sydney,Destination,Distance). 06:59:45 (capital letter signifies a variable) 06:59:53 this would be logically equivalent to saying 07:00:13 ?- Origin = sydney,trip(Origin,Destination,Distance). 07:00:44 however, it's inefficient to compute *all* the trips whatsoever, and only *then* join with the `Origin = sydney' condition 07:01:08 (yes, this is conceptually a join. though of a special sort which is a projection) 07:01:47 so, regardless of whether you write the former or the latter query (`?-' is the query prompt, btw), the system will actually compute this in a more efficient way 07:02:40 it will note that the `Origin' will be passed along unchanged between the call to the left of `:-', and the recursive call, all the way down to the call to the base relation flight/3 07:03:19 so, it will internally compute a specialized version of trip/3 that has propagated the information `Origin = sydney' all the way down to the fetch from the base relation 07:03:36 and this is of course where the extra mode (the index) on the base relation comes in 07:03:55 so, we only select flights taking off from `sydney' out of potentially very many flights 07:04:39 the classic general transformation that can propagate "constraints" from the query down the intensional clauses is called "magic sets" 07:04:58 there are also other transformations, sometimes better, but often only applying in special cases 07:06:20 * quintopia dances 07:07:55 FreeFull: if t%(1<<15)==0: c+=2 07:07:56 return (t%32)|(t*6)&(0xFF*(~t>>11&1))|(t*4)&(0xFF*(t>>12&1))|(((~t>>10)&(~t>>11)&1)*rand(256*256))|int(t*[1.25,1.25,1.5,1.5,1.66666,1.6666,1.5,1.5,2,2,1.875,1.66666,1.5,1.25,1.125,1][(t/2048+c)%16])<<3 07:08:07 you can also add more complex constraints, like 07:08:23 ?- Origin = sydney,Distance < 1000.0,trip(Origin,Destination,Distance). 07:09:15 and that inequality constraint would be used to ignore temporary flights that already have too high a distance, not bothering to involve such tuples in further joins 07:09:41 zzo38 : i suppose this gives a starting idea of some of what deductive databases are about 07:09:50 i have to leave presently, though .. :/ 07:11:27 OK 07:15:46 -!- CADD has joined. 07:15:47 -!- CADD has quit (Client Quit). 07:22:46 -!- CADD has joined. 07:22:46 -!- CADD has quit (Client Quit). 07:33:33 -!- luserdroog has quit (Ping timeout: 245 seconds). 07:35:56 -!- tertu has quit (Ping timeout: 252 seconds). 07:41:34 -!- tertu has joined. 07:41:48 -!- prooftechnique has quit (Quit: leaving). 07:45:56 -!- tromp has joined. 07:50:29 -!- tromp has quit (Ping timeout: 248 seconds). 08:14:29 -!- tertu has quit (Ping timeout: 240 seconds). 08:28:26 most of the time i look in this channel is like "dafuq am i readin" 09:26:58 -!- MoALTz has joined. 09:58:34 -!- augur_ has joined. 09:58:43 -!- augur has quit (Read error: Connection reset by peer). 10:20:01 -!- CADD has joined. 10:20:01 -!- CADD has quit (Client Quit). 10:39:44 -!- conehead has quit (Quit: Computer has gone to sleep.). 10:56:29 http://www.fark.com/comments/8146474/Ship-not-allowed-to-deliver-40000-tons-of-much-needed-road-salt-to-New-Jersey-because-A-The-ship-cant-dock-because-of-weather-B-Nobody-will-unload-it-because-of-a-dock-worker-strike-C-The-ship-isnt-carrying-an-American-flag 10:56:44 I feel like an idiot, the comments are saying everyone knows what is actually meant 10:56:45 I didn't 10:56:48 til 10:57:00 I shoudl probably be seeping 10:57:02 slepeing 11:43:15 Do you know, if a program licensed under GPL is linked with SQLite and uses sqlite3_enable_load_extension(db,1) then what are the license requirements? SQLite itself is public domain. 12:04:24 -!- yorick has joined. 12:12:25 -!- Phantom_Hoover has joined. 12:19:40 https://ang.wikipedia.org/wiki/H%C4%93afodtramet 12:21:41 Is there ANYONE alive today who natively speaks old English? 12:22:37 -!- MoALTz has quit (Read error: Connection reset by peer). 12:23:19 -!- MoALTz has joined. 12:23:35 Wait, this isn't genuine Old English, is it? 12:23:41 "As a general rule for the OE wiki, try to remember the following OE guidelines to give this wiki a consistent look and feel:" 12:24:37 -!- Sorella has joined. 12:26:23 Sgeo: as fair as I understand, it is real old english with neologisms for words not in the real old english 12:41:28 -!- zzo38 has quit (Remote host closed the connection). 12:42:39 -!- MindlessDrone has joined. 12:51:23 so like the scots wikipedia but even dumber 12:53:01 yes 12:55:35 -!- FireFly has quit (Ping timeout: 272 seconds). 12:56:08 quintopia: Is that bytebeat? 13:12:51 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds). 13:30:04 http://osrc.dfm.io/Sgeo flipped from me being a Haskell coder to being a Racket coder. With one push. 13:32:29 omg 13:33:02 http://osrc.dfm.io/int-e lists zeckendorf first, I need to push some more stuff to lambdabot ... 13:34:41 I'm also unsure what recruiters would make of making new repositories at 3am. heh. 13:36:32 -!- FireFly has joined. 13:47:53 Oh no: after having that one semi-punny alliterative homework problem title ("Conditional contradiction conundrum"), now I'm tempted to make another one. 13:59:03 -!- Sgeo has quit (Read error: Connection reset by peer). 14:35:21 -!- constant has changed nick to function. 14:52:44 -!- tertu has joined. 14:59:29 -!- nooodl has joined. 14:59:51 -!- password2 has joined. 15:06:54 -!- shikhin has joined. 15:28:11 -!- Sprocklem has joined. 16:12:32 http://en.wikipedia.org/wiki/Uniform_access_principle#Problems :||| 16:12:37 -!- ski has quit (Quit: Lost terminal). 16:13:15 nerds using standard references from science fiction you say 16:25:45 So when I got out at the gas station after driving home from work today I saw smoke from the front right wheel. At the moment I hate being a car owner. -_- 16:26:17 fizzie, any new photos to cheer me up? 16:29:42 i have a driver's license 16:29:57 for almost a month now 16:30:14 growin' up 16:31:36 -!- shikhout has joined. 16:31:46 heh 16:34:26 -!- shikhin has quit (Ping timeout: 245 seconds). 16:34:27 -!- shikhout has changed nick to shikhin. 16:35:42 i mean a temporary one, i still have one lesson this month and two next month 16:38:20 -!- AnotherTest has joined. 16:39:26 oklopol, oh? I guess it works differently over there then, never heard of temporary licenses 16:40:10 bbl 16:40:23 first you drive with a piece of paper for a few weeks, then you get a temporary license in the mail, then you get a permanent one after 1-2 years. 16:40:39 oklopol, huh, okay that isn't how it works in Sweden 16:41:05 also it costs about 2000 euros 16:41:35 You do get a piece of paper for a couple of weeks after passing the tests (both the theoretical and the practical ones), but then you get your proper license in the mail. 16:42:08 bbl really this time 16:42:10 byes 16:46:12 Does dev C++ have tools to auto add classes and such? 16:46:16 Or do I have to do it manually 16:53:07 Hm 16:53:08 Let's see 16:53:17 what should I use for a quantum computer simulation 16:53:26 I guess I need a QUANTUM STATE thing, for a start 16:53:55 Then add some spin and momentum attribute 16:54:16 Such that they are arrays of values 16:54:19 For the superposition 16:54:55 Then multiparticle states as arrays of one particle states, with maybe some indicator of the superselectors/commutation rules 16:54:57 or some shit 16:56:55 And since it's a finite discretized space, I can consider that the momentum is an int 16:57:08 Though a big one 17:07:38 -!- Sprocklem has quit (Ping timeout: 260 seconds). 17:09:57 -!- Sprocklem has joined. 17:15:00 -!- Sprocklem has quit (Ping timeout: 252 seconds). 17:41:24 -!- Sprocklem has joined. 17:45:15 -!- tertu has quit (Quit: No Ping reply in 180 seconds.). 17:45:23 -!- tertu has joined. 17:47:32 -!- zzo38 has joined. 17:51:29 -!- password2 has quit (Ping timeout: 240 seconds). 18:03:57 FreeFull: yes. in python. 18:12:04 The thrill of the forbidden 18:12:14 I'm writing in C++ and making all my shit public 18:24:27 -!- Sprocklem has quit (Remote host closed the connection). 18:28:20 -!- MoALTz_ has joined. 18:29:10 -!- zzo38 has quit (Quit: zzo38). 18:31:10 -!- MoALTz has quit (Ping timeout: 260 seconds). 18:31:28 -!- ais523 has joined. 18:36:48 -!- AnotherTest has quit (Read error: Connection reset by peer). 18:37:35 -!- AnotherTest has joined. 18:51:19 -!- luserdroog has joined. 18:59:29 -!- tertu has quit (Ping timeout: 240 seconds). 19:02:58 -!- tertu has joined. 19:08:08 -!- luserdroog has quit (Ping timeout: 245 seconds). 19:08:56 -!- password2 has joined. 19:12:25 hi, I need the shortest way to set the current cell to a random value - either 0 or 1 19:12:51 in BF 19:13:18 there's no way to do that 19:13:26 nyuszika7h: BF is deterministic 19:13:26 it's a deterministic language 19:13:30 best you could do would be a pseudorandom number 19:13:37 pseudorandom is fine 19:13:39 in which case the better the quality of the randomness you want 19:13:41 the longer the program will be 19:14:06 you'd have to maintain PRNG state somewhere you could easily access on the tape 19:14:23 like, simplest would be to use 1 bit of state and just alternate, but that doesn't look very random 19:14:33 what do you need the pseudorandomness for? there might be an easier solution 19:14:52 `coins 19:14:54 dricoin barbacoin vercoin ozdecoin trianiconcoin aeedius'scoin ()coin dupdogma-2dcoin unlcoin sumambalzbaumiccoin neocoin brocoin xlikecoin snaitcoin puzzcoin basisheadcoin alizicoin tbittcoin skucoin d16coin 19:15:05 ()coin 19:15:32 this `coins thing is actually really realistic 19:15:34 much better than `words 19:15:36 `words 19:15:38 epicch 19:15:44 heh d16coin 19:15:47 ais523, that's the terminal object of Crypcurren, the category of cryptocurrencies 19:15:52 I just need to randomly move either left or right, but it would need to check for staying in range too, so forget it, it's probably gonna be long, not suitable for golfing :P 19:15:59 The mythical 16-sided coin 19:16:05 -!- password2 has quit (Ping timeout: 252 seconds). 19:16:06 nyuszika7h: yeah, I don't think it'd be golf-suitable 19:21:15 -!- spiette has joined. 19:22:51 -!- tertu has quit (Remote host closed the connection). 19:32:43 good PRNG for BF is an interesting question, though 19:32:46 perhaps a LFSR 19:33:33 kmc: using one bit per cell? 19:33:38 that'd work, I think 19:33:50 it was good enough for the DVD CCA right https://www.cs.cmu.edu/~dst/DeCSS/Gallery/css-brainfuck.txt 19:33:53 90s kids remember 19:33:54 the actual shifting would be awkward, though 19:34:04 unless you allowed the RNG state to move along the tape 19:34:46 mm 19:42:06 Vorpal: Here's a photo: https://dl.dropboxusercontent.com/u/113389132/Misc/20140215-mystery.jpg 19:43:35 what's this? 19:43:55 -!- conehead has joined. 19:43:58 Looks like a speaker or a microphone 19:47:08 It's a closeup of the surface of one of these reflector things, https://dl.dropboxusercontent.com/u/113389132/Misc/20140218-ref.jpg 19:48:34 Wow 19:48:49 That's about 7-8 cm tall, for a size reference. 19:49:02 nice 19:49:15 is this one of those thing which reflects light especially in the direction from which it came? 19:49:38 Yes. Here's what I get if I turn the led "flash" on in the phone the latter picture was taken with: https://dl.dropboxusercontent.com/u/113389132/Misc/20140218-ref2.jpg 19:49:40 so how big physically is one pixel in that image? 19:50:04 is it basically made of a bunch of tiny corner cubes? i never understood how those work 19:50:21 There's a handy diagram, I saw it. 19:50:36 http://en.wikipedia.org/wiki/File:Comparison_of_retroreflectors.svg 19:50:43 I think it's more like type 1. 19:50:49 -!- function has changed nick to trout. 19:51:21 Except you need a corner of a cube in three dimensions, of course. 19:52:04 But it's easy to figure out since if you take the incident ray in the coordinate axis set up by the edges of the cube, then one wall will do x = -x, second one will do y = -y and third one will do z = -z. 19:55:05 As for pixel size, in other photos the width of the entire image (at the distance that's in focus) has generally been somewhere around 5 mm. 19:57:08 So given the original 5472x3648 resolution, one pixel would correspond (very approximately) to 1 µm. Though that's been scaled to 25% (so 4 µm?), I haven't really been getting pixel-sharp images out of that setup. 19:58:24 Like they say: when you all you have is a cobbled-together macro thing, everything looks like it's in need of magnification. 20:01:35 :D 20:02:28 If you want to guesstimate distances, the diameter of the inner thread in https://dl.dropboxusercontent.com/u/113389132/Misc/20140203-ding.jpg is (like it says) 52 mm and if you look at the dent, you get (scaled to 50% because there really isn't any detail above that) https://dl.dropboxusercontent.com/u/113389132/Misc/20140218-ding.jpg 20:02:50 you should photograph some mushroom gills!!! 20:03:25 if you're getting 4μm resolution you might be able to identify general spore shape and size 20:05:51 I probably should look at something natural, yes. Not that I think I have any mushrooms handy right now. 20:07:20 Apropos nothing, today when getting home from the city the bus in front had a license plate reading "KMC-NNN", where NNN stands for three decimal digits I no longer remember. 20:07:24 :) 20:08:42 TIL you can declare uninhabited types in Rust. also that you can crash the compiler if you use unsafe hax to create values of that type anyway 20:15:16 sounds p. useful 20:15:37 yep 20:19:39 you know how some degenerate code ends up being primarily layers and wrappers around other stuff with almost nothing doing anything real? 20:20:42 in my experience basically all software is like that 20:21:06 I wonder if you could make an esolang around that, where each method/function/unit can do extremely little by itself 20:21:15 it's called Java *rimshot* 20:21:49 well, no, Java allows methods to do a lot if you just write them like that :) 20:22:15 had a Java project where one method tended to break JVMs because it was too big 20:22:42 haha 20:24:06 -!- MindlessDrone has quit (Quit: MindlessDrone). 20:26:31 (meanwhile, on another floor of the same building, a C++ project came up against VS6's limit of 65536 lines in one source file) 20:28:26 16 bits ought to be enough for everybody! 20:29:52 that's a pretty annoying limit 20:30:49 I think it was lines in the file itself, not counting include files etc 20:31:05 still, 65k lines isn't that implausible, especially if it's generated 20:31:48 if its generated you can make lines very short 20:32:03 amalgamated sqlite is longer than 64k lines I think 20:32:12 oh this is line count, not line length. ooops 20:36:41 the longest source file in Linux 3.14-rc3 is 28,729 lines and has four comments (not counting "Copyright (c) 2010 Broadcom Corporation" at the top) 20:36:44 https://github.com/torvalds/linux/blob/master/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c 20:37:13 it has huge tables but it's at least 50% actual code 20:38:56 vim's sourcefiles are all like 10k 20:39:15 lines each.. and that's how they are "maintained" 20:39:41 They also use this horrible indentation alternating between four spaces and a single tab, for who knows what reason 20:41:26 gross 20:41:50 nice how the comments in that broadcom thing are all useless 20:42:08 FireFly: that indentation's pretty common in older sources 20:42:37 ais523: is there any sensical reason behind it? 20:42:40 there's a "correct" way to mix tabs and spaces but almost nobody can do it consistently 20:42:44 FireFly: yeah, saves bandwidth 20:42:52 I suppose 20:42:57 because the standard is that tabs are 8 characters 20:43:06 at the start of a line 20:43:21 so it's a compressed form of 4-space indentation that looks right on anything but a badly misconfigured editor 20:43:21 Yes, sure. But still, the indentation is somewhat negligible compared to the actual code, isn't it? 20:43:34 kmc: Welp, I took a picture of the screen of my (2012) Nexus 7, and one Nexus-pixel is approximately 140 image pixels wide. The screen is nominally 216 ppi, so... 140*216 = 30240 image pixels/inch -> 0.84 µm/pixel. Though it's really impossible to judge how much actual detail I could get, since all that light is just blobs. 20:43:46 FireFly: I'm not so sure 20:43:46 cool 20:43:58 the average length of a line of code isn't that long, especially if in deeply nested indentation 20:44:01 and the indentation precedes every line 20:44:30 Btw, I've seen that abused in python golfing 20:44:49 I thought Python refused to compile code that mixes tabs and spaces? 20:44:51 perhaps not 20:44:52 i.e., use spaces for the first level of indentation and tabs for the next 20:45:08 I think it either sees tabs as a hard eight spaces, or applies the regular expansion rule 20:54:10 https://dl.dropboxusercontent.com/u/113389132/Misc/20140218-art.jpg 20:54:26 vt100 lets you place the tab stops freely 20:56:16 not sure if it has a maximum number of tabs though or if you could place one in every column if you wanted to 21:14:48 fizzie: That's so meta 21:15:16 At least, if displayed on a TV 21:27:28 tabs(1) allows you to configure tabstops too 21:28:37 -!- AnotherTest has quit (Ping timeout: 248 seconds). 21:29:58 [10:46] < ais523> I thought Python refused to compile code that mixes tabs and spaces? 21:30:09 there's a -t option to warn and a -tt option to error on mixed tabs. 21:30:24 but otherwise it has a rule to treat tabs like a seq of spaces 21:31:45 (it uses tab stops of 8 spaces) 21:51:12 -!- Sprocklem has joined. 22:09:09 -!- Sellyme has quit (Excess Flood). 22:11:02 -!- Sellyme has joined. 22:17:36 -!- MoALTz_ has quit (Ping timeout: 252 seconds). 22:18:14 -!- Toade has joined. 22:19:26 -!- Sprocklem has quit (Ping timeout: 264 seconds). 22:19:56 -!- Toade has quit (Client Quit). 22:20:11 -!- Toade has joined. 22:30:29 -!- Tritonio has joined. 22:31:45 -!- shikhout has joined. 22:34:13 -!- shikhin has quit (Ping timeout: 248 seconds). 22:34:15 -!- shikhout has changed nick to shikhin. 22:38:38 -!- thrasos has joined. 22:43:36 hi 22:44:22 -!- oerjan has joined. 22:46:47 hi 22:46:52 `relcome thrasos 22:46:53 ​thrasos: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:47:48 -!- Phantom_Hoover has joined. 22:50:03 -!- Tritonio has quit (Ping timeout: 252 seconds). 22:51:34 -!- Tritonio has joined. 22:57:52 -!- tertu has joined. 23:04:58 -!- nooodl_ has joined. 23:05:20 -!- ais523 has quit. 23:07:38 -!- nooodl has quit (Ping timeout: 252 seconds). 23:10:02 -!- tertu has quit (Disconnected by services). 23:10:04 -!- ter2 has joined. 23:16:46 -!- Tritonio has quit (*.net *.split). 23:16:48 -!- fungot has quit (*.net *.split). 23:18:36 -!- Tritonio has joined. 23:18:36 -!- fungot has joined. 23:22:15 -!- esowiki has joined. 23:22:19 -!- esowiki has joined. 23:22:19 -!- esowiki has joined. 23:23:08 -!- esowiki has joined. 23:23:12 -!- esowiki has joined. 23:23:13 -!- esowiki has joined. 23:23:41 -!- esowiki has joined. 23:23:45 -!- esowiki has joined. 23:23:46 -!- esowiki has joined. 23:24:14 -!- esowiki has joined. 23:24:18 -!- esowiki has joined. 23:24:19 -!- esowiki has joined. 23:24:47 -!- esowiki has joined. 23:24:51 -!- esowiki has joined. 23:24:52 -!- esowiki has joined. 23:25:20 -!- esowiki has joined. 23:25:21 -!- glogbot has joined. 23:25:24 -!- esowiki has joined. 23:25:25 -!- esowiki has joined. 23:31:41 -!- boily has joined. 23:33:44 -!- Sprocklem has joined. 23:36:50 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 23:37:18 `ello spiette 23:37:19 spiettello 23:37:20 -!- metasepia has joined. 23:37:33 quinthellopia! 23:37:39 Tanelle. 23:39:34 if only elly came back 23:39:42 elly? 23:39:45 elly is the hanks of `ello 23:39:59 `ello elly 23:40:00 ello 23:40:10 wat 23:40:23 hellœrjan. 23:40:24 `ello cinderella 23:40:25 cinderello 23:40:34 ~duck cinderello 23:40:34 --- No relevant information 23:40:37 meh. 23:40:37 `ello pachebel 23:40:38 pachebelello 23:40:56 `ello swell 23:40:57 swellello 23:41:12 oh wello 23:41:54 oops, *+ l 23:42:41 * boily sings “Still alone in o-hell-o // See the deadly nightshade grow ♪” 23:45:35 is that like o-hi-o but with more sulphur 23:48:54 Ohio doesn't seem to be particularly sulphurous ← http://www2.ohiodnr.gov/Portals/oilgas/_MSDS/baker-hughes/CD-32.pdf 23:49:21 -!- Phantom_Hoover has joined. 23:49:42 except probably in http://en.wikipedia.org/wiki/Sulphur_Springs,_Ohio 23:59:14 -!- itsy has quit (Ping timeout: 260 seconds).