←2014-05-23 2014-05-24 2014-05-25→ ↑2014 ↑all
00:01:05 -!- MDream has changed nick to MDude.
00:04:46 <zzo38> You could also just do it directly in LLVM by telling it that you want undefined behavior on unsigned overflow in this circumstances.
00:12:59 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:14:56 <tswett> Now, the problem with base 10, and all other positive integer radix bases, is that they're topologically incorrect.
00:16:05 <MDude> Are you saying they outright don't have topoligies?
00:16:27 <tswett> Oh, I think they have topologies. But the topologies are incorrect.
00:17:17 <tswett> Say that a set of sequences is open if and only if, for every sequence in the set, there's a finite prefix of that sequence such that every sequence with that prefix is in the set.
00:17:55 <tswett> (For example, the set of all sequences containing at least one "b" is open, because given the sequence "aaaabaaaaaaa", there's a prefix, "aaaab", such that every sequence with that prefix is in the set.)
00:18:31 <tswett> Then there's no continuous function taking a regular Cauchy sequence and returning a decimal expansion for its limit.
00:19:02 <quintopia> i've been pinged
00:19:20 <quintopia> oh
00:19:23 <quintopia> yeah
00:19:25 <quintopia> that wasn't me
00:19:31 <quintopia> i don't know system F
00:19:39 <quintopia> but i appreciate the faith in me
00:20:37 <tswett> I think.
00:20:46 -!- mhi^ has quit (Quit: Lost terminal).
00:21:55 <tswett> Yeah. Given the sequence 1.1, 0.9, 1.01, 0.99, 1.001, 0.999, 1.0001, 0.9999, ..., you can never find any digits of the decimal expansion because you don't know whether the first digit is 0 or 1.
00:22:32 <tswett> The most obvious bases that don't have this problem are the negative integer radix bases.
00:23:38 <tswett> No, that's not quite true.
00:23:51 <tswett> They're the negative integer radix bases where you're allowed to use digits at least as large as the base.
00:23:53 <oerjan> quintopia: yw
00:24:04 <tswett> The absolute value, rather. So, e.g., base -2 with 0, 1, and 2 as digits.
00:25:18 <quintopia> is system F brainfuck? i don't even remember
00:25:50 <oerjan> quintopia: no it's lambda calculus with explicit rank-n types
00:26:36 <oerjan> ghc's core intermediate language is an extension of it
00:26:57 <oerjan> the basica version allows only terminating functions
00:27:00 <oerjan> *-a
00:27:20 <zzo38> I once made some kind of RLE where some values are data values and some are RLE values, and the RLE values are small-endian shifted numbers so, for example, you might have eight data values and eight RLE values, then the digits are 1 to 8. If RLE values are present, you add two to determine how many.
00:28:02 <quintopia> oerjan: i don't understand anything even remotely related to ghc. i feel like the dude in that codeless code "the monolith"
00:28:14 <oerjan> wat
00:28:23 <zzo38> Clearly there is still some redundancy though.
00:34:26 <Bike> darn, how could everyone have missed a flaw in numbers this whole time
00:34:55 <oerjan> is mathematics inconsistent
00:34:57 <zzo38> Bike: That isn't a flaw, though.
00:35:33 <zzo38> It looks to me like an error in trying to use then with topologies even though it shouldn't apply.
00:36:03 <oerjan> wait is Bike talking about what zzo38 thinks he is talking about
00:36:09 <Bike> actually, yes.
00:37:03 <Bike> zzo will see that everything he loves is a lie as soon as he tries getting digits of the limit of 1.1, 0.9, etc etc
00:37:08 <Bike> doom! doom!!
00:37:16 -!- Phantom_Hoover has joined.
00:37:27 <zzo38> That's because it doesn't have a limit.
00:38:08 <zzo38> Many things don't have a limit!
00:38:19 <Bike> what a cruel thing to say.
00:39:08 <zzo38> I don't care if it is cruel or not.
00:40:24 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:40:36 <Bike> ironically that is also a cruel thing to say
00:41:34 -!- edwardk has joined.
00:43:04 -!- Phantom_Hoover has joined.
00:44:28 <oerjan> cruelly, that is not actually ironic hth
01:03:22 <olsner> and incidentally (neither cruelly nor ironically) it is/was my birthday
01:04:02 <kmc> happy olsner day!
01:04:26 -!- kmc has set topic: Happy olsner day! | PSA: fizzie is running the wiki now, contact him for any problems | brainfuck survey: https://www.surveymonkey.com/s/L82SNZV | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
01:04:33 <kmc> how do you feel
01:04:45 <olsner> somewhat inebriated?
01:04:57 <kmc> (it's just as well, we're 90% of the way through megasecond 1400)
01:05:24 <olsner> not older, because really I'm pretty much exactly as old as I used to be
01:06:53 <kmc> 420 build LLVM every day
01:08:07 -!- yorick has quit (Read error: Connection reset by peer).
01:08:23 <olsner> kmc: I don't do drugs, but if I did I wouldn't do llvm
01:08:50 <zzo38> Some people's birthday is on Feb.29 and it has to be moved to Mar.1. One way to avoid is to use your actual sun sign rather than the calendar; then you don't have to worry about leap years. However, in such a case, it will then change which date it is on each year much more often.
01:10:00 <kmc> how are you inebriated if you don't do drugs
01:11:46 <Bike> high on life tbh
01:11:52 <olsner> my impeccable logic has been peccled
01:12:04 <olsner> high on inebriation itself
01:12:33 <kmc> like a snake smoking its own tail
01:13:02 <zzo38> Do you know what is the ecliptic longitude of sun at the time of your birth, to the nearest degree, and what time this year is corresponds to the same number? (I am not asking you what it is; I only ask if you know it or not.)
01:13:15 <olsner> I do not know
01:13:19 <kmc> no, but I think I could look it up?
01:13:22 <zzo38> (I don't actually care what the result is.)
01:14:10 <zzo38> kmc: Using ephemeris you certainly can look it up, yes. But you may need to know the time of day too, in such a case.
01:14:32 <kmc> i know the approximate time of day when I was born
01:14:36 <olsner> if I start using rust's format macros, I wonder if it would bloat my kernel horribly
01:14:41 <kmc> probably
01:14:49 <olsner> well, my thought exactly
01:19:13 <zzo38> You can either use software on your computer to calculate it (such as Swiss Ephemeris, or Astrolog), or use a webpage form such as http://ephemeris.com/ephemeris.php It will display the current positions by default. You should leave the longitude/latitude/meters blank. The columns "Longitude" and "Latitude" are ecliptic positions (you can tell because of the units used), while "Right Asc." and "Declination" are equatorial coordinates.
01:19:26 -!- hogeyui has quit (Ping timeout: 240 seconds).
01:24:29 <zzo38> (Ephemeris can also be used for date/time in the future, too.)
01:31:52 -!- hogeyui has joined.
01:34:20 <Sgeo> http://www.theonion.com/video/christ-article-a-video,36101/
01:35:50 <Bike> i feel this.
01:41:50 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds).
01:41:52 <zzo38> In a tarot deck, one card is called a "Fool" (or sometimes, an "Excuse"). This card is often labeled zero, but I disagree, and believe it should instead remain unlabeled. Generally, either it is either the highest trump, or it is a card which can be played even though you are able to follow suit, but always loses the trick.
01:42:38 <zzo38> Someone once told me why it is labeled zero, which is because it represents the beginning of the journey, which is what the trump cards represent. I can understand this, but do not consider it to be a valid excuse. What do *you* think?
01:43:59 <zzo38> Another document agrees with me that it should not be numbered, but has an entirely different reason which does not agree with mine.
01:44:31 <Bike> why would i care
01:44:34 <zzo38> Have you played any card games at all which have a card which can be played even though you are able to follow suit?
01:44:49 <zzo38> I am wondering what other games use such a feature.
01:51:35 <oerjan> that game with the eights?
01:52:39 <oerjan> https://en.wikipedia.org/wiki/Crazy_Eights
01:52:55 <quintopia> uno and speed uno
01:53:19 <quintopia> and that upstream downstream one i think
01:56:07 <zzo38> Yes, but I meant about trick taking games, where you lose the trick if you don't follow suit.
01:56:44 <quintopia> other than spades?
01:57:13 <zzo38> I don't really know how Spades is played, but I can try to learn
01:57:37 <quintopia> i'll play spades with you
02:02:27 <zzo38> In hearts it is played that you cannot lead a heart until one is played (and also a similar rule is sometimes used in spades). But what if, all you have are hearts?
02:03:26 -!- hk3380 has quit (Ping timeout: 240 seconds).
02:03:51 <zzo38> Wikipedia says they can play it anyways in such a case.
02:05:04 <zzo38> Perhaps the following variant rule of Hearts is similar to the Excuse card in tarot: "Non-distinct Jokers are valueless cards that cannot win tricks. They may be played at all times (except to lead tricks)"
02:07:38 <quintopia> zzo38: in spades, if you have all the spades, you must call for a redeal
02:08:28 <zzo38> O, OK, why is that?
02:09:07 -!- xk002 has quit (Ping timeout: 240 seconds).
02:13:06 -!- xk002 has joined.
02:16:27 <quintopia> zzo38: because if you have all the spades, you will automatically win every trick, which means you will declare 13 tricks, the other side will declare 0, everyone will make their bids, and no fun will be had by all. boring.
02:17:28 <Sgeo> I'm going to keep on hoping that, despite this image, Creatures 4 will have a real genetics editor
02:17:28 <Sgeo> http://img2.wikia.nocookie.net/__cb20110825065432/creatures/images/4/44/Creatures_4_Editor.jpg
02:24:42 <MDude> I'd think it will.
02:25:14 <MDude> Just that because it's free-to-play, you'd have to pay for each custom egg you hatch or something.
02:26:14 <Sgeo> Are you a Creatures fan?
02:26:29 <MDude> Yeah, though it's been a while since I've played.
02:26:47 <MDude> Keep scratching my Creatures 3 disks, hoping to get it on gog.com sometime.
02:26:49 <Sgeo> Cool, which games?
02:26:54 <Sgeo> Ah
02:27:10 <MDude> Just 3, though I wouldn't mind playing the others.
02:28:05 <Sgeo> Pretty much only DS+C3 here
02:37:07 -!- Sorella has quit (Quit: It is tiem!).
02:37:48 -!- MoALTz__ has joined.
02:40:27 -!- MoALTz_ has quit (Ping timeout: 252 seconds).
02:54:38 -!- kmels has quit (Ping timeout: 276 seconds).
02:55:24 -!- kmels has joined.
02:58:34 -!- hk3380 has joined.
03:28:06 <oerjan> :t mconcat
03:28:08 <lambdabot> Monoid a => [a] -> a
03:38:55 -!- hk3380 has quit (Ping timeout: 258 seconds).
03:52:54 -!- MDude has changed nick to MDream.
04:00:08 -!- MoALTz has joined.
04:02:14 -!- MoALTz__ has quit (Ping timeout: 276 seconds).
04:17:51 <kmc> shachaf: https://github.com/kmcallister/rfcs/blob/lints/active/0000-loadable-lints.md
04:19:01 <kmc> and discussion here: https://github.com/rust-lang/rfcs/pull/89
04:19:06 <kmc> i like mcpherrin's suggestion of CSS selectors for ASTs
04:19:33 <Sgeo> jQuery for Rust
04:20:20 <kmc> :D
04:20:22 <kmc> rQuery
04:24:02 <HackEgo> [wiki] [[0(nop^)]] http://esolangs.org/w/index.php?diff=39667&oldid=39666 * John Misciagno * (+101)
04:25:37 <zzo38> Can xQuery selectors be used for ASTs?
04:27:47 <zzo38> I want to know a code that can convert something like CSS selectors for ASTs into a SQL code.
04:30:31 <kmc> what is xQuery?
04:31:14 <zzo38> Queries XML documents
04:31:31 <kmc> how does it compare to XPath?
04:31:43 <kmc> I think pcwalton's idea here is pretty #esoteric: https://groups.google.com/d/msg/mozilla.dev.servo/49g2izLWsls/VRlR_dSws_EJ
04:31:48 <kmc> so Blink has a JIT for CSS selectors
04:32:01 <kmc> and he wants us to do the same, but also throw out any other representation of CSS nodes
04:32:07 <Sgeo> Is it just me, or is 'API' coming to mean 'HTTP-transported API returning JSON objects'?
04:32:09 <kmc> and get it dynamically by decompiling the JIT code
04:32:16 <kmc> Sgeo: this is why we can't have nice things
04:32:39 <Bike> https://www.mashape.com/ sgeo
04:32:52 <Bike> a hilarious site fyi
04:33:31 <Sgeo> Bike: an ad for that site is exactly what made me think of that
04:34:27 <Bike> http://blog.mashape.com/post/69006514021/list-of-25-email-validation-apis man they even advertise it
04:34:34 <Bike> we have a million of everything and it all costs moneys
04:34:44 <Sgeo> Wait. Why is that site suggesting hitting it for using the APIs? Do people make HTTP/JSON APIs on that site based off other APIs that might not be so "friendly"?
04:35:21 <Sgeo> "EmailValidate is a web service which validates email addresses using various methods, including: Syntax validation, MX record lookup, SMTP availability"
04:35:30 <kmc> i have sliced my thumb by attempting to use a knife as a different kind of tool
04:35:32 <Sgeo> SMTP? Isn't that obsolete, shouldn't we be HTTP POSTing emails?
04:35:36 <kmc> not badly, just enough to feel stupid
04:35:58 <shachaf> kmc: did you try to use it as nail polish
04:36:02 <kmc> Sgeo: one day in the future, software archaeologists will attempt to discern the purpose of all these mysterious protocol layers under HTTP
04:36:02 <zzo38> Maybe it is call obsolete, but it shouldn't be. We should be using SMTP and deprecating the ability tp HTTP POSTing emails.
04:36:05 <kmc> shachaf: no
04:36:43 <Bike> maybe if browser developers applied their mystic powers of understanding thirty layers of historical garbage i wouldn't have so much trouble with bug biology
04:36:49 <zzo38> There are many better protocols than HTTP.
04:37:26 <kmc> HTTP isn't the protocol we want but it's the protocol we deserve
04:37:28 <Sgeo> zzo38: that literal example isn't quite happening yet. Except to the extent that webmail clients work, but that is, so far, just to a server which itself will use SMTP.
04:37:38 <kmc> no, there are totally services that let you send email by HTTP APIs
04:37:53 <shachaf> i feel like i should spend some time actually learning rust
04:38:03 <kmc> shachaf: it's pretty cool
04:38:22 <kmc> Sgeo: http://www.mailgun.com/ is a popular one
04:38:47 <kmc> shachaf: you should do it so that you can implement rustc features that i want
04:39:06 <Sgeo> application/x-www-form-urlencoded?
04:39:11 <Sgeo> Jeez, seems like a novelty these days
04:39:26 <kmc> in 11 months as a professional Rust developer, I have opened 48 issues on the Rust bugtracker
04:39:42 <shachaf> whoa, meteor shower tonight
04:39:46 <kmc> yeah?
04:39:49 <zzo38> I still insist to use SMTP (or TFTP). If the server requires HTTP to be used, you should instead immediately deprecate it and write a SMTP server that translates the signals, and then eventually fix it so that it works other way around.
04:39:52 <Sgeo> I'd almost say I'm weirdly happy about that, except it exposes security issues because what's an SOP, <form> inventor?
04:40:04 <kmc> this is why we can't have nice things
04:40:31 <kmc> 11:31 < kmc> should I be scared when the WHATWG spec says "for historical reasons"? because I feel like that phrase already applies to the entire document
04:40:34 <kmc> 11:31 < Ms2ger> Correct
04:40:36 <kmc> 11:32 < Ms2ger> That just means "for historical reasons we dislike particularly"
04:41:58 -!- pdxleif has quit (Quit: ZNC - http://znc.in).
04:42:05 -!- tromp_ has quit (Read error: Connection reset by peer).
04:42:42 <zzo38> HTTP is very wasteful, and HTTPS isn't as secure as they want it to be.
04:42:57 <Bike> as long as you're writing a whole browser you should write a whole hypertext replacement, realistic adoption be damned
04:43:09 <Bike> moxanadu
04:43:22 <kmc> :D
04:44:17 <kmc> zzo38: what do you think are the main security issues with HTTPS?
04:44:21 <Sgeo> zzo38: there's a TCP-like protocol that lives on top of HTTP(S). It's becoming quite popular.
04:44:24 <kmc> there are so many, I don't even know where to begin
04:44:48 <zzo38> Don't write the whole browser anyways. Use different program each purpose. Using telnet and SSH when you want interactive sessions without hypertext and so on (SSH also allows a few other things; you can send a command directly for batch processing, and you can use X forwarding if you need a GUI, but hopefully you don't need a GUI and can avoid that complexity).
04:44:49 <Sgeo> Well, I guess 'on top of' isn't quite accurate. More initiated by
04:44:53 <Bike> today somebody asked me whether using "EFF" was worth it. after some needling i found out he meant their HTTPS Everywhere gizmo
04:45:01 <kmc> heh
04:45:05 <kmc> Sgeo: websockets?
04:45:08 <Sgeo> kmc: yes
04:45:11 <kmc> good times
04:45:31 <Bike> i was like, are you trying to set up donations or sumfin
04:45:33 <Sgeo> kmc: and the company you're working for is building a mobile OS on top of this mess.
04:45:51 <Bike> as god intended
04:45:51 <Sgeo> Hmm, does Mozilla count as a company?
04:46:01 <Sgeo> Or just 'organization'?
04:46:03 <Bike> well they're a bunch of people
04:46:06 <Bike> therefore, company
04:46:32 <zzo38> You should use SSH instead of HTTPS, and avoid use of HTML too. Make the command-line to upload/download/access bank statements and so on, using bank statement format, payment format, etc
04:47:14 <Bike> hey zzo are your parents computer people?
04:47:16 -!- tromp_ has joined.
04:47:30 <Sgeo> zzo38: fantastic idea! Now, what do we do when our customers think that we're an utterly backwards company because we have no web site?
04:47:50 <zzo38> Sgeo: Well, make a web site! But, put a notice on it that says, "Deprecated"!
04:48:58 <monotone> No matter how bad the existing stack is, anything you ask a bank to come up with will be worse.
04:49:24 <Bike> i'm just having a hard time imagining you being you if you've ever had to help an unsavvy parent with the computerbox
04:49:32 <Sgeo> Making a non-web GUI is also going to be 'fun', involving possibly asking customers to trust that we're not evil (maybe warranted for an ISP, possibly not so much for, say, sharing 'meme images')
04:50:07 <zzo38> Best is not GUI at all, if it can be avoided.
04:50:15 <oerjan> Bike: there's the alternative possibility they're so unsavvy they refuse to touch a computer, ever
04:50:29 <Bike> that was actually my first guess
04:50:33 <zzo38> If you do need a GUI, use non-trusted X forwarding.
04:51:15 <zzo38> But try to allow it to work without a GUI if that is at all possible, even if a GUI is available.
04:51:18 <monotone> You want to let people run X programs on bank servers?
04:51:48 <Sgeo> The web is the worst cross-platform GUI stack there is, except for all the others.
04:51:51 <zzo38> monotone: No, you should disable GUI, to avoid that.
04:52:03 <Bike> geez monotone do try to keep up
04:52:33 -!- mcpherrin has joined.
04:53:01 -!- M28 has joined.
04:53:20 <monotone> still thinkin' jwz("I'll invent a new protocol!")
04:53:40 <Bike> like building a bookcase out of mashed potatoes
04:53:41 <zzo38> If you do need to run X programs, well, you can fake it, and whatever. Ensure both sides are secure. It may be easier to secure than a webpage. But first try to use, don't use GUI at all if it is possible to avoid GUI.
04:53:51 <kmc> `uname -a
04:53:52 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
04:53:56 <kmc> hi mcpherrin
04:54:02 <mcpherrin> kmc: hi kmc!
04:54:06 <Bike> hi m28.
04:54:41 <kmc> mcpherrin: HackEgo is a bot which executes each command by booting a new Linux virtual machine, running the command, and then merging filesystem changes using Mercurial
04:54:56 <monotone> Bike: At least you tried?
04:55:02 <kmc> okay, it's User Mode Linux so both "booting" and "virtual machine" are something of an overstatement there
04:55:06 <kmc> but that's how it works
04:55:11 <mcpherrin> UML is cool
04:55:11 <kmc> `coins
04:55:13 <HackEgo> boatwanvcoin bilcoin dugocoin goto+coin piecodecoin subsidcoin minarcoin uncepticoin cobcoin alpaincoin ultisismcoin javcoin pinquinaboracoin tudcoin ornicoin juggariolacoin pckivcoin mempovecoin tarylancoin ballcoin
04:55:15 <kmc> `cat bin/coins
04:55:16 <HackEgo> words ${1---eng-1M --esolangs 20} | sed -re 's/( |$)/coin\1/g' | rainwords
04:55:25 <Bike> monotone: (i think that's how jwz described using xlib)
04:55:53 <zzo38> Did they install SQLite yet in there? It could be installed, if you want to write a survey program in SQL, to run in HackEgo.
04:56:00 <Bike> oh hey this paper cites "McAllister". kmc are you a biophysicist
04:56:06 <kmc> no
04:56:11 <kmc> i'm also not a street in san francisco
04:56:13 <monotone> Bike: Oh, I see. Was talking about the greeting anyway.
04:56:42 <oerjan> Bike: those mashed potatoes should go well with the edible book festival
04:56:44 <Bike> nor one of the dorms at my school, which has been repurposed into having the air force and fashion classes, i imagine
04:56:44 <Sgeo> Imagine if there were no languages except PHP... is this an accurate way to describe the web?
04:56:49 <kmc> no
04:56:56 <Bike> no hell below us
04:56:58 <mcpherrin> Javascripttttttttt
04:57:00 <kmc> no part of the web technology stack is as bad as PHP
04:57:08 <kmc> JavaScript is bad but it's not irredeemably bad
04:57:10 <zzo38> Sgeo: No; it isn't the only way to program it, too. You can use CGI programs in C, too.
04:57:23 <kmc> JS is a really weird demonstration of the Lambda the Ultimate principle
04:57:28 <zzo38> JavaScript is a fine programming language actually. It is used really badly though.
04:57:38 <zzo38> PHP is much worse.
04:57:40 <Sgeo> kmc: sending browsers text data that contains both trusted and untrusted data, with the only separation being context-sensitive escaping
04:57:49 <kmc> partly it's that everyone has to use JS, so they come up with ways to make it not suck
04:57:51 <Bike> web escaping is awesome
04:57:59 <Bike> in that what the fuck even
04:58:01 <zzo38> (PHP can also be used for command-line programs; in fact, so can JavaScript.)
04:58:08 <kmc> whereas people who use PHP and realize how bad it is can just use something else
04:58:11 <kmc> with some exceptions
04:58:33 <kmc> zzo38: yes, I worked somewhere that had a mixed Rails / PHP codebase and used both langugaes for batch processing as well as webapps
04:58:56 <monotone> PHP also has a tendency to "fix" things by making them worse.
04:59:06 <zzo38> If you are using JavaScript for something other than client-side coding on webpages, then you usually can easily use something else. For example, Synchronet door programs are written in JavaScript, but you can just as well use a native code program or a DOS program.
04:59:26 <kmc> emscripten that shit
05:00:14 <monotone> asm.js wooooo
05:00:19 <zzo38> XULrunner programs are also JavaScript; you can try to use C++ instead but that probably makes it more difficult and more confusing. I think JavaScript is really not too bad.
05:00:37 -!- oerjan has quit (Quit: Nite).
05:00:39 <Bike> dos.js
05:00:44 <mcpherrin> zzo38: hail xpcom?
05:01:43 <zzo38> mcpherrin: I know about XPCOM.
05:02:06 <Bike> xpcom.js
05:02:17 <kmc> mcpherrin: there is interest in writing Gecko components in Rust
05:02:23 <kmc> xpcom.rs woooo
05:02:42 <mcpherrin> kmc: I have written enough xpcom to know that I don't want to do that ;)
05:03:16 <zzo38> I have written webpage server programs in SQL, though. It was at someone's request; they had SSH clients and all that stuff on their computers but I (and the system administrator) are the only ones who didn't refuse to use them. I later found my program was rewritten in Ruby by someone else.
05:03:26 <kmc> another fun macro is let string = objc![[NSString alloc] initWithCString: "Hello, world!"]
05:03:56 <zzo38> (Possibly because they didn't know SQL, or something like that?)
05:04:19 <zzo38> (Or maybe they hated SQL)
05:04:19 <monotone> lol, should have expected that when I searched for a JS interpreter in JS, I'd find one that's just SpiderMonkey compiled to asm.js with Emscripten.
05:04:21 <Sgeo> kmc: let me know when you can embed a Smalltalk IDE into Rust
05:04:32 -!- tswett has quit (Ping timeout: 252 seconds).
05:04:50 <Bike> monotone: i'm imagining an ICE where the pistons are themselves engines
05:04:50 <kmc> someone was compiling webkit to asm.js too
05:05:56 <elliott> monotone: https://github.com/mozilla/narcissus/
05:06:21 <monotone> So now we're talking about running a full-fledged browser in your browser, in a way that's somewhat more efficient than the current state of the art, running a browser in an x86 emulator in your browser.
05:07:24 <Bike> man anyone remember xzbit jokes? those were the dayzzzz
05:07:53 -!- HackEgo has quit (Ping timeout: 276 seconds).
05:07:57 <kmc> high times
05:08:08 <Bike> rip
05:10:36 -!- HackEgo has joined.
05:12:39 <zzo38> If you want structured menus of files and stuff, which is suitable for any device with any user interface (including scantron), then gopher protocol is very suitable for such a thing.
05:15:06 -!- password2 has joined.
05:15:17 <Bike> take these words to heart
05:25:44 -!- MoALTz_ has joined.
05:28:23 -!- MoALTz has quit (Ping timeout: 252 seconds).
05:52:42 -!- tromp_ has quit (Remote host closed the connection).
05:59:58 <kmc> god javascript is such a shitty language
06:00:12 <shachaf> is it even worse than mortal javascript
06:00:17 <kmc> yes
06:00:33 <shachaf> what is it this time
06:01:48 <zzo38> For what things are worse in JavaScript?
06:02:36 <Slereah> Devil Javascript
06:11:49 -!- not^v has joined.
06:13:26 <shachaf> how can you make a website as awful at getting information to people as http://www.theatrebayarea.org/events/event_list.asp
06:13:52 <shachaf> it used to be ~one page with all sorts of plays
06:14:16 <shachaf> then it was ~4 pages grouped geographically
06:14:20 <shachaf> now it's 67 pages
06:14:56 <shachaf> am i missing something
06:19:29 -!- kmels has quit (Ping timeout: 264 seconds).
06:27:39 <kmc> that sounds like what muni did
06:32:22 <shachaf> there's an announcement: http://www.theatrebayarea.org/news/159235/Welcome-to-Our-New-Website.htm
06:41:53 -!- conehead has quit (Quit: Computer has gone to sleep).
06:46:14 <kmc> fungot: While you are letting your guard down / I will be letting myself go / While you keep running your ship aground / I will be setting myself alight
06:46:14 <fungot> kmc: reloaded the python plugin. it is implemented...
06:51:55 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif).
06:52:13 -!- MoALTz__ has joined.
06:52:29 -!- edwardk has quit (Quit: Computer has gone to sleep.).
06:52:35 <fizzie> fungot: Good answer.
06:52:35 <fungot> fizzie: i still think s/ coming and s/ pheromone/ mark/ blog/ images/ p6_cover_big.gif amusing)
06:54:25 <Jafet> Implement fungot in ///
06:54:25 <fungot> Jafet: where x y and t is injective.
06:54:52 -!- MoALTz_ has quit (Ping timeout: 245 seconds).
06:56:23 -!- edwardk has joined.
07:00:46 <kmc> zzo38: why do you know about XPCOM?
07:00:59 <zzo38> kmc: Because I worked with it a bit once
07:01:15 -!- tswett has joined.
07:01:35 <kmc> what did you make?
07:04:33 -!- Slereah has quit (Read error: Connection reset by peer).
07:04:33 <shachaf> kmc: http://www.theonion.com/video/christ-article-a-video,36101/
07:04:52 -!- Slereah_ has joined.
07:04:55 <kmc> yes
07:05:24 <kmc> apparently my idea of fun on a friday night is to consume a large amount of alcohol and marijuana and then read the dlopen(3) manpage
07:05:48 -!- edwardk has quit (Quit: Computer has gone to sleep.).
07:06:28 <zzo38> I was modifying a XULrunner program.
07:19:35 <mcpherrin> kmc: woohoo dlopen(3)
07:20:14 <kmc> \m/
07:20:25 * mcpherrin reads it too
07:21:50 <Bike> stoned dlopen partay
07:21:58 * mcpherrin sober by now
07:22:06 <mcpherrin> moar whiskey perhaps
07:28:29 <shachaf> hi mcpherrin
07:28:35 <mcpherrin> hi shachaf
07:31:53 <mcpherrin> shachaf: I feel like I forget who you are ( I mean, I know you're in the other IRC channel too )
07:32:49 <shachaf> I don't think we've met.
07:33:23 <mcpherrin> Probably not :)
07:33:53 <shachaf> I've seen your name before but probably just in IRC and/or Rust contexts.
07:34:38 <mcpherrin> shachaf: oh so we're in three overlapping IRC channels :P
07:41:24 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
07:54:01 -!- xk002 has quit (Quit: Saindo).
07:54:33 -!- xk002 has joined.
07:59:27 -!- hogeyui has quit (Ping timeout: 245 seconds).
08:09:00 -!- password2 has quit (Read error: Connection reset by peer).
08:12:27 -!- hogeyui has joined.
08:14:23 -!- edwardk has joined.
08:16:01 -!- AnotherTest has joined.
08:22:15 -!- impomatic has quit (Quit: impomatic).
08:22:53 -!- edwardk has quit (Ping timeout: 276 seconds).
08:25:39 -!- password2 has joined.
08:33:31 <kmc> shachaf: 'undefined' and the way it makes errors manifest in the wrong place
08:33:39 <kmc> imo no better than mapping a page of zeroes at address zero
09:05:03 <kmc> `coins
09:05:05 <HackEgo> formcoin exedcoin bitacoin furncoin rigencoin penccoin inscoin ennecoin oddycoin allecoin arbroocoin whenecoin wjthcoin dobridcoin sted!coin minenreanencoin cationcancecoin dissantinguadcoin bancoin warcoin
09:12:58 <Taneb> Do you ever look at some code you wrote and think "why"
09:13:09 <Taneb> "why the hell did I think this would be a good idea"
09:16:29 -!- MindlessDrone has joined.
09:22:17 <kmc> yes
09:22:56 <Taneb> "lambda shapes: all([shape in self.ships for shape in shapes])"
09:23:37 -!- nooodl has joined.
09:26:16 <kmc> that's numberwang
09:27:17 <Taneb> This line (which was written by me) came from something I was doing from a friend, for a competition where we had to write in Python.
09:27:43 <Taneb> It was originally largely based on his earlier C++ code, with parts based on my earlier Haskell code.
09:28:12 <Taneb> At some point we renamed a bunch of things from "shape" to "ship" or possibly the other way round, but we were horribly incomplete about it all
09:29:47 <Taneb> A lot of it was then written by a very over-tired me
09:30:20 <Taneb> A lot of it I have had to justify as "it came to me in a dream" because that's what it felt like.
09:31:19 <fizzie> Oh, I think that line is shipshape.
09:31:23 <kmc> hi fizzie
09:31:32 <fizzie> Himc.
09:32:03 <kmc> how strange it is to be anything at all
09:33:14 <fizzie> My next "hi" will probably be from Kyoto, incidentally.
09:33:29 <nooodl> hi fizzie
09:34:11 <fizzie> Now I can't say "hi" back because it'd make me a liar. :/
09:34:27 <nooodl> (evil laughter)
09:35:32 <kmc> just remember: SUNTORY BOSS is the boss of them all since 1992
09:42:07 -!- nooodl has quit (Ping timeout: 252 seconds).
09:58:56 <int-e> Bike: The connection from solving systems of polynomial equations to Gröbner bases is as follows: if X (a vector of real numbers) is a solution of P_i(X) = 0 for 1 <= i <= n, then any polynomial Q in the ideal I = <P_i>_{1 <= i <= m} has X as a solution. Now the Gröbner basis B of I is a subset of I, so X is also a solution of the set of equations given by B. Furthermore, B generates I, which contains all P_i, so any...
09:59:02 <int-e> ...solution to the equations in B is also a solution of each P_i. So B has the same set of solutions as the original polynomials. But the polynomials in B are often (maybe always, but I don't see why. did I mention that I'm not an expert on Gröbner bases?) easier to solve than the original ones, because by a suitable choice of order on monomials it's possible to separate variables (so you get a polynomial in x_1, then one...
09:59:08 <int-e> ...in x_1 and x_2, then one in x_1 to x_3, and so on).
10:00:47 * kmc hugs int-e
10:01:21 <int-e> oh?
10:02:21 <kmc> oh
10:03:45 -!- KingOfKarlsruhe has joined.
10:29:41 -!- olsner has quit (Ping timeout: 252 seconds).
10:35:53 -!- Phantom_Hoover has joined.
10:40:59 <Jafet> "Hevisaurus is a Finnish heavy metal children's music band, who dress in dinosaur costumes."
10:43:23 -!- mhi^ has joined.
10:43:26 -!- olsner has joined.
10:53:58 <fizzie> Jafet: There was a schism in the Hevisaurusverse, I remember reading about it.
10:54:08 -!- KingOfKarlsruhe has quit (Read error: Connection timed out).
10:54:13 <fizzie> Jafet: Something about current rightsholders and the original founder and blah blah this and costumes that.
10:54:37 <fizzie> Oh, I guess the wiki article mentions it.
10:54:49 <fizzie> "In early 2011, the founder of the band, Mirka Rantanen, got into a disagreement with the band's record label Sony Music. Because of this, Rantanen and three other band members belonging to the band's live assembly founded a new band called SauruXet, which has continued making children's power metal music with the original concept and nearly identical artist names. The band Hevisaurus keeps ...
10:54:55 <fizzie> ... its lead singer, its producers and the original stage costumes."
10:57:27 -!- impomatic has joined.
11:03:03 -!- AnotherTest has quit (Ping timeout: 252 seconds).
11:07:58 -!- hk3380 has joined.
11:34:57 -!- olsner has quit (Ping timeout: 252 seconds).
11:40:59 -!- MDream has changed nick to MDude.
12:06:14 -!- xk002 has quit (Ping timeout: 240 seconds).
12:13:03 <HackEgo> [wiki] [[Talk:Brainfuck]] http://esolangs.org/w/index.php?diff=39668&oldid=39559 * Rdebath * (+302) /* My optimizing interpreter again */
12:15:48 -!- MoALTz_ has joined.
12:18:29 -!- MoALTz__ has quit (Ping timeout: 252 seconds).
12:18:37 <HackEgo> [wiki] [[Talk:Brainfuck]] http://esolangs.org/w/index.php?diff=39669&oldid=39668 * Rdebath * (+169) /* My optimizing interpreter again */
12:21:53 -!- password2 has quit (Ping timeout: 264 seconds).
12:34:28 -!- password2 has joined.
12:41:07 -!- password2 has quit (Ping timeout: 245 seconds).
12:48:07 -!- yorick has joined.
13:04:15 -!- nooodl has joined.
13:36:09 -!- MDude has changed nick to MDream.
13:36:17 -!- MDream has changed nick to MDude.
13:38:27 -!- boily has joined.
13:39:47 -!- boily has quit (Client Quit).
13:52:33 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
14:03:02 -!- hk3380 has quit (Ping timeout: 240 seconds).
14:08:04 -!- Phantom_Hoover has joined.
14:10:16 -!- Patashu_ has quit (Ping timeout: 258 seconds).
14:12:45 <zzo38> It is true, that sometimes I have written some program code and think, why would I think it is good idea at the time?
14:15:32 <int-e> goto hell; // it seemed a good idea at the time
14:16:48 <zzo38> Actually I have used "goto hell" in a few programs in error handlers, and do not consider it so bad
14:17:00 -!- drdanmaku has joined.
14:20:08 -!- sign has changed nick to systemd.
14:20:40 -!- olsner has joined.
14:27:10 -!- MoALTz__ has joined.
14:30:12 -!- MoALTz_ has quit (Ping timeout: 258 seconds).
14:31:51 <Phantom_Hoover> zzo38, ooh, don't tell ais about that
14:50:34 -!- oerjan has joined.
14:51:00 -!- tromp_ has joined.
14:51:12 -!- Sorella has joined.
14:51:45 -!- Sorella has quit (Max SendQ exceeded).
14:53:10 -!- Sorella has joined.
14:59:14 -!- nooodl has quit (Quit: Ik ga weg).
15:02:12 -!- hk3380 has joined.
15:03:35 <zzo38> Ripley once went to Hell on the suggestion that he go there several times.
15:03:49 <zzo38> (It is a place in Norway.)
15:07:58 <oerjan> i'm just a few minutes' drive from there, actually
15:08:24 <oerjan> it's next to trondheim's airport.
15:08:41 <Taneb> So, Hell is Trondheim's Heathrow
15:09:02 <oerjan> no, Hell is next to Trondheim's Heathrow, which is name Værnes.
15:09:08 <oerjan> *named
15:09:08 <Taneb> Oh, OK
15:10:16 <oerjan> 6 minutes walk to the airport, i read in an article about the Blues in Hell festival (very small but praised festival)
15:11:02 <oerjan> i also recalled someone once suggested renaming the airport to Hell airport instead. i think it's like on the border between the two villages.
15:11:40 <oerjan> (well Værnes might count as a town, but Hell is smaller.)
15:12:52 <oerjan> of course with a name like that and extremely good connectivity a festival just has to be successful.
15:12:56 <FreeFull> There is a Hel in Poland
15:13:03 <Taneb> Isn't there a Hell in Jamaica?
15:13:20 <oerjan> Taneb: i think that was mentioned last time we discussed this
15:13:43 <FreeFull> I think there is a Hell in Pennsylvania
15:13:45 <Taneb> Probably by me :)
15:14:03 <oerjan> plausible
15:15:26 <oerjan> darn there i go talking before opening the logs again
15:15:57 -!- edwardk has joined.
15:16:19 <oerjan> (IE's search makes it awkward to go to hits on my nick that aren't close to the beginning or end of the file, so now i have to click past everything i just said)
15:16:50 <oerjan> back in IE 8 it was easy, i could just click in the document to tell it to start searching there :(
15:17:17 <oerjan> but obviously they thought that was too conven*Wconfusing
15:19:02 <FreeFull> What if you use the F7 cursor mode?
15:20:25 -!- edwardk has quit (Ping timeout: 258 seconds).
15:20:35 <oerjan> hm what is that....
15:21:32 <oerjan> nope, no effect. in fact the cursor was already where i had clicked, just invisible.
15:22:03 -!- edwardk has joined.
15:28:00 <Sgeo> [1,2,3,4,] // DIE IE8 DIE
15:35:31 -!- erdic has quit (Ping timeout: 240 seconds).
15:35:41 -!- trout has quit (Ping timeout: 264 seconds).
15:37:53 <Taneb> Going to see the new X-Men film tonight
15:43:26 -!- edwardk has quit (Quit: Computer has gone to sleep.).
15:45:55 -!- Frooxius has joined.
15:46:05 -!- Froox has quit (Read error: No route to host).
15:46:08 -!- Frooxius has quit (Read error: Connection reset by peer).
15:46:44 -!- systemd has changed nick to sign.
15:47:44 -!- Frooxius has joined.
15:48:53 <Phantom_Hoover> Taneb, oh, what a coincidence, so am i
15:50:22 <Taneb> Phantom_Hoover, it would be amusing if by some bizarre coincidence we ended up sitting next to eachother
15:50:23 <Taneb> Well
15:50:30 <Taneb> The bizarre coincidence would be more amusing
15:50:40 <Taneb> I doubt you would travel to York to watch a movie
15:50:55 <Phantom_Hoover> and i can't see why anyone would travel to leamington spa, ever
15:51:41 <Taneb> Where even is that
15:51:57 <Phantom_Hoover> it's pretty much glued to warwick the town
15:52:20 <oerjan> the glue is some weird clay with healing properties, clearly
15:58:26 -!- esowiki has joined.
15:58:31 -!- esowiki has joined.
15:58:31 -!- esowiki has joined.
15:58:52 -!- esowiki has joined.
15:58:56 -!- esowiki has joined.
15:58:56 -!- esowiki has joined.
15:59:00 -!- glogbot has joined.
15:59:06 <?unknown?> [freenode-info] help freenode weed out clonebots -- please register your IRC nick and auto-identify: http://freenode.net/faq.shtml#nicksetup
16:00:36 <oerjan> https://en.wikipedia.org/wiki/Murdoch_Mysteries
16:00:36 <Taneb> Clearly the same person
16:00:36 -!- FireFly has joined.
16:00:36 <oerjan> OKAY
16:00:48 -!- erdic has joined.
16:01:23 <oerjan> his death 60 years earlier was clearly faked
16:04:52 -!- esowiki has joined.
16:04:56 -!- esowiki has joined.
16:04:57 -!- esowiki has joined.
16:05:09 -!- glogbot has joined.
16:05:31 <oerjan> glogbot: STAY PUT
16:07:14 <Taneb> It's not like anyone posted any 40 line rant about the sorry apathy in the European Parliament in the 12 seconds glogbot was absent
16:10:12 <oerjan> ^style europarl
16:10:12 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
16:10:21 <oerjan> fungot: i think you have a job to do
16:10:22 <fungot> oerjan: six questions have been received. in view of such negligence, we are going to vote tomorrow on a cursory text. the proposal put forward and the conditions in which the fnord world, in east asia opens up an appalling vista. this is also a fellow countryman. there is extremely wide agreement in the committee before on mr cassidy's report linking the need for our proposals to a very low sulphur content, unlike mediterranea
16:10:59 <int-e> the first two sentences are nice
16:11:15 <int-e> I didn't know that europarl was also infested by that f-word though
16:11:39 <M28> I wrote a brainfuck JIT, it works with Hello world and a few other simple examples, but it seems to be crapping itself with longer programs, like bottles to the wall
16:12:51 <M28> anyone wanna take a look?
16:13:04 -!- idris-bot has quit (Quit: Terminated).
16:13:19 -!- idris-bot has joined.
16:13:22 <oerjan> 99 bottles of Segmentation fault (core dumped)
16:14:06 <oerjan> our jit expert never seems to be active these days.
16:15:14 <int-e> I'd be curious what the code looks like but I'm not optimistic about actually spotting bugs.
16:15:44 <int-e> oerjan: who would that be?
16:16:02 <oerjan> that would be Gregor
16:16:19 <oerjan> i mean, making a jit for IOCCC makes you an expert, right?
16:16:43 <oerjan> well that and winning
16:16:54 <int-e> compared to someone who has never made a jit at all, certainly :)
16:17:30 <Gregor> Tsk tsk
16:17:35 <Gregor> I'm an expert in all hackery things.
16:17:42 <mroman> impomatic: Is the koth hill still active?
16:17:54 <mroman> I submitted something days ago but I havent received any feedback
16:19:24 <oerjan> Gregor: how can you be idle for 4 days and still see pings
16:19:29 <impomatic> mroman: definitely still active. You need to submit the program in the body of the email and ensure the email is plain text.
16:19:49 <Gregor> oerjan: Just because I'm not chatting on IRC doesn't mean I'm not online.
16:19:56 <impomatic> mroman: also, there's the SAL hills which have a beginner hill.
16:20:10 <oerjan> Gregor: also, i'm still grieving for HackEgo's lack of log search ;_;
16:20:14 <mroman> oh. hm.
16:20:25 <mroman> Might be the case that Outlook Web App prefers sending html :)
16:20:36 <oerjan> i mean, MY CHANNEL MEMORY IS GOING, I CAN FEEL IT
16:22:21 <oerjan> Gregor: anyway M28 needs code review for his buggy bf jit twh
16:22:42 <M28> gimme a sec, fixing a bug with getchar
16:24:03 -!- conehead has joined.
16:24:04 <zzo38> I also don't like that you removed the log access from HackEgo. When will you fix that?
16:26:00 <oerjan> (now Gregor remembers why he never speaks on the channel any more)
16:26:24 <Gregor> Yup.
16:27:05 <FireFly> Gregor: are you an internet expert, too?
16:27:16 <Gregor> <Gregor> I'm an expert in all hackery things.
16:27:55 <FireFly> Wait, you aren't dead and your last name isn't Jong-il, right?
16:28:14 <Gregor> No comment.
16:28:25 <int-e> Gregor never said that he invented the Internet, as far as I know.
16:29:27 <zzo38> Will you install SQLite on HackEgo?
16:29:27 <oerjan> i find it _somewhat_ unlikely that kim jong-il said that.
16:29:44 <oerjan> if only because north korea doesn't have internet
16:29:53 <FireFly> He's claimed to be "an internet expert too"
16:29:57 <FireFly> http://www.foxnews.com/story/2007/10/05/north-korea-kim-jong-il-im-internet-expert/
16:30:03 <FireFly> ...according to Fox news, I notice
16:30:07 <oerjan> ah
16:30:13 <Gregor> `sqlite3
16:30:13 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: sqlite3: not found
16:30:19 <Gregor> ... hm.
16:30:31 <mroman> oerjan: They have internet?
16:30:50 <M28> http://puu.sh/8ZgV6/e9826ca5cb.png
16:30:52 <M28> ops
16:30:56 <mroman> I just recently read in a paper that they have a handful (<5) PCs with internet connection
16:30:57 <M28> wrong key
16:30:57 <M28> heh
16:31:03 <M28> http://puu.sh/8ZgVX/48c18d9d9f.txt
16:31:09 <mroman> or at least plan to have them. Can't remember exactly :(
16:31:12 <M28> it's C++
16:31:18 <oerjan> mroman: still, he probably didn't claim to invent it.
16:31:24 <Gregor> `sqlite3
16:31:30 <M28> "," is broken for whatever reason
16:31:55 <HackEgo> SQLite version 3.7.13 2012-06-11 02:05:22 \ Enter ".help" for instructions \ Enter SQL statements terminated with a ";" \ sqlite>
16:32:04 <Gregor> zzo38: ^^^
16:32:07 <FireFly> I think I read that some of the .kp domains now point to servers in north korea
16:32:11 <zzo38> O, it works now
16:32:15 <FireFly> whereas earlier they were hosted in Germany IIRC
16:33:21 <oerjan> excellent, Gregor is also our local C++ expert
16:33:41 <int-e> M28: what about programs that contain more than 127 < or > signs in a row?
16:33:52 <M28> int-e, no one actually cares >_>
16:34:00 <M28> heh
16:34:14 <M28> I should probably split it once it hits 127
16:34:30 <Gregor> Yeah, I don't exactly know x86 machine code by its hex X-D
16:34:42 <FireFly> Pfft
16:35:17 <zzo38> We could now use this SQLite to write programs for polls and various other things
16:35:34 <int-e> M28: it's just that this might actually happen if the brainfuck code is generated by some sort of compiler.
16:35:43 <M28> yep
16:35:56 <M28> I wrote a B to Brainfuck compiler once
16:36:10 <M28> (B is the language that comes before C, really)
16:36:35 <M28> I plan to eventually rewrite the JIT to optimize code generated by the compiler
16:36:42 <mroman> Any clues whether a stack-based programming language with one Register (stack contains register values, so no stacks of stacks, register are bounded in size) with random read access to the stack could be turing complete or not?
16:37:22 <nortti> is register unbounded?
16:37:29 <nortti> $d
16:37:33 <M28> I don't think you even need a register if you have a stack, as long as you can push, pop, add, etc. on the stack
16:37:37 <int-e> M28: the [ case looks wrong: you have to test for zero before the first loop iteration
16:37:57 <M28> int-e, wait what
16:38:07 <int-e> it's a while loop, not a do while loop
16:38:07 <M28> oh
16:38:09 <M28> OH
16:38:13 <M28> thanks
16:38:17 <M28> forgot about that ;_;
16:38:33 <int-e> (an unconditional jump to the ] code will do the trick)
16:38:42 <nortti> mroman: is the random read access like in false?
16:38:50 <M28> the problem is looking ahead
16:39:03 <M28> anyways, thanks
16:39:09 <M28> tell me if you can spot anything wrong in ,
16:39:12 <int-e> M28: reserve space for the destination, patch it up in the ] case.
16:39:16 <M28> yep
16:39:20 <M28> that's what I'm gonna do
16:39:21 <oerjan> mroman: that is not TC because your stack addresses become bounded as well...
16:39:28 <mroman> nortti: You can treat the stack as a "tape" for read access
16:39:40 <mroman> i.e you can move around in the stack brainfuck-style with < and >
16:39:58 <mroman> there are no "addresses"
16:40:01 <nortti> then, I think one could do that, by simulating a queue
16:40:44 <mroman> The only write access is push/pop/peek
16:40:51 <zzo38> (If the logs would still be on, then we can also copy the logs into SQL format in order to query them by use of SQL queries.)
16:40:53 <oerjan> M28: a stack doesn't give you turing-completeness unless the stack cells are unbounded. you get just a pushdown automaton.
16:40:53 <mroman> hm wait
16:41:01 <mroman> actually just push and peek
16:41:03 <mroman> you can't pop
16:41:49 <mroman> You can push the register, peek the top of the stack, or read a specific element of the stack
16:42:22 <mroman> (peek and read overwrite the register's contents)
16:42:30 <int-e> M28: what happens with the INT3 in there?
16:43:44 <M28> int-e, it's a break point
16:43:49 <M28> I was using it to debug
16:43:57 <nortti> shouldn't this work: you keep the peek pointer in the "start of queue" and when you dequeue, you just move the ptr one topwards
16:44:28 <nortti> enqueueing could be done with just the push
16:44:39 <nortti> it would build up a lot of garbage, tho
16:44:59 <mroman> http://codepad.org/ZcodA1m2 <- that's my sketch so far
16:45:04 <oerjan> nortti: oh that looks good
16:45:23 <mroman> which is the no-auto-commit-mode
16:45:31 <mroman> in auto-commit mode + - automatically perform a push
16:46:06 <M28> it works!
16:46:07 <M28> yay
16:46:16 <M28> http://puu.sh/8ZhWl/2b2e2efac9.txt
16:46:24 <M28> it's able to run 99 bottles of beer to the wall
16:46:29 <M28> and it's incredibly fast :p
16:46:34 <oerjan> M28: now try lostkingdom *cackles evilly*
16:46:39 <M28> now I need to fix ,
16:46:56 <M28> lo?
16:46:59 <M28> ops
16:47:01 <M28> what?*
16:47:17 <oerjan> M28: adventure game compiled to brainfuck
16:47:40 <M28> oh
16:47:46 <M28> need to fix "," first
16:48:09 <oerjan> possibly the biggest brainfuck program seriously made
16:48:15 -!- password2 has joined.
16:48:35 <elliott> it's not really much of a brainfuck program.
16:48:35 -!- oerjan has quit (Quit: Anyway, I should be going).
16:50:07 <int-e> M28: I don't know what's wrong with the getchar. I'd compile and disassemble a C program that makes a call to getchar and, say, prints the answer.
16:50:26 <M28> it's just a cdecl call
16:50:51 <int-e> (oh and I have not checked the opcodes)
16:51:14 <newsham> getchar not working?
16:51:15 <M28> I have, they're fine
16:52:36 <M28> http://puu.sh/8ZikE/4295510bcf.png
16:52:47 <M28> those are the first lines of "-,+[-[>>++++[>++++++++<-]<+<-[>+>+>-[>"...
16:53:19 <M28> the first 5 instructions is just the start of the JIT code
16:54:29 <M28> oh wait
16:54:30 <M28> uh
16:54:32 <M28> now it works...
16:54:34 <M28> welp
16:54:38 <M28> let's call it magic
16:56:14 <M28> let's run the lost kingdom now
16:57:46 <M28> msvc crashed
16:57:47 <M28> lol
16:57:58 <M28> when I tried to save the lost kingdom into the source code
16:58:03 <M28> I'll just read it from a file
16:59:26 -!- Slereah has joined.
17:01:29 -!- Slereah_ has quit (Ping timeout: 264 seconds).
17:02:37 -!- MoALTz_ has joined.
17:03:28 <M28> it works!
17:03:38 <M28> http://puu.sh/8Zj1F/96d44324c6.png
17:05:17 <FireFly> Neat
17:06:08 -!- MoALTz__ has quit (Ping timeout: 276 seconds).
17:06:26 <zzo38> It looks like some line breaks are omitted in the list of objects in room
17:07:22 <M28> it's possible that cmd.exe only recognizes \r\n line brekas
17:07:24 <M28> breaks*
17:07:30 <M28> and it's printing \n line breaks
17:08:51 <nortti> mroman: is the peek pointer relative to top of stack or to bottom of stack?
17:09:29 <M28> http://puu.sh/8Zjq0/ef2f4fa7ea.png
17:15:42 <zzo38> Actually from what I could tell, in text mode it will work with just \n and convert to \r\n. Also, I don't think it is related only to cmd.exe; it is part of the Windows command-window environment in general.
17:16:10 <M28> it is
17:16:26 <zzo38> I am not quite sure though.
17:21:45 <int-e> shouldn't putchar('\n') produce \r\n?
17:22:11 <int-e> (on that platform)
17:23:38 <M28> int-e, yeah I made a wrapper for that
17:23:59 <M28> https://github.com/Matheus28/BrainJIT/blob/master/src/main.cpp#L15
17:24:26 -!- variable has joined.
17:25:01 <impomatic> mroman: did you try that koth hill again?
17:26:13 <int-e> M28: the lost kingdom *does* contain long runs of > and <.
17:26:35 <M28> yeah I did fix that
17:26:46 <M28> https://github.com/Matheus28/BrainJIT/blob/master/src/main.cpp#L95
17:27:29 -!- shikhin has joined.
17:27:30 <M28> by the way
17:27:38 <M28> that thing isn't really written in brainfuck, is it?
17:27:41 -!- Phantom_Hoover has quit (Ping timeout: 258 seconds).
17:28:01 <M28> like, I hope someone wrote it in another language, and wrote a compiler to brainfuck for it
17:28:34 <int-e> M28: but something is going wrong: In that hut, all I see is "a small wooden box of matches sitting on the table (2)"
17:29:12 <nortti> M28: iirc it was written in bfbasic
17:29:32 <M28> I don't see any error, where do you see that?
17:30:13 <int-e> M28: running LostKng.b in a "normal" brainfuck interpreter
17:31:05 <M28> I chose long descriptions there
17:31:13 <M28> this one has short descriptions http://puu.sh/8Zjq0/ef2f4fa7ea.png
17:31:21 <M28> but the text is reworded
17:31:25 <M28> are you using the same version?
17:31:27 <int-e> http://int-e.eu/~bf3/tmp/lk.png
17:31:59 <M28> oh
17:32:00 <M28> I see
17:32:08 <M28> I have no idea, tbh
17:32:43 <int-e> sha1sum says 587dc8ebf682dd78f413ebf599ca0552c1d7bdcc LostKng.b for LostKng.b btw.
17:32:58 <M28> sec
17:33:51 <M28> uh
17:33:56 <M28> I'll take a look at it later
17:33:59 <M28> kinda tired atm
17:37:15 <mroman> impomatic: I did
17:37:27 -!- yorick has quit (Remote host closed the connection).
17:37:28 <mroman> nortti: relative to the top
17:37:56 <mroman> haven't got an answer though so far
17:38:19 <mroman> and it's been more than an hour
17:49:00 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com).
18:00:14 -!- hk3380 has quit (Ping timeout: 240 seconds).
18:04:54 <kmc> <FreeFull> I think there is a Hell in Pennsylvania
18:05:03 <kmc> there's also a town that has been on fire since 1962
18:05:09 <kmc> http://en.wikipedia.org/wiki/Centralia,_Pennsylvania
18:08:03 <FreeFull> Odd how there is a Reading in Pennsylvania
18:17:57 <kmc> why is that odd
18:23:14 <kmc> code I wrote 2 years ago that has mfence() in various places with no explanation
18:23:17 <kmc> B|
18:25:58 <nortti> what does it do?
18:26:07 <Bike> int-e: thanks.
18:26:36 <nortti> s/it/the instances of it in the code/
18:30:19 -!- hk3380 has joined.
18:32:06 <kmc> nortti: that is the question isn't it
18:33:43 <nortti> does it stop working if they are removed
18:36:32 <kmc> another fine question
18:36:51 -!- Slereah_ has joined.
18:37:43 <kmc> and not something I can easily test
18:38:26 <int-e> nortti: isn't it a bit dangerous to assume that it is working now?
18:39:50 -!- Slereah has quit (Ping timeout: 240 seconds).
18:40:12 <kmc> that's one reason it's hard to tell if it stops working
18:48:11 <shachaf> Does mosh make a ^G when it reconnects?
18:55:34 <kmc> dunno
18:55:38 <HackEgo> [wiki] [[Talk:Meta Turing-complete]] http://esolangs.org/w/index.php?diff=39670&oldid=30910 * GermanyBoy * (+202) /* ℒ */
18:55:41 <kmc> why would it
18:56:01 <Bike> https://twitter.com/shelajev/status/469735994464690177/photo/1/large so easy
18:57:11 <zzo38> How well does it work to make a key using a 3D printer? Can it be done if you only have the lock and not the original key? I tried to make a copy of a key in the ordinary way but it did not work; maybe it is a copy of a copy.
18:58:00 <kmc> which is the ordinary way?
18:59:06 <Bike> do you just mean a tumbler
18:59:07 <zzo38> By giving the key to the locksmith and having them use their machine to do it.
18:59:37 <kmc> most of thet times I've cut keys by hand, I did it by loading a lock with the appropriate pins and then filing away bits of the key until it turns
18:59:48 <kmc> duplicating a key by hand directly from another key is harder
18:59:53 <kmc> but i've done it
19:01:15 <kmc> and yeah, key copying machines often do a poor job
19:01:37 <nortti> what kind of key was the one you copies by hand?
19:01:56 <kmc> there's nothing quite like a lovingly hand-cut key
19:02:45 <kmc> you're not restricted to the usual key shapes
19:03:05 <kmc> you can cut a perfectly smooth spline between the control points
19:03:25 <kmc> nortti: I don't remember specifically which key I duplicated by hand directly
19:05:02 -!- AnotherTest has joined.
19:05:39 -!- Slereah has joined.
19:06:01 <kmc> mostly I have hand-made master keys for various buildings and tunnels at Caltech
19:06:31 <kmc> without having another master key to work from
19:07:03 <nortti> how did you construct those? actually, how do master keys word in general
19:07:08 <nortti> +?
19:08:06 <kmc> jeez the word "tumbler" looks weird with an e
19:08:30 <shachaf> kmc: I don't know why it would but whenever I resume my computer from suspend, and also just now when my Internet connection came back, I hear a bell sound.
19:08:30 <kmc> so here's how a pin tumbler lock works: http://i.imgur.com/pEQoB9a.gif
19:09:02 -!- Slereah_ has quit (Ping timeout: 245 seconds).
19:09:06 <zzo38> I want to learn how to make the key from using only the lock, so that I can try to ensure I have a key that works, rather than the copy that doesn't work. I can't use their key, because it doesn't belong to me; but I am authorized to use the lock.
19:09:10 <kmc> in a master key system, some of those columns contain 3 or more metal cylinders, so that it can open at 2 or more different heights
19:09:21 <nortti> oh, right
19:10:05 -!- Slereah_ has joined.
19:10:30 -!- MindlessDrone has quit (Quit: MindlessDrone).
19:10:37 <kmc> you can take the lock out of a door, disassemble it (quickly and quietly in the middle of the night in a bathroom or out of the way machine room or something)
19:10:43 <kmc> and measure all the bits with calipers
19:11:00 <kmc> do this for a few different locks in the same master domain; compute the unique key which opens all of them
19:12:19 <Melvar> kmc: I’ve seen a key (that I believe is a master key) that has a row of round indentations in the side close to the top edge.
19:13:22 <kmc> yeah
19:13:30 <Melvar> What do those do?
19:14:05 -!- Slereah has quit (Ping timeout: 264 seconds).
19:16:23 <kmc> I don't know about those specifically, but there are various high-security key systems that have another coding mechanism besides pin heights
19:17:41 <kmc> mostly I know about the Medeco system, which rotates each pin to one of three angles in addition to lifting it
19:17:44 <kmc> http://modernlock.com/medeco.jpg
19:18:41 <kmc> this does more than increase the number of combinations by a factor of 6*3
19:18:46 <kmc> it makes picking much much harder
19:19:35 <kmc> picking depends on getting the lock to a state where there's just one particular part which is prevent it from turning the next little bit
19:20:04 <kmc> but you can't do this when there are multiple orthogonal mechanisms preventing it from turning
19:21:47 <kmc> also it's just hard to manipulate the pin rotations with standard lockpicking tools
19:22:23 <kmc> but i was never very good at lockpicking, anyway
19:22:52 <kmc> and unauthorized medeco keys are not particularly hard to make (claims of the manufacturer notwithstanding)
19:23:35 <kmc> measuring and cutting the rotations is easy, and they must be the same for every key in a master domain
19:25:16 <nortti> interesting, apparently abloy locks are hard to pick (https://en.wikipedia.org/wiki/Disc_tumbler_lock)
19:26:47 <kmc> medeco also assigns a different keyway shape to each customer (from some finite set, presumably) and tries to restrict who can buy blanks of which shape
19:26:56 <kmc> but this is not a very effective measure
19:26:56 * mcpherrin uses abloy locks
19:27:19 <kmc> you can buy blanks from sketchy companies in china that are close enough, and then cut them to fit by hand or using a dremel
19:27:19 <mcpherrin> medeco blank restriction is somewhat effective against casual key-copying
19:27:37 <nortti> aren't abloy locks kind of universal or is my perspective skewed by me being a fin?
19:27:41 <nortti> +n
19:27:52 <mcpherrin> nortti: that's a scandanavian thing; they're much less available worldwide
19:27:54 <kmc> I think the latter
19:28:01 <nortti> ic séo
19:28:05 <kmc> yeah douglass_ was telling me about abloy locks; apparently they are very hard to hax
19:28:15 <zzo38> Even if you cannot use key cutting tools, would you be able to use 3D printers to duplicate it? Probably you would need more sophisticated 3D models of the key in such a case than ordinary keys, but maybe it can still be used sometimes? I don't know how well it would work at all
19:28:16 <kmc> she has more key-fu than i do
19:28:26 <kmc> zzo38: yes, I think you can use 3D printers to duplicate keys
19:28:31 <FireFly> Is Medeco a lock vendor?
19:28:33 <kmc> yes
19:28:35 <mcpherrin> abloy 20/70 is my favourite padlock
19:28:38 <FireFly> oh, okay
19:29:12 <kmc> zzo38: you could also use a 3D printer to do a variation of the master key privilege escalation that doesn't require disassembling any locks
19:29:29 <mcpherrin> kmc: you can also copy medeco keys onto plastic sheets easily enough; we used spent gift cards a lot
19:30:12 <kmc> if you have a legit key for some door in the building, you can fabricate a set of ~50 keys to test, and from which ones open the door you can compute the master key
19:30:19 <kmc> mcpherrin: haha, that's awesome
19:30:29 <kmc> are those strong enough to turn the tumbler, or do you use it with a tension tool
19:30:51 <mcpherrin> kmc: you can turn the tumbler with them
19:31:01 <mcpherrin> they're very limited-use though, only opens a lock 3-4 times
19:31:07 <kmc> ah
19:31:49 <mcpherrin> yeah keyway doesn't matter when you can just force the plastic in and it conforms :p
19:31:58 <zzo38> However, what I am trying to do isn't duplicate a key (since I tried it and it didn't work). I wonder if I can make a working key from only the lock (without breaking, disassembling, or uninstalling it). I tried to copy a working key but the copy didn't work; maybe it is a copy of a copy, or something like that? I don't really know why it doesn't work.
19:32:48 <mcpherrin> zzo38: so it depends how you copy a key: If you're using a key cutter that follows an existing one, you definitely lose fidelity
19:33:04 <kmc> zzo38: the advantage of cutting from another lock loaded with the right pins is that it quantizes the heights to the 10 or so official heights
19:33:15 <kmc> +/- variation in the pins and other components, of course
19:33:21 <kmc> but this prevents the copy-of-a-copy problem
19:33:48 <kmc> there are key duplicating machines that will cut by code rather than just following the profile of an existing key
19:34:00 <mcpherrin> http://www.ricklab.com/keymart/images/ta_lkgks.jpg
19:34:09 <mcpherrin> So you can get a thing like this and use it to read out the code for the key
19:34:14 <kmc> nice
19:34:28 <kmc> "kwikset" is a hilarious name for a brand of locks :3
19:34:40 <mcpherrin> and then if you have a CNC mill (who doesn't), you can easily CNC a new key perfectly
19:34:44 <kmc> mcpherrin: have you seen https://keysduplicated.com/
19:34:50 <kmc> yeah, I think they use a CNC mill
19:35:05 <mcpherrin> kmc: haha yeah, I was considering writing an open source version
19:35:12 <kmc> they have a HTTP API for ordering keys o_O
19:35:43 <mcpherrin> at least for kwikset keys since that's what I'm most familiar with
19:36:15 <int-e> wait ... they collect key profiles together with addresses? what could possibly go wrong?!
19:36:28 <zzo38> Where would you go to get them to cut by code?
19:36:38 <kmc> zzo38: I'm not sure
19:36:40 <mcpherrin> zzo38: most lock smiths should be able to do that
19:36:45 <int-e> become a locksmith?
19:36:51 <mcpherrin> like a real lock smith, not a teenager in the corner of a hardware store
19:36:55 <kmc> probably a locksmith or a lock supply shop can at least tell you where to go
19:37:09 <mcpherrin> you cna probably order them on the internet
19:37:18 <kmc> silk road
19:37:53 <mcpherrin> You could write a program that generates a picture of the key and uploads it to keysduplicated.com ;P
19:37:55 <FireFly> int-e: they could deliver the keys to your table
19:38:11 <pikhq> Or if you're feeling like a lot of tedium, you could file the key yourself.
19:38:19 <int-e> FireFly: that does sound convenient.
19:38:30 <pikhq> It's not *easy*, but you can just take a file to a key blank.
19:38:39 <kmc> pikhq: I was espousing the virtues of that approach before
19:38:46 <zzo38> mcpherrin: Yes, interesting idea, if you have a good 3D rendering software!!
19:38:48 <kmc> 12:01 < kmc> there's nothing quite like a lovingly hand-cut key
19:38:51 <kmc> 12:02 < kmc> you're not restricted to the usual key shapes
19:38:54 <kmc> 12:03 < kmc> you can cut a perfectly smooth spline between the control points
19:39:07 <mcpherrin> kmc: hmmmm interesting point
19:39:27 <pikhq> kmc: :)
19:39:40 <kmc> there was a lot of social infrastructure at my school for encouraging frosh to do this kind of thing and teaching them how
19:40:38 <mcpherrin> I should get a key gauge and some blanks
19:40:44 <mcpherrin> make myself some bespoke keys :p
19:40:52 <int-e> even better, take pics of somebody else's keys and have them delivered to your home
19:40:54 -!- hk3380 has quit (Ping timeout: 252 seconds).
19:42:01 <int-e> the terms of service are cute. "You may only use this service to copy keys that you are authorized to copy." and "You may not use this service as a locksmithing service, and agree to use Shloosl only to duplicate existing keys."
19:42:15 <kmc> there was a rule that you shouldn't cut keys from data you haven't measured yourself, even though you could get it from someone else
19:42:29 <kmc> in order to keep alive the skills of obtaining said data
19:44:00 <mcpherrin> hmm kinda tempted to buy a http://www.amazon.com/Lab-LKG001-5-N-1-Key-Gauge/dp/B000ZHB31I
19:45:09 <nortti> https://www.youtube.com/watch?v=sGXTF6bs1IU
19:45:23 <kmc> which was also a kind of secret society / occult knowlegde thing
19:45:40 <kmc> keegan of 2005 would be aghast that I am telling you all of this stuff
19:46:00 <mcpherrin> kmc: key copying is secret society stuff? lolwut
19:46:17 <mcpherrin> kmc: I guess for anybody who hasn't been to maker faire or defcon or ...
19:46:27 <mcpherrin> (or hung out with hardware store employees....)
19:46:40 <int-e> afaiu locksmiths are still unhappy about books being published about lockpicking
19:47:02 <mcpherrin> pfft, that cat is long out of the bag
19:47:12 <kmc> mcpherrin: that was the culture at my university
19:47:42 <kmc> there was one house which did most of the key hacking and tried to keep stuff secret from non-members
19:48:02 <kmc> I mean the general principles of lockpicking etc. are easy enough to find online
19:48:11 <kmc> but things like details of how to make suitable medeco blanks, or that this could even be done
19:48:17 <mcpherrin> kmc: heh, we did the oppsite in univeristy
19:48:18 -!- not^v has joined.
19:48:25 <mcpherrin> flyer bombed campus with instructions on how to do things
19:48:30 <mcpherrin> make sure everybody knows!
19:48:32 <kmc> (I think at the time, Medeco claimed it was impossible, and there wasn't so much information online as now)
19:48:35 <kmc> haha
19:48:37 <kmc> that's awesome
19:49:20 <kmc> the people who were taking and manufacturing illegal drugs were a lot less discreet than the people making keys :P
19:49:39 <kmc> at the time, campus security didn't really give a shit about the former
19:49:41 <mcpherrin> we had a "student newspaper"
19:49:57 <mcpherrin> which was us sneaking into photocopy rooms and making an issue
19:50:12 <kmc> samizdat, good
19:50:29 <mcpherrin> yes exactly
19:50:32 -!- edwardk has joined.
19:50:38 <mcpherrin> I'm always up for some good samizday
19:50:42 <mcpherrin> I'm always up for some good samizdat
19:51:12 <kmc> hey mcpherrin you should write something like http://subterfugue.org/ but for Linux 3.x and in Rust
19:51:37 <kmc> http://man7.org/linux/man-pages/man7/rtld-audit.7.html is another fun way to screw with programs
19:52:42 <kmc> what's the thing that ais made for nethack TASes again?
19:53:06 <Bike> @google nethack tas tools
19:53:07 <lambdabot> https://gitorious.org/nethack-tas-tools
19:53:40 <kmc> maybe I'm thinking of something else
19:56:50 <mcpherrin> time to go buy new bike shoeees
19:57:48 -!- hk3380 has joined.
20:01:45 <kmc> why do bikes need shoes
20:01:58 <kmc> do you mean tires
20:02:33 <mcpherrin> no, I mean shoes for me to wear while on a bike
20:04:59 <kmc> :3
20:05:17 <mcpherrin> though tires are like shoes for a bike
20:06:56 -!- password2 has quit (Ping timeout: 252 seconds).
20:10:43 <FireFly> So if you put on tires on the bike, does it get tired?
20:11:37 <int-e> It'd be getting tyred in British English, hth.
20:12:51 <Melvar> Isn’t Tyre a place in Lebanon?
20:13:29 <int-e> That's what Wikipedia just told me.
20:29:17 -!- edwardk has quit (Ping timeout: 252 seconds).
20:46:07 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39671&oldid=39665 * Icepy * (+3)
20:46:33 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39672&oldid=39671 * Icepy * (+17)
20:52:39 -!- clog has quit (Ping timeout: 252 seconds).
21:02:18 -!- MoALTz__ has joined.
21:03:39 -!- MoALTz has joined.
21:03:50 -!- nooodl has joined.
21:05:25 -!- MoALTz_ has quit (Ping timeout: 258 seconds).
21:05:37 -!- Sprocklem has joined.
21:06:32 -!- MoALTz__ has quit (Ping timeout: 245 seconds).
21:08:24 -!- edwardk has joined.
21:09:54 -!- not^v has quit (Read error: Connection reset by peer).
21:15:47 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39673&oldid=39672 * Icepy * (+838)
21:16:38 -!- AnotherTest has quit (Ping timeout: 240 seconds).
21:25:31 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39674&oldid=39673 * Icepy * (+25)
21:31:07 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39675&oldid=39674 * Icepy * (+40)
21:32:25 <tswett> So I tried to think of ways to make a better lock just now.
21:33:01 <tswett> I thought, what if each key had to be in a specific shape that encodes some data, and then the lock just works by mechanically reading off the data from the key such that it can only turn if the data is correct?
21:33:03 <Bike> just throw bricks at anyone with a lockpick
21:33:13 <tswett> 'Course, that's what a cylinder lock is.
21:33:31 <Bike> or throw bricks at anyone with a brick, since they could use the brick to break a window.
21:34:10 <tswett> The great thing about throwing bricks at people who have bricks is that they're likely to throw bricks at you, making it impossible for them to use those bricks to break windows.
21:34:31 <tswett> What are the known non-brute-force methods of attacking a cylinder lock? Picking and bumping? Are there others?
21:36:21 <myname> on what level of nested wheres does haskell starting to get ugly?
21:36:31 <Bike> rephrase readably plz
21:36:33 -!- douglass_ has joined.
21:36:44 <tswett> On what level of nested wheres does Haskell start to get ugly?
21:36:44 <kmc> douglass_: you may know the answer to <tswett> What are the known non-brute-force methods of attacking a cylinder lock? Picking and bumping? Are there others?
21:36:55 <douglass_> impressioning
21:36:58 <Bike> wrong
21:37:08 <kmc> http://www.lockwiki.com/index.php/Impressioning#Manipulation-based_Impressioning
21:37:44 <tswett> myname: mho: the maximum indentation level is six stops, assuming each stop is four columns.
21:37:49 <Bike> what if you fill the lock with a magnetic fluid and manipulate it magneticallly until it opens, then freeze the liquid??
21:37:51 <kmc> tswett: amusingly, attacking a lock with "brute force" could mean two different things
21:37:59 <tswett> kmc: hm, true.
21:38:01 <kmc> I assume you don't mean enumerating all the keys
21:38:12 <Bike> you could let the key melt later, so, the perfect crime
21:38:14 <tswett> Right, I mean actual brutish force.
21:38:21 <kmc> but if you have a legit non-master key, you can do a tractable enumeration to get the master key
21:38:24 <kmc> as I described above
21:38:34 <douglass_> I had better luck with it than bumping, but never got it to work on more than 4 pins. Though maybe this, like bumping, is a method that works better with well-made locks, and my practice lock was shit.
21:39:09 <Taneb> I enjoyed the movie
21:39:29 <kmc> tswett: I have a fantasy of a device with an electrical probe that uses time-domain reflectometry to measure pins without removing or disassembling the lock
21:39:34 <kmc> I don't know if this is practical
21:39:43 <Bike> what movie?
21:39:45 <int-e> kmc: I liked the idea of looking at keys of several locks that have the same master key
21:40:12 <kmc> int-e: that works sometimes, yeah
21:40:24 <Taneb> Bike, the new X-Men film
21:40:24 <shachaf> Bike: the new X-Men film
21:40:31 <kmc> you have to make some assumptions about how the master keying is done, which don't always hold
21:40:39 <tswett> There should be a law stating that trespassing is legal if you do it in a sufficiently clever and interesting way.
21:40:53 <douglass_> Bike: fun fact, most shapes that will open a lock aren't easily removable from it afterwards
21:41:05 <Bike> oooh.
21:41:21 <Bike> countering my attack before i thought of it. very clever, locksmiths
21:41:28 <shachaf> maybe i should acquire a lock and try to pick it
21:41:35 <douglass_> I forgot to smooth out a key I made once. It resulted in an awkward situation.
21:41:58 <int-e> tswett: it already works that way; if you get caught you were not "clever" enough.
21:42:22 <Bike> this reminds me that i don't understand the lock my car uses. the key is a flat bar with a curvy depression down the middle
21:42:30 <tswett> int-e: oh yeah.
21:42:50 <tswett> I dunno. You should be able to call off the investigation by filing a report.
21:43:08 <kmc> tswett: you can also imagine noninvasive imaging of the lock, but I'm not sure what kind will work
21:43:16 <pikhq> Bike: Oh, an internal cut key. Neat.
21:43:52 <Bike> oh yes that seems to be it
21:44:01 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39676&oldid=39675 * Icepy * (+192)
21:44:15 <pikhq> The mechanism is pretty mundane on those, I'm pretty sure.
21:44:35 <kmc> I think the housing will block x-rays
21:45:03 <kmc> and it's metal so MRI is no good
21:45:07 <kmc> maybe ultrasound
21:45:43 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39677&oldid=39676 * Icepy * (-6)
21:46:02 <tswett> You can make some sort of electrical wave inside a conductive material, right?
21:46:12 <tswett> Like, obviously you can transmit signals through wires.
21:46:13 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39678&oldid=39677 * Icepy * (+6)
21:46:20 <douglass_> well, it mostly wants to go on the surface
21:46:22 <douglass_> but still
21:46:32 <tswett> Is that the skin effect?
21:46:54 <kmc> you could put a radioactive substance inside the keyway, or bombard the lock with neutrons until it's radioactive
21:47:29 <tswett> Place a neutrino source on one side of the lock and a neutrino detector on the other side.
21:47:32 <kmc> yes
21:47:52 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39679&oldid=39678 * Icepy * (+48)
21:48:12 <pikhq> If you have a neutrino source and detector of nontrivial power then I think that lockpicking is the least of your priorities.
21:48:22 <kmc> you could vibrate a pin up and down very quickly and maybe measure something
21:49:56 <Bike> pikhq probably doesn't like my plan to train a slime mold to climb in and then climb out and reproduce the shape, either
21:50:14 <int-e> pikhq: I imagine that the key lifts pins by some sort of hook that moves along the internal cut.
21:50:16 <tswett> Ooh, here's an idea.
21:50:31 <tswett> Fill the lock with some sort of gel that sets permanently but remains soft.
21:50:48 <tswett> After the gel sets, pull it out, and it'll return to the shape of the air spaces inside the lock.
21:51:26 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39680&oldid=39679 * Icepy * (-225)
21:51:40 <tswett> You know, it must be possible, in theory, to create a "sound camera" that creates an image of where sound is coming from.
21:52:08 <Bike> or my other plan to determine the initial condition of the universal wavefunction by observing cosmic background, and then use this to determine the history of the universe up to the point where the lock is being made
21:52:29 <tswett> Frsrs, ultrasound.
21:53:36 <Bike> or my other other plan to take over ZEVS in a daring military operation, and carefully measure the distortion of ELF waves through the lock
21:54:00 -!- clog has joined.
21:54:30 <tswett> Let's ignore noninvasive imagining for the moment; that's boring. So, locks can be defeated by picking. Use the behavior of the lock to measure the code one pin at a time.
21:55:11 <tswett> Maybe you could make it so that the cylinder turns as long as the pins are in a valid position, but it doesn't turn all the way unless they're all in the correct position.
21:55:13 <FireFly> tswett: if you have access to both sides of the lock, somehow I think picking it is a bit redundant
21:55:49 <tswett> FireFly: not necessarily. I can access both the north side of a building and the south side of a building without being able to access the interior.
21:56:15 <FireFly> Hm, true
21:56:37 -!- mhi^ has quit (Quit: Lost terminal).
21:57:24 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39681&oldid=39680 * Icepy * (+47)
22:00:43 -!- mhi^ has joined.
22:05:07 <tswett> I like how the ear behaves as a demultiplexer.
22:05:44 <tswett> The brain can't handle signals with a bandwidth higher than 100 Hz or so, so it takes this 20,000 Hz signal and transforms it into a whole bunch of narrower signals.
22:06:33 <ion> s/demultiplexer/Fourier transform/
22:07:10 <tswett> I wouldn't say it behaves as a Fourier transform. It doesn't completely take audio from the time domain to the frequency domain.
22:07:31 <tswett> If it did, we'd only ever hear one sound, but we'd know its frequency components exquisitely well.
22:09:53 <tswett> It can definitely demultiplex, though. You can, to a degree, listen to multiple simultaneous sounds and make them all out.
22:19:59 -!- Sprocklem has quit (Quit: brb).
22:20:52 -!- Sprocklem has joined.
22:25:26 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39682&oldid=39681 * Icepy * (-145)
22:27:13 <Bike> i like how the ear reduces the frequency using a bunch of bones sitting in goop
22:29:06 <M28> int-e, fixed that bug
22:29:13 <M28> int-e, damn it was a hard bug
22:29:17 <M28> to spot, not to fix
22:29:18 -!- Sprocklem has quit (Quit: brb).
22:29:30 <M28> I had typod 0x82, instead of 0x80 in part of the asm code
22:30:02 <tswett> Yup. A mechanical demultiplexer.
22:30:19 <tswett> Does stuff that operates mechanically on sound waves still count as "mechanical"?
22:30:39 <tswett> Like, a whistle produces sound "mechanically", right?
22:30:43 -!- Sprocklem has joined.
22:31:59 <Bike> considering there are no moving parts...
22:32:31 <tswett> And if the word isn't "mechanical", then what is it?
22:32:45 <Bike> what are you trying to oppose it to?
22:33:03 <tswett> Well, as opposed to something without moving parts.
22:33:21 <tswett> Like, say, a maraca definitely produces sound "mechanically". Stuff hits other stuff, making noise.
22:33:59 <tswett> A whistle doesn't have moving parts; it's a resonant chamber along with an amplifier that operates fluidically.
22:34:05 <tswett> There's the word I want. Fluidically.
22:34:06 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39683&oldid=39682 * Icepy * (+268)
22:34:37 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39684&oldid=39683 * Icepy * (+22)
22:34:47 <pikhq> The ear isn't a "proper" Fourier transform, but it is implementing an approximation of a Fourier-related transform being used in a very similar way to its use in audio compression.
22:35:41 <tswett> It's almost like the human ear was designed not to notice MP3 compression artifacts.
22:35:47 <pikhq> :P
22:36:38 -!- tswett has quit (Remote host closed the connection).
22:36:56 -!- tswett has joined.
22:37:04 <zzo38> If you have multiple copies of a picture or audio with different watermarks, can you then detect them and tamper with them?
22:37:48 -!- Patashu has joined.
22:39:38 <zzo38> The clock without moving parts is sundial (including digital sundials).
22:40:09 <tswett> Now, could you make a computer that operates using sound waves?
22:40:11 <zzo38> But, do you know which timepiece has the most number of moving parts?
22:40:26 <zzo38> tswett: I don't know.
22:40:39 <int-e> zzo38: nice question
22:40:46 <tswett> zzo38: some clock tower?
22:40:50 <tswett> Or...
22:41:09 <tswett> I can see someone arguing that the timepiece with the greatest number of moving parts is the night sky.
22:41:31 <zzo38> tswett: I suppose someone can argue that, but it isn't what I meant.
22:42:09 -!- tswett__ has joined.
22:42:31 <int-e> think low tech
22:42:31 <tswett__> Sound waves mostly interact linearly. There are definitely ways of doing non-linear things, though.
22:42:36 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39685&oldid=39684 * Icepy * (+158)
22:44:53 <tswett__> The easiest logic gate to implement should be the buffer. Outputs 1 upon receiving 1; outputs 0 upon receiving 0. Amplifies the signal and doesn't pass it in the wrong direction.
22:45:21 <int-e> zzo38: but which of those has the most parts? the one in a museum in Nima perhaps?
22:45:28 -!- tswett has quit (Ping timeout: 258 seconds).
22:45:28 -!- tswett__ has changed nick to tswett.
22:45:42 <zzo38> int-e: I don't know that either.
22:46:10 -!- Sprocklem has quit (Quit: brb).
22:47:06 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39686&oldid=39685 * Icepy * (-13)
22:48:26 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39687&oldid=39686 * Icepy * (+22)
22:49:17 -!- Sprocklem has joined.
22:49:27 -!- Sprocklem has quit (Changing host).
22:49:27 -!- Sprocklem has joined.
22:49:32 <int-e> tswett: isn't that made by putting two inverters in a row?
22:49:48 <tswett> int-e: it can be.
22:50:24 <tswett> Making an inverter sounds tough. Make a device that produces sound if and only if it is not receiving sound.
22:51:02 <tswett> Maybe you could use destructive interference.
22:52:39 <tswett> In theory, you could just use a device that always produces sound of the relevant frequency. Stick that together with your input line, and it should just work, as long as everything is of the right length and whatnot.
22:53:12 -!- oerjan has joined.
22:53:32 <tswett> But you have to make the device output sound of the right phase, too.
22:54:14 <tswett> If you could just make some sort of non-linear one-directional amplifier, I think you ought to be able to make everything else.
22:55:56 -!- edwardk has quit (Ping timeout: 252 seconds).
22:56:40 -!- Sprocklem has quit (Quit: Lost terminal).
22:57:00 <MDude> I'd think inverting sound would be easy.
22:57:21 <tswett> MDude: how would you do it?
22:57:24 <MDude> Just swich the coils on the speaker around, and it'll push whne it'd otherwise pull and vise-versa.
22:57:29 -!- Sprocklem has joined.
22:57:37 <MDude> *when
22:57:46 <tswett> Now do that without any wires.
22:58:29 <MDude> I'd think it'd involve something with the hardware.
22:59:13 <MDude> Like a transformer or something.
22:59:14 -!- Patashu_ has joined.
22:59:27 -!- Patashu has quit (Disconnected by services).
23:00:19 <MDude> I'll try to make something in circuit simulator, but first dinner.
23:00:20 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39688&oldid=39687 * Icepy * (-56)
23:01:22 -!- edwardk has joined.
23:02:52 <zzo38> The software "Astrolog" includes some nice features, such as the "timed exposure" feature, and the ability to overlay constellations on the world map; however, this is unfortunately not Free Software. (However, GPL ephemeris software does exist.)
23:03:53 -!- Sprocklem has quit (Quit: brb).
23:04:22 -!- Sprocklem has joined.
23:04:27 -!- Sprocklem has quit (Changing host).
23:04:27 -!- Sprocklem has joined.
23:06:25 <int-e> zzo38: that one should have about 40 billion moving parts. :)
23:06:37 <int-e> (the one in Nima)
23:06:48 <zzo38> I haven't been at Nima
23:07:40 <int-e> neither have I
23:08:53 -!- shikhout has joined.
23:10:44 -!- nooodl_ has joined.
23:11:11 <int-e> https://en.wikipedia.org/wiki/Atomic_clock is another fun candidate (I read as far as "atomic fountain")
23:11:57 -!- shikhin has quit (Ping timeout: 245 seconds).
23:12:10 <int-e> but then we need to discuss moving electrons in the next step, which makes things a bit silly.
23:12:14 <zzo38> Do something like: INSERT INTO WINDOW(TITLE,CONTENT) SELECT 'Horoscope',COMPUTE_HOROSCOPE(ID,GLYPH,JULIANDAY('now'),GET_GEOLOCATION()) FROM PLANETS;
23:12:52 <tswett> Why are you capitalizing identifiers?
23:13:29 -!- nooodl has quit (Ping timeout: 264 seconds).
23:13:38 <zzo38> I just like to do that. You can also put the identifiers in "..." if you prefer.
23:14:36 <tswett> insert into "WINDOW"("TITLE","CONTENT") select 'Horoscope',"COMPUTE_HOROSCOPE"("ID","GLYPH","JULIANDAY"('now'),"GET_GEOLOCATION"()) from "PLANETS";
23:15:18 <zzo38> They are also case-insensitive, so you can use any combinations of uppercase/lowercase letters.
23:16:08 <tswett> THERE SHOULD BE A stereotype THAT computer programmers put emphasis ON ALL non-content words IN THEIR speech.
23:18:29 <FireFly> It is RECOMMENDED that programmers follow RFC 2119 in their everyday speech
23:19:24 <tswett> My "recommendation" is that all "programmers" "put" all "content" "words" inside of "double" "quotation" "marks".
23:23:50 <pikhq> 77 DECLARATION VALUE IS "It is my belief that all programmers should use syntactically valid COBOL".
23:31:36 <oerjan> <kmc> what's the thing that ais made for nethack TASes again? <-- web o' flies?
23:31:36 <MDude> Oh, so the sound needs to be transformed mechanically.
23:32:22 <MDude> What's the medium otherwise? Taunt wire, like in a tin can phone?
23:33:13 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39689&oldid=39688 * Icepy * (+89)
23:33:43 <HackEgo> [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=39690&oldid=39647 * Icepy * (+15) /* Non-alphabetic */
23:33:48 <oerjan> @tell kmc <kmc> what's the thing that ais made for nethack TASes again? <-- web o' flies?
23:33:48 <lambdabot> Consider it noted.
23:34:05 <HackEgo> [wiki] [[Joke language list]] http://esolangs.org/w/index.php?diff=39691&oldid=39663 * Icepy * (-52)
23:34:57 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=39692&oldid=39690 * Icepy * (+0)
23:36:34 <HackEgo> [wiki] [[User:Icepy]] http://esolangs.org/w/index.php?diff=39693&oldid=39657 * Icepy * (+77)
23:37:24 <MDude> If that's the case, you might be able to use a mechanical gate like what would be used with rod logic, it'd just have to be sensitive to small/low torque motions.
23:39:07 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39694&oldid=39689 * Icepy * (+0)
23:39:33 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39695&oldid=39694 * Icepy * (+0)
23:39:42 <MDude> I've tried looking up mechanical amplifierd before, and the best I came up with in terms of analog equipment was something that worked using belts.
23:40:37 <tswett> "Everyone should speak in Haskell string literals."
23:40:48 <tswett> MDude: I was thinking tubes or something.
23:41:17 <Taneb> What about... Tube ON Belts
23:41:24 <Taneb> I should sleep
23:41:46 <MDude> A fluedic transistor I've heard about apparently worked well, but it also seemed inheriently digital.'
23:41:56 <tswett> What do you mean by "digital"?
23:42:16 <tswett> Digital logic is what I'm trying to implement here.
23:43:11 <MDude> I mean it was set up so that the power being fed into it would go out one of two outputs.
23:44:19 <MDude> It was for warer, actually, and relied on vorticies forming into the device.
23:44:49 <MDude> I'll try to look it up, the image explains nicely.
23:45:49 <MDude> Oh, it's right on the Wikipedia page for fluedics: http://en.wikipedia.org/wiki/Fluidics
23:46:29 <MDude> Basically, a pre-existing vortex in the system will perpetuate itself if power is supplied.
23:47:07 <oerjan> <tswett> Place a neutrino source on one side of the lock and a neutrino detector on the other side. <-- i think you might just possibly be confusing neutrons and neutrinos there
23:47:46 <kmc> oerjan: that's the one
23:47:55 <kmc> @messages
23:48:13 <MDude> But that seems to presume one-directional flow, wheras sound would alternate.
23:48:55 <int-e> oerjan: but it's funnier with neutrinos
23:49:03 <oerjan> int-e: tru dat.
23:49:15 <MDude> Dunno about making a fluedic rectifier.
23:49:47 <MDude> You'd need really sensitive check valves, I guess?
23:50:14 <MDude> Unless you're going for high amplitude subsonic waves.
23:50:24 <MDude> In which case regular check valves.
23:50:49 <oerjan> <Bike> pikhq probably doesn't like my plan to train a slime mold to climb in and then climb out and reproduce the shape, either <-- i don't see how anyone could possibly not love that hth
23:53:31 <int-e> oerjan: it also reminded me of this: http://www.schlockmercenary.com/2014-03-23
23:56:28 <HackEgo> [wiki] [[5command]] http://esolangs.org/w/index.php?diff=39696&oldid=39695 * Icepy * (+48)
←2014-05-23 2014-05-24 2014-05-25→ ↑2014 ↑all