←2013-09-06 2013-09-07 2013-09-08→ ↑2013 ↑all
00:05:49 <Sgeo> @messages-public
00:05:49 <lambdabot> Unknown command, try @list
00:05:52 <Sgeo> @list
00:05:52 <lambdabot> What module? Try @listmodules for some ideas.
00:05:59 <Sgeo> @list messages
00:06:00 <lambdabot> tell provides: tell ask messages messages-loud messages? clear-messages
00:06:04 <Sgeo> @messages-loud
00:06:04 <lambdabot> oerjan said 2h 51m 33s ago: <Sgeo> Is there a name for those monads which are implementable even if bind can call its continuation at most 1 time? <-- i don't know but the STMonadTrans package
00:06:04 <lambdabot> refers to those without a name.
00:06:04 <lambdabot> oerjan said 2h 50m 38s ago: or well, i assume it's essentially the same.
00:06:45 <kmc> if i had to make up a name i would call them affine monads
00:06:54 <kmc> that's probably a) a confusing name b) already something else
00:07:03 <Bike> nonlinear monads
00:07:23 <Sgeo> The reason I'm interested is because instead of passing in a real continuation, you could pass in, say, a function that resumes a coroutine
00:07:56 <oerjan> Bike: linear would be even stronger than this, you would have to use it _exactly_ once.
00:07:57 <shachaf> isn't that related to that one thing oleg talks about
00:08:19 <Sgeo> So languages that have first-class coroutines but not first-class continuations can have nice syntax based on that for those monads, if not all monads
00:08:39 <Sgeo> Although in imperative languages most of those monads probably aren't that interesting, sadly
00:08:57 <Sgeo> And the interesting ones like list can't do the coroutine thing
00:09:15 <shachaf> can you describe this property in terms of fmap/join/return
00:10:43 <shachaf> is it just a property of fmap
00:13:01 <Sgeo> @src join
00:13:01 <lambdabot> join x = x >>= id
00:15:10 -!- augur has joined.
00:26:25 -!- zzo38 has joined.
00:31:30 <zzo38> ?messages-loud
00:31:30 <lambdabot> boily said 2d 5h 9m 16s ago: “Automynorcagrammatical” what the fungot... I like that one.
00:32:05 * copumpkin hugs shachaf
00:32:17 <shachaf> hi copumpkin
00:32:21 <shachaf> what happen
00:32:33 <shachaf> (not that i object to hugz!!)
00:32:42 <copumpkin> somebody set up us the bomb!!
00:33:03 <shachaf> ????
00:33:11 <shachaf> maybe you can come visit with edwardk next month
00:33:19 <copumpkin> he giving another talk or something?
00:33:28 <shachaf> yep
00:34:06 <copumpkin> man, I'm such an asshole
00:34:09 <copumpkin> I never visit
00:34:39 <shachaf> you could come play mölkky with me and kmc!
00:35:49 -!- copumpkin has changed nick to valleypumpkin.
00:39:04 <valleypumpkin> hmm
00:39:08 <valleypumpkin> this marmite isn't going to eat itself
00:39:10 <valleypumpkin> sorry, can't go
00:39:32 <shachaf> h8r
00:39:39 <valleypumpkin> no but seriously
00:39:42 <valleypumpkin> it's a brand new 500g jar
00:39:52 <shachaf> You have over a month!
00:39:52 <valleypumpkin> and I'm not lying: it really isn't going to eat itself
00:40:00 <valleypumpkin> eating marmite is srs bsns
00:40:11 <shachaf> You can bring it here with you.
00:40:17 <valleypumpkin> no no that's the problem
00:40:20 <valleypumpkin> there's a crack in the lid
00:40:24 <valleypumpkin> it leaked in the box
00:40:29 <valleypumpkin> and now means I can't transport it easily
00:40:47 <valleypumpkin> if not for that I'd totally go to CA
00:40:54 <valleypumpkin> >_>
00:41:03 <shachaf> i'll just arrange some marmite for you over here
00:41:11 <valleypumpkin> shachaf: ICFP?
00:41:13 <shachaf> and someone to destroy the old jar
00:41:21 <shachaf> it'll be just like marmite teleportation
00:41:25 <shachaf> I won't be going to ICFP. :-(
00:41:26 <oerjan> are you _sure_ marmite doesn't eat itself, i've heard disturbing things...
00:41:34 <valleypumpkin> but I would know it wasn't _my_ jar
00:41:41 <valleypumpkin> it'd break my heart
00:41:44 <shachaf> valleypumpkin: no, it'd be extensionally equal
00:41:49 <valleypumpkin> oh, my gf just got a new dog!
00:42:02 <shachaf> h8r
00:42:12 <valleypumpkin> no, lovr
00:42:19 <valleypumpkin> he was a h8r boi
00:42:27 <valleypumpkin> she said see ya sk7r boi
00:42:42 <valleypumpkin> perhaps I shouldn't be misquoting avril on the intarwebz
00:43:20 <oerjan> i 9t as if 2 now
00:43:44 <Phantom_Hoover> the fuck is going on
00:44:09 <shachaf> valleypumpkin: i'm sure you want to play mölkky
00:44:16 <valleypumpkin> how does that work?
00:44:27 <shachaf> https://en.wikipedia.org/wiki/M%C3%B6lkky
00:44:36 <shachaf> kmc can confirm that it's good
00:45:31 <valleypumpkin> oh that looks fun
00:46:00 <valleypumpkin> do you and kmc hang out much?
00:47:46 <Sgeo> http://paste.tclers.tk/2729
00:48:04 <shachaf> how much is much
00:49:11 <shachaf> `? marmite
00:49:14 <HackEgo> marmite? ¯\(°_o)/¯
00:49:14 <myndzi> |
00:49:14 <myndzi> o/`¯º
00:50:12 <oerjan> Phantom_Hoover: is 4 2 as i s7 rite
00:52:19 <oerjan> `learn Marmite is a group mind of fungal microorganisms spreading throughout the supermarkets of the Commonwealth.
00:52:24 <HackEgo> I knew that.
00:54:20 <oerjan> fungot: wait, what do you know about this.
00:54:21 <fungot> oerjan: or is it just me, or i: yet, you rogue! i'll be right.) still don't cut, and among the rafters. withel regarded it without the cod title on it hard to fiqure out what going, tough one. if we solve it,...
00:55:50 <kmc> is copumpkin in The Valley
00:58:36 -!- yorick has quit (Remote host closed the connection).
01:08:43 <valleypumpkin> nah
01:14:18 -!- valleypumpkin has changed nick to copumpkin.
01:18:40 <kmc> bummer
01:18:53 <kmc> we should invent a way to play mölkky over the internet
01:19:00 <kmc> build some kind of mölkky-bot
01:19:11 <shachaf> sounds like fun
01:19:21 <shachaf> but first you should make your own mölkky
01:20:01 <kmc> MYOM
01:36:00 * oerjan swats CallForJudgement for not knowing the alphabet -----###
01:38:43 * shachaf swaps oerjan for a good overlord
01:47:19 -!- augur has quit (Remote host closed the connection).
01:49:15 -!- SingingBoyo has joined.
02:08:43 <Sgeo> `run tclsh
02:08:44 <HackEgo> bash: tclsh: command not found
02:08:47 <Sgeo> bah
02:11:17 <Sgeo> Can I punch someone? http://stackoverflow.com/questions/18649855/tcl-how-substitution-occures-in-if-statement/18651365#18651365
02:16:03 <Bike> no
02:19:05 <CallForJudgement> oerjan: but there's more than one
02:19:08 <CallForJudgement> you can't expect me to know all of them
02:20:14 <Bike> «Sorry, but int tcl there is no difference between the string "0" and the value 0.» why, god
02:20:35 <CallForJudgement> Bike: there isn't in Perl either, it's not that much of a problem
02:20:47 <CallForJudgement> because strings and ints have entirely different operators for dealing with them
02:21:00 <Bike> are you god
02:21:03 <CallForJudgement> so if you use + it's interpreted as an int, and if you use . (string concatenation) it's interpreted as a string
02:21:05 <CallForJudgement> Bike: no
02:23:27 <Sgeo> Bike: Do you actually know any Tcl?
02:23:31 <oerjan> CallForJudgement: well i think your insistence that o is before n in the alphabet is very unconventional.
02:23:33 <Bike> no
02:23:58 <Sgeo> It's an interesting language in some ways. Not without its flaws, but still interesting
02:24:08 <CallForJudgement> Bike: if you really want something to complain at, it's that there's no distinction between strings and subroutines
02:24:55 <Sgeo> CallForJudgement: you mean between strings and code? Because if I store an argument and body in foo, I can't just call $foo. Wish I could
02:25:32 <CallForJudgement> Sgeo: err, yes
02:25:46 <CallForJudgement> or to put it another way, Tcl does everything with eval
02:26:18 <Sgeo> CallForJudgement: the eval thing is really what interests me about Tcl, but I'd prefer an eval that operates on stuff that has more information than strings do
02:26:25 <Sgeo> e.g. the way Rebol does things
02:26:37 <Bike> some kind of ""symbol"" eh
02:26:56 <CallForJudgement> why not an eval that operates on compiled code?
02:27:14 <Bike> anyway, does anyone know a verilog synthesisy thing i can use that isn't the heap i'm supposed to use for class
02:27:27 <Sgeo> Because constructing and rearranging compiled code from scratch is difficult?
02:27:34 <Bike> the build report has a table of contents. it goes on for pages
02:27:51 <Bike> for about... 15 lines
02:28:12 <CallForJudgement> Bike: sadly, verilog/VHDL synthesizers tend to be massively target-specific
02:28:14 <CallForJudgement> and suck
02:28:25 <Bike> fuck.
02:28:31 <CallForJudgement> there's Icarus Verilog, which is pretty good and non-sucky, but it needs plugins to target specific hardware
02:28:35 <CallForJudgement> rather than just compile to VHDL or the like
02:28:42 <CallForJudgement> and those probably aren't available
02:28:53 <CallForJudgement> btw, who manufactured your FPGA?
02:28:56 <Bike> compile to vhdl? aren't vhdl and verilog on the same level
02:28:57 <Bike> Digilent
02:29:29 <CallForJudgement> Bike: yeah, they're on the same level
02:29:36 <CallForJudgement> compiling to VHDL isn't massively useful
02:29:43 <CallForJudgement> but it's more or less all you can do unless you have something lower-level to compile to
02:29:52 <Bike> eesh
02:29:54 <CallForJudgement> and all the lower-level languages are FPGA-specific and often proprietary
02:30:02 <CallForJudgement> well, they're like machine code, only nobody will tell you what it means
02:30:04 <Sgeo> CallForJudgement: imagine Tcl with lexical scope
02:30:06 <CallForJudgement> just a huge array of 1s and 0s
02:30:10 <Bike> i'm wondering if i could figure out how the stupid thing works and have my own tools
02:30:15 <Bike> but... yeah, the bitfiles look pretty undocumented
02:30:35 <CallForJudgement> also, I've never used an FPGA by Diligent
02:30:50 <CallForJudgement> so far, I've tried Altera and Xilinx, and concluded that Xilinx's development tools suck so badly we can't use them at all
02:30:54 <Bike> it's a semi-local company, i think. mostly educational stuff.
02:31:00 <Bike> xilinx is the development tool i'm using!
02:31:03 <Bike> yaaaaay
02:31:04 <CallForJudgement> whereas Altera's are quirky and have a bad UI, but at least it works
02:31:24 <Bike> i mean, i got it working, and that's about all i can about it.
02:31:27 <CallForJudgement> until I found a way to avoid having to do it, the worst part was port assignment
02:31:29 <Bike> positively, i mean.
02:31:31 <oerjan> CallForJudgement: has someone started a rumor that it's because the lower-level languages all have CIA/NSA backdoors yet?
02:31:55 <CallForJudgement> basically, you have ports in your code, and you want to assign them to ports on the actual chip
02:32:09 <CallForJudgement> to do this, you have to use a weird editor thing that lets you select the ports from each side from drop-downs
02:32:20 <Bike> oh, yeah, that's annoying.
02:32:23 <CallForJudgement> there are like 200 possibilities for the port on the chip, and they're in one drop-down box
02:32:31 <Bike> er, wait. no, i just wrote a ucf and that worked.
02:32:33 <CallForJudgement> and you have to select via the mouse, after screenfuls of scrolling
02:32:50 <Bike> is ucf a xilinx-specific thing. please say no
02:32:50 <CallForJudgement> the keyboard doesn't help because they're all "PORT_whatever" and it only autocompletes the first character
02:33:02 <CallForJudgement> Bike: I'm not sure; it doesn't work on the Altera tools, or else I'd use it :(
02:33:07 <Bike> aaaaah
02:33:09 <CallForJudgement> but this could be xilinx being specific or altera being ignorant
02:33:26 <Bike> looks pretty xilinx-specific from google. god damn.
02:33:31 <CallForJudgement> the problem with xilinx wasn't the port assignment UI (UCF is fine), but the facts that the ports were all undocumented
02:33:40 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:33:44 <CallForJudgement> and after a week of searching we couldn't find enough documentation to figure out which ports to assign
02:33:50 <Bike> my professor is related to the company that made the board. maybe i can, like, blackmail him into telling me the bitfile format.
02:33:52 <CallForJudgement> including contacting actual people who worked for xilinx and asking
02:33:54 <zzo38> Why do you even need some GUI and other specific stuff; can't they make some generic FPGA?
02:34:09 <Bike> CallForJudgement: wait, wait, i'm confused. the ports are on the hardware, yes?
02:34:12 <CallForJudgement> zzo38: they probably could, but they don't because it would cut into their margins
02:34:20 <CallForJudgement> Bike: yeah, but the hardware comes on development boards
02:34:28 <Bike> zzo38: probably because there hasn't been nearly as big an open hardware as open software movement.
02:34:37 <CallForJudgement> because there are hundreds of pins and so you can't connect to them by hand, so you need to use a presoldered board
02:34:40 <Bike> CallForJudgement: i mean, it's the board manufacturer that should be documenting the ports, not xilinx?
02:34:43 <CallForJudgement> and xilinx wouldn't give documentation as to what pin connected to what
02:34:47 <CallForJudgement> Bike: I think they made the board
02:34:56 <CallForJudgement> as well as the FPGA
02:34:59 <Bike> hm
02:35:12 <CallForJudgement> anyway, their only officially supported way to use the board was to use a closed-source addon module with a crazy configuration wizard
02:35:15 <Bike> that sucks, from digilent i got actual schematics, in addition to the manual
02:35:28 <CallForJudgement> that went and synthesized a CPU with a custom bus pattern for communicating with the rest of your circuit onto the FPGA
02:35:35 <Bike> (i'm still not sure which port is the PCM but whatever)
02:35:38 <Bike> CallForJudgement: jesus christ.
02:35:48 <CallForJudgement> so now we can't just GPIO, we have to deal with all this abstraction nonsense
02:36:45 <Bike> like, i don't know, am i doing this weird? what i do is write some verilog, put it in xilinx's stupid "project" crap, hit build, wait five minutes, a bitfile comes out, and then i use a digilent thing (outside of xilinx) to program the fpga with the bitfile.
02:37:25 <Bike> so i can, like, just have some bitfiles around and use digilent's nice commandline interface to put them on the board, without launching xilinx destroyer of worlds
02:37:42 <CallForJudgement> Bike: no, that's actually a much saner workflow than normal
02:37:52 <CallForJudgement> especially the "five minutes" part
02:38:04 <CallForJudgement> it was quite common for me to have dinner for my supervisor while waiting for things to compile
02:38:06 <Bike> are you serious.
02:38:12 <Bike> FUCK
02:38:26 <CallForJudgement> Bike: here, see http://www.veritygos.org/documentation
02:38:36 <CallForJudgement> specifically, the section "Compiling for synthesis, on an already supported architecture"
02:38:50 <Bike> this is your thing, right?
02:39:00 <CallForJudgement> Verity's my hardware language, yes
02:39:07 <CallForJudgement> but most of that section is about setting up the Altera tools correctly
02:39:26 -!- nooodl has quit (Ping timeout: 240 seconds).
02:39:28 <zzo38> I think if they made a generic open source FPGA, they could compete with the other FPGA companies successfully
02:39:50 <CallForJudgement> steps 1, 3, 4, 9 are mine, the rest is Quartus fiddling
02:39:56 <CallForJudgement> however, that documentation is old, we found an easier way
02:40:07 <Bike> "For the libraries provided with the compiler, use the following configuration: disable all the checkbox options apart from Clock, Button x 4, 7-Segment x 8, Switch x 18, and leave all the other options at their defaults.
02:40:11 <Bike> " :|
02:40:11 <CallForJudgement> specifically, the workflow now is that we get the Altera-provided tools to create a project
02:40:29 <CallForJudgement> and then get our own compiler to overwrite carefully chosen parts of it with our own provided files
02:40:40 <Bike> zzo38: wouldn't the main problem be that custom ICs don't come cheap (disclaimer i know shit-all about fpga)
02:40:40 <CallForJudgement> that cuts out steps 10 and 11
02:40:52 <Bike> CallForJudgement: this is scary.
02:40:52 <CallForJudgement> oh and 9
02:41:03 <zzo38> Bike: Yes I know it can be expensive
02:41:06 <CallForJudgement> because you just specify a path to the project as an argument to the compiler
02:41:17 <CallForJudgement> Bike: yes
02:41:22 <Bike> fuck, maybe i'll just ask my professor about this
02:41:28 <CallForJudgement> OTOH, it holds a possibly unique position in the history of hardware synthesis
02:41:30 <Bike> i mean he liked xilinx but god this is silly
02:41:42 <CallForJudgement> we have, on record, someone quote as saying that they followed the instructions and it worked first time
02:41:47 <CallForJudgement> *quoted
02:41:49 <Bike> somehow i doubt i can convince a professional that this is silly, but still!!
02:42:00 <Bike> CallForJudgement: "had to put 'em through a polygraph just to be sure"
02:42:27 <zzo38> But I know I would buy it, and I think there are other people that would buy it too.
02:42:53 <CallForJudgement> zzo38: the problem is that the business model used by FPGA manufacturers at the moment is to make the FPGAs cheaply (so that they can be placed in products), then charge very large amounts for the development tools
02:42:55 <Bike> zzo38: well, you need capital to start with.
02:43:07 <Bike> and... yeah, lots of resistance here.
02:43:22 <CallForJudgement> knowing that people will never be able to program them on their own
02:43:30 <CallForJudgement> both Xilinx and Altera gave us copies free, though
02:43:40 <Bike> xilinx has a free thing i'm using.
02:43:47 <Bike> i doubt i could do anything hardcore with it, but.
02:43:53 <Bike> oh, and i still had to do some dumb "licensing" thing.
02:44:04 <CallForJudgement> basically because if you can credibly say "we're doing research into a new way to compile programs onto FPGAs", they both care about it working with their product
02:44:04 <zzo38> Do they earn or lose money on FPGA sales?
02:44:13 <CallForJudgement> zzo38: I suspect they earn money but with small margins
02:45:04 <Bike> well, lessee. the cheapest board usable with my class is fifty bucks for students, and eighty nine otherwise
02:45:28 <Bike> Oh, right. The boards are Digilent but built around a Xilinx FPGA.
02:45:31 <Bike> i am not good at this, sorry.
02:46:21 <CallForJudgement> Bike: Diligent have probably found a gap in the market: buy other people's FPGAs, make development boards for them that aren't a nightmare to program
02:46:44 <CallForJudgement> it sometimes takes us like an hour just to get the cable connected correctly between the computer and FPGA
02:46:46 <Bike> mm
02:46:49 <CallForJudgement> which wouldn't seem to be difficult because it's a USB cable
02:46:56 <Bike> digilent is education bent, so that would definitely make sense
02:47:10 <CallForJudgement> but sometimes it just doesn't work for no obvious reason
02:47:25 <Bike> i think they provide some kind of library api i should probably look at
02:48:26 <zzo38> CallForJudgement: That may be the business model, but if others make it the other business model (don't provide development tools at all; only documentation), then they can compete with the others seriously rather than just being another minor FPGA manufacturer.
02:48:31 <Bike> "By accepting this license, you agree that you will not modify, adapt, decompile, reverse engineer, translate, or otherwise attempt to discover the source code for the Software" well, time to void a warranty
02:49:46 <Bike> CallForJudgement: anyway, the other frustration right now is that during build xilinx lists some "command lines" but i don't even know where the actual programs are, which would be nice because i could use the same programs but from emacs or something
02:50:17 <CallForJudgement> Bike: oh no, don't try that, seriously
02:50:21 <Bike> ?
02:50:25 <CallForJudgement> AFAICT it's some custom cygwin-based monstrosity
02:50:31 <Bike> for god's sake.
02:50:49 <zzo38> And then provide volume discounts instead of making the chips less expensive and the software really expensive.
02:51:00 <CallForJudgement> not sure if it's still cygwin-based on Linux
02:51:08 <CallForJudgement> I hope not, but I'm horrified enough at the rest of things that it seems possible
02:51:28 <Bike> you're making me really glad i'm not interested in this field as a thing on its own
02:52:22 <CallForJudgement> and I'm making me glad that I get to use Verilog/VHDL as a compiler output target
02:52:34 <CallForJudgement> rather than having to deal with the horrors of the abstraction levels below
02:52:40 <Bike> grgh.
02:53:34 <Bike> what's $_ and $# in shell?
02:53:35 <CallForJudgement> also that I can live mostly on simulator, except when we badly need nonzero performance
02:53:43 <CallForJudgement> I think the first is just a variable called _
02:53:51 <CallForJudgement> the second probably does something, I'm not sure tohugh
02:54:18 <CallForJudgement> $# is the number of arguments
02:54:32 <Bike> hrm, well this script is using $_ for something.
02:54:49 <CallForJudgement> _ is a perfectly good variable name!
02:54:54 <zzo38> There are some things I don't like about Verilog/VHDL which is why I was making some of my own ideas and called it "HWPL". One difference from Verilog is that numbers are given in binary by default instead of decimal (you need a prefix for decimal or hex); another is that there is only one I/O port which is a bit vector (and a bit vector can contain some inputs, some outputs, some analog, etc) but any number of macro parameters
02:55:16 <zzo38> Since I wanted to think of what features are better for hardware programming language rather than software programming
02:55:21 <Bike> CallForJudgement: i mean, it doesn't assign it or anything.
02:55:37 <CallForJudgement> hmm
02:55:53 <Bike> verilog constants have been annoying me. is something like {28{1'b1}} for 28 1s considered kosher?
02:56:30 <CallForJudgement> Bike: huh
02:56:35 <CallForJudgement> I ran "echo $_", and got "sh"
02:56:39 <Bike> oh boy.
02:56:42 <Bike> `run echo $_
02:56:44 <HackEgo> bash
02:56:48 <zzo38> Bike: I know there are those things, and other things
02:56:54 <CallForJudgement> then I tried to assign to _, ran it again, got the null string
02:57:02 <Bike> i ran it in my shell and got "--color=auto".
02:57:06 <CallForJudgement> then the next time I tried that, I got "echo"
02:57:08 <zzo38> CallForJudgement: What is your opinion of feature of hardware programming languages?
02:57:19 <CallForJudgement> aha, it appears to be the most recently run command
02:57:24 <Bike> zzo38: "kosher" as in "is this bad programming style only a noob like me would like"
02:57:29 <CallForJudgement> or maybe the most recently used argument of it
02:57:47 <CallForJudgement> yeah, after running "ps u", $_ had the value "u"
02:58:12 <zzo38> Bike: I don't know if it is considered kosher but I wouldn't expect it to matter
02:58:16 <CallForJudgement> Bike: sadly, I mostly only know VHDL
02:58:22 <CallForJudgement> where I would write (others => '1')
02:58:28 <Bike> this does `readlink -f ${$_}`
02:58:33 <Bike> zzo38: i mean, is this considered readable
02:58:34 <CallForJudgement> the Verilog you have there looks like a reasonable translation of it
02:58:57 <Bike> CallForJudgement: how is vhdl? some of the example files use it and it looks more ... i dunno really
02:59:19 <zzo38> Bike: To me it is probably the most readable way as far as I can tell
02:59:22 <CallForJudgement> Bike: apparently, the design goal for VHDL was explicitly "write a hardware description language that is as similar to ADA as possible"
02:59:49 <CallForJudgement> (the language is actually called Ada, but I think VHDL's devs were addicted to allcaps)
02:59:50 <zzo38> Are there better hardware programming languages?
02:59:53 <Bike> CallForJudgement: um... i don't know what to think about that.
02:59:56 <Bike> zzo38: ok.
03:00:00 <CallForJudgement> zzo38: there's Verity ;)
03:00:33 <CallForJudgement> Bike: think declarations that are typically more verbose than the actual definitions, and a very high level of pedantry and accuracy
03:00:43 <zzo38> CallForJudgement: I looked and think that is worse for hardware; I mean one that is very close to hardware rather than having features of software programming
03:00:47 <Bike> my professor basically said "most people use verilog, some people use vhdl, a few dipshits use schematics, and there are some other languages who cares"
03:00:48 <CallForJudgement> but which also makes it very hard to make a typo that isn't caught by the compiler
03:00:57 <Bike> CallForJudgement: hm hm hm.
03:01:11 <CallForJudgement> sadly, it cannot catch logic errors :(
03:01:22 <CallForJudgement> meanwhile, if you make a typo in Verilog, the code will probably still compile and even run
03:01:38 <Bike> yes that's been pissing me off
03:02:27 <CallForJudgement> so it's basically the opposite extreme of finickiness
03:02:30 <zzo38> One thing I don't really like in Verilog is how you need multiple I/O ports instead of just putting it all in one vector, and how calling a module requires the call to have a name
03:02:40 <CallForJudgement> I prefer VHDL, maybe because I know it and I don't like Verilog
03:02:48 <Bike> i should get figuring how to make submodules.
03:02:50 <CallForJudgement> zzo38: oh, the latter one annoyed me too, until I understood why it is
03:02:55 <CallForJudgement> it's basically to make debugging even possible
03:03:17 <zzo38> I did think of that, but I still think it is not a good idea
03:03:22 <CallForJudgement> having tens of thousands of wires you have to search through is bad enough
03:03:37 <CallForJudgement> if they aren't labelled properly, it's even worse
03:03:39 <zzo38> Or at least make it optional
03:03:42 <Bike> zzo38: er, like, rather than having "input [4:0] btn, input [7:0] sw" and so on you just have a single input bus?
03:04:01 <CallForJudgement> Bike: it's for a zzoism
03:04:17 <CallForJudgement> I had this discussion a while back; zzo38 wants a feature that's interesting, but mostly specific to his usecase
03:04:20 <Bike> well, yes.
03:04:23 <CallForJudgement> so it's unlikely that anyone will add it
03:04:27 <zzo38> Bike: I mean just a single I/O vector; all inputs and outputs and combined in/out and analog and all that stuff would be part of one vector, and then the parts can be given names
03:04:40 <Bike> that seems weird.
03:04:52 <zzo38> CallForJudgement: No it isn't specific to usecase, really; actually I think it is better feature for hardware programming in general
03:05:17 <CallForJudgement> zzo38: typically, I don't want to do bitshifts by accident
03:05:31 <CallForJudgement> and especially, I don't want to bitshift half a variable on top of one variable, and a different half on top of another
03:05:45 <CallForJudgement> it'd be more useful to be able to route all the bits to signals of my choice individually
03:05:56 <Sgeo> zzo38: I wonder what you think of Tcl
03:06:02 <CallForJudgement> but that's what the "assign" statement of Verilog and the "<=" statement of VHDL already do
03:06:24 <zzo38> CallForJudgement: Well, I can give example of what I want in terms of some code of the experimental "HWPL" I made up, it might be something like:
03:07:39 <Bike> continuing my shell questions, what does «. "$sfn" "$d"» do?
03:08:32 <zzo38> MODULE !MAIN() {.THIS,.THAT} BEGIN WIRE .THIS[7:0]; REG .THAT[7:0]; CONNECT .THIS TO .THAT; END; MODULE !MAIN2() {.ALL} BEGIN WIRE .ALL[15:0]; !MAIN() .ALL; END;
03:08:45 <Bike> shouty
03:08:57 <zzo38> You would need # before the 7 and 15 though
03:09:10 <zzo38> To indicate they are decimal numbers rather than keywords
03:09:14 <CallForJudgement> Bike: it's basically equivalent to «sh "$sfn" "$d"» except more efficient
03:09:23 <CallForJudgement> because it uses the shell that's already running rather than starting a new one
03:09:27 <shachaf> CallForJudgement: Why the new nick?
03:09:34 <CallForJudgement> shachaf: we had a discussion about nicks earlier
03:09:34 <Bike> oh, ok, that makes sense
03:09:35 <CallForJudgement> it's not a new nick
03:09:38 <CallForJudgement> just one I rarely use on Freenode
03:09:50 <shachaf> last -cl
03:09:52 <shachaf> Er.
03:09:54 <Bike> been wondering what thisfile does and it turns out it runs a bunch of crap
03:09:57 <Bike> who saw that coming
03:10:59 <zzo38> Or even something like: WIRE .THIS[#7:0]; REG .THAT[#7:0]; CONNECT {.THIS[#7:#4],.THAT[#7:#4]} TO {.THAT[#3:0],.THIS[#3:0]} WHEN &{.THAT[#2],.THAT[#4],.THAT[#6]};
03:11:12 <zzo38> If you know what kind of things I am meaning by that?
03:11:53 <zzo38> CallForJudgement: Do you see what some of my ideas are now?
03:12:00 <Bike> okay, this shell file says the xilinx stuff won't work if some environment variable related to the linker is set.
03:12:05 <CallForJudgement> zzo38: CONNECT … WHEN strikes me as really unfortunate syntax
03:12:11 <Bike> getting more and more terrified
03:12:12 <CallForJudgement> it's not like the variable gets disconnected when the condition's fase
03:12:26 <CallForJudgement> Bike: I warned you to be terrified in advance!
03:12:40 <zzo38> CallForJudgement: What is it then?
03:12:48 <Bike> well now i'm terrifieder
03:12:50 <CallForJudgement> *false
03:13:08 <CallForJudgement> zzo38: well in VHDL, you're supposed to use a when … when … else chain so that the signal always has a value
03:13:26 <shachaf> ion: ion ion ion
03:13:27 <CallForJudgement> unless you're assigning in a process (i.e. at a clock edge), in which case you use "if" not "when"
03:13:52 <zzo38> CallForJudgement: OK, I understand that, but what if one pin is used sometimes for input and sometimes for output? Sometimes there will not have a signal.
03:13:53 <Bike> lol holy shit this thing fucks up $PATH
03:14:24 <CallForJudgement> zzo38: you still have to assign it a value, but you assign it "Z" as the output while it's inputting
03:14:34 <zzo38> O, that's how it works.
03:14:51 <CallForJudgement> to say that you're not sourcing or sinking
03:15:57 <Bike> aha, i have found the actually run programs!
03:16:21 <CallForJudgement> here, have an line from Verity's standard library with variables anonymized (mostly because their names are horrific): assign v = (L_ENABLE == `A)? L : {8{1'bz}};
03:16:31 <zzo38> I was thinking to make it the value of a WIRE is automatically Z by default and of a REG is automatically X by default; if you have multiple values connected to something at the same time then it is bus conflict and might damage the hardware.
03:17:09 <CallForJudgement> zzo38: REG is X by default on all systems, which is really annoying
03:17:18 <CallForJudgement> because you simulate the reset, but the reset takes some time to occur
03:17:26 <CallForJudgement> and typically you don't reset the output of arithmetic operations, just the inputs
03:17:33 <CallForJudgement> (because that'll make the output reset by itself)
03:17:36 <CallForJudgement> err, actually, it's U
03:17:50 <Bike> hm, the synthesizer program is 20K. this does not bode well at all, no no no.
03:17:56 <CallForJudgement> a special case of X that's used to allow distinguishing between X-due-to-uninitialized and X-due-to-conflict
03:18:05 <CallForJudgement> Bike: check whether it's a text file
03:18:18 <Bike> nah, it's an elf
03:18:27 <CallForJudgement> are you on Linux?
03:18:34 <Bike> yeah
03:18:40 <CallForJudgement> (note: I could actually believe that it would be an elf even on Windows)
03:18:51 <Bike> i'm wondering if this is just a wrapper around a cygwin call
03:18:56 <Bike> thanks for planting the seeds of doubt!!
03:18:59 <CallForJudgement> so anyway, you can't possibly reset the system fast enough to not get warnings about doing arithmetic on U
03:19:38 <CallForJudgement> without adding a bunch of extra circuitry (that ends up in the compiled hardware) purely for the purpose of suppressing the warnings
03:20:04 <CallForJudgement> the simulator I use (GHDL, which is really ancient at this point) actually has a --ieee-warnings=disable-at-0 for this purpose
03:20:13 <CallForJudgement> presumably its dev got annoyed too
03:20:42 <Bike> i think i'm starting to understand why build takes five minutes.
03:21:12 <CallForJudgement> seriously, five minutes is fast
03:21:35 <CallForJudgement> most likely you're using really lax time constraints (i.e. slow clock) and only utilizing a small part of the board
03:21:46 <CallForJudgement> so it can just place the various components down pretty much at random and it still works
03:21:57 <CallForJudgement> when your utilization goes up, placing/routing becomes really really difficult
03:22:01 <CallForJudgement> because computers are so bad at it
03:22:11 <CallForJudgement> they basically try to do it with evolutionary algorithms, which is far from ieal
03:22:13 <CallForJudgement> *ideal
03:22:18 <Bike> yeah, i get that, but i think a lot of the timing is startup shit, i mea.
03:22:18 <Bike> mean
03:22:36 <Bike> like, it takes five minutes even if it's a module consisting of "assign led = sw;"
03:22:53 <CallForJudgement> there's quite possibly quite a bit of stdlib on the board
03:23:09 <CallForJudgement> how many warnings do you get for that oneliner?
03:23:13 <zzo38> Other ideas I have includes such things as a MORTON built-in acting like INTERCAL's bit interleave operator; SELECT acting like INTERCAL's select although the right operand has to be a static value (the left can be static or dynamic, and that becomes also the type of the result), and some others
03:23:14 <CallForJudgement> if it's less than 1000, I'm disappointed
03:23:27 <CallForJudgement> zzo38: meh, SELECT is boring, HOKEY/COKEY is a lot more interesting
03:23:29 <Bike> CallForJudgement: no warnings, but lots of messages about initializing things to 85°C
03:23:58 <CallForJudgement> I get warnings about things like clocks appearing to be clocks
03:24:16 <zzo38> So something like SELECT(10XZ,#5) is 0Z
03:24:19 <CallForJudgement> or that it went and optimized a component into two different components then back to one
03:24:30 <CallForJudgement> which is a serious warning because one of the components seemed to be useless
03:24:42 <CallForJudgement> or that I haven't carefully put time constraints on every single part of the program
03:24:54 <CallForJudgement> zzo38: also, SELECT as a primitive is quite pointless, it works better as a library function
03:24:58 <Bike> yeah my favorite warning so far is that i set a register wrong, so it said it optimized out a flop
03:25:05 <Bike> and that triggered optimizing out a flop for the next highest bit
03:25:12 <Bike> so i got a warning for every bit of the register.
03:25:21 <CallForJudgement> especially because different selects might need different timing properties
03:25:28 <CallForJudgement> it's like multiplication being a primitive in VHDL and Verilog
03:25:33 <CallForJudgement> in practice, actually using it is a really bad idea
03:25:38 <zzo38> CallForJudgement Maybe these things could be, if there is the way to implement it, I suppose; it would help
03:25:45 <CallForJudgement> because a single-cycle multiply is going to take up a huge amount of silicon no matter what
03:26:01 <Bike> yeah i was surprised that addition is primitive in verilog, even
03:26:03 <zzo38> Still I would have in HWPL, the arithmetic operators are static only and cannot be used with dynamic operands
03:26:03 <CallForJudgement> and if you're trying to save silicon by doing it in multiple cycles, now you need a library module, not a primitive
03:26:04 <Bike> what's going on there?
03:26:12 <CallForJudgement> Bike: fortunately, I believe division isn't
03:26:15 <CallForJudgement> just add, subtract, multiply
03:26:19 <Bike> yeah but like, why
03:26:27 <Bike> it's kind of convenient but it seems like it would be library
03:26:32 <zzo38> And there still is timing specifications allowed on all expressions and commands though, with minimum, typical, and maximum
03:26:47 <CallForJudgement> Bike: partly it's for compile-time array indexing and the like, I guess
03:26:59 <Bike> i was just using it for a counter incrementing every clockk
03:27:13 <CallForJudgement> one of my highest coursework marks ever was on a project for writing a parallel sort in VHDL
03:27:21 <CallForJudgement> which is, of course, a recursive algorithm
03:27:24 <Bike> actually i might as well ask about semantics; is the addition wraparound?
03:27:36 <CallForJudgement> now, VHDL has an obvious syntax for recursion, but attempting to use it drives most compilers into an infinite loop or crashes them
03:27:44 <Bike> nice.
03:27:56 <CallForJudgement> thus, I had to write a recursive module instantiation entirely with for-generate loops
03:28:23 <CallForJudgement> which I did via putting all the signals into one large vector and doing crazy maths to get everything joined up together
03:28:31 <CallForJudgement> also, yes, addition is wraparound
03:28:40 <CallForJudgement> actually multiplication is the most interesting, because it could be signed or unsigned
03:28:47 <CallForJudgement> and in VHDL, which it is depends on which libraries you import
03:28:56 <Bike> amazing stuff.
03:29:03 <CallForJudgement> you have a choice of three: one which makes all arithmetic signed, one where it's unsigned, and one where you use explicit casts to signed or unsigned
03:29:23 <Bike> "_ZN4Port10ExecLoader4Util17VCRunTimeDLLCheckEbPKc" starting to regret this
03:29:44 <CallForJudgement> oh, that's not so bad
03:29:48 <CallForJudgement> that's just C++ name mangling
03:29:56 <Bike> yeah, i mean, what it's referring to.
03:30:00 <CallForJudgement> looks vaguely like gcc's
03:30:03 <Bike> there's lots of "ExecLoader" in these strings.
03:30:09 <Bike> also, this is a stripped file.
03:30:15 <CallForJudgement> actually, more worrying is the "DLL"
03:30:20 <Bike> yes, that too
03:30:24 <CallForJudgement> a string that doesn't have much meaning on Linux
03:30:28 <CallForJudgement> but plenty of meaning on Windows
03:30:42 <CallForJudgement> I think I came to the conclusion that Xilinx doesn't really care about the distinction between Linux and Windows
03:30:48 <Bike> "/proc/%d/exe" ummmm
03:30:51 <CallForJudgement> and just tries to find some sort of way to make things work anyway
03:31:06 <Bike> i found a folder called "java". i'm really, really hoping it just uses java.
03:31:27 <CallForJudgement> Bike: you probably weren't here when I said this, but for a microcontroller, the company released a custom compiler for it with an n day free trial
03:31:34 <CallForJudgement> and that compiler was quite clearly a gcc derivative
03:31:49 <CallForJudgement> now, source code was available, they were technically in compliance with the GPL
03:32:09 <CallForJudgement> but also I was technically in compliance with the license (the GPL) when I looked at the source to see how the n day free trial lockout worked
03:32:22 <CallForJudgement> and patched it out
03:32:29 <Bike> this is probably the best argument for the GPL i've ever heard :p
03:32:49 <CallForJudgement> actually, I didn't recompile, that would have been a mess; rather, it turned out to communicate with a license-checking executable via fork/exec and checking the exit code
03:32:57 <CallForJudgement> (or the Winowds equivalent)
03:32:58 <Bike> awesome.
03:33:00 <CallForJudgement> *Windows
03:33:08 <CallForJudgement> so I replaced the license check with a copy of DNA Maze
03:33:26 <Bike> haha.
03:33:52 <zzo38> The GPL certainly allows such things like that to happen; if you don't want to pay for the full version then you can fix it yourself after every new version that is released
03:34:02 <CallForJudgement> (I was on Windows, and didn't have a copy of true handy)
03:34:20 <Bike> OK, so, my horror is mounting.
03:34:36 <Sgeo> DNA maze?
03:34:40 <CallForJudgement> Bike: at Xilinx, or at DNA Maze?
03:34:41 <Bike> The bin/lin directory is full of programs. stuff that gets run on the "command line" by the GUI, like the layouter and whatever.
03:34:47 <CallForJudgement> Sgeo: computer game I wrote a while back, it's unfinished
03:34:52 <Bike> And some other stuff like "qt3config"
03:34:53 <CallForJudgement> however, it's finished past the point where most people give up playing
03:35:00 <Bike> oh, and "xilperl".
03:35:14 <CallForJudgement> Bike: try giving a -v to xilperl and seeing what happens
03:35:17 <Bike> anyway, all of these programs
03:35:20 <Bike> are 20K
03:35:26 <Bike> and have the same sorts of stuff in strings
03:35:33 <Bike> i'm freakin out!!
03:35:39 <CallForJudgement> actually, if it's a working Perl
03:35:46 <CallForJudgement> then you could probe its configuration from inside
03:35:48 <CallForJudgement> via Perl scripts
03:35:59 <CallForJudgement> Perl has lots of introspection on the actual executable that's running
03:36:12 <Bike> "This is perl, v5.8.8 built for i686-linux Modified to use XILPERL* instead of PERL* environment variables." oh please no
03:36:18 <CallForJudgement> even better, if it's a working Perl, then messing around with it is perfectly legal
03:36:20 <CallForJudgement> because GPL
03:36:24 <CallForJudgement> also Artistic License
03:36:47 <CallForJudgement> (it's a multilicense, so Xilinx get to pick which to ship it under)
03:37:06 <Bike> yeah i clicked through like four dozen licenses when i installed this thing, several of which were gpl
03:37:42 <CallForJudgement> also, it strikes me as crazy to modify Perl purely to rename the environment variables it uses
03:38:02 <Bike> shipping your own perl is kind of crazy too!
03:38:34 <CallForJudgement> oh, huh
03:38:44 <CallForJudgement> artistic license is not copyleft enough to prevent them restricting you using it
03:38:52 <CallForJudgement> xilinx are probably relying on 3c and 8
03:39:00 -!- Taneb has joined.
03:39:15 <CallForJudgement> the reason it's called xilperl is almost certainly 3c, which requires you to rename the executables if you use it
03:39:39 <CallForJudgement> that's also why the changes to environment variables are documented
03:39:48 <CallForJudgement> because it requires you to document the differences
03:39:51 <Taneb> mornin'
03:39:56 <CallForJudgement> hi Taneb
03:39:57 <Bike> «$ENV{"XILINX"} = $ENV{"XXILINX"};» haha rock
03:39:57 <Taneb> CallForJudgement, why are you awake
03:40:01 <Taneb> why am I awake
03:40:05 <Taneb> Why does my back hurt
03:40:16 <kmc> XXXiLinXXX
03:40:52 <CallForJudgement> actually, I suspect that the breakdown of copyleftiness in this situation was intentional by the person or people who drafted the license
03:41:19 <Bike> sabotage?????
03:41:53 <CallForJudgement> no, as in the terms in question seem explicitly intended so that you can ship proprietary Perl programs via use of a custom Perl derivative
03:42:06 <CallForJudgement> anyway, this sort of nonsense is why I'm such a GPL fan
03:42:06 <Bike> ok so um
03:42:19 <Bike> «diff file0 file1» would output nothing iff the files are identical, correct?
03:42:24 <CallForJudgement> I understand the "worse for developers" argument, but the "better for users" is pretty strong
03:42:25 <kmc> Bike: are you reverse engineering the xilinx fpga tools
03:42:26 <CallForJudgement> Bike: indeed
03:42:36 <Bike> so, um, it appears that all of these programs are identical.
03:42:43 <CallForJudgement> kmc: it's more he/she's peeking into them and discovering the horror within
03:42:47 <CallForJudgement> Bike: that's why it's reading /proc/self/exe
03:42:48 <Bike> kmc: in my defense, they're really irritating!
03:42:50 <CallForJudgement> to get at its own name
03:42:55 <Bike> CallForJudgement: aaaaaah
03:43:03 <CallForJudgement> I'm planning to do that in NetHack 4
03:43:16 <Bike> is argv[0] not good enough
03:43:19 <CallForJudgement> so that nethack4-tty and nethack4-sdl are both symlinks to the same executable
03:43:23 <CallForJudgement> using argv[0] to tell them apart
03:43:30 <CallForJudgement> presumably, xilinx cares about readlinking the executable
03:43:38 <CallForJudgement> so that you can symlink to the executable without it not working
03:43:48 <Bike> yeah, there's lots of readlinking in the setup, even.
03:43:49 <Taneb> The MS Paint Adventures server seems to be falling apart
03:43:54 <kmc> 420 readlink everyday
03:44:15 <Bike> kmc: there are apparently fifty identical executables here. this is what i'm dealing with
03:44:17 -!- trout has changed nick to function.
03:44:33 <CallForJudgement> well, good thing they're only 20K then
03:44:57 <zzo38> If you know how Xilinx FPGA works and how to not need their GUI (so that it can be done inside the FPGA itself!) then that would work
03:44:58 <CallForJudgement> this actually seems like a decent security mechanism
03:45:03 <shachaf> kmc: -r---w---- readlink everyday
03:45:14 <CallForJudgement> making your code so abysmally painful to think about that anyone competent enough to crack the security doesn't want to try
03:45:19 <Bike> zzo38: well i'm trying to not use their GUI, though i think doing it on the fpga is rather ambitious for me.
03:45:32 <kmc> :)
03:45:38 <Bike> CallForJudgement: little did they take into account me -- a bored ignorant undergraduate. the ultimate weapon.
03:45:49 <zzo38> CallForJudgement: Maybe, but I don't think so. If you want to crack it then you do want to be painful anyways
03:46:00 <shachaf> kmc: btw mölkky has at least four names in various countries
03:46:24 <shachaf> e.g. number kubb, finska, klop
03:47:06 <Bike> by the way, xilperl is one of these 20Ks
03:47:47 <CallForJudgement> well it's clearly calling into a different executable somewhere
03:48:00 <Bike> well yeah.
03:48:02 <CallForJudgement> quite possibly on the local machine
03:48:23 <Bike> haha
03:49:07 <Bike> oh, hey, "xilhelp". clearly this is my path to salvation.
03:49:32 <CallForJudgement> Bike: I'm not sure; the Xilinx tools output lots of incomprehensible errors
03:49:50 <CallForJudgement> with an allegedly human-readable description which was meaningless, and a hyperlinked (at least, blue and underlined) error code
03:49:58 <Bike> yes indeedily doo.
03:50:10 <CallForJudgement> clicking on the code opened a web browser, but the resulting page was never useful
03:50:57 <Bike> running xilhelp resulted in: "error while loading shared libraries: libXm.so.4: cannot open shared object file: No such file or directory". i can't say this was very helpful
03:51:29 <CallForJudgement> well, just find a copy of libXm.so.4
03:51:34 <CallForJudgement> and add it to the runtime path
03:51:46 <Bike> i don't think i want to be helped that badly.
03:51:48 <CallForJudgement> LD_LIBRARY_PATH, it seems
03:52:27 <Bike> hm, google suggests this is also used by something called "Cognos Business Intelligence"
03:52:30 <Bike> ominous imo...
03:52:44 <CallForJudgement> well nobody names their company "Business Stupidity"
03:53:24 <Bike> it's... part of openmotif.
03:53:26 <Bike> what.
03:54:12 <CallForJudgement> oh wow, on a webforum I read, somebody accidentally posted on the wrong subforum (a reasonable mistake), and edited the OP into a request to delete the thread (while there were no responses)
03:54:14 <Bike> oh, i guess people still use motif. well, what withrawn, i guess.
03:54:20 <CallForJudgement> a moderator saw it, and responded by stickying the thread
03:54:32 <CallForJudgement> this seems to have the potential to end badly
03:54:45 <Bike> uh? why
03:54:47 <Bike> did they do that
03:54:51 <CallForJudgement> who knows
03:55:34 <CallForJudgement> people seem to be unsure how to contribute to it
03:55:49 <CallForJudgement> most posts are either image macros or metadiscussion about the thread itself
03:56:14 <CallForJudgement> (also, nobody but the OP seems to know what the thread was originally about)
03:56:29 <Bike> «if ( -d "C:/" ) { $Platform = 'windows'; }»
03:56:56 <CallForJudgement> there is a variable $^O
03:57:02 <CallForJudgement> which exists for precisely this purpose
03:57:11 <oerjan> CallForJudgement: you do know the most upvoted reddit post ever is "test post please ignore" right?
03:57:26 <CallForJudgement> oerjan: yes
03:57:34 <CallForJudgement> also, it's very rare for Perl variables to start with capital letters
03:57:47 <CallForJudgement> when they do, it typically means that they're global for some reason, yet being namespaced to certain packages
03:58:15 <Bike> looks like all the variables are capitalized
03:58:18 <CallForJudgement> that's unlikely to be happening here, because somehow I suspect there isn't a "use Platform;" involve
03:58:20 <CallForJudgement> *involved
03:58:22 <Bike> $CompedklibDefaultLogFile
03:58:46 <CallForJudgement> nor, if such a package existed, would it likely be necessary to check for Windows by looking for the existence of the root of the C drive
03:58:51 <CallForJudgement> oh, not just existence
03:58:54 <CallForJudgement> it also checks that it's a directory
03:59:12 <zzo38> The system might not be on drive C though
03:59:17 <CallForJudgement> you could probably cause chaos by creating a "C:" directory in the current directory
03:59:22 <CallForJudgement> I have one of those in my home folder already
03:59:26 <CallForJudgement> which points to Wine's simulated drive C
03:59:35 <CallForJudgement> so this Xilinx software would fail for me, for completely mysterious reasons
04:00:00 <Bike> this file is dated to '96. cool
04:00:14 <zzo38> You can fix the parts of the programs that have source-codes available
04:00:33 <zzo38> On my Windows I have the system on drive F: instead of drive C:
04:00:53 <coppro> I wonder how much malware that instantly defeats
04:01:11 <zzo38> I don't know.
04:15:15 <Bike> Anyone know what /usr/ucb is/
04:15:16 <Bike> is?*
04:16:44 <Bike> "university of california, berkeley"??
04:17:53 <pikhq> I think
04:18:39 <kmc> i hope so
04:18:53 <Bike> this thing is eroding me.
04:20:35 -!- Nisstyre has quit (Ping timeout: 260 seconds).
04:20:40 <Bike> also, it includes the entire jre.
04:20:56 <CallForJudgement> Bike: apt-cache hasn't heard of it, which is a bad sign
04:21:05 <Bike> Twice, in fact, if I'm understanding this correctly
04:21:14 <CallForJudgement> clearly it needs specific versions
04:21:17 <CallForJudgement> and more than one of them
04:21:19 <Bike> yeah, 5 and 6.
04:24:00 <zzo38> I have suggested to the DM of a D&D game, a kind of curse in my character (although it can be removed normally).
04:26:10 -!- augur has joined.
04:27:23 <zzo38> The demon (well, actually, almost-demon/almost-dragon, stuck in the middle of changing)'s brain is cursed, and now so am I; I no longer automatically heal damage (although spells and so on still work), and I take a -2 penalty to saves against divine spells cast by evil spellcasters. The curse can be removed normally although then I am hungry again.
04:30:04 -!- oerjan has quit (Quit: leaving).
04:36:51 <zzo38> People have argued about if FurryScript counts as esolang or not (this was a while ago). However, also notice things like CUTLASS, and Prehistory of esoteric programming languages. Also, Wikipedia mentions "Random text generators such as the Dada Engine and rmutt are examples of this kind of nondeterminstic language." Are Dada Engine and rmutt considered esolangs?
04:40:34 <zzo38> (FurryScript was not *intended* to be strange, it just is! Dada Engine and rmutt aren't so strange, but they also aren't so powerful.)
04:43:29 <zzo38> Do you know the answer of any of these questions at this time?
04:54:24 <Sgeo> zzo38: What's the scripting that Furcadia uses?
04:56:41 <zzo38> Sgeo: I don't know.
04:56:42 <Sgeo> DragonSpeak
04:56:50 <zzo38> That's what it is? OK
04:57:09 -!- nycs has joined.
04:57:44 -!- Gracenotes_ has joined.
04:59:50 -!- Gracenotes has quit (Ping timeout: 240 seconds).
04:59:50 -!- `^_^v has quit (Read error: Connection reset by peer).
05:04:12 <zzo38> Sgeo: Why do you want to know, and why do you ask me in particular?
05:04:33 <Sgeo> Because FurryScript sounded like it would be the name
05:05:19 <zzo38> O, well, I suppose it isn't.
05:06:09 <zzo38> I don't know if FurryScript codes really resemble any other programming languages at all. Does it look like it to you?
05:06:50 <Sgeo> I haven't actually looked at FurryScript
05:07:50 <zzo38> Did you look at it now?
05:12:31 <Sgeo> MyOpenID is closing
05:14:45 <zzo38> It is? Do you use MyOpenID?
05:16:14 <Sgeo> Yes
05:16:27 <Sgeo> I've used MyOpenID for pretty much everything that asks for an OpenID
05:16:38 <Sgeo> It's the one thing that Google hasn't encroached on in my life
05:16:44 <Sgeo> Which... they will now, I guess
05:16:51 <Sgeo> Need to switch accounts over if possible, ugh
05:18:46 <Bike> How do I check what compiler a binary was compiled with based on its mangling style?
05:19:17 <zzo38> You could also run your own OpenID server if you have a server, or see if there is some other OpenID server
05:19:24 <zzo38> (I run my own OpenID server)
06:42:05 -!- SingingBoyo has quit (Ping timeout: 245 seconds).
06:42:54 -!- SingingBoyo has joined.
07:17:21 -!- epicmonkey has joined.
07:19:42 -!- quintopia has quit (Ping timeout: 264 seconds).
07:34:42 <fizzie> Bike: You can compare manually to the lists in Chapter 8 of http://www.agner.org/optimize/calling_conventions.pdf
07:35:48 -!- quintopia has joined.
07:39:53 <fizzie> Oh no, I don't have CallForJudgement -> ais523 in the nick-combine-map of #esoteric in the stats thing.
07:40:08 <CallForJudgement> you can combine "scarf" too
07:40:13 <fizzie> That one I have.
07:40:18 <fizzie> And ais523\unfoog.
07:40:56 <fizzie> It's just that editing the list would involve rerunning the whole thing, and it takes a long.
07:41:20 <fizzie> Though I was supposed to combine two things there too, now I've forgotten who.
07:46:19 <fizzie> Is a CakeProphet the same thing as a kallisti?
07:46:49 <shachaf> In here it is.
08:01:23 <Sgeo> unfoog?
08:02:19 <CallForJudgement> /dev/null/nethack clan
08:28:49 <fizzie> Stats: updated.
08:30:05 <CallForJudgement> I bet I've really dropped off recently
08:30:21 <fizzie> Well, yes.
08:30:31 <fizzie> Your presence bitmap has turned into these isolated vertical lines, basically.
08:31:38 <CallForJudgement> fizzie: my problem is that nobody seems to want to talk about esolangs
08:31:45 <CallForJudgement> offtopic discussion is one thing
08:31:56 <CallForJudgement> lack of ontopic discussion, though, just means that the channel isn't actually about esoprogramming
08:32:02 <CallForJudgement> so it's pointless to come here for esoprogramming discussion
08:33:27 <fizzie> That's certainly true.
08:34:06 <CallForJudgement> and so the main question is just whether I find the offtopic discussion interesting enough to stick around
08:34:12 <CallForJudgement> with the answer being "not really"
09:13:27 -!- mnoqy has joined.
09:18:15 <zzo38> fizzie: Would it help to combine by address instead of nickname?
09:22:10 <CallForJudgement> probably not
09:22:16 <CallForJudgement> addresses can be unstable
09:22:25 <CallForJudgement> I have a bunch that need combining, some of which are rarely used
09:45:11 -!- augur has quit (Read error: Connection reset by peer).
09:46:16 -!- augur has joined.
09:55:06 <zzo38> On topic is sometimes, but rarely
09:56:07 <zzo38> Do you think FurryScript programs seem to resemble programs in any other programming languages, and if so, which ones, and how much resemblance?
10:01:30 <zzo38> There are none that I know of.
10:01:40 <zzo38> (But maybe you know better)
10:08:02 -!- SingingBoyo has quit (Ping timeout: 264 seconds).
10:11:38 <zzo38> Furthermore, how much do the features resemble those of other programming languages?
10:27:29 <zzo38> I read about the "not provable" operator in Prolog; I was previously thinking of an operator to be added to any sequent calculus, which does something similar.
10:28:23 <CallForJudgement> zzo38: you don't need an operator for that
10:28:30 <CallForJudgement> you can implement it in terms of cut
10:28:46 <CallForJudgement> \+ X :- X, !, fail. \+ _.
10:30:54 <zzo38> CallForJudgement: OK, so you can, but that has nothing to do with the point I was making anyways; rather I meant some operator (I called it an "oracle operator") which, if |- X isn't provable in some sequent calculus system then |- Oracle(X) is an axiom. So it isn't quite the same, although it might be related.
10:48:31 -!- carado_ has quit (Ping timeout: 264 seconds).
11:11:43 -!- epicmonkey has quit (Ping timeout: 260 seconds).
11:13:15 -!- zzo38 has quit (Remote host closed the connection).
11:18:59 -!- MindlessDrone has joined.
11:25:48 -!- augur has quit (Remote host closed the connection).
11:26:34 -!- augur has joined.
11:28:20 -!- Phantom_Hoover has joined.
12:10:28 -!- nooodl has joined.
12:27:50 <CallForJudgement> hmm, I note that oerjan cannot distinguish a thread, from thread
12:27:59 <CallForJudgement> perhaps I was being unnecessarily poetic…
14:11:19 -!- conehead has joined.
14:50:38 -!- fizzie has quit (Ping timeout: 264 seconds).
14:50:45 -!- fungot has quit (Ping timeout: 248 seconds).
15:01:04 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
15:04:30 -!- Phantom_Hoover has joined.
15:13:15 -!- function has changed nick to constant.
15:21:50 -!- epicmonkey has joined.
15:27:24 -!- fizzie has joined.
15:29:17 <fizzie> Bah, it's always such a hassle whenever the electricity breaks.
15:29:32 <fizzie> (Last time was 475 days ago, so fortunately it's not exactly common.)
15:30:13 <fizzie> This time it seems that the BIOS battery of the router box has gone flat, because it was all "defaults set" and "no keyboard, press f1 to continue" when I went and plugged a monitor in to see what's up.
15:42:38 -!- CallForJudgement has quit.
15:52:02 <Vorpal> @tell boily The USB issue I have seems to be a kernel bug in 3.2 (which I'm running since I'm stable Debian, this might make me go testing or manually build a newer kernel, whichever is least work)
15:52:02 <lambdabot> Consider it noted.
15:53:02 <Vorpal> I'm getting [428528.396567] xhci_hcd 0000:05:00.0: ERROR no room on ep ring every time I plug or unplug a device on a specific other USB 2 hub
15:53:11 <Vorpal> which affects the USB 3 devices
16:18:19 <ion> shachaf: sfhhaac sahahfc ashfhac
16:18:27 <olsner> fizzie: is that why fungot is gone?
16:28:15 <fizzie> olsner: Yes. I'll see about getting that system back up soonishly.
16:30:20 <Vorpal> fizzie, This Debian package looks pretty silly: linux-image-amd64:i386
16:30:45 <Vorpal> that is the 64-bit kernel for multiarch x86
16:40:24 <Vorpal> Ooh, should I get an -rt kernel? That sounds cool
16:41:38 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com).
16:48:17 -!- zzo38 has joined.
17:16:20 -!- Phantom__Hoover has joined.
17:17:25 -!- oklopol has quit (Ping timeout: 248 seconds).
17:18:11 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
17:20:07 <Vorpal> Well, here goes nothing, just manually build a newer fglrx package for Debian stable. Going to reboot to kernel from backports now
17:21:15 <coppro> your problem is fglrx
17:38:57 <ion>
17:48:56 <Vorpal> coppro, yes. yes it is.
17:49:28 <Vorpal> coppro, but good luck using more than two monitors with consumer nvidia cards!
17:49:46 <Vorpal> You need multiple cards then
17:50:03 <fizzie> I think that's not true any more.
17:50:15 <Vorpal> fizzie, oh?
17:50:26 <fizzie> You can run four monitors on my gt660, I believe.
17:50:26 <fizzie> Or is it 660 GTX? Something like that, anyway.
17:50:33 <Vorpal> Hm
17:50:49 <Vorpal> fizzie, think I can run 5 on mine, though I only use 3 currently
17:51:09 <fizzie> They were limited to two but bumped that up to 4 in the 6xx series, or something approximately like that.
17:51:15 <Vorpal> Ah
17:52:03 <olsner> do those cards have 4/5 connectors too, or can you like split DVI cables and connect several screens?
17:52:36 <Vorpal> olsner, mine? It has 5: 2x DVI (one I and one D), 1x HDMI, 2x DP
17:53:43 <Vorpal> Anyway it works fine now, after a couple of reboots fixing kernel parameters and such
17:54:26 <olsner> so the number of supported screens really just depends on the number of connectors?
17:54:49 <fizzie> olsner: Not entirely, they've had >2 connectors for a while on NVidia cards without supporting >2 monitors.
17:55:11 -!- carado_ has joined.
17:55:37 <fizzie> (You also need enough of the per-display hardware, like clock signal generators and whatnot, to support all connectors simultaneously.)
17:55:51 <Vorpal> <olsner> so the number of supported screens really just depends on the number of connectors? <-- mine is AMD though
17:57:00 <fizzie> olsner: And sometimes it's not a clear number, e.g. it's something like "at most X DVI monitors and Y DisplayPort ones, except if your DP-to-DVI adapter is active instead of passive".
17:57:32 <fizzie> (If they don't have enough of the things that generate the TMDS signal for DVI panels.)
17:57:48 <Vorpal> Yep that happens too
17:58:46 <fizzie> I think my card has one DVI-I, one DVI-D, one HDMI and one DP connector.
17:58:51 <olsner> sounds complicated, I'm glad I'm happy with only two screens
17:59:38 <fizzie> I'm glad I don't have that "onboard Radeon + discrete NVidia card" three-monitor setup any more, now *that* was a can of worms.
18:00:43 <Vorpal> that sounds terrbile
18:00:45 <Vorpal> terrible*
18:01:00 <fizzie> I couldn't even run Xinerama on it, it just crashed all the time.
18:01:16 <fizzie> (I just ran old-fashioned X multihead then.)
18:01:16 <Vorpal> fizzie, I use onboard intel + discrete nivida quadro chipset at work for builtin + two external (from the laptop dock)
18:01:36 <fizzie> There's onboard Intel on this too, the Haswell integrated one.
18:01:39 <Vorpal> fizzie, doesn't work with all there unless I turn on that intel+nvidia thing in the bios
18:02:22 <fizzie> Also I think some kind of Optimus thing? At least Chromium chrome://gpu says "Optimus: true" and blacklists all 3D stuff. :p
18:02:32 <fizzie> "Drivers are unreliable for Optimus on Linux.: 131308"
18:02:59 <elliott> fizzie: ugh, that bad?
18:03:09 <elliott> most of the laptops I've been considering have optimus
18:03:25 <fizzie> Seems that the bug has Status: fixed in Sep-2012, so maybe my Chromium is just very old.
18:04:17 <Phantom__Hoover> yeah, chrome doesn't play well with optimus on linux
18:04:43 <fizzie> I only use the discrete card here, though. Wouldn't I have to have the displays connected to the integrated GPU for actual Optimus to happen, even?
18:05:27 <fizzie> (I was under the assumption the final image always went through that even with a discrete GPU in use.)
18:05:32 <fizzie> It's all so confusing these days.
18:05:45 <elliott> yeah, that's how it works as I understand it
18:06:14 <fizzie> Also the xrandr -q result quite often seems to have nothing to do with the actually existing physical connectors; in my case, I have the outputs DVI-I-0 (does not exist), DVI-I-1 (exists), HDMI-0 (exists), DP-0 and DP-1 (presumably one of them exists) and DVI-D-0.
18:06:56 <fizzie> And it was something equally imaginary on the Intel graphics at work, I think.
18:07:18 <olsner> apparently xrandr thinks I have a single large screen
18:08:15 <fizzie> Old nvidia proprietary driver used to be like that.
18:08:31 -!- Nisstyre-laptop has joined.
18:08:35 <fizzie> Also it had different modes indicated by fake refresh rates, or something like that.
18:08:50 <fizzie> (Because the dimensions of the bounding box aren't necessarily unique.)
18:09:55 <fizzie> Well, it's still a single large "Screen" (for the X definition of "Screen") for xrandr-age multihead, but there's the different outputs listed.
18:11:23 <fizzie> Gah, the CPU fan on the router box is being incredibly noisy. Probably about to break.
18:13:03 <elliott> fizzie: https://code.google.com/p/chromium/issues/detail?id=131308 -- looks like the "fix" is to blacklist it
18:14:20 <fizzie> Oh, I didn't read it all that closely. I was just assuming.
18:14:45 <fizzie> Admittedly it just goes "GPU thread hung up" and re-disables it if I --ignore-gpu-blacklist.
18:15:31 <fizzie> (Or do the chrome://flags thing.)
18:18:30 <Vorpal> Well that is broken, while watching flash video (youtube) the FPS of glxgrears (using forced vsync and "tear free desktop") drops to like 5. Pausing the video gives me the expected 60 FPS
18:18:39 <Vorpal> New on this kernel version
18:21:16 <olsner> it's a bit scary how browsers are dependent on reliable secure gpu drivers nowadays
18:21:50 <olsner> if the gpu blacklist is out of date and your driver has a bug, webgl gets a free pass to all your computer
18:22:05 <Vorpal> heh
18:22:59 <Vorpal> trying to sort out dependency issues with 32-bit libs after the upgrade
18:23:26 <olsner> a lot like the browser itself, granted, but at least browser makers have 20 years of dealing with broken web pages
18:23:57 <olsner> rather than 20 years of cheating the latest gpu benchmark and making shortcuts for the popular games, and freely assuming they only deal with code that the user has already bought and/or decided to trust
18:28:34 <Vorpal> quite
18:29:26 <elliott> didn't basically every security type person say webgl is an awful idea ages ago?
18:29:38 <Vorpal> Well yeah it is
18:29:56 <elliott> but really the problem isn't webgl in particular, the problem is that at this point every piece of code has to be written for security
18:30:01 <elliott> and it... isn't
18:30:08 <olsner> I'm not a security type person so I'm probably late to that party but yes
18:30:15 <elliott> because nothing isn't exposed over the network nowadays
18:32:31 <Vorpal> <fizzie> Also the xrandr -q result quite often seems to have nothing to do with the actually existing physical connectors; in my case, I have the outputs DVI-I-0 (does not exist), DVI-I-1 (exists), HDMI-0 (exists), DP-0 and DP-1 (presumably one of them exists) and DVI-D-0. <-- quite, I have DFP1 to DFP7 plus CRT1
18:37:10 <kmc> nice
18:37:22 <kmc> turn them all on and stash your porn windows on the invisible screens
18:38:17 <Vorpal> XD
18:38:34 <Vorpal> It seems I'm using DFP5-DFP7
18:57:49 -!- conehead has joined.
19:14:46 -!- Bike has quit (Read error: Connection reset by peer).
19:14:51 -!- Bike_ has joined.
19:15:26 -!- epicmonkey has quit (Read error: Operation timed out).
19:17:36 -!- Nisstyre-laptop has changed nick to nisstyre.
19:18:11 -!- Bike_ has changed nick to Bike.
19:49:41 -!- MindlessDrone has quit (Quit: MindlessDrone).
19:49:50 -!- baordog has joined.
19:52:12 -!- fizzie has quit (Ping timeout: 260 seconds).
19:52:54 <baordog> How is the esoteric programming world doing?
19:54:04 <Bike> explosively
19:57:37 <Roujo> `relcome baordog
19:57:45 <HackEgo> baordog: 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.)
19:58:18 <kmc> I remember in like 2003 getting the ability to hook up my computer to the (analog, CRT) television and it was so awesome
19:59:10 -!- conehead has quit (Ping timeout: 245 seconds).
20:00:22 <kmc> watching pirated 320x240 simpsons episodes over s-video
20:00:32 -!- Koen_ has joined.
20:00:48 <kmc> downloaded from KaZaA
20:00:58 <Bike> truly, the future
20:01:25 <kmc> some downloaded from IRC
20:01:26 -!- Koen_ has quit (Read error: Connection reset by peer).
20:01:35 -!- Koen_ has joined.
20:02:55 -!- conehead has joined.
20:08:16 <olsner> I need to write some code
20:08:22 <Bike> irc is still like the fastest piracy i've used `-`
20:11:08 <kmc> The Internet Act of 1996 passed into law by Bill Clinton says you must disconnect IMMEDIATELY from this DCC if you are affiliated with any law enforcement agency!
20:13:11 <Sgeo> `slist
20:13:13 <HackEgo> slist: Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot
20:13:30 <Taneb> As almost half of that list, I say thank you
20:13:55 <Bike> kmc: hahh, did they really say things like that?
20:15:23 <coppro> Vorpal: that's why intel cards exist
20:15:36 <Vorpal> coppro, hm?
20:15:38 <Vorpal> oh right
20:15:42 <kmc> yeah
20:15:49 <Vorpal> coppro, I also use OpenGL and OpenCL though
20:16:02 <kmc> what about Intel cards?
20:17:06 <Vorpal> kmc, tripple screens I think, if it is the same conversation
20:17:36 <kmc> oh
20:17:43 <kmc> my last triple monitor system just had two nvidia cards
20:17:50 <elliott> did the internet act create the internet
20:17:53 <Vorpal> too much power usage
20:18:01 <Vorpal> where is that quote from anyway kmc?
20:18:13 <Bike> the internet, obviously
20:18:17 <Bike> elliott: al gore joke
20:20:37 <kmc> Vorpal: it's my paraphrase of the kinds of things the piracy DCC bots would say when you connect to them
20:21:18 <Vorpal> kmc, heh
20:21:45 <kmc> you have to tell me if you're a cop
20:21:53 <kmc> it's in the constitution
20:22:00 <Vorpal> Heh
20:22:29 <Vorpal> kmc, what about under cover stuff
20:22:39 <kmc> what about t
20:22:48 <Vorpal> kmc, do they have to tell too?
20:22:58 <Vorpal> Because that would defeat the point wouldn't it?
20:22:59 <kmc> the joke is that there is no such rule at all
20:23:08 <kmc> cops can freely lie about being cops (or most other things)
20:23:18 <Vorpal> ah, makes a lot more sense
20:23:34 <kmc> it's a common misconception among dumb criminals (or maybe just a trope of the existence of such a misconception)
20:23:43 <baordog> I think the entrapment rules vary quite a bit by country
20:23:48 <kmc> yeah I mean in the US
20:23:55 <kmc> sorry
20:24:00 <Taneb> I wrote an application with a GUI in Haskell and now I'm way too proud of myself to try and do a bigger one
20:24:05 <Bike> how's it work in other countries, actually
20:24:08 <Vorpal> pretty sure there are some rules preventing some of that in Sweden for example yeah
20:24:15 <baordog> I know that cops pose on hacker forums all the time
20:24:19 <Bike> my understanding is that US cops can lie but not make fake offers
20:24:27 <baordog> I'm fairly certain german cops have to admit they are cops if directly questioned
20:24:35 <elliott> hi baordog, you new here?
20:24:41 <baordog> Yup :)
20:24:44 <kmc> I think "entrapment" in the US is defined pretty strictly and basically has to include you committing a crime that you wouldn't otherwise
20:24:46 <elliott> `relcome baordog
20:24:49 <kmc> like if the cops coerce you into it
20:24:49 <HackEgo> baordog: 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.)
20:24:53 <kmc> but not if they just suggest it
20:25:06 <baordog> or they make it look extremly appealing
20:25:07 <kmc> because anyone who would sell drugs under a mere suggestion was probably going to anyway?
20:25:13 -!- itsy has joined.
20:25:16 <kmc> but there's also the thing where constitutional rights don't really apply in drug cases
20:25:17 * Bike imagines cop badgering people to buy a dirty bomb
20:25:20 <kmc> or any other kind of rights
20:25:25 <elliott> cop tries REALLY HARD to convince someone to sell them drugs
20:25:30 <kmc> Bike: if you don't build that dirty bomb you're a total pussy
20:25:35 <baordog> I know that a lot of hacker cases in the U.S don't actually end up sticking, because the evidence is gathered in such circumspect ways
20:25:37 <elliott> maybe if you're a drug dealer that can be your defence
20:25:42 <elliott> people have to pester you to do business with you
20:25:46 <Bike> "I didn't want to be a pussy, man"
20:26:14 <baordog> There's a wonderful book called "dark market" on the subject
20:26:22 <Bike> elliott: basically https://twitter.com/NotANark
20:26:53 <zzo38> If someone tries really hard to convince you to sell them drugs, then you should photograph them and bind them.
20:27:17 <baordog> Bike: rotfl
20:28:34 * itsy is reading http://www.basiccomic.com
20:36:21 <elliott> `addquote <zzo38> If someone tries really hard to convince you to sell them drugs, then you should photograph them and bind them.
20:36:26 <HackEgo> 1102) <zzo38> If someone tries really hard to convince you to sell them drugs, then you should photograph them and bind them.
20:37:29 <kmc> bind them to what
20:37:52 <zzo38> To jail.
20:37:56 <elliott> `revert
20:37:59 <Bike> duh, kmc.
20:38:00 <HackEgo> Done.
20:38:05 <elliott> `addquote <zzo38> If someone tries really hard to convince you to sell them drugs, then you should photograph them and bind them. <kmc> bind them to what <zzo38> To jail.
20:38:10 <HackEgo> 1102) <zzo38> If someone tries really hard to convince you to sell them drugs, then you should photograph them and bind them. <kmc> bind them to what <zzo38> To jail.
20:38:26 <zzo38> If they are a police officer then you should post the picture in a database of undercover police officers.
20:38:37 <zzo38> Pretend to be a drug dealer but never have any or sell any to anyone.
20:38:58 <kmc> <zzo38> 187 ON AN UNDERCOVER COP
20:41:40 -!- augur has quit (Ping timeout: 245 seconds).
20:45:16 <elliott> http://esolangs.org/w/index.php?title=User_talk:Numeri&curid=8998&diff=37100&oldid=37095 this edit is really good
20:46:45 <Bike> people with autocensors are the best/worst
20:47:07 <Bike> do you have a ban-them-forever policy? probably should, they never seem to get better
20:47:08 <kmc> there's that chrome plugin which replaces "The Cloud" with "My Butt" and it sometimes makes its way into wiki edits
20:54:28 -!- Koen_ has quit (Quit: Koen_).
21:13:58 -!- mnoqy has quit (Quit: hello).
21:15:59 -!- yorick has joined.
22:13:06 -!- oerjan has joined.
22:13:24 -!- Bike has quit (Ping timeout: 268 seconds).
22:15:51 -!- fizzie has joined.
22:20:30 -!- ldecimuxZ has joined.
22:20:51 -!- ldecimuxZ has quit (Read error: Connection reset by peer).
22:21:32 -!- fungot has joined.
22:21:41 <fizzie> fungot: You've been gone a while, how are you feeling?
22:21:42 <fungot> fizzie: it's a unicode character and got... well. i find myself writing things like fnord optimization or things like that very often, so it's the same
22:22:00 <fizzie> I guess that counts as "fine", then.
22:22:10 <oerjan> no worse than usual.
22:23:53 <fizzie> Also, from #elsewhere, but amusing: http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=58a7611ccfda88c7cbcc62b25b787d6b0fa64081&utm_source=anzwix
22:24:16 -!- Bike has joined.
22:24:31 * oerjan notes one of the mezzacotta characters seems to have eir markov chain based on the book of mormon.
22:24:40 <fizzie> (The parent commit being: [Revert "sna: Add XMir support"].)
22:30:03 <olsner> what's xmir and why do they even care?
22:32:14 <oerjan> https://en.wikipedia.org/wiki/Mir_(display_server_protocol)
22:32:59 <oerjan> looks like canonical managed to find a way to use gplv3 to be _less_ open source friendly :P
22:33:50 <fizzie> It's the future. Well, one of the futures.
22:34:27 <oerjan> i assume canonical owns ubuntu itself and so can put xmir there, but _neither_ upstream nor downstream distributions want anything to do with this.
22:34:58 * oerjan also has never quite managed to learn the difference between upstream and downstream.
22:35:13 <fizzie> You just look at which way the stuff flows.
22:35:25 <oerjan> O KAY
22:35:31 <elliott> it's like homespring
22:36:16 <oerjan> i am guessing debian and xorg are upstream and {k,x,l}ubuntu are downstream in this case.
22:38:59 -!- Taneb has quit (Quit: Leaving).
22:39:37 <fizzie> I was under the impression they owned kubuntu too, but apparently that's no longer true.
22:41:28 <oerjan> <fizzie> Is a CakeProphet the same thing as a kallisti? <-- i think nineinchbread also
22:41:50 <fizzie> That's, unfortunately, too late. Hopefully that's not a too-much-used name.
22:42:26 <oerjan> hey just put it in the todo list for next release
22:43:36 <kmc> unsafeKallisti
23:08:47 <shachaf> kmc: 35° today :'(
23:08:54 <kmc> :(
23:09:02 <kmc> only 24 here
23:09:13 <kmc> but 28 in my house for some reason
23:11:38 <shachaf> you should make the bot report the weather
23:11:56 <fizzie> fungot: How's it in the noisy room?
23:11:56 <fungot> fizzie: http://www-i2.informatik.rwth-aachen.de/ fnord/ fnord
23:12:02 <fizzie> O...kay.
23:15:56 -!- madbr has joined.
23:20:05 <olsner> fungot: The URL /fnord/fnord was not found on this server.
23:20:06 <fungot> olsner: why not just put multiple inheritence into condition types?
23:20:21 <olsner> fungot: I'll try that, thanks
23:20:22 <fungot> olsner: lambda associates home page says it won't be much fun.) hmm, nearly got fnord actually, want to see
23:22:59 <oerjan> http://oerjan.nvg.org/fnord/fnord/fnord/
23:23:43 <quintopia> what did it sayyyyyy??????????
23:23:46 * quintopia dies of worry
23:24:21 <oerjan> have i made a lethal web page?!?!?!!!11ELEVEN
23:25:21 <olsner> quintopia: it was (is) information about England
23:25:44 <quintopia> oh
23:25:47 <quintopia> phew
23:25:52 * quintopia comes back to life
23:26:49 <quintopia> todo: create the qaskell programming language
23:27:09 -!- dfdfdf has joined.
23:29:11 -!- dfdfdf has quit (Remote host closed the connection).
23:29:33 -!- dfdfdf has joined.
23:45:17 -!- dfdfdf has quit.
←2013-09-06 2013-09-07 2013-09-08→ ↑2013 ↑all