00:03:54 <shachaf> copumpkin: hmm, didn't you categories package define a category of adjunctions
00:03:57 <Taneb> How possible is a language like Haskell but with support for object-oriented programming
00:04:19 <shachaf> Taneb: People have tried various things.
00:05:02 <shachaf> @google object-oriented haskell
00:05:03 <lambdabot> http://stackoverflow.com/questions/5414323/does-haskell-support-object-oriented-programming
00:05:03 <lambdabot> Title: Does Haskell support object oriented programming - Stack Overflow
00:05:21 <Taneb> (for some bizarre reason I have to write blog posts about computer science for my uni course)
00:05:32 <Taneb> (and also comment on other people's blog)
00:05:36 -!- Sprocklem has joined.
00:05:47 <shachaf> Taneb: why don't you figure out chu spaces for me instead
00:05:54 <Taneb> (me and some friends are writing controversial posts because they are easy to comment on)
00:06:04 <fizzie> ion: Wow, no break-in period!
00:06:10 <Taneb> (I'm writing one about why Haskell's a great language, and one of my friends is writing a similar post about C++)
00:06:26 <ion> *cough* C++?
00:06:49 <Taneb> ion, he has similar opinions of Haskell as I do of C++
00:07:23 <Taneb> Also, as long as we can provide citations, easy-to-disagree-with is good
00:10:28 <fizzie> "When you place your order, you can select our cable break-in service, selectable through a drop down box in the shopping cart for that cable product. Prices vary with the cable model and level of break-in desired."
00:10:46 <fizzie> "Our cables require a total of 400 to 500 hours to completely break in. If you ordered our 2 day cable break-in service, your cables will arrive with the equivalent of 96 hours on them. If you ordered the extended 5 day breakin, the equivalent of 240 hours will be on them."
00:11:26 <ion> Now that’s customer service.
00:12:14 <ion> Comments: Personally i think this cable is so fast it has changed the phase relationship (or corrected it) by 180 degrees above 60hz, the bass is so tight it sounds like the bass is coming from my speakers.
00:12:55 -!- muskrat has quit (Read error: Connection reset by peer).
00:13:00 <fizzie> ion: And it only costs $25 bucks for the 5-day extended breakin! (Two days is free!)
00:13:11 <ion> Whoa! What a bargain!
00:13:33 -!- muskrat has joined.
00:15:18 -!- Bike has joined.
00:16:05 <fizzie> http://news.cnet.com/8301-13645_3-20009082-47.html CNET teaches you the difference between analog and digital: digital is dotted.
00:16:20 <fizzie> Choice quote: "Every sound you hear in real life that doesn't come out of a speaker is analog."
00:16:45 <Bike> "Theoretically have an infinite resolution", nice
00:18:23 <ion> Analog is always "on," digital is either on or off.
00:18:46 <Bike> lol this is great
00:18:59 <Bike> go over the advantages of digital and then be like "but anyway analog sounds better"
00:19:04 <pikhq> "analog", "infinite resolution" what?
00:19:09 <Bike> It's Like, Cold And Impersonal, Man
00:19:26 <fizzie> Every time I end up on an audiophile web-crawl I get this feeling maybe we should just get rid of ears in general.
00:19:32 <Bike> pikhq: "CDs have a 16-bit resolution and DVD-Audio discs can be encoded with a maximum of 24-bit resolution"
00:19:45 <pikhq> Even ignoring the band-limitedness of human senses, reality is quantised.
00:20:21 <fizzie> pikhq: "Analog recording's theoretically infinite resolution refers to its continuity, compared with digital's on/off sampled nature." See, it's that simple.
00:20:34 <pikhq> It's a shame elementary signal processing is relatively obscure.
00:20:47 <Bike> shannon is my god, man
00:21:16 <pikhq> I wasn't accusing anyone *here* of being this ignorant. Just CNET. :)
00:21:29 <Bike> though i know less signal processing than i'd like :(
00:21:41 <fizzie> Bike: Anyway they both "still fall short in creating truly life-like sound", so you can use either.
00:22:08 <Bike> thank goodness
00:22:37 <pikhq> Bike: Yeah, but you at least know Shannon.
00:23:02 <Bike> neuronal coding is kind of awesomely all over the place btw, sometimes it reasonably makes sense as frequency coding and sometimes a transient stimulus of one photon causes a response
00:23:52 <pikhq> And presumably also know about quantization noise.
00:23:54 <Bike> must be what's after jello
00:24:26 <Bike> pikhq: not by that name, at least :/
00:24:57 <Bike> http://en.wikipedia.org/wiki/File:Quantization_error.png oh, yeah, that's simple enough
00:25:03 -!- Darklust has quit (Read error: Connection reset by peer).
00:25:13 <Bike> clearly another data point (!) saying analog is superior.
00:25:20 -!- Taneb has quit (Quit: Leaving).
00:25:44 -!- Darklust has joined.
00:28:54 <pikhq> 'Cept that quantization noise, for 16-bit audio, is like -90 dB.
00:29:28 <Bike> i think that might be the lowest dB measurement i've ever heard of
00:30:27 <pikhq> Note that here the maximum volume is 0 dB.
00:31:02 <pikhq> The 24-bit noise floor is, uh, -145 dB.
00:31:14 <fizzie> http://www.rane.com/pi14.html heh :)
00:31:22 <fizzie> (Look at that list of features.)
00:31:23 <Fiora> 24-bit isn't (16-bit) * 1.5?
00:31:47 <pikhq> Fiora: No, each extra bit doubles the precision of the samples.
00:32:28 <Fiora> if 8-bit is 45db and 16-bit is 90db would 24-bit be 135...?
00:32:32 <Bike> i may have underestimated **1.5.
00:32:55 <pikhq> Fiora: It'd be, like, log_10(2^8)?
00:33:34 <Bike> fizzie: niiiiice
00:34:08 <pikhq> Oh, except that a change by a factor of 10 is a 10dB change.
00:34:19 <pikhq> So that'd be... 10*log_10(2^8)?
00:35:25 <fizzie> 20*, I believe. Because of power/magnitude and blahblah.
00:35:49 <pikhq> That makes it work. 48dB.
00:36:16 <pikhq> And the actual number for 16 bits is -96 dB, so hey.
00:37:33 <pikhq> For comparison, a vuvuzela is 120dB.
00:37:38 <Bike> good to know dB are just as confusing as the last time i cared about dB
00:38:18 <shachaf> Bike: imo use cents instead?
00:38:38 <shachaf> 1200 cents/octave, it's perfect
00:38:51 <Bike> what's the unit where you use e? nats?
00:39:11 <pikhq> So... yeah. 16-bit 44.1 kHz is perfect for those of us who don't care about listening to the grand vuvuzela orchestra at actual volume.
00:39:11 <Bike> or was nats for information...
00:39:12 <ion> What was the power being compared to again when using a dB value as an “absolute” value?
00:39:37 <fizzie> Bike: It's the e-bit, yes.
00:39:37 <shachaf> Bike: have you learned about chu spaces yet
00:39:45 <Bike> why would i care about chu spaces
00:40:26 <shachaf> come on they generalize topological spaces and vector spaces and a zillion things apparently??
00:41:03 <fizzie> ion: It's very context-dependent.
00:41:24 <shachaf> look i don't know that's why you read these papers for me
00:41:26 <ion> 20 µPa 10e−12 W/m² or 10e−12 W apparently.
00:41:36 <Bike> why would i want to generalize all those things though
00:41:37 <ion> comma after the µPa
00:41:42 <fizzie> That's just the usual for dBA.
00:41:57 <fizzie> (Which is also A-weighted.)
00:42:10 <ion> I was asking due to <pikhq> For comparison, a vuvuzela is 120dB.
00:42:24 <shachaf> why would you generalize anything
00:42:30 -!- Frooxius has quit (Read error: Connection reset by peer).
00:42:37 <shachaf> btw a chu space is just a matrix
00:42:42 -!- Frooxius has joined.
00:42:45 <pikhq> ion: Ah. Well, if you set the noise floor of a CD at 0, the loudest sound it can represent is 96dB.
00:42:46 <ion> What chu say?
00:43:06 <Bike> differentiation is just a matrix.
00:43:15 <ion> The Matrix is just a matrix.
00:43:17 <FireFly> Btw, is there an algebraic structure that captures the idea of 'complemet'? I've been thinking some about that
00:43:24 <Bike> solidity is just a matrix
00:43:42 <fizzie> The "acoustic decibel" zero is (very) approximately at the threshold of hearing.
00:43:53 <Bike> that must be very approximate indeed
00:45:39 -!- carado has quit (Ping timeout: 252 seconds).
00:46:16 <pikhq> The figures get better with noise shaping. (you can make the quantization noise lie in bands humans don't hear so well, making the *effective* noise floor in the bands we care about lower; about -120dB)
00:46:17 <fizzie> Very. But it's at least some sort of a justification for the level.
00:47:51 <FireFly> Hm, never mind my earlier line..
00:49:38 <shachaf> Bike: differentiation is just a matrix?
00:50:40 <Bike> it's only a linear operator
00:51:59 <shachaf> but with an infinite-dimensional vector spaces?
00:52:18 <pikhq> Well yes, f(x+ε)=f(x)+f'(x)ε...
00:53:08 <shachaf> does that even have a basis
00:53:40 <pikhq> shachaf: I think you could extrapolate the duals to infinite-dimensional vector spaces.
00:54:31 <Bike> have one delta function for every real (or w/e)
00:55:36 <Bike> you could also do something easier like just polynomials, if you want, i guess.
01:03:13 -!- Darklust has quit (Ping timeout: 246 seconds).
01:05:28 -!- Darklust has joined.
01:08:24 <shachaf> oklopol: Oh, http://ncatlab.org/nlab/show/Chu+construction
01:19:40 -!- doesthiswork has joined.
01:21:10 -!- Sgeo has joined.
01:52:02 -!- yorick has quit (Remote host closed the connection).
01:59:07 <copumpkin> shachaf: I never wrote one, but Saizan or xplat might have
01:59:56 <shachaf> copumpkin: Well, do you know anything good about that category?
02:00:59 <copumpkin> hmm, what are objects and morphisms in it?
02:01:12 <shachaf> Objects are categories, morphisms are pairs of adjoint functors.
02:02:25 <shachaf> You can pick which direction it goes -- let's say an adjunction : C ~~> D is a pair (F : D -> C, G : C -> D, F -| G)
02:02:32 <shachaf> So it goes in the direction of the right adjoint.
02:03:45 <shachaf> Since there are no functor to the empty category, I guess there are no adjunctions either to or from it.
02:04:23 <shachaf> Adjunctions to/from a singleton category correspond to terminal/initial objects in the other category.
02:10:16 <shachaf> But in general adjunctions are weird so I don't know.
02:12:03 <shachaf> Does it have products or something? Certainly it doesn't have an initial/terminal object.
02:28:45 -!- muskrat has quit (Ping timeout: 240 seconds).
02:29:28 -!- prooftechnique has quit.
02:32:07 -!- muskrat has joined.
02:33:47 -!- augur has joined.
02:42:28 -!- CADD has joined.
02:45:21 <Sgeo> Someone's complaint about Elixir arguably applies to Rust
02:45:30 <Sgeo> Perhaps less so, but still applies IMO
02:48:28 <Sgeo> They were complaining about rebindable variables. Not about making mutable structures with them (which I had previously strawmanned that sort of complaint as), but about being able to read a code and finding where the variables it mentions are adjusted.
02:49:02 <Sgeo> So, it seems to me that Rust owned pointers, even non-mut, could still end up changing between declaration and use, and that that needs to be known. Although getting that wrong is a compile-time error, so it's less bad
02:49:51 -!- madbr has joined.
02:53:49 -!- conehead has quit (Ping timeout: 246 seconds).
03:00:27 <madbr> trying to figure out if there's some set of numbers where evaluating if a number is in that set is turing complete
03:01:27 <Bike> a recursive set?
03:01:28 <madbr> (aside from encoding a program in some real language into a number and then the number is in the set if it runs)
03:01:48 <madbr> I think it would have to be a recursive set yeah
03:02:03 <madbr> though maybe it's possible to do it with a plain function
03:03:30 <madbr> or something in the style of the collatz sequence
03:10:41 -!- conehead has joined.
03:11:54 -!- conehead has quit (Max SendQ exceeded).
03:12:58 -!- conehead has joined.
03:17:06 <doesthiswork> /msg bike can you give me an estimate of when the ai winter began and ended?
03:17:37 <Bike> i'm no good with dates.
03:18:04 <doesthiswork> I really should make a bot that takes messages beginning with space
03:18:21 <Bike> wikipedia would probably be better than me.
03:19:58 <doesthiswork> I guess I have to find more modern paper to read then
03:20:08 <Bike> paper on what?
03:22:46 <doesthiswork> in this case knowledge representation, but I'm trying to get familiar with case based reasoning
03:23:41 <Bike> read the rdf docs or whatever
03:24:39 <doesthiswork> I'd prefer to avoid learning more than a rough overview knowledge representation
03:25:20 <doesthiswork> ontology is a word that gives me a slight rash
03:26:39 -!- Bike_ has joined.
03:26:51 <Bike_> doesthiswork: then i recommend "Ramón Llull's Thinking Machine" and "John Wilkins' Analytical Language".
03:26:56 -!- Bike has quit (Disconnected by services).
03:26:59 -!- Bike_ has changed nick to Bike.
03:28:35 -!- augur has quit (Remote host closed the connection).
03:28:43 <ion> YOU ARE WELCOME
03:39:31 <Sgeo> http://www.youtube.com/watch?v=gF_qQYrCcns
03:59:45 <HackEgo> hackego: エソテリックプログラミング言語のディザインとデプロイメントの国際な場所へようこそ!詳しく、ウィキを見て: http://esolangs.org/wiki/Main_Page。(他のエソテリック、irc.dal.netの#esotericへ)
04:34:11 <ion> that’s waisis
04:35:00 -!- madbr has left.
04:58:15 <doesthiswork> did you know there is a book series about sexual encounters with dinosaurs
04:59:23 <doesthiswork> http://www.cracked.com/quick-fixes/10-real-book-covers-from-dinosaur-on-human-sex-novels/
05:07:49 -!- doesthiswork has quit (Quit: Leaving.).
05:12:55 <pikhq> Looks truncated. "irc.dal.netの#esotericへ)" it should be.
05:13:09 <pikhq> And in fact I thought that's what I had typed when I wrote that.
05:13:45 <HackEgo> WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: <HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE>. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
05:15:06 <pikhq> Hrm, is the "hackego: " text what made it too long?
05:15:08 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wwalcome: not found
05:15:12 <HackEgo> エソテリックプログラミング言語のディザインとデプロイメントの国際な場所へようこそ!詳しく、ウィキを見て: http://esolangs.org/wiki/Main_Page。(他のエソテリック、irc.dal.netの#esotericへ)
05:15:14 <HackEgo> ls: cannot access w*: No such file or directory
05:15:23 <HackEgo> ls: cannot access /bin/w*: No such file or directory
05:15:44 <HackEgo> As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf instead.
05:16:20 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: welkom: not found
05:16:26 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Welkom: not found
05:16:34 -!- augur has joined.
05:18:46 -!- augur has quit (Remote host closed the connection).
05:18:56 <HackEgo> Welkom bij het internationaal centrum voor het ontwerpen en implementeren van esoterische programmeertalen! Voor meer informatie, bezoek de wiki: http://esolangs.org/wiki/Main_Page. (Voor de andere soort esoterie is er #esoteric op irc.dal.net.)
05:19:22 -!- augur has joined.
05:21:22 -!- augur_ has joined.
05:23:45 -!- augur has quit (Ping timeout: 245 seconds).
05:48:49 -!- asie has joined.
06:06:43 <oklopol> "<FireFly> Btw, is there an algebraic structure that captures the idea of 'complemet'? I've been thinking some about that" boolean algebra maybe?
06:10:50 -!- asie has quit (Quit: I'll probably come back in either 20 minutes or 8 hours.).
06:11:50 <oklopol> ("<Bike> a recursive set?" being recursive is an _upper_ bound for complexity)
06:12:12 -!- conehead has quit (Quit: Computer has gone to sleep.).
06:18:49 -!- asie has joined.
06:22:38 -!- asie has quit (Client Quit).
06:23:43 -!- Sprocklem has quit (Ping timeout: 272 seconds).
06:28:24 <quintopia> does * not work in filenames with mv?
06:31:22 -!- tertu has joined.
06:36:15 <HackEgo> As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf instead.
06:37:05 <HackEgo> bdsmreclist \ bi \ bin \ canary \ cat \ complaints \ :-D \ dog \ etc \ factor \ fb \ fb.c \ file \ head \ hello \ hello.c \ ibin \ index.html \ interps \ lib \ mind \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ wisdom \ wisdom.pdf
06:37:44 -!- adu has joined.
06:38:08 <HackEgo> adu: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/wiki/Main_Page>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
06:39:33 <adu> I tried deploying a language once
06:39:43 <adu> I didn't get very far
06:40:25 <quintopia> interesting. must have been a very complicated language.
06:40:33 <adu> it was a scheme clone
06:40:36 <adu> http://andydude.github.io/droscheme/
06:40:54 <quintopia> (i am deploying right now, and in under a week, i have a working prototype and a boatload of example programs)
06:41:21 <quintopia> (because the language is danged simple)
06:41:24 <adu> I'm more interested in metaprogramming now
06:41:51 <oklopol> what's a complete numerical tower
06:42:02 <adu> oklopol: up to complex
06:42:11 <adu> and strict rationals
06:42:31 <adu> some schemes do 1/2 => 0.5, which is not using a rational object
06:42:48 <oklopol> why should there be a difference in a high level language
06:43:08 <oklopol> unless you imply that precision is lost
06:43:24 <adu> well, it's not precision that's lost, it's exactness that's lost
06:43:38 <oklopol> i don't know the difference
06:43:48 <oklopol> i guess i do but i still don't know what you mean
06:43:49 <adu> precision is continuous
06:43:52 <adu> exactness is binary
06:44:19 <adu> although, you could make the argument that exactness is infinite precision
06:44:28 <quintopia> as in, 0.33333... does not equal 1/3 no matter how many 3's you put
06:45:00 <quintopia> but yes, if you say exactness is infinite precision, then precision is also lost
06:46:03 <adu> well, droscheme is also an experiment in metaprogramming for me
06:46:07 <adu> the compiler is at least
06:46:13 <oklopol> "exactness is binary" do you mean to be exact is to conform to the ieee specification?
06:50:01 <adu> ieee specifies operations within a given preciison
06:50:38 <adu> i mean if you do (acos -1), then even though -1 is an exact number, the output will be inexact, i.e.: pi
06:51:21 <adu> or whatever double-precision object best represents pi
06:51:56 <oklopol> so i made this minigolf "game" some weeks ago, where there are some lines and a ball bounces off of them
06:52:13 <oklopol> after 11 bounces, the number usually has something like 100 digits
06:52:35 <oklopol> i mean the position & direction
06:52:47 <oklopol> the numbers representing those i mean
06:53:00 <oklopol> and i mean the numerator and denominator of those numbers
06:53:25 <oklopol> point is rationals are funnnn
06:54:08 <adu> one of things I wanted to try out was the whole "exact real" concept
06:54:25 <adu> essentially how Mathematica does things
06:55:07 <adu> everything is stored symbolically, then when you ask for 50 decimal places, it calculates everything, then when you ask for 2000 decimal places, it calculates it again from scratch
06:55:16 <oklopol> my hope was to make a puzzle game where you have to solve hole-in-one problems, where some of the levels can be passed only if you solve some big math conjecture
06:56:00 <oklopol> but apparently such systems are not known to be able to simulate turing machines
06:56:20 <oklopol> a closely related model is one where for each wall you have a specific direction in which the ball bounces
06:56:35 <adu> that reminds me of an episode of Elementary
06:56:38 <oklopol> (in mine, it's a "physically correct" bounce)
06:56:56 <oklopol> in the closely related model, apparently from 3d on you can simulate arbitrary computation
06:57:13 <adu> with rotational momentum and table-top friction?
06:57:28 <quintopia> oklopol: what if some of the walls are interlinked, so that a bounce against one wall removes another wall and causes a third to pop-up. i bet you could do arbitrary circuits that way.
06:57:31 <oklopol> with a reflection over the normal
06:57:43 <adu> oklopol: or portals
06:58:34 <oklopol> quintopia: surely, but that's not as cool as having a turing machine running in the decimal extension of your rationals.
06:58:58 <quintopia> oklopol: maybe it would let you have that too
06:59:41 <quintopia> oklopol: hmm, couldn't you simulate fractran by clever wall placement?
07:00:07 <oklopol> well that's pretty much what has been done in 3d for the one with bounces in constant directions
07:00:28 <oklopol> except usually people simulate affine functions
07:00:58 <oklopol> whaddyacallem functions which are affine in some way in some places and affine in another way in other places.
07:01:35 <oklopol> you have a 2d vector of rationals represent the left and right tail of the turing machine
07:01:44 <quintopia> oklopol: i think maybe you could do it in 3D with "physical" bounces
07:01:55 <oklopol> tails of the infinite configuration
07:02:14 <oklopol> perhaps, but do you have a specific idea?
07:02:43 <quintopia> i have an idea for a divisibility test...
07:03:18 <oklopol> draw a quick sketch in your favorite 3d modeling program
07:03:37 <quintopia> i don't 3d modeling. and i don't have a computer cable of it anyway.
07:03:59 <oklopol> that's the most important part
07:05:19 <oklopol> 3d modeling doesn't need a fancy computer, realistic rendering does
07:05:57 <quintopia> thank you for your kind help with my condition
07:06:20 <oklopol> but yeah there is pretty much no nice and easy way to do 3d modeling afaik (let alone nd)
07:06:39 <oklopol> say compared to opening paint and drawing a 2d image
07:06:43 <adu> oklopol: there is one easy way, it's called photogrammetry
07:06:59 <oklopol> okay photogram me something quickly
07:07:10 <quintopia> oklopol: yeah oklopol just build a real one and photogrammeter it into a model!
07:07:27 <adu> photogrammetry requires specialized tools that convert static images from multiple angles into a 3D model for you
07:07:52 <adu> i don't have any such tools
07:07:58 <quintopia> oklopol: also oklopol i like oklopol saying oklopol your name oklopol too many times oklopol in a sentence oklopol. oklopol!
07:08:15 <adu> http://www.microsoft.com/ultracam/en-us/umap20.aspx
07:08:40 <oklopol> http://www.vjn.fi/temporary%20shit/ddd.png
07:08:43 <quintopia> could you explain Clue (oklopol) to me, oklopol? your description on the wiki is nonsense
07:09:25 <adu> oklopol: awwww
07:09:54 <adu> oklopol: I can't, I don't have the software
07:10:59 <oklopol> yes, you have to get special software and i bet it takes seconds and seconds to open when you double-click it so you will never bother to use it.
07:11:29 <adu> I prefer Gimp
07:11:44 <adu> I can do things in Gimp that will make you weep
07:12:04 <oklopol> things i need to do: paint pixels, paint straight lines
07:12:56 <oklopol> other things of importance: the program takes less than 3 seconds to open
07:13:03 <oklopol> i'm a busy and important guy
07:13:08 <oklopol> and my programs need to respect that
07:13:44 <oklopol> i don't really get gimp, iirc last time i tried it took me a week to find an actual brush
07:14:49 <quintopia> oklopol: yes, i'm pretty sure it's possible in 3D with "physical bounces" if you're allowed infinite walls and infinite cups. i just designed one in my head. it only uses 90 degree bounces.
07:15:48 <quintopia> well, i left out one part of the design, but yes what i have requires there be an infinite number of walls
07:15:54 <oklopol> does infinite walls mean infinitely many walls?
07:16:06 <oklopol> or why do you need infinite size
07:16:07 <quintopia> cups as in holes as in "hole in one"
07:16:46 <oklopol> i have a hunch that you are not doing the computation in the presentation of the number, but in the large scale location of the ball
07:16:53 <quintopia> getting the ball in the hole is the halting condition right
07:17:12 <oklopol> can you try to describe what's going on
07:17:13 <quintopia> well of course i am. i can't think in terms of the position numbers
07:17:51 <quintopia> so the position of the ball on the x axis is your number n (in fractran)
07:18:06 <quintopia> just using integer positions you know
07:18:39 <quintopia> and it bounces ziggity zag parallel to the y, then z, then y, then z axes
07:19:03 <quintopia> every wall that turns it from y towards z has holes in it every kth integer
07:19:22 <quintopia> so the first wall has even/odd holes, the second open-closed-closed, etc.
07:19:47 <quintopia> where k is one of the denominators of one of the fractions
07:20:25 <quintopia> so the first fraction it comes to that divides it, it will pass through the wall and keep traveling down the y axis
07:20:25 <oklopol> got some breakfast, will now read your formal proof
07:22:05 <oklopol> "and it bounces ziggity zag parallel to the y, then z, then y, then z axes" can you clarify this
07:22:07 <quintopia> then it hits a wall that turns it to the left, towards the yz plane with a y value corresponding to the product of the fraction and the number
07:23:34 <quintopia> i'm not sure i'll be able to describe it in words :/
07:24:38 <oklopol> well anyway i believe it's doable if you allow that sort of stuff
07:25:05 <oklopol> and that sort of stuff with infinite boards might certainly make an interesting game
07:25:09 <quintopia> no idea how you'd do it encoding the data in the digits after the decimal
07:25:59 <oklopol> me neither, i've asked 2 professors and another researcher sofar
07:26:08 <oklopol> the first said it's clearly undecidable in 2d
07:26:17 <oklopol> but we then later agreed maybe it's not known
07:26:49 <oklopol> the second said http://mathworld.wolfram.com/IlluminationProblem.html
07:26:55 -!- FreeFull has quit.
07:28:29 <oklopol> i should really make a more serious version of it, and a documentation that actually documentates something
07:30:09 <quintopia> i don't understand how you define a function by examples
07:30:44 <quintopia> what if i want a function that ... squares negative numbers and square roots positive numbers
07:30:57 <quintopia> how would i specify that and how would the compiler figure out that's what i want
07:31:49 <oklopol> i wonder where clue.rar is nowadays.
07:32:19 <oklopol> well you have to know the exact recursive algorithm
07:32:34 <oklopol> clue doesn't figure that out, it just saves you the trouble of actually writing it down
07:32:39 <adu> are you talking about http://esolangs.org/wiki/Clue
07:32:52 <oklopol> http://esolangs.org/wiki/Clue_(oklopol)
07:32:54 <adu> who is keymaker?
07:33:28 <oklopol> sometimes visits the channel
07:34:07 <oklopol> quintopia: writing mathematical functions might be tricky
07:34:33 <oklopol> because the end condition for the recursion is complicated (some error is small enough)
07:34:45 <oklopol> maybe you could give the comparison operator and the epsilon value as helpers
07:34:50 <oklopol> it might figure it out eventually
07:35:58 <oklopol> basically, you have . a -> b things and you have :. c -> d : e -> f things, and you have a list of helper functions
07:36:16 <oklopol> first, the compiler figures out how, using the helper functions, you can separate things like a from things like c or e
07:36:35 <oklopol> erm, doesn't need to separate e sorry
07:36:43 <oklopol> because a is where recursion should stop, and c is where recursion should happen
07:37:05 -!- tertu has quit (Ping timeout: 245 seconds).
07:37:39 <oklopol> how easy this of course depends on what sort of helper functions you have (i think the reference function mostly had list operations and some integer operations)
07:37:55 <oklopol> (you can of course also use your own functions as helpers)
07:38:05 <quintopia> reference function? does this still exist?
07:39:15 <oklopol> http://esolangs.org/wiki/Clue_(oklopol)/Quicksort
07:39:25 <oklopol> this compiled in less than a minute iirc
07:39:45 <oklopol> quicksort ~ {. [1] -> [1] . [2] -> [2] } base case 2
07:39:59 <oklopol> (one is enough, the other is basically just a comment.)
07:40:58 <oklopol> {:. [4 2 3 1] -> [1 2 3 4]
07:41:23 <oklopol> if you get [4 2 3 1] as input, you should somehow get [2 3 1] out of it and [] out of it
07:41:40 <oklopol> then you somehow patch up [1 2 3 4] from [4 2 3 1] and [1 2 3] and []
07:42:30 -!- adu has quit (Quit: adu).
07:42:35 <oklopol> then it just does that same thing for all inputs
07:43:01 <oklopol> (usually = in the three or so examples in the history of mankind that have been implemented)
07:43:45 <oklopol> http://esolangs.org/wiki/Clue_(oklopol)/SKI_calculus this was a bit trickier because you have to go very deep into the list, and the main logic ski apply has many many branches
07:43:54 <oklopol> (deep into the input list)
07:44:09 <oklopol> so that, iirc, took like 10 minutes to compile
07:44:46 <shachaf> oklopol: so did you figure out adjunctions
07:45:44 <oklopol> wellllllllllllllllllllllllllllllllllllllllllllllll
07:45:46 -!- copumpkin has quit (Read error: Connection reset by peer).
07:47:20 -!- copumpkin has joined.
07:50:24 -!- CADD has quit (Quit: leaving).
07:53:18 <oklopol> quicksort helper ~ {. [1 2 3] [4 8 9] [5 6 7] -> [1 2 3 4 5 6 7] }
07:53:18 <oklopol> quicksort helper ~ car; quicksort append
07:53:46 <oklopol> i like how you need to know exactly what you want to happen and write helper functions for random subprograms
07:57:35 <ion> I think they mean “transmission”. http://cloud-3.steampowered.com/ugc/451779723596490868/3CCEC987D1FC8666EEE0A0BB1B0C69EA5093FF0E/
07:59:31 <fizzie> Also "RE: (no subject)". That's some realism there.
08:02:37 <ion> and top-posting, too
08:16:54 -!- TodPunk has quit (Read error: Connection reset by peer).
08:19:11 -!- TodPunk has joined.
08:34:59 -!- oerjan has joined.
08:37:04 <lambdabot> fizzie asked 10h 17m 2s ago: Hey, do you Norweggers have some sort of logical rules when you use "på" and when "i" when you're explaining where someone/something is? (In Finnish the two suffixes -
08:37:05 <lambdabot> ssa/ssä and -lla/llä seem to be used pretty much randomly, but OTOH all Swedish examples I could think of were pretty logical; mostly "i", and then "på" for things like islands.)
08:38:31 <oerjan> @tell fizzie Sorry, i vs. på in norwegian place names is like a whole extra random gender... there are heuristics, but they sure aren't reliable.
08:40:10 <oerjan> @tel fizzie *gender system
08:51:02 -!- carado has joined.
08:54:23 -!- S1 has joined.
08:54:47 <S1> What was the language again where everything is a string?
08:56:17 <S1> Can't find that on the eso wiki
08:57:08 <ion> It’s not esoteric? ;-)
08:57:50 <oerjan> alternatively, thue, and a heap of variants of either.
08:58:19 <oerjan> (ok i guess /// has only one variant that i can recall)
08:58:25 <S1> Thue it was. /// is interesting though
09:08:13 -!- S1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
09:38:39 <oerjan> `addquote <fizzie> Every time I end up on an audiophile web-crawl I get this feeling maybe we should just get rid of ears in general.
09:38:45 <HackEgo> 1135) <fizzie> Every time I end up on an audiophile web-crawl I get this feeling maybe we should just get rid of ears in general.
09:54:43 <oerjan> @tell firefly <FireFly> Btw, is there an algebraic structure that captures the idea of 'complemet'? I've been thinking some about that <-- complement _alone_ seems to have no other algebraic property than c(c(x)) = x, which is called an _involution_.
09:55:57 <lambdabot> oerjan said 1m 13s ago: <FireFly> Btw, is there an algebraic structure that captures the idea of 'complemet'? I've been thinking some about that <-- complement _alone_ seems to have no other
09:55:57 <lambdabot> algebraic property than c(c(x)) = x, which is called an _involution_.
09:56:31 <FireFly> oerjan: I guess I should've been more specific, but it turns out what I was thinking of is a complemented lattice, I think
09:57:04 <oerjan> FireFly: in fact it's an example in wikipedia's involution page.
10:19:15 -!- nisstyre has quit (Read error: Operation timed out).
10:23:57 <kmc> "A reasonably easy-to-find and vegetarian-friendly Indian restaurant in Umeda. Mina, the proprietress, speaks excellent English. Vegetarian curry is available on request.Note that this shop no longer exist. Set meals from ¥1554, curries from ¥1050, beers from ¥525."
10:24:01 <kmc> i love wikis
10:26:07 <kmc> <kmc> i wonder if x86 is turing complete with only instructions «mov dword [dest], imm» and «jmp [src]» but allowing self-mod
10:26:13 <kmc> ifying of those operands <-- well, I'm pretty sure it's not
10:26:27 <kmc> even ignoring the finite-pointer-size problem
10:26:44 <kmc> because a finite program will contain only a finite set of numbers and there's no way to make new numbers
10:29:08 <kmc> I still don't have a handle on whether "Turing complete except for finite memory" can be formalized as something other than "finite state machine", even though it's something people talk about all the time
10:29:57 <olsner> I usually think in terms of "would be turing complete given infinite memory"
10:30:01 <kmc> if you talk about your language interacting with an external tape device, then the language only needs to provide a finite state machine
10:31:02 <kmc> I guess to formalize a statement like "C is Turing complete" you would talk about a family of languages C_i where sizeof(void *) = i, and require that the languages have a uniform description (for example, a log-space TM that given i acts as an interpreter for C_i)
10:31:12 <kmc> similar to the way circuit complexity classes work
10:31:59 * oerjan wonders what the "log-space" is doing there.
10:32:05 <kmc> the problem is that "given infinite memory" doesn't have an obvious meaning in all cases, such as C where sizeof(void *) must be finite
10:32:26 <kmc> oerjan: shrug, it's standard for circuit classes, it shouldn't be necessary if we are talking only about computability and not complexity
10:32:30 <kmc> but "why not"
10:32:35 -!- darklust_ has joined.
10:34:15 <kmc> people talk about C being TC with fseek(SEEK_CUR) and ignoring ftell(), but I think that would be the case even if the core of C were a finite state machine with a fixed IO pipeline
10:34:26 <kmc> cause the control unit of a TM is a FSM
10:35:58 -!- Darklust has quit (Ping timeout: 245 seconds).
10:37:52 <oerjan> so basically C is hideously overqualified to be TC "if you add infinite memory", and therefore that variation of TC-ness is uninteresting.
10:47:41 <olsner> maybe C is a bad benchmark because it's not even almost-TC (fsvo almost that's relevant for other languages)
10:49:38 <oerjan> that sounds... unlikely.
10:52:24 <kmc> what do you mean by it's not even almost-TC?
10:52:57 <oerjan> it's hard to imagine a language that is _more_ almost-TC without being TC.
10:53:59 <kmc> anyway I think "add a tape" doesn't work because then the language only needs to be a FSM
10:55:04 <kmc> you need to talk about extending the original language's storage primitives to accommodate unbounded storage, without changing their character
10:56:21 <kmc> more like jerkhammer
10:56:39 <kmc> have you ever used a jackhammer? well I haven't but I did use a hammer drill for a while
10:56:45 <kmc> that was p. fun
10:56:47 <kmc> for a few minutes anyway
10:58:11 <kmc> you see we had this tradition where the freshman build a fortified bunker in one of the dorms at the end of the school year
10:58:46 <kmc> and then all of the people who were really gung ho about this being a good idea skipped town immediately after
10:59:02 <kmc> and so it became my responsibility by default to demolish the bunker
10:59:20 <oerjan> and you haven't been the same since.
11:00:01 <kmc> or anyway a significant part of it, being a 10cm thick door-size slab of reïnforced concrete in a doorway
11:01:16 <kmc> we had a ```special trick''' which was to put some of the rebar inside conduit so that if you cut into the conduit with an angle grinder, you'll just spin the rebar inside it without cutting into the rebar
11:01:30 <kmc> another ```special trick''' was to put some shaving cream cans inside the concrete
11:02:48 <kmc> googling "10cm" finds on the first page "Is it true that the vagina is only 10 cm (3.9 inches) deep?"
11:03:04 <oerjan> confirmed: freshmen are insane
11:03:11 <kmc> ah yes "the vagina", the international reference vagina kept at the Bureau international des poids et mesures under precise climate control
11:03:58 <oerjan> `addquote <kmc> googling "10cm" finds on the first page "Is it true that the vagina is only 10 cm (3.9 inches) deep?" <kmc> ah yes "the vagina", the international reference vagina kept at the Bureau international des poids et mesures under precise climate control
11:04:03 <HackEgo> 1136) <kmc> googling "10cm" finds on the first page "Is it true that the vagina is only 10 cm (3.9 inches) deep?" <kmc> ah yes "the vagina", the international reference vagina kept at the Bureau international des poids et mesures under precise climate control
11:05:07 -!- yorick has joined.
11:06:25 <kmc> oerjan: the house put significant effort into selecting the kind of freshman who think this sounds like a great idea
11:06:55 <kmc> should say "freshmen and freshwomen" although the colloquial "frosh" is nicely un-gendered
11:07:06 <kmc> ah, to be young again, and also a robot
11:07:31 <oerjan> @tell madbr <madbr> or something in the style of the collatz sequence <-- collatz functions, see our wiki. you are _not_ going to escape the "encoding a program" part when you prove something actually _is_ TC, though.
11:09:59 <oerjan> i guess that had to be futurama.
11:45:18 -!- ais523 has joined.
12:08:30 -!- Sgeo_ has joined.
12:11:02 -!- Sgeo has quit (Ping timeout: 240 seconds).
12:13:11 -!- oerjan has quit (Quit: leaving).
12:16:58 -!- yorick has quit (Remote host closed the connection).
12:18:56 -!- yorick has joined.
12:32:48 -!- Sgeo_ has quit (Read error: Connection reset by peer).
12:55:51 -!- doesthiswork has joined.
13:01:45 -!- JesseH has joined.
13:01:52 <JesseH> New idea for a language. I call it BodyMindLang
13:01:56 -!- boily has joined.
13:02:03 -!- metasepia has joined.
13:02:39 <boily> good true morning!
13:16:36 -!- yorick has quit (Remote host closed the connection).
13:32:31 * boily lobs a strangely misshapen, not-quite-from-this-Earth cranium over at lexande
13:42:41 -!- yorick has joined.
13:56:54 <boily> `unicode MOUNTAIN BICYCLIST
13:57:24 <HackEgo> [U+D83D DUNNO] [U+DEB5 DUNNO]
13:57:44 <boily> fizzie: nice dunno.
13:59:55 <fizzie> It's not very non-BMP-friendly, because of an UCS-2 Python build.
14:01:06 -!- doesthiswork has quit (Quit: Leaving.).
14:13:11 <Bike> kmc: this coallier person seems pretty douchey, wtf
14:17:19 <HackEgo> [U+5317 CJK UNIFIED IDEOGRAPH-5317] [U+F963 CJK COMPATIBILITY IDEOGRAPH-F963]
14:18:55 <JesseH> Oh my god, Bike you're a real person? Sorry for sitting on you mate
14:19:13 <Bike> i'm a real bike
14:19:26 <Bike> and a reeeeeal hero
14:23:04 -!- tertu has joined.
14:23:27 <Bike> whatever you say bike
14:23:36 <Bike> http://www.youtube.com/watch?v=-DSVDcw6iW8
14:46:28 -!- constant has changed nick to variable.
14:52:11 -!- asie has joined.
14:57:12 -!- nooodl has joined.
15:21:59 -!- conehead has joined.
15:29:28 -!- mrhmouse has joined.
15:36:13 -!- muskrat has quit (Quit: Leaving).
15:42:52 -!- Sprocklem has joined.
15:46:30 -!- monotone_ has joined.
15:48:10 -!- int-e_ has joined.
15:51:10 -!- Gregor` has joined.
15:51:23 <boily> mrhmouse: Bike is everything. Bike is the Whole Experience of the Universe. Bike has two wheels.
15:51:55 -!- rodgort` has joined.
15:52:39 -!- monotone has quit (*.net *.split).
15:52:39 -!- rodgort has quit (*.net *.split).
15:52:39 -!- int-e has quit (*.net *.split).
15:52:40 -!- Gregor has quit (*.net *.split).
15:52:40 -!- HackEgo has quit (*.net *.split).
15:52:52 -!- HackEgo has joined.
15:59:40 -!- int-e_ has changed nick to int-e.
16:02:07 -!- doesthiswork has joined.
16:16:53 -!- asie has left ("Textual IRC Client: www.textualapp.com").
16:19:42 -!- FreeFull has joined.
16:22:11 -!- Gregor` has changed nick to Gregor.
16:34:19 <Slereah_> Are the registers initialized at anything in particular in x86?
16:34:44 <Slereah_> I guess some are like the instruction pointer and such, but what about the rest
16:34:57 <Slereah_> Like the address of the stack and such
16:37:03 -!- monotone_ has changed nick to polytone.
16:40:00 <Slereah_> Are they at 0 on power on and initialized by the BIOS?
16:44:25 <mrhmouse> I thought the initial value was undefined...? Just some random value?
16:44:40 <int-e> A lot of it is defined.
16:45:19 <Slereah_> From what I remember they're condensators (kinda), so I would guess that either they are drained on power off or left at the old value
16:45:37 <int-e> The (somewhat dated) copy of the AMD64 Architecture Programming Manual has a section 14.1.3 Processor Initialisation state.
16:45:43 <Slereah_> And I don't know if it's initialized at anything by BIOS
16:45:50 <kmc> registers are static RAM so they're logic gates in a feedback configuration, not capacitors
16:45:57 <kmc> disclaimer: may be completely wrong
16:46:33 <kmc> at minimum CS will be initialized in addition to IP
16:46:44 <int-e> so CS is 0xF000, other segment registers are 0, RAX is 0, RDX contains some CPU ID information, other basic registers are 0 ...
16:46:58 <boily> they are either 0, 1, random, undefined, unknown or blueberry flavoured.
16:47:05 <int-e> and RIP is 0xFFF0.
16:47:19 <int-e> even flags are defined :)
16:47:25 <kmc> what's the CPU ID info useful for?
16:47:52 <int-e> RAX is the x86-64 64 bit version of AX/EAX.
16:48:08 <Slereah_> Most doc I've seen stops at 32
16:48:08 <kmc> some of the flags register must be defined to successfully execute an instruction
16:48:14 <kmc> like trap flag = 0
16:48:26 <int-e> In any case, those processor manuals are the right place to look up such information :)
16:49:09 <Slereah_> Also what exactly does the stack definition do in the assembly?
16:49:18 <Slereah_> The .stack 256 or whatever it may be
16:49:28 <kmc> oh, which assembler?
16:49:29 <int-e> (rflags is essentially set to 0, but there's a reserved bit that is forced to be 1 :) )
16:49:43 <Slereah_> I guess the general purpose is to define the size of the stack, but how does that translate in the processor?
16:49:46 <kmc> also has anyone seen the electrical datasheet for a current Intel / AMD processor? with like a thousand entry pinout list? :)
16:49:49 <kmc> are those public?
16:50:00 <Slereah_> I guess they're public enough?
16:50:03 <kmc> Slereah_: no, what assembler program
16:50:11 <kmc> Slereah_: well have you seen one?
16:50:25 <kmc> u make an ass out of u and me
16:50:26 <Slereah_> Otherwise it might be hard to program anything on them
16:50:47 <kmc> I think I have seen the pinout list for a recent-ish socket, but not a full datasheet
16:50:51 <Slereah_> The examples I see are usually in Borland C
16:51:02 <kmc> Slereah_: no, the architecture manuals are enough to do programming
16:51:14 <kmc> you don't need to know the electrical specifications of the particular chip your code is executing on
16:51:21 <kmc> ...usually
16:51:43 <int-e> right. no I have not seen any detailed electrical datasheets. Then again, I've never really looked for them.
16:51:51 <kmc> but if you look up the datasheet for (say) an 8-bit AVR microcontroller, it has info both on "this instruction does that" and also "this pin needs this many volts"
16:52:30 <Slereah_> Don't they have to give such things to the patent office?
16:52:42 <int-e> Yeah, but with those guys (embedded processors) you are you are quite likely to be your own motherboard manufacturer.
16:53:07 <kmc> patents are pretty general, you don't need to submit detailed specs of every product which invokes the patent, I don't think
16:53:20 <Slereah_> You never know with those fucks
16:53:53 <int-e> Slereah_: only if you patent them, and even then you don't have to describe anything at the packaging level (which pin does what). And you can split features into many patents (signaling on busses, communicating with memory, etc.)
16:54:11 <kmc> Slereah_: and I don't know about your .stack; googling with "borland C" doesn't find anything, and it's not something I recall from any assembler I've used
16:54:33 <kmc> hm, MASM has a .STACK: http://msdn.microsoft.com/en-us/library/bffws6w0(v=vs.71).aspx
16:54:46 <Slereah_> http://prism2.mem.drexel.edu/~rares/asm4.htm < for instance
16:54:57 <shachaf> mr-: Yes, but I'm not sure that it helps much in this case.
16:55:06 <Slereah_> Apparently the MODEL describes where the code and data are stored
16:55:11 <kmc> so it's probably more of a linker directive, which tells the linker how much space to reserve for the stack
16:55:21 <int-e> http://msdn.microsoft.com/en-us/library/bffws6w0%28v=vs.110%29.aspx
16:55:39 <Slereah_> I guess STACK initializes the stack base and allocates some memory up to 266*4 in that case?
16:55:39 <int-e> it probably ends up in bytes 10-11 of an EXE file, http://www.delorie.com/djgpp/doc/exe/
16:55:47 <kmc> and puts something in the .EXE saying what the initial value of SS:SP is?
16:56:02 <int-e> (obviously that's old DOS EXE files, not the sille PE ones we have nowadays)
16:56:34 <kmc> I bet that with .COM files you're not allowed to use .STACK because you're stuck in the TINY memory model anyway
16:56:45 <kmc> speaking of PE executables: http://blog.theincredibleholk.org/blog/2013/11/18/booting-to-rust/
16:56:47 -!- MindlessDrone has joined.
16:56:59 <kmc> boot to Rust via UEFI, with no assembly
16:57:06 <int-e> (I say "probably" because the 8086 segmented addressing model has so much aliasing)
16:58:09 <int-e> kmc: it could still be a declaration that a linker can use to check whether everything (code, data, declared stack) fite into 65300 bytes (256 bytes go to the PCB (process control block)).
16:58:35 <kmc> but would it also emit code to initialize SS:SP?
16:58:46 <int-e> what for? the OS does that for the program
16:58:49 <kmc> I think DOS does that for you to a fixed point, probably just the end of that 64k
16:59:04 <int-e> based on the header fields, or just SP=0xFFFE for a COM file.
16:59:08 <kmc> but yeah, I guess the checking is still potentially useful
16:59:55 <int-e> that said, I'm not sure whether .stack is allowed in the .tiny model :) It's been a while ...
17:00:21 -!- Sprocklem has quit (Ping timeout: 252 seconds).
17:00:21 <Slereah_> Also most documents seem pretty vague on how many registers there are
17:00:33 <Slereah_> There's the basic ones described by most
17:00:44 <Slereah_> Then control registers and debug???
17:00:49 <kmc> the answer is "a fuckload"
17:00:56 <int-e> again, processor manuals are the source to go to (but have a history of not talking about all registers *anyway*)
17:01:06 <kmc> yes read the manual
17:01:35 <Slereah_> I think the less manual-y question is "is it a good idea to access them"
17:01:56 <kmc> in particular, read the bit of the Intel manual where it talks about the VMX virtualization feature, because that describes the layout of an in-memory struct used to save/restore ~all state from a VM
17:02:10 <Bike> this is x86? i don't think there's like, a mov-word-to-flags-reg ability
17:02:16 <kmc> including some things that aren't directly accessible, like the segment descriptor which was loaded when a segment selector was last set
17:02:27 <kmc> Bike: there's lahf / sahf
17:02:31 <int-e> Bike: there is lah...
17:02:40 <kmc> Slereah_: "good idea" depends on what you're trying to do..........................................................................
17:02:41 <Bike> right, of course there is
17:03:04 <kmc> Slereah_: control registers are essential to the operation of a typical operating system
17:03:04 <Slereah_> Well currently mostly trying to get a feel of Assembly
17:03:14 <kmc> but are invisible to userspace code
17:03:14 <Bike> SAHF: Welcome to Stewards for Affordable Housing for the Future
17:03:15 <Slereah_> I'll probably stick with the usual registers from now on
17:03:27 <kmc> they set things like, where in physical memory does the page table live
17:03:48 <kmc> debug registers are useful for debugging, e.g. breakpoint when a particular memory address is accessed
17:04:00 <int-e> Bike: obviously the mnemonics are for "load ah register from flags" and "store ah registers into flags"
17:04:10 <Bike> yeah i looked it up
17:04:17 <Bike> unrelatedly, it's hard to take toilet day seriously, i blame sgeo
17:04:18 <kmc> they too can only be directly manipulated by ring-0 (i.e. kernel-mode) code
17:04:30 <kmc> a typical OS will provide some interface like ptrace() for using those debug registers
17:04:32 <Bike> what's weird about it
17:04:33 <Slereah_> If they're just mnemonics for opcodes, why are most of them so cryptic
17:04:44 <Slereah_> I guess back then it was to save space, but nowadays?
17:06:00 <Bike> are you saying PCLMULQDQ isn't immediately obvious
17:06:22 <Slereah_> Well that one is obvious, but who would guess that mov is move
17:08:42 <int-e> or that jmp is branch ;-)
17:08:43 <kmc> Slereah_: the regs you're likely to see in user code are: R[ABCD]X RSI RDI RSP RBP and their sub-components; RIP (in RIP-relative memory addressing), flags (implicitly for the most part), x87 FPU registers ST0 through ST7, MMX registers MM0 through MM7, SSE registers XMM0 through XMM15
17:09:01 <kmc> and segment selectors, mostly only FS and GS these days
17:09:09 <int-e> (though honestly, making 'b' the mnemonic for 'branch' isn't all that sane either.)
17:09:30 <Slereah_> kmc : All the R's I saw in most documents, the rest I have no idea!
17:09:43 <kmc> int-e: oh yeah duh
17:10:11 <Slereah_> But well I guess I'll stick with simple things for now
17:10:20 <kmc> sounds good
17:10:37 <Slereah_> Also I saw that it's not too complicated to access the PC speaker, which is neat
17:10:56 * int-e hands Slereah_ some black ink and lead,
17:10:57 <kmc> in 16-bit code you're more likely to use the segment overrides
17:11:09 <kmc> anyway yeah you should probably keep learning rather than listening to me recite lists :)
17:11:35 <int-e> fs: is used for thread-local storage :)
17:12:09 <Bike> assembly code in calligraphy
17:14:01 <Slereah_> I got "flat assembler" for assemblin', I'd better see the syntax there
17:14:51 <int-e> hmm, is nasm still maintained?
17:15:06 <Slereah_> Really I thought Assembler would be much worse than it is
17:15:09 <kmc> "real men" jokes are distasteful because tying this or that skill to masculinity is problematic
17:15:23 <Slereah_> But it has constants, procedures and control structures :o
17:16:12 <Slereah_> It's basically C with a slightly more distasteful handling of variables
17:16:32 <kmc> people make a big deal about x86 being so complicated but it's not that hard when you're writing it yourself, as opposed to understanding what a compiler has spit out
17:16:45 <kmc> much of the complexity works in the favor of the assembly author
17:17:05 <Slereah_> I guess reading binary might be tough, yeah
17:17:14 <kmc> well you disassemble it
17:17:21 <kmc> but you lose a lot of context
17:17:24 <Slereah_> How are the jump instructions translated, by the way?
17:17:34 <kmc> Slereah_: typically an offset in bytes
17:17:47 -!- Frooxius has quit (Read error: Connection reset by peer).
17:17:52 <kmc> one of the main things an assembler provides is resolving those labels into byte offsets
17:17:54 <Slereah_> Is the jump point translated as the address of that point?
17:17:56 <int-e> (Assembler documentation like http://www.nasm.us/pub/nasm/releasebuilds/2.11rc1/doc/nasmdoc.pdf can also be a viable source for learning about processor features.)
17:17:56 <kmc> or absolute addresses depending
17:18:30 <kmc> (and one of the main things a linker provides is, deferring that process)
17:18:57 <kmc> (such that you can compile/assemble many files independently into something that's like machine code but still has jump targets in a symbolic form, and then link them all together quickly)
17:19:08 <Bike> one time i tried reading 6502 asm that had this convention where you could put * next to a line, and then "jmp ++" would mean "jump to the second line ahead with a *", etc. that was quite confusing
17:19:47 <kmc> GNU as has something like that; you can write numeric labels 1: or 2: and then jmp to them as 1f (meaning "next 1:") or 1b (meaning "previous 1:")
17:19:58 <kmc> very useful for inline assembly
17:20:16 <int-e> Oh. A puzzle for Slereah: figure out the difference between jmp short foo and jmp near foo. (Not quite serious.)
17:20:31 <Bike> so like for a loop you'd have "* ...loop body... jump-if-test -;"
17:20:43 <kmc> Slereah_: I find an absolutely vital tool for understanding assembly is to run a disassembler on the output
17:21:09 <kmc> then you see what instructions were really encoded, with machine code and mnemonics side by side
17:21:21 -!- Frooxius has joined.
17:24:53 -!- ais523 has changed nick to ais523\unfoog.
17:25:32 <Slereah_> I assume all the header shit is either preprocessor shit or initialization?
17:25:57 <Bike> header in the assembly source or in the binary?
17:26:12 <Slereah_> Like replacing the constants and initilizing the segment registers and such
17:29:23 -!- Oj742 has joined.
17:32:06 -!- tertu has quit (Read error: Connection reset by peer).
17:32:23 -!- tertu has joined.
17:36:04 <Slereah_> I wonder if anyone ever made some hardware cellular automaton
17:41:01 -!- tertu has quit (Read error: Connection reset by peer).
17:41:14 -!- tertu has joined.
17:41:29 <kmc> ask google
17:41:57 -!- MindlessDrone has quit (Ping timeout: 248 seconds).
17:42:44 <Slereah_> http://www.univ-orleans.fr/lifo/Members/Jerome.Durand-Lose/Recherche/Publications/1996_RT-LIP_1996-01.pdf
17:51:09 -!- Oj742 has quit (Ping timeout: 272 seconds).
17:56:00 -!- MindlessDrone has joined.
18:01:19 <mroman_> I don't see what'd be hard at doing cellular automatons in Hardware
18:02:13 <Bike> are we talking 'lay out a circuit' hardware or 'with a processor but no particular OS' hardware
18:02:18 <Bike> either way it seems simple enough
18:02:45 <mroman_> 'lay out a circuit' I assume
18:03:51 <Bike> i should really figure out the VGA driver on my FPGA so i could try that>_>
18:04:11 <mroman_> doing it efficiently is probably hard
18:05:00 <Bike> is it that hard? you'd just need a little register, and inputs from the clock and the neighborhood, for each cell
18:05:17 <Bike> i mean, something like hashlife would be hard, of course
18:06:18 <mroman_> you could just use some sram
18:06:35 <mroman_> store some 2D stuff in there
18:07:31 <mroman_> depends on how much storage you need
18:07:46 <Bike> well what kind of automata do you like, Slereah_
18:07:57 <mroman_> it'd be even easier with a 1D automaton
18:08:21 <mroman_> that would just fit neatly into a single bitstream
18:08:59 <Bike> i did wolfram automata on a shitty calculator once. surely hardware can't be harder
18:10:32 -!- Taneb has joined.
18:12:14 <mroman_> if you can program it you can also program it in vhdl
18:12:18 <mroman_> and if you can program it in vhdl
18:13:28 <Taneb> Going to university has made me realise that while I'm not the best programmer, this channel has set me up with a brilliant background knowledge of the theoretical side of CS
18:14:04 <Bike> great, so you can help us analyze the time complexity of this thing
18:14:05 <mroman_> then you can only imagine how I feel here ;)
18:14:26 <shachaf> Bike: i've analyzed it and the time complexity is "very" hth
18:14:34 <mroman_> I assume I'm the dumbest person in this channel.
18:16:51 <Bike> let's see, module pt (input clk, input [7:0] neighborhood, output [...] out); reg [...] state; assign out = state; always @(posedge clk) state <= ...some function of state and neighborhood...; endmodule
18:16:55 <Bike> and i think that's about it.
18:17:15 <Bike> just make a couple thousand of those and it's all good
18:18:25 -!- AnotherTest has joined.
18:19:57 <Bike> i dunno vhdl ;(
18:20:22 <mroman_> Everywhere where you'd expect not to put a semicolon
18:20:27 <mroman_> just put a fucking semicolon there
18:20:36 <mroman_> everywhere where you'd put a comma
18:20:42 <mroman_> try putting a semicolon first
18:21:23 <ais523\unfoog> I think there is a context that uses commas, though
18:21:34 <Bike> both of them are frickin verbose
18:21:42 <mroman_> other list-like stuff uses semicolon as a seperator
18:22:08 <mroman_> but it's illegal to put a semicolon at the end of such a list
18:22:21 <mroman_> that's one exception to the previously stated rules
18:22:43 <mroman_> I think there's one place where you have to write
18:23:05 <mroman_> and there's a place where you have to write GENERIC (); MAP ();
18:24:28 <Bike> obviously i should just get zzo to give me money for an open source neuromorphic fpga, and then i can make my own synthesizer for my own language, w/ blackjack & hookers
18:27:06 <mroman_> It ain't a party with just one hooker .
18:28:02 <Bike> mostly blackjack, practically speaking
18:28:11 -!- carado has quit (Quit: Leaving).
18:29:43 <mroman_> I'd love to see a vhdl synthesizer that can produce plans for mechanical hardware
18:30:50 <Bike> piñón is apparently pine nuts?
18:31:02 <Bike> and i have an esolang idea that's basically that (or rather the vhdl equivalent)
18:31:12 <Bike> since like, digital operations are hard.
18:31:28 -!- carado has joined.
18:31:52 <mroman_> Mechanical Computers don't need energy when they're not doing stuff .
18:32:36 <mroman_> apparentely the word for that is crank
18:33:03 <Bike> well, real mechanical computers usually used motor drives, since you need it to have an exact speed
18:33:08 <Bike> cranks were just used for input
18:33:34 <mroman_> I'd love to have a steam powered super computer
18:33:45 <Bike> steam?? this is the 1940s
18:33:50 <mroman_> or whoever is currently leading in this cyber d*** contest
18:33:52 <Bike> i mean, you could use steam if you wanted, i guess
18:34:05 <Bike> just anything that can get you a steadily turning gear.
18:34:09 <Bike> you need that for integrators.
18:34:09 <mroman_> I don't know when steam got old
18:34:52 <Bike> depends on what you mean by steam, i guess... the obvious nuclear reactor design which i think is still used is basically steam
18:36:06 <Bike> anyway i don't really know what real mechanical computers used, i'm pretty sure that by wwii they were basically on diesel
18:37:14 <Bike> power source isn't terribly important though, the trick is making the components have enough accuracy
18:37:28 <Bike> lemme tell you, CVTs are some weird-ass shit to make
18:52:51 -!- Bike has quit (Ping timeout: 272 seconds).
18:56:50 <FreeFull> Balanced ternary electronic computers are so much simpler
19:02:58 <Taneb> Controversy at the university of York as HackSoc, the university's computer science society, declares an upcoming game-making society to be stepping on their toes
19:03:43 <ais523\unfoog> Taneb: that sort of thing never happens at Birmingham, it's considered an advantage to be able to get away with having two basically identical societies
19:04:18 <Taneb> ais523\unfoog, doesn't Birmingham have like 5 universities
19:04:41 <ais523\unfoog> yeah, but only one is the University of Birmingham
19:04:52 <Taneb> Actually, York has two and a half universities
19:05:07 <ais523\unfoog> also two of them only became classified as universities recently
19:05:35 <Taneb> (University of York, York St John University, and Hull York Medical School)
19:05:52 <Taneb> (and strictly speaking the last one is half part of the first one)
19:07:09 <Taneb> And also half part of the University of Hull
19:08:15 <Taneb> But the University of York has one of the highest duck to student ratios of any university in the world!
19:12:02 <ion> http://doctorbeet.blogspot.co.uk/2013/11/lg-smart-tvs-logging-usb-filenames-and.html
19:18:51 -!- myname has quit (Ping timeout: 252 seconds).
19:26:40 -!- myname has joined.
19:30:07 -!- oerjan has joined.
19:50:26 <mroman_> labeling long horizontal lines "Horizontal long lines" is genius
19:50:38 <mroman_> @figure 4 of that high speed harware automaton paper
20:00:08 -!- aloril has quit (Ping timeout: 245 seconds).
20:00:36 -!- augur_ has quit (Remote host closed the connection).
20:01:06 -!- augur has joined.
20:01:42 <tertu> i think the zuse z1 had an electric motor
20:03:48 -!- augur_ has joined.
20:05:47 -!- augur has quit (Ping timeout: 272 seconds).
20:07:43 <ion> What paper?
20:16:16 -!- aloril has joined.
20:22:05 -!- variable has changed nick to function.
20:25:54 -!- Bike has joined.
20:27:45 -!- nisstyre has joined.
20:27:55 -!- tertu has quit (Ping timeout: 265 seconds).
20:29:43 -!- aloril has quit (Ping timeout: 252 seconds).
20:34:22 <metasepia> Your divination: "Humbling" to "Swallowing"
20:37:53 -!- aloril has joined.
20:40:27 -!- Sprocklem has joined.
20:43:18 -!- tertu has joined.
20:49:11 -!- Sprocklem has quit (Ping timeout: 265 seconds).
20:58:07 -!- augur_ has quit (Remote host closed the connection).
20:58:43 -!- augur has joined.
20:59:04 -!- augur has quit (Read error: Connection reset by peer).
20:59:14 -!- MindlessDrone has quit (Quit: MindlessDrone).
20:59:23 -!- augur has joined.
21:00:29 -!- tertu has quit (Read error: Connection timed out).
21:01:29 -!- tertu has joined.
21:21:49 <metasepia> Your divination: "Stripping" to "Swallowing"
21:22:43 <shachaf> fungot: you're way better than metasepia
21:22:44 <fungot> shachaf: 1.8.5 would allocate 128 bytes per loop.)
21:22:53 <shachaf> fungot: and way better than lambdabot
21:22:54 <fungot> shachaf: and it still seems like an odd goal, which is deterministic, it just requires making your eval support a fnord flag for fnord would just muck up the puzzle
21:23:01 <shachaf> fungot: especially with the new management!!
21:23:02 <fungot> shachaf: abum hehe i've done that kind of sh1t hasn't happened in linux for graphics pretty much all sedative drugs, very similar to the list
21:23:53 -!- AnotherTest has quit (Ping timeout: 245 seconds).
21:24:35 <mrhmouse> shachaf: is fungot better than ruddy?
21:24:35 <fungot> mrhmouse: yes... i see someone who is in almost as many channels as you're in, you can do
21:24:42 <shachaf> fungot is better than ruddy
21:24:42 <fungot> shachaf: hm. so you're golden.
21:24:43 <ruddy> yes... i see someone who is in almost as many channels as you're in, you can do
21:25:14 <mrhmouse> well, I can't argue with golden
21:29:03 <shachaf> int-e: how come i'm not in the lambdabot admins list
21:30:44 <int-e> I took elliott's list of admins.
21:31:04 <boily> shachaf: don't diss my lovely bot.
21:31:13 -!- tertu has quit (Read error: Connection reset by peer).
21:31:30 -!- tertu has joined.
21:32:01 -!- muskrat has joined.
21:32:09 <fungot> shachaf: if i'm going north or south" i am part of the ' offcuts' of several famous single malts.
21:32:15 -!- ter2 has joined.
21:32:26 <fungot> shachaf: ( cadr fnord) doesn't properly clear the screen correctly: just scheme code in a module are statically decidable. regexes, otoh... would be very helpful
21:32:36 -!- tertu has quit (Read error: Connection reset by peer).
21:33:59 <fizzie> I'd be slightly surprised if (cadr fnord) did clear the screen.
21:34:00 <int-e> shachaf: and I don't think we're short on lambdabot admins, are we?
21:34:30 <shachaf> int-e: You'd be surprised.
21:36:31 -!- Taneb has quit (Quit: Leaving).
21:52:21 -!- muskrat has quit (Quit: Leaving).
22:02:39 -!- boily has quit (Quit: SUPERLATIVE CHICKEN!).
22:02:41 -!- metasepia has quit (Remote host closed the connection).
22:03:57 -!- ter2 has quit (Ping timeout: 252 seconds).
22:05:27 -!- Taneb has joined.
22:06:31 <fizzie> That's weird. Told mplayer to play a .mp3 file, and it's showing a 88x31 "video" of the CC-BY-NC-SA license logo banner icon thing.
22:07:10 <mrhmouse> fizzie: are the file contents actually MP3 format?
22:07:34 <fizzie> According to 'file', sure.
22:07:42 <fizzie> "Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, JntStereo"
22:08:03 <fizzie> I guess it's some curious ID3 image thing, but I've never seen that happen before.
22:08:18 <fizzie> Also it keeps complaining, though it plays just fine.
22:08:41 <fizzie> http://sprunge.us/KEIN and so on.
22:08:52 <fizzie> Not just one but three "video" streams.
22:09:21 <fizzie> Must be some kind of a mplayer2 thing, I don't recall the old one ever "playing" ID3 tag images.
22:13:47 -!- ter2 has joined.
22:36:46 <shachaf> oerjan: imo add chu spaces to https://en.wikipedia.org/wiki/Topological_space#Specializations_and_generalizations
22:37:47 <shachaf> imo i don't remember my wikipedia password
22:38:01 <ion> https://news.ycombinator.com/item?id=599852
22:38:17 <oerjan> imo ask them to send it to your email
22:42:05 -!- darklust_ has quit (Ping timeout: 252 seconds).
22:43:20 <Bike> http://www.preposterousuniverse.com/blog/2013/11/19/scientists-confirm-existence-of-moon/ "Scientists Confirm Existence of Moon"
22:53:52 -!- oerjan has quit (Quit: Insert pun here).
22:57:44 -!- augur has quit (Remote host closed the connection).
22:57:51 -!- ter2 has quit (Ping timeout: 252 seconds).
22:58:17 -!- augur has joined.
22:59:47 -!- augur_ has joined.
23:02:29 -!- augur has quit (Ping timeout: 248 seconds).
23:07:22 -!- Phantom_Hoover has joined.
23:10:57 -!- carado has quit (Ping timeout: 252 seconds).
23:15:44 <Taneb> I forgot how sad Interstella 5555 was
23:16:30 <Bike> what if i value sadness more than happiness.
23:16:47 <Bike> yeah. one of em dies
23:16:57 <Taneb> It's an anime opera by Daft Punk about space smurfs
23:17:05 <Bike> god damn it i have one more time stuck in my head now
23:18:14 <mrhmouse> Taneb: have you seen Grave of the Fireflies?
23:18:19 <Taneb> mrhmouse, I have not
23:18:24 <Taneb> Is that an opera by Daft Punk
23:19:15 <Bike> it's my understanding that if interstella 5555 is sad grave of the fireflies will convince you to hang yourself halfway through the film
23:19:15 <mrhmouse> But no, it's a film by Isao Takahata
23:19:40 <mrhmouse> Bike: that sounds about right. you might be understating it
23:19:47 <Bike> well, i've never seen it.
23:20:17 <Bike> don't really intend to either, god knows i've seen enough sad world wars in snow
23:20:51 <Taneb> I've seen enough sad things this century
23:21:45 <mrhmouse> GofF is pretty high on my "my face is leaking please help" list
23:22:53 <Taneb> I don't think we can call GotF "sad" because otherwise by comparison nothing else is sad ever
23:23:19 <Bike> actually, gotf makes me think of another japanese film i haven't seen that's probbly near the same level
23:23:30 <Bike> or at least, it's nine hours of a socialist getting eaten alive by the IJA
23:23:46 <Bike> http://en.wikipedia.org/wiki/The_Human_Condition_(film_series)
23:25:37 <mrhmouse> outside of the subject of war, the only other film content that's made me that sad was season 2 (or 3?) of the Dr. Who reboot. But that was some time ago.
23:34:13 <Phantom_Hoover> doctor who lost the ability to evoke any emotion in me other than cringe long ago
23:36:38 -!- Taneb has quit (Quit: Leaving).
23:39:13 <mrhmouse> mind you, I haven't seen anything past Tennant.. so I'm not sure if that still holds.
23:50:12 -!- nooodl has quit (Quit: Ik ga weg).
23:51:15 -!- Sprocklem has joined.
23:52:54 -!- CADD has joined.