←2014-10-07 2014-10-08 2014-10-09→ ↑2014 ↑all
00:00:05 <madbr> that changes any cpu design into raving insanity
00:00:06 <pikhq> The Itanium's major failure was that it was less good at running x86 code than a real x86.
00:00:28 <madbr> I'M not sure the itanium is even a better design than x86
00:00:43 <madbr> It's probably too parallel
00:01:27 <madbr> real programs do a lot of horrible pipeline breaking stuff (essentially memory reading) so there's no point in doing something that does more than about 5-issue
00:01:53 <madbr> so the potential gains of itanium never materialized
00:02:00 <madbr> except in floating point code
00:02:10 <madbr> but they went after the server market
00:02:38 -!- conehead has quit (Quit: Computer has gone to sleep).
00:02:57 -!- zzo38 has quit (Ping timeout: 246 seconds).
00:03:04 -!- conehead has joined.
00:03:33 <madbr> inversely the kind of thing that helps you in horrible pipeline breaking stuff (code compression!!, crazy speculative memory accesses) are exactly the things that kept x86 faster than itanium, especially for the kind of applications itanium was used in
00:04:53 <pikhq> And one of the other big selling points of the Itanium was that it could also run x86 code without any trouble.
00:05:01 <pikhq> But it failed horribly at that.
00:05:24 <madbr> like, ARM cpus have a thumb mode, which uses 16bit instructions instead of 32bit ones... this disallows a lot of instructions... but it still runs about as fast as 32bit mode because the code is more compact!
00:05:43 <pikhq> To the point that a software emulator performed better.
00:05:55 <madbr> true
00:06:30 <madbr> well, a really serious attempt would have used the same execution ressources for x86 and basically have 2 front ends
00:06:39 <madbr> that's actually what ARM does
00:06:50 <pikhq> *nod*
00:07:18 <madbr> arm64 uses a different front end (=different instruction set!) but has exactly the same pipelines behind that
00:07:19 <pikhq> Of course, the Itanium came at a fairly crappy point in Intel CPU design.
00:07:30 -!- conehead has quit (Ping timeout: 246 seconds).
00:07:31 <pikhq> Contemporary with the Pentium 4!
00:07:41 <madbr> pentium 4 wasn't _that_ bad
00:08:00 <madbr> compared to real cpu design mistakes (i860, i432)
00:08:32 <madbr> it couldn't keep up with the pentium2's voodoo, but pretty much nothing can
00:10:21 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
00:11:07 <madbr> and it was basically a gamble based on silicon letting you go a few ghz faster still (was designed to scale up to 10ghz, they expected to reach something like 6ghz but of course it never happened)
00:11:23 <pikhq> The depth of the pipeline was rather absurd though.
00:11:32 <pikhq> 31 stage pipeline.
00:11:45 <madbr> if silicon reached 10ghz that would've paid off
00:12:24 <madbr> 31 stage pipeline is okay if it lets you do something like run 10 instructions per cycle
00:12:38 <madbr> it's a tradeoff
00:15:28 <pikhq> Unfortunately, real code branches rather more often than is necessary to make that pipeline worthwhile.
00:16:08 <pikhq> To the point that a PIII has this tendency to outperform a P4. :)
00:17:27 <madbr> true
00:17:44 <madbr> well, if the p4 went at 6ghz it would've paid off
00:18:13 <madbr> but it didn't and consequently the ultra deep pipeline is useless
00:18:20 -!- AndoDaan has joined.
00:19:02 <madbr> doesn't help that people use stuff like zip decompression as benchmarks
00:19:14 <madbr> which obviously tend to put the P2 ahead
00:19:38 <madbr> since it's basically nothing but jumps and hard to predict memory accesses
00:20:16 <pikhq> Doesn't help also that Intel decided RAMBUS was awesomesauce
00:20:42 <madbr> anyhow
00:21:12 <madbr> kindof wondering what kind of design is optimal if you have a 16bit memory bus and no cache
00:21:23 <madbr> and no prefetch even
00:21:59 -!- not^v has joined.
00:22:11 <pikhq> (and as ZIP tends to be memory-latency bound...)
00:22:48 <madbr> yes exactly :D
00:25:04 <madbr> I guess with no cache and small bus the design is basically something like the superH
00:25:22 <madbr> super limited constants, small register file (in spite of being a risc!)
00:25:33 <madbr> 32bit registers though
00:25:37 -!- not^v has quit (Client Quit).
00:25:57 <madbr> and a multiplier would be useful as well
00:26:40 -!- oerjan has quit (Quit: Nite).
00:27:21 <madbr> kindof wanting to have 16 registers so that everything fits nicely into nibbles and you can basically hex edit the code
00:27:52 <madbr> and have 4/8/12bit constants
00:27:58 <Bike> eight bit opcodes?
00:28:28 <madbr> 8bit opcode + 4bit src register + 4bit dest register
00:29:12 <madbr> except for a few operations that have a 4bit opcode because they are very common and benefit from it
00:29:29 -!- mihow has joined.
00:29:37 <madbr> like memory loading (probably 4bit opcode + 4bit dest + 4bit src + 4bit displacement)
00:30:31 <madbr> and probably some operation to help loading up large constants (8bit mov immediate? 12bit mov immediate into a fixed register?)
00:30:54 <Bike> load with shift?
00:30:58 <madbr> yeah
00:31:07 <madbr> or maybe add large immediate
00:31:36 <madbr> mips has load high but I think it would be more useful to have an add operation
00:31:44 <madbr> or shift + add immediate
00:31:58 <Bike> yeah, i've been doing mips so that's what i'm thinking of.
00:32:10 <madbr> ARM does it by having a shift amount in every immediate
00:32:18 <Bike> i said you could implement the load 32 bit immediate pseudoop as a load high and add, but i don't know if that's what assemblers actually do.
00:37:28 -!- esowiki has joined.
00:37:30 -!- glogbot has joined.
00:37:32 -!- esowiki has joined.
00:37:33 -!- esowiki has joined.
00:38:38 <madbr> yeah basically it's a multiply-accumulate but with fixed factor
00:39:22 -!- AndoDaan has quit (Ping timeout: 245 seconds).
00:41:48 -!- boilyphone has joined.
00:42:30 <madbr> the small opcode size makes it all kinda CISC-y, it's cute :D
00:44:00 <madbr> except without the mistakes of CISC (basically, not enough registers on 6502!)
00:44:28 <madbr> (and 8-bit opcodes being barely worth using at all)
00:44:51 <madbr> (and 8bit registers being basically too small)
00:47:30 -!- boilyphone has quit (Quit: TRANSITIVE CHICKEN).
00:48:09 -!- scounder has quit (Ping timeout: 260 seconds).
00:54:42 <pikhq> Hey, an 8 bit register is plenty if you've got 8 bit addresses!
00:55:54 -!- AndoDaan has joined.
00:57:15 <madbr> how often does that happen? :D
00:57:15 <madbr> even x86 ended up with segments due to 16bit being basically too small :D
01:01:08 -!- LordCreepity has joined.
01:03:13 -!- J_Arcane has quit (Read error: Connection reset by peer).
01:04:06 -!- J_Arcane has joined.
01:07:58 -!- zzo38 has joined.
01:08:41 <zzo38> Oops some of my messages got cut off.
01:12:24 <madbr> zzo38 : suppose you have about 250 RAM access cycles per scanline
01:12:47 <madbr> the DRAM accesses are 16bit but have to be shared with the cpu (and with sound and DRAM refresh)
01:13:04 <madbr> what sort of gfx hardware would you design around that? :D
01:15:04 <madbr> for instance if you give half the cycles to cpu then you have 125 cycles
01:15:50 <madbr> considering hblank is about 75% of the scanline time you could have 320x224 display (NTSC) in 16 colors by using 80 cycles
01:16:17 <madbr> but then you wouldn't have any sprites
01:17:37 -!- not^v has joined.
01:19:24 -!- scounder has joined.
01:21:18 -!- LordCreepity has quit (Remote host closed the connection).
01:24:55 <madbr> also if it's tiled you'd need to load up the tile info
01:28:03 -!- GeekDude has joined.
01:29:29 <madbr> you get to load up to about 250 words, how do you make it look pretty? :D
01:31:57 <zzo38> madbr: Well, I would try to make the DRAM to pretend to be SRAM, first.
01:32:35 <madbr> yeah this is constant access time
01:32:40 <zzo38> OK
01:32:53 <madbr> you lose a few cycles every scanline to refresh but that's a detail
01:33:01 <zzo38> Well, I would probably do something like the Famicom does it. It accesses sprites during hblank.
01:33:20 <madbr> hmm but wouldn't that limit the amount of sprites you can display?
01:33:54 <madbr> the master system does this as well
01:34:00 <zzo38> The Famicom can display up to eight sprites at once, but if it runs faster then you can add more sprites per scanline.
01:34:17 <zzo38> (Actually, Famicom can have up to 64 sprites on the screen at once, but no more than 8 per scanline.)
01:34:32 <madbr> yeah 8 per scanline isn't much
01:34:48 <madbr> especially compared to the tg16 which can essentially cover the screen in sprites
01:35:43 <zzo38> But depending on the speed in relation to hblank time, you can design it to use more sprites.
01:35:50 <madbr> hm
01:36:55 <madbr> if you use a half cpu half gpu separation, you have about 90 hactive cycles and 30 hblank cycles
01:37:17 <madbr> but they are 16bit cycles which helps
01:37:47 <madbr> in 16 colors that's about... 8 sprites. but they are 16 pixel wide
01:37:49 <zzo38> If the PPU uses separate memory, or if it is double bus memory, then you don't need to do that.
01:38:17 <madbr> was thinking of a single chip system-on-a-chip thing
01:38:45 <madbr> if you were to do that it would be better to just go to a single 32bit bus
01:39:31 -!- LordCreepity has joined.
01:40:20 <madbr> unless you did something like banked RAM... which is actually not a bad idea at all
01:41:32 <madbr> but then you could as well go 64bit SDRAM cached 3D etc
01:41:56 <madbr> and then just use an ARM system on a chip
01:42:15 <madbr> and then your design has no reason to exist because there's a million of those in the world already
01:42:21 <zzo38> I don't really like ARM though so I probably wouldn't use it.
01:42:33 <zzo38> I would prefer things like 6502
01:42:39 <madbr> what's wrong with the ARM?
01:43:12 <zzo38> It is too messy, just like x86. The original ARM1 wasn't so bad though.
01:43:29 <madbr> and the 6502 is less messy? :D
01:43:42 <zzo38> Yes, I like it better, at least.
01:43:58 <zzo38> For one it doesn't do caching and out of order execution and all that confusing stuff, so it works better.
01:44:07 <madbr> the ARMs that are oriented towards embedded applications are a lot cleaner tbh
01:44:22 <madbr> and a lot faster than the 6502 for similar complexity
01:44:47 <madbr> that's why arms and mips are used in so many embedded applications
01:44:51 <zzo38> I could also try to design my own instruction set if I wanted to I suppose.
01:45:05 <madbr> that's what I'm trying to do
01:45:23 <madbr> with 16bit instructions and 16bit memory bus but otherwise RISC with 32bit registers
01:45:51 <zzo38> MIPS is not quite too bad either
01:46:19 <madbr> mips is very classic yes
01:46:31 <madbr> mostly because it's fast compared to how complex it is!
01:47:07 <zzo38> It is complex, but still better than modern x86 systems
01:47:21 <zzo38> which are just really stupid.
01:47:58 <madbr> x86 evolved for compatibility and speed, not simplicity
01:48:00 <madbr> :D
01:48:24 <zzo38> But I like the NMOS 6502 instruction set.
02:01:42 <zzo38> I am making Z-machine interpreter in Famicom, and have designed a new kind of mapper for it which bankswitches ROM and RAM one byte at a time.
02:03:24 <madbr> :o
02:03:36 <madbr> I'm not sure such a thing is possible in hardware :D
02:04:58 -!- not^v has quit (Ping timeout: 272 seconds).
02:10:39 -!- AndoDaan has quit (Ping timeout: 272 seconds).
02:13:30 -!- AndoDaan has joined.
02:14:39 -!- not^v has joined.
02:23:54 -!- shikhout has joined.
02:27:00 -!- shikhin has quit (Ping timeout: 260 seconds).
02:37:19 <zzo38> madbr: I have made such a design, using four 74xx series; you can see the design I made if you want to
02:39:58 <zzo38> See http://wiki.nesdev.com/w/index.php/User:Zzo38/Mapper_I for the design of this new kind of mapper. Do you know much about 74xx series?
02:52:49 <zzo38> I happen to like chess retropuzzles, even if you don't like it.
02:52:59 <madbr> strange
02:55:33 -!- not^v has quit (Read error: Connection reset by peer).
02:56:00 -!- not^v has joined.
02:59:10 <zzo38> How strange?
03:06:23 -!- not^v has quit (Ping timeout: 272 seconds).
03:06:36 -!- not^v has joined.
03:13:21 -!- AndoDaan_ has joined.
03:13:32 -!- AndoDaan has quit (Ping timeout: 245 seconds).
03:23:57 -!- conehead has joined.
03:29:01 -!- not^v has quit (Read error: Connection reset by peer).
03:29:27 -!- not^v has joined.
03:32:44 -!- AndoDaan has joined.
03:32:48 -!- AndoDaan_ has quit (Ping timeout: 258 seconds).
03:36:41 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
03:38:42 <Sgeo> When you say Minix is a good OS to read, do you mean this? http://www.minix3.org/
03:38:53 <Sgeo> Or... historical Minix that Linux came from?
03:39:46 <elliott_> I mean whatever the latest edition of Operating Systems Design and Implementation covers, probably.
03:40:53 <elliott_> I haven't researched Minix myself.
03:41:02 <Sgeo> "Revised to address the latest version of MINIX (MINIX 3), this streamlined, simplified new edition remains the only operating systems text to first explain relevant principles, then demonstrate their applications using a Unix-like operating system as a detailed example. It has been especially designed for high reliability, for use in embedded systems, and for ease of teaching."
03:41:49 <pikhq> elliott_: Modern-day MINIX is intended as an actual reasonably useful OS that's also simple.
03:41:53 <elliott_> huh, hal finney died. well... got frozen.
03:42:05 <pikhq> Soooo, I imagine it's less simple than older versions.
03:42:09 <pikhq> Perhaps more illustrative though.
03:42:32 <Sgeo> Should I buy the book, or are there good online things for Minix?
03:42:51 <elliott_> there's that MIT OS course.
03:42:54 <elliott_> that's available online I think.
03:42:59 <elliott_> probably a very good place to start.
03:43:15 -!- LordCreepity has quit (Quit: must. do. english. paper.).
03:43:23 <pikhq> Yeah.
03:43:38 <pikhq> I actually know that's a good read.
03:44:37 <pikhq> And hey, the code will actually run on computers people actually have.
03:45:08 <pikhq> Though MINIX is far more real-world.
03:45:15 <pikhq> pkgsrc actually runs on it. :P
03:51:27 <J_Arcane> http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2006/
03:56:27 -!- AndoDaan_ has joined.
03:58:24 -!- AndoDaan has quit (Ping timeout: 248 seconds).
04:21:32 -!- tromp_ has joined.
04:22:57 -!- AndoDaan has joined.
04:26:11 -!- AndoDaan_ has quit (Ping timeout: 272 seconds).
04:37:05 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif).
04:37:27 -!- not^v has joined.
04:37:58 <Sgeo> "Objective-C has elements that are unlike any language you've probably experienced, so sit back and enjoy your journey into the world of Objective-C!"
04:38:06 <Sgeo> Is that accurate even given Smalltalk exposure?
04:39:38 <Bike> no, it's totally unhealthy to sit too far back in a chair
04:40:09 -!- Sgeo has changed nick to NSSgeo.
04:40:37 <NSSgeo> Is NS the Lisp parens of Objective-C?
04:41:33 <elliott_> it's just a namespace...
04:41:42 <elliott_> C library namespaces are way longer
04:43:41 -!- not^v has quit (Ping timeout: 272 seconds).
04:46:09 -!- tromp_ has quit (Ping timeout: 260 seconds).
04:47:11 <NSSgeo> .... Objective-C doesn't have generics. But it ... looks like a statically typed language. And according to StackOverflow it's fine to just send messages, no casting. Is the appearance of static typing a lie?
04:55:12 -!- Sprocklem has quit (Ping timeout: 246 seconds).
05:06:05 <NSSgeo> I am no longer upset that Objective-C is mostly an Apple thing. I fail to see value in it
05:06:25 <NSSgeo> stringByAppendingStringAndImSureThereAreEvenLongerMethodNames
05:07:50 <NSSgeo> stringByReplacingOccurencesOfString:withString:
05:08:01 <NSSgeo> ^^ actual method name
05:19:51 <NSSgeo> [NSString stringWithString:firstName]
05:20:10 <NSSgeo> Are message sends usually done without the space I'm expecting before firstName?
05:21:55 <Bike> i'm gonna be honest sgeo, i didn't peg you for the "complain about naming" type when you do your stupid language thing
05:21:56 -!- shikhout has quit (Ping timeout: 272 seconds).
05:23:44 <NSSgeo> I have another non-naming complaint about Objective-C that I didn't air here, even the tutorial complained... getting hte value of an NSNumber* in order to do multiplication
05:23:55 <NSSgeo> But names can be important
05:24:04 <NSSgeo> [NSString stringWithFormat: @"%@ %@", firstName, lastName];
05:24:17 <NSSgeo> Is that true varargs, or a trick with , to make some sort of tuple-like thing?
05:24:30 <Bike> smalltalk has varargs doesn't it
05:25:05 <NSSgeo> I would say no. Although it does support apply-like functionality
05:25:08 <NSSgeo> I think
05:28:22 <zzo38> I don't know a lot of Objective-C stuff, but I know that it is a strict superset of C, so any C program will work just fine in Objective-C. I believe iPhone programs have to be in Objective-C; therefore C programs can be used too. Also, GCC can compile Objective-C programs, so it doesn't have to be used with Apple, if you have any other uses for it.
05:28:48 <madbr> irl it's an apple vendor lock in
05:28:51 <madbr> imho
05:29:06 <madbr> basically it's used nowhere else
05:29:42 <madbr> as in, good luck porting that to win32 or android
05:29:51 <zzo38> Well, you can still write C programs, and write the platform-specific stuff in Objective-C for Apple, and then the rest of the C stuff can still be used on normal C platforms.
05:30:12 <lifthrasiir> NSSgeo: it's a vararg afaik. in fact, objc_msgSend *always* works with the varargs.
05:31:15 <NSSgeo> lifthrasiir: interesting
05:41:44 <NSSgeo> Yay lambdas
05:44:11 <NSSgeo> .NET has a stereotype of being mainly Windows, doesn't it? But apparently some Linux programs use it
05:47:02 <zzo38> So, I think it isn't a vendor lock since you can write the program in C.
05:52:48 <NSSgeo> There are also APIs which I assume you generally have to call via Objective-C non-C code
05:53:07 <NSSgeo> Those APIs, even if you can use C syntax to call, are vendor lock-in
05:53:09 -!- tromp_ has joined.
05:54:21 <zzo38> Yes, some APIs may be, although the general program logic doesn't have to be. However, some APIs may be such a case with any vendor system. You can still use conditional compilation and so on, which can be useful with other C programs too.
05:58:01 -!- tromp_ has quit (Ping timeout: 272 seconds).
06:04:02 -!- copumpkin has quit.
06:04:59 -!- copumpkin has joined.
06:09:58 <NSSgeo> Apparently people love Cocoa
06:10:43 <madbr> it is good for making hot chocolate
06:14:22 -!- fungot has quit (Ping timeout: 250 seconds).
06:14:44 -!- fizzie has quit (Ping timeout: 260 seconds).
06:26:32 <zzo38> Is it possible that from a system of square Wang tiles you can make an equivalent system of triangular Wang tiles if you add more colors?
06:30:22 <sebbu> NSSgeo, objective-c has a stereotype of being mainly MacOS, but some linux / programs use it too
06:30:25 <sebbu> (GNUStep)
06:30:45 <sebbu> it even has some cocoa-compatible library, although a little old
06:30:57 <sebbu> linux / windows*
06:33:20 <zzo38> sebbu: So, now we can see that it isn't Apple only. That doesn't have to do with the points I made though, which are unrelated. I was talking about programs that have some Objective-C stuff; now you can see that even mainly Objective-C programs can sometimes be used on non-Apple systems too.
06:34:31 <zzo38> (I still like to use C though, rather than Objective-C)
06:35:33 <zzo38> But still I like it that it can still be used with C programs, unlike with C++ which doesn't quite do that.
06:36:00 <Taneb> ...I am awake reasonably early for once
06:42:38 -!- shikhin has joined.
06:48:28 -!- fizzie has joined.
06:48:38 -!- fizzie has quit (Changing host).
06:48:38 -!- fizzie has joined.
06:58:46 -!- brandonson has quit (Quit: WeeChat 0.4.3-dev).
07:00:17 -!- shikhin has quit (Remote host closed the connection).
07:03:35 <sebbu> zzo38, well, I already compiled objective-c + cocoa code under windows
07:03:57 <sebbu> sure, it wasn't some new, high-end software
07:04:14 <sebbu> the cocoa lib in macos(x)/ios has evolved a lot
07:04:23 <sebbu> that'll be the main point of incompatibility
07:04:24 -!- shikhin has joined.
07:08:52 -!- AndoDaan has quit (Ping timeout: 240 seconds).
07:33:23 <mroman_> !blsq 640 1024?*
07:33:24 <blsqbot> Ain't nobody got time fo' dat!
07:33:26 <mroman_> !blsq 640 1024?*
07:33:26 <blsqbot> 655360
07:33:32 <mroman_> !blsq 640 1024?*l2
07:33:32 <blsqbot> 19.321928094887365
07:34:43 <mroman_> > 2^10
07:34:45 <mroman_> > 2^19
07:34:45 <lambdabot> 1024
07:34:47 <lambdabot> 524288
07:35:11 <mroman_> hm
07:36:49 <mroman_> > 2^24
07:36:51 <lambdabot> 16777216
07:36:59 <mroman_> that's 16MB
07:37:01 <mroman_> ok
07:40:10 -!- Patashu has joined.
07:40:50 <mroman_> So
07:41:17 <mroman_> 24bit addresses
07:50:12 -!- madbr has quit (Quit: Pics or it didn't happen).
07:52:36 <mroman_> why do some old CPUs have 32bit registers but 24bit addresses?
07:52:40 <mroman_> to save 8 lines?
07:58:27 -!- conehead has quit (Quit: Computer has gone to sleep).
08:02:14 <mroman_> "critical applications still rely on old platforms" such as PDP/11
08:02:16 <mroman_> good grief
08:27:26 -!- fungot has joined.
08:28:01 <mroman_> fungot: welcome back
08:28:02 <fungot> mroman_: i don't know enough about darcs to advocate features arch has over it... he basically used cps in scheme and write in some parenthesized variant of c which are now all run on vm's, don't they?
08:28:19 <mroman_> fungot: everything is a VM today, yes
08:28:19 <fungot> mroman_: actually more like 2. hit on to induce to engage in such activities.
08:28:31 <mroman_> fungot: two vms?
08:28:32 <fungot> mroman_: what are the constraints, " number at ( x, x y
08:32:33 <mroman_> > (2^24) / (2^10)
08:32:35 <lambdabot> 16384.0
08:32:50 <mroman_> > (((2^24) / (2^10))*4)/1024
08:32:52 <lambdabot> 64.0
08:32:58 -!- FreeFull has quit.
08:33:01 <mroman_> too much
08:33:08 <mroman_> > (((2^24) / (2^16))*4)/1024
08:33:10 <lambdabot> 1.0
08:33:23 <mroman_> > (((2^24) / (2^12))*4)/1024
08:33:25 <lambdabot> 16.0
08:33:41 <mroman_> > (2^12)/1024
08:33:42 <lambdabot> 4.0
08:33:52 <mroman_> > (((2^24) / (2^14))*4)/1024
08:33:53 <lambdabot> 4.0
08:34:02 <mroman_> hm
08:34:05 <mroman_> this could be hard
08:34:26 <mroman_> > (2^14)/1024
08:34:28 <lambdabot> 16.0
08:34:39 <mroman_> A page is 16kb and a page table is 4kb
08:35:02 <mroman_> meh. why not
08:36:13 <mroman_> oh wait
08:36:14 <mroman_> no
08:36:41 <mroman_> wait. yes
08:37:45 <fizzie> x86-64 has 64-bit reigsters and 48-bit virtual addresses, presumably to save in the chip area cost of address-translation logic + number of levels in the page tables.
08:39:27 <fizzie> "Reigster", must be some sort of a title.
08:39:45 <fizzie> The reigning reigster.
08:39:46 <mroman_> Motorola 68k has 32bit arithmetic register and 24bit addressing
08:43:03 <fizzie> The eZ80 is mostly 8-bit and has 24-bit addressing. (Though it admittedly does have a 24-bit ALU; it basically just makes the 16-bit register pairs of Z80 24 bits wide.)
08:43:37 <fizzie> (You can't address the upper bytes separately as an 8-bit register or anything.)
08:58:52 -!- shikhin has quit (Ping timeout: 240 seconds).
09:02:52 <fizzie> "uhhuh mr chairman you anything [laugh] yeah okay"
09:03:09 <fizzie> I just fungot-style generated some sentences from a (giant) meeting corpus language model.
09:04:05 <mroman_> ^styles
09:04:09 <mroman_> ^style
09:04:09 <fungot> Available: agora alice c64 ct darwin discworld enron europarl* ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
09:04:15 <mroman_> ^style c64
09:04:15 <fungot> Selected style: c64 (C64 programming material)
09:04:22 <mroman_> fungot: say something
09:04:22 <fungot> mroman_: bit bit when a gosub, the
09:04:51 <shachaf> Mysteriously I can ping a google.com IP but not 8.8.8.8 or 4.2.2.2 or 208.67.222.222 (and DNS isn't working, of course). My mosh sessions are also still alive. I wonder what could be going on.
09:05:02 -!- AnotherTest has joined.
09:05:04 <fizzie> "Bit bit when a gosub", it's like a song.
09:05:22 <mroman_> you got DNS blocked!
09:05:36 <mroman_> you know they have to block alternative DNS-Servers
09:06:00 <mroman_> because with alternative DNS-Servers you can undermine state-ordered DNS bans
09:06:23 <shachaf> Oh, it's back.
09:06:31 <shachaf> It was this way for a few minutes at least.
09:06:58 <mroman_> in the near future only DNS servers certified by the state may be used
09:08:51 <myname> mroman_: at some point, google will buy a piece of land and shadowrun will become reality
09:10:11 -!- shikhin has joined.
09:10:35 -!- shikhin has quit (Read error: Connection reset by peer).
09:15:07 -!- aretecode has quit (Ping timeout: 244 seconds).
09:15:12 -!- shikhin has joined.
09:16:17 -!- shikhin has quit (Read error: Connection reset by peer).
09:18:13 -!- aretecode has joined.
09:19:26 -!- skarn has quit (Ping timeout: 272 seconds).
09:20:17 -!- shikhin has joined.
09:20:28 <mroman_> `unicode SINGLE LEFT-POINTING ANGLE QUOTATION MARK
09:20:29 <HackEgo> ​‹
09:20:52 <mroman_> `unicode SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
09:20:52 <HackEgo> ​›
09:22:49 <fizzie> `unicode DOUBLE LEFT-POINTING ANGLE QUOTATION MARK
09:22:50 <HackEgo> No output.
09:22:52 <fizzie> Aw.
09:22:58 <mroman_> `unidecode ≺
09:22:59 <HackEgo> ​[U+227A PRECEDES]
09:23:17 <b_jonas> fizzie: are there 24-bit long memory load and store instructions for those registers too?
09:23:26 <fizzie> `unicode LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
09:23:27 <HackEgo> ​«
09:23:44 <fizzie> Why is it "SINGLE LEFT-POINTING ANGLE QUOTATION MARK" but "LEFT-POINTING DOUBLE ANGLE QUOTATION MARK"?
09:23:49 <shachaf> `` ls -l bin/icode
09:23:49 <HackEgo> lrwxrwxrwx 1 5000 0 9 Sep 12 13:29 bin/icode -> unidecode
09:24:14 -!- skarn has joined.
09:25:37 <mroman_> `unidecode <
09:25:38 <HackEgo> ​[U+003C LESS-THAN SIGN]
09:25:38 <fizzie> b_jonas: Yes. Though they're not really separate instructions, it's just a processor mode whether it does 16 or 24.
09:25:48 <mroman_> `unidecode <
09:25:49 <HackEgo> ​[U+003C LESS-THAN SIGN]
09:25:50 <b_jonas> I see
09:25:52 <mroman_> hm
09:26:01 <fizzie> Oh, I guess there are some suffixes.
09:26:16 <fizzie> So maybe that translates to prefix bytes to temporarily override the mode, I'm not too familiar with the thing.
09:27:30 -!- shikhin has quit (Read error: Connection reset by peer).
09:28:15 -!- shikhin has joined.
09:28:52 <fizzie> Fun fact: eZ80 has as an officially documented feature the same thing that Z80 did undocumentedly, which is to let you access the low/high bytes of the index registers IX, IY as individual 8-bit registers IXH, IXL, IYH, IYL.
09:29:30 -!- shikhin has quit (Read error: Connection reset by peer).
09:31:25 <b_jonas> nice
09:31:40 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
09:31:59 <b_jonas> it sounds like alien if it has 3 byte long integers and read/writes for them. are they really 3 byte long writes, not 4 byte?
09:32:16 <b_jonas> and the registers are 3 byte long too?
09:32:25 <b_jonas> I can't imagine that these days.
09:33:38 -!- Phantom_Hoover has joined.
09:33:38 -!- Phantom_Hoover has quit (Changing host).
09:33:38 -!- Phantom_Hoover has joined.
09:33:52 <mroman_> `unidecode <
09:33:53 <HackEgo> ​[U+FF1C FULLWIDTH LESS-THAN SIGN]
09:33:54 <mroman_> hoho
09:34:09 <mroman_> <b>I'm BOLD!
09:35:52 <fizzie> That's what the manual claims.
09:36:57 <fizzie> "In ADL mode, all addresses and data are 24 bits. All data READ and WRITE operations pass 3 bytes of data to and from the CPU when operating in ADL mode (as opposed to only 2 bytes of data while in Z80 mode operation)."
09:37:39 <mroman_> ≺span≻hehe≺/span≻
09:38:11 <b_jonas> I see
09:38:14 <mroman_> It's called html injection over stuff that replaces similar looking stuff with ASCII stuff
09:38:41 <b_jonas> and are there 16 bit load, store, compare instructions available in that mode?
09:38:41 <fizzie> The Motorola DSP56k is also very 24-bit, but I guess "DSPs Are Different".
09:38:45 -!- shikhin has joined.
09:39:21 <fizzie> It's not byte-addressable, anyway, so having an odd number might not be much of a difficulty.
09:39:31 <b_jonas> fizzie: exactly
09:40:29 <mroman_> It's also useful in forums that filter out html-tags but you wan't to show somebody how to do stuff in HTML
09:40:38 <fizzie> I don't know what eZ80 C implementations do, or whether there are many/any. SDCC doesn't target it.
09:41:23 <fizzie> Zilog has something, it seems.
09:42:58 -!- shikhin has quit (Read error: Connection reset by peer).
09:43:54 <mroman_>
09:43:55 <fizzie> "I swear on my mothers grave, to god and the great turtle that carries the earth that Zilog has not release a single stable, reliable and consistent compiler for at least eight years by now - I've used them for the past 6 years, and my colleagues have told me many similar stories of the even earlier ones." (Zilog's support forum posting)
09:44:25 -!- shikhin has joined.
09:44:46 <fizzie> "Please, I'm on my knees here and the mental health of our entire development force is on the verge of collapse.
09:44:49 <fizzie> We need working software, we needed it 5 years ago, things went critical a long time ago and has only been getting worse ever since."
09:44:52 <fizzie> Very emotional.
09:45:05 <mroman_> > (⟍c -> c) $ 5
09:45:07 <lambdabot> <hint>:1:2: lexical error at character '\10189'
09:45:21 <fizzie> This post was 2 years, 7 months ago, and received no replies.
09:46:21 <mroman_> `unidecode ⧦
09:46:21 <HackEgo> ​[U+29E6 GLEICH STARK]
09:46:27 <mroman_> why the hell is this in German?
09:46:27 -!- shikhin has quit (Read error: Connection reset by peer).
09:48:55 <mroman_> @define let (⩵) = (==)
09:48:55 <lambdabot> Parse failed: Parse error: EOF
09:49:01 <mroman_> ?
09:49:08 <mroman_> @let (⩵) = (==)
09:49:10 <lambdabot> Defined.
09:49:13 <mroman_> ah
09:49:20 <mroman_> > 5 ⩵ 5
09:49:22 <lambdabot> True
09:49:26 -!- shikhin has joined.
09:50:10 <fizzie> > (\x → x ∷ Int) 42 -- it does *some* Unicode out of the box; sadly, AIUI λ counts as an alphabetic character.
09:50:12 <lambdabot> 42
09:51:12 <mroman_> There's even ⩶
09:51:27 <mroman_> but my terminal doesn't correctly display three nor two consecutive equals signs
09:51:34 <mroman_> ⩶f
09:51:50 <mroman_> ^- that f is displayed IN the three consecutive equals signs
09:52:57 <fizzie> I just get a rectangle. :/
09:53:47 <mroman_> > ∞
09:53:49 <lambdabot> <hint>:1:1: parse error on input ‘∞’
09:53:55 <mroman_> @let ∞ = Infinity
09:53:55 <lambdabot> Plugin `eval' failed with: Enum.toEnum{Word8}: tag (8734) is outside of bounds (0,255)
09:54:05 <mroman_> hu
09:54:09 <mroman_> oh wait
09:54:24 <mroman_> @let (∞) = Infinity
09:54:27 <lambdabot> .L.hs:183:7: Not in scope: data constructor ‘Infinity’
09:54:33 <mroman_> not?
09:54:36 <mroman_> > 1/0
09:54:38 <lambdabot> Infinity
09:54:43 <mroman_> @let (∞) = 1/0
09:54:44 <lambdabot> Defined.
09:54:50 <mroman_> > ∞
09:54:52 <lambdabot> <hint>:1:1: parse error on input ‘∞’
09:55:02 <mroman_> > (∞)
09:55:05 <lambdabot> Infinity
09:55:06 <mroman_> wth
09:55:21 <fizzie> It's an operator, I guess.
09:56:11 -!- shikhin has quit (Read error: Connection reset by peer).
09:57:17 <fizzie> `unicode ∞
09:57:19 <HackEgo> U+221E INFINITY \ UTF-8: e2 88 9e UTF-16BE: 221e Decimal: &#8734; \ ∞ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals)
09:57:20 -!- shikhin has joined.
09:57:25 <fizzie> See, category: symbol.
09:57:30 -!- shikhin has quit (Read error: Connection reset by peer).
10:01:21 <fizzie> > let ℵ₀ = 1/0 in ℵ₀ -- will this make the resident mathematicians cry?
10:01:23 <lambdabot> Infinity
10:02:18 -!- shikhin has joined.
10:02:49 -!- shikhin has quit (Read error: Connection reset by peer).
10:06:38 <mroman_> so
10:06:57 <mroman_> @let ∞ = 1/0 in ∞
10:06:57 <lambdabot> Plugin `eval' failed with: Enum.toEnum{Word8}: tag (8734) is outside of bounds (0,255)
10:07:12 <mroman_> this sucks
10:07:19 -!- shikhin has joined.
10:07:22 <mroman_> ∞ is cleary a Constant of some sort and not an operator
10:08:12 <mroman_> `unicode π
10:08:13 <HackEgo> U+03C0 GREEK SMALL LETTER PI \ UTF-8: cf 80 UTF-16BE: 03c0 Decimal: &#960; \ π (Π) \ Uppercase: U+03A0 \ Category: Ll (Letter, Lowercase) \ Bidi: L (Left-to-Right)
10:08:21 <mroman_> > pi
10:08:22 <lambdabot> 3.141592653589793
10:08:26 <fizzie> That's a letter, that will work fine.
10:08:31 <mroman_> @let π = pi
10:08:34 <lambdabot> Defined.
10:08:35 <mroman_> > π
10:08:37 <lambdabot> 3.141592653589793
10:08:38 <mroman_> yep.
10:10:52 <fizzie> @let type ℕ = Integer
10:10:53 <lambdabot> Defined.
10:11:06 <fizzie> > read "42" ∷ ℕ
10:11:08 <lambdabot> 42
10:11:10 <fizzie> So fancy.
10:11:28 <mroman_> It's called Haskell/APL
10:11:30 <fizzie> Whoops, that should've been ℤ.
10:11:40 -!- shikhin has quit (Read error: Connection reset by peer).
10:11:43 <fizzie> I guess there's still no undef that wouldn't wipe out everything at once.
10:11:54 <mroman_> can you redef?
10:12:00 <mroman_> @let type ℕ = Integer
10:12:01 <lambdabot> .L.hs:188:1:
10:12:01 <lambdabot> Multiple declarations of ‘ℕ’
10:12:01 <lambdabot> Declared at: .L.hs:186:1
10:12:01 <lambdabot> .L.hs:188:1
10:12:06 <mroman_> I guess not
10:17:16 -!- shikhin has joined.
10:18:36 <b_jonas> I think you can redeclare values, not tycons
10:25:20 -!- shikhin has quit (Read error: Connection reset by peer).
10:26:16 -!- shikhin has joined.
10:27:43 -!- shikhin has quit (Read error: Connection reset by peer).
10:29:09 -!- oerjan has joined.
10:31:17 -!- shikhin has joined.
10:31:42 -!- shikhin has quit (Read error: Connection reset by peer).
10:36:12 -!- boily has joined.
10:36:21 -!- shikhin has joined.
10:36:51 -!- shikhin has quit (Read error: Connection reset by peer).
10:39:20 <mroman_> vittu!
10:39:35 <fizzie> Such language.
10:39:47 <mroman_> yeah
10:39:51 <mroman_> very wow
10:41:25 -!- shikhin has joined.
10:41:30 -!- shikhin has quit (Read error: Connection reset by peer).
10:46:28 -!- shikhin has joined.
10:46:28 -!- shikhin has quit (Read error: Connection reset by peer).
10:56:06 <boily> for once it wasn't even fungot who said the v-word.
10:56:06 <fungot> boily: 3) load the timer latch, while attenuating at the first byte to it whenever you are happy with your computer with the get statement to add some special screen editing capabilities. the
10:56:36 -!- shikhin has joined.
10:57:19 <oerjan> @tell zzo38 <zzo38> Is it possible that from a system of square Wang tiles you can make an equivalent system of triangular Wang tiles if you add more colors? <-- it seems to me you could just split each square along the diagonal and give the diagonal edges a unique color for each original square
10:57:19 <lambdabot> Consider it noted.
10:58:43 -!- shikhin has quit (Read error: Connection reset by peer).
11:01:35 -!- shikhin has joined.
11:01:42 -!- shikhin has quit (Read error: Connection reset by peer).
11:02:59 <fizzie> oerjan: But wouldn't that be SO BORING.
11:03:47 <oerjan> OKAY
11:06:41 -!- shikhin has joined.
11:07:09 -!- LordCreepity has joined.
11:11:04 -!- skarn has quit (*.net *.split).
11:11:05 -!- 16WAAR95O has quit (*.net *.split).
11:11:05 -!- tromp has quit (*.net *.split).
11:11:05 -!- aloril has quit (*.net *.split).
11:11:31 -!- heroux_ has joined.
11:11:32 -!- tromp has joined.
11:12:04 -!- aloril has joined.
11:14:05 -!- shikhin has quit (Read error: Connection reset by peer).
11:14:40 -!- shikhin has joined.
11:16:02 -!- shikhin has quit (Read error: Connection reset by peer).
11:16:22 -!- skarn has joined.
11:19:35 -!- FreeFull has joined.
11:19:42 -!- shikhin has joined.
11:21:16 -!- boily has quit (Quit: MAGICAL LYRICAL CHICKEN).
11:26:15 <mroman_> fizzie: Aren't you the finn who doesn't speak finnish?
11:27:21 <oerjan> @help define
11:27:22 <lambdabot> let <x> = <e>. Add a binding
11:27:35 <oerjan> ic
11:27:54 <oerjan> that's shachaf, and his finnishness is fractional.
11:28:21 <mroman_> ah. right
11:28:27 <mroman_> I gotta make me a list
11:28:43 <mroman_> of people I can annoy with questions about finnish
11:28:52 <mroman_> `cat finns
11:28:52 <HackEgo> cat: finns: No such file or directory
11:28:55 <mroman_> hm
11:29:40 -!- shikhin has quit (Read error: Connection reset by peer).
11:30:42 -!- shikhin has joined.
11:31:24 -!- shikhin has quit (Read error: Connection reset by peer).
11:31:34 <oerjan> mroman_: the top/current directory of HackEgo is not the place we put most long-time stuff.
11:32:14 <oerjan> we occasionally purge it of junk
11:35:44 -!- shikhin has joined.
11:39:42 -!- shikhin has quit (Read error: Connection reset by peer).
11:41:02 -!- shikhin has joined.
11:41:17 -!- shikhin has quit (Read error: Connection reset by peer).
11:42:00 -!- yorick has quit (Remote host closed the connection).
11:46:09 -!- shikhin has joined.
11:46:31 <oerjan> @let x = "test"
11:46:34 <lambdabot> Defined.
11:46:36 <oerjan> > x
11:46:38 <lambdabot> Ambiguous occurrence ‘x’
11:46:38 <lambdabot> It could refer to either ‘L.x’, defined at L.hs:187:1
11:46:38 <lambdabot> or ‘Debug.SimpleReflect.Vars.x’,
11:46:38 <lambdabot> imported from ‘Debug.SimpleReflect’ at L.hs:119:1-26
11:46:38 <lambdabot> (and originally defined in ‘simple-reflect-0.3.2:De...
11:46:55 <oerjan> @let x = "test2"
11:46:56 <lambdabot> .L.hs:188:1:
11:46:56 <lambdabot> Multiple declarations of ‘x’
11:46:56 <lambdabot> Declared at: .L.hs:187:1
11:46:56 <lambdabot> .L.hs:188:1
11:47:08 -!- shikhin has quit (Read error: Connection reset by peer).
11:47:10 <oerjan> <b_jonas> I think you can redeclare values, not tycons <-- nope
11:49:12 <b_jonas> hmm
11:49:13 <b_jonas> ok
11:51:12 -!- shikhin has joined.
11:51:47 -!- yorick has joined.
12:00:21 -!- Patashu has quit (Ping timeout: 272 seconds).
12:01:27 -!- shikhin has quit (Read error: Connection reset by peer).
12:02:11 -!- shikhin has joined.
12:02:28 -!- shikhin has quit (Read error: Connection reset by peer).
12:02:53 <HackEgo> [wiki] [[Flow chart]] http://esolangs.org/w/index.php?diff=40589&oldid=40576 * Oerjan * (+38) wrongtitle
12:05:27 <mroman_> `ls
12:05:28 <HackEgo> ​:-( \ a.out \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dc \ dog \ etc \ factor \ head \ hej \ hello \ hello.c \ ibin \ interps \ lib \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test.c \ Wierd \ wisdom \ wisdom.pdf
12:06:04 <mroman_> something like people/swiss people/finns?
12:06:24 <mroman_> people/secretly-german-but-if-someone-asks-im-american
12:06:42 <oerjan> NOT SURE
12:07:09 -!- shikhin has joined.
12:08:24 -!- shikhin has quit (Read error: Connection reset by peer).
12:12:16 -!- shikhin has joined.
12:12:59 -!- shikhin has quit (Read error: Connection reset by peer).
12:17:22 -!- shikhin has joined.
12:17:45 -!- shikhin has quit (Read error: Connection reset by peer).
12:19:55 <mroman_> people/chuchichäschtli?
12:21:09 <HackEgo> [wiki] [[ArrayZ]] http://esolangs.org/w/index.php?diff=40590&oldid=40588 * Oerjan * (+195) some proofreading
12:21:23 <mroman_> (http://als.wikipedia.org/wiki/Chuchich%C3%A4schtli)
12:22:20 -!- shikhin has joined.
12:22:31 -!- shikhin has quit (Read error: Connection reset by peer).
12:25:11 -!- GeekDude has joined.
12:27:25 -!- shikhin has joined.
12:28:18 -!- shikhin has quit (Read error: Connection reset by peer).
12:32:27 -!- shikhin has joined.
12:33:47 -!- shikhin has quit (Read error: Connection reset by peer).
12:38:07 -!- shikhin has joined.
12:38:58 -!- LordCreepity has quit (Quit: Leaving).
12:43:53 <mroman_> `learn chuchichäschtli is spoken as ˈχʊχːiˌχæʃːtli
12:43:53 -!- shikhin has quit (Read error: Connection reset by peer).
12:43:55 <HackEgo> I knew that.
12:45:10 -!- shikhin has joined.
12:45:10 -!- shikhin has quit (Read error: Connection reset by peer).
12:50:11 -!- shikhin has joined.
12:52:52 -!- tromp_ has joined.
12:59:04 -!- shikhin has quit (Read error: Connection reset by peer).
13:00:15 -!- shikhin has joined.
13:01:22 -!- shikhin has quit (Read error: Connection reset by peer).
13:05:13 -!- shikhin has joined.
13:05:47 -!- tromp_ has quit (Remote host closed the connection).
13:13:53 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
13:14:23 -!- shikhin has quit (Read error: Connection reset by peer).
13:15:12 -!- shikhin has joined.
13:15:26 -!- shikhin has quit (Read error: Connection reset by peer).
13:22:33 <HackEgo> [wiki] [[Flow chart]] M http://esolangs.org/w/index.php?diff=40591&oldid=40589 * Ehird * (-4) righttitle
13:22:39 <elliott_> oerjan: ^ may interest
13:23:04 <elliott_> (it'll only accept arguments that are a valid link to that page when enclosed in [[]], basically; it's what {{lowercase}} uses)
13:27:25 -!- shikhin has joined.
13:29:37 -!- shikhin has quit (Read error: Connection reset by peer).
13:31:30 -!- augur has quit (Remote host closed the connection).
13:32:30 -!- shikhin has joined.
13:32:52 -!- shikhin has quit (Read error: Connection reset by peer).
13:37:34 -!- shikhin has joined.
13:45:02 -!- shikhin has quit (Read error: Connection reset by peer).
13:51:32 -!- shikhin has joined.
14:00:18 -!- shikhin has quit (Read error: Connection reset by peer).
14:00:19 -!- King2218 has joined.
14:02:45 <elliott_> "Money on the internet, be it Visa, Mastercard, Paypal or others, is not easily programmable. It necessitates authorizations from a central server and third parties take commissions. It seems unimaginable to make the above process automatic: creating a bank account that can be filled up by users and which is emptied when a condition concerning a Coq proof is met." ???????
14:03:16 <elliott_> nobody has ever made a website that allows people to contribute money to a goal which is then cashed out to someone when a condition is met
14:03:24 <elliott_> it's just not possible
14:06:37 -!- shikhin has joined.
14:07:18 -!- shikhin has quit (Read error: Connection reset by peer).
14:11:43 -!- shikhin has joined.
14:14:35 -!- shikhin has quit (Read error: Connection reset by peer).
14:15:37 <mroman_> what?
14:15:56 <mroman_> Not using Coq proofs probably
14:16:00 <mroman_> there's stuff like kickstartet though
14:16:29 <mroman_> although you have to pay the money before the condition is met
14:16:40 <oerjan> i'd have made a joke now if my brain hadn't refused to remember the word "kickstarter"
14:16:45 -!- shikhin has joined.
14:16:51 <mroman_> :D
14:22:10 <J_Arcane> elliott_: Oh man, I found that article; serious koolaid ...
14:22:47 <elliott_> I mean sure when it gets into more decentralised stuff that's something cryptocoins actually have an advantage in.
14:23:15 <elliott_> but the proof market thing is basically just... kickstarter with changed conditions.
14:24:31 <J_Arcane> Yeah. Real World bounties like that are put up all the time; IIRC there's still a prize for Fermat's.
14:25:01 <oerjan> um fermat's was solved.
14:25:10 <oerjan> or are they asking for a simpler proof
14:25:33 <J_Arcane> Naw, disregard me then, I didn't know that.
14:25:55 <oerjan> yeah it's only been nearly 20 years.
14:25:58 <elliott_> fermat's last was solved before I was born
14:27:24 <J_Arcane> I think I may have it confused with something else; or had incorrect information re: acceptance of proofs. Also I am not a mathematician. My humble apologies.
14:27:33 -!- Sprocklem has joined.
14:27:42 * elliott_ not trying to pile-on or belittle, just remarking
14:28:06 <oerjan> try https://en.wikipedia.org/wiki/Millennium_Prize_Problems hth
14:34:46 -!- augur has joined.
14:39:56 <J_Arcane> elliott_: Yeah, it's cool. My familiarity with that stuff is pretty poor.
14:44:52 -!- King2218 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
14:50:41 <mroman_> My lecturer said that all unsolved problem are equivalent to the SAT-Problem
14:50:54 <mroman_> *problems
14:52:08 <oerjan> very very vaguely maybe
14:53:18 -!- King2218 has joined.
14:53:57 <Bike> sat is solved, it's just that it takes forever
14:55:24 <oerjan> oh f
14:55:48 <Bike> if you found a correspondence between 3-sat and hilbert's 16th i would be impressed
14:56:28 <oerjan> well the idea is that you could search for proofs
14:56:54 <oerjan> but you have to assume short enough proofs exist
14:57:15 -!- shikhout has joined.
14:57:48 -!- King2218 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
14:58:01 * oerjan suddenly realizes the trick for getting A006520 down to ... well still one char too much to tie the best
14:58:45 <oerjan> ah there
15:00:30 -!- shikhin has quit (Ping timeout: 258 seconds).
15:01:14 <elliott_> mroman_: unsolved like large integer factoring or like goldbach's conjecture
15:02:02 <Bike> chemistry nobel is for microscopy, woooooooooooooo or something
15:03:18 <elliott_> "Poll: How long could you survive without income?" ask hacker news: how rich are you
15:03:21 <oerjan> did i mention the medicine nobel went to research in TRONDHEIM
15:03:38 * elliott_ waves a very, very small trondheim flag
15:04:10 <oerjan> 's ok i can use the microscopy from the chemistry nobel to see it
15:04:51 <mroman_> Maybe he meant "equivalent to all unresolved millenium prizes"
15:04:52 <mroman_> but
15:04:57 <mroman_> 3sat is not on the millenium prize list?
15:05:23 <mroman_> maybe as "P vs. NP - The Beatdown"
15:05:45 <oerjan> mroman_: i rather suspect he has only a vague idea, like that aaronson quote in the wikipedia page
15:06:08 <oerjan> mroman_: it is in a sense true that SAT would allow us to solve anything we can solve at all
15:06:47 <oerjan> *a fast algorithm for SAT
15:07:08 <oerjan> because we can use SAT to search for the solution we'd otherwise take a long time to find
15:07:24 <oerjan> but it still have to be a solution small enough
15:08:09 <oerjan> so it does not apply to unsolved problems for which there only exists a proof solution too large for humanity to test
15:08:32 <oerjan> and it also does not apply to unsolved problems with no solution at all, as long as we put no bound on its size.
15:10:48 <Bike> sometimes solving a problem means more than a yes or no proof, it's kind of a broad thing to ask for
15:11:42 <oerjan> i'm leaving my old solution up so fizzie can see what i did, because i think it's still elegant even if the trick everyone found is shorter
15:14:44 <oerjan> ok now the only golf i haven't either seen or cracked the trick of is the POCKET one
15:18:42 -!- aretecode has quit (Quit: Toodaloo).
15:21:58 <mroman_> in Haskell?
15:23:07 <oerjan> yes
15:24:14 <oerjan> well of the recent open ones
15:24:21 <mroman_> ha
15:24:29 <mroman_> I have 38B for POCKET
15:24:33 <mroman_> in Haskell
15:24:48 <mroman_> pretty easy and straightforward actually
15:24:53 <oerjan> most do
15:25:49 <oerjan> ok the thing is, my solution so far that doesn't cheat too much has 39
15:28:01 <oerjan> it does the totally obvious thing.
15:29:02 <mroman_> not obvious enough if it's 39
15:29:24 <mroman_> Do you have a == in your code?
15:29:30 <oerjan> no.
15:29:33 <mroman_> ok
15:29:34 <mroman_> good
15:29:42 -!- copumpkin has quit (Ping timeout: 244 seconds).
15:29:45 <mroman_> a '\v'?
15:30:04 <oerjan> ...why would i want a '\v'
15:30:29 <mroman_> well I can construct easily a 39B solution by replacing something with '\v' instead
15:30:32 <mroman_> it would still work
15:30:35 <oerjan> > ord '\v'
15:30:37 <lambdabot> 11
15:30:57 <mroman_> but '@' is shorter than '\v' for that purpose
15:31:29 <oerjan> sheesh
15:31:48 <oerjan> my 39 b solution is much more obvious than that hth
15:31:55 <mroman_> really?
15:32:03 <mroman_> hm
15:32:04 <mroman_> weird
15:32:06 <oerjan> it's like the thing you'd do if you weren't trying to golf at all
15:32:13 <mroman_> using isLower?
15:32:30 <oerjan> isLower isn't a Prelude function.
15:32:45 <elliott_> oerjan: couldn't you use SAT to search for a proof that a solution exists?
15:32:51 <elliott_> in the case that any solution would be too big to check.
15:33:02 <mroman_> I have a 55B solution with import Data.Char
15:33:02 <elliott_> if not even _that_ fits in human sizes, then we'd never solve it anyway.
15:33:03 <mroman_> :D
15:33:15 <mroman_> oh wait
15:33:18 <oerjan> elliott_: um a proof that a proof exists counts as a proof
15:33:19 <mroman_> I think I know
15:33:42 <elliott_> oerjan: well I meant it sounded like you'd use SAT to find solutions to some criteria where the question is whether any such thing exists
15:33:52 <elliott_> and you said that wouldn't work if any such things would be far too big.
15:33:57 <tromp> what is the specification of the problem you're golfing?
15:34:09 <elliott_> but you could just search for a proof that such a solution exists, instead. since that's what humans would be doing anyway.
15:34:15 <mroman_> oh well I have a 43B solution as well
15:34:15 <oerjan> elliott_: there may be problems whose proofs are bigger than the size of the universe
15:34:16 <elliott_> possibly I completely misinterpreted you.
15:34:28 <oerjan> _shortest_ proofs
15:34:31 <elliott_> oerjan: right. in which case it doesn't matter if they're on the millenium prize list or not, because we will never solve them
15:34:43 <oerjan> in fact there's a theorem that such things exist.
15:34:47 <elliott_> of course
15:35:29 <mroman_> 42B
15:35:34 <mroman_> but this approach sucks
15:35:35 <mroman_> I guess
15:36:20 <oerjan> ok i got 38 by blatantly cheating.
15:36:32 <Taneb> Help I have bought a Haskell-relevant domain name
15:37:08 <Bike> use it for a snobol fansite
15:37:12 <int-e> hmm. that reminds me of http://foldl.com/ and http://foldr.com/
15:37:57 <mroman_> there's no such thing as cheating on anagol
15:38:10 -!- shikhout has changed nick to shikhin.
15:44:38 <oerjan> mroman_: i think it is cheating when you make a program that doesn't work on obvious test cases that weren't included.
15:45:14 <oerjan> and i had thought that you're really supposed to append (cheating) or such if you do...
15:46:31 <oerjan> and this problem has cheating on two levels. obvious cheating is using the fact that no test case contains other capital letters.
15:46:53 <oerjan> more subtly, shouldn't the letters POCKET _really_ appear in order to be removed? :P
15:47:12 <oerjan> *in order in order
15:47:57 <oerjan> now i was trying to find a solution that only cheated on the subtle part, and that gave me 39.
15:48:24 <oerjan> (i didn't really expect anyone else to worry about that.)
15:49:30 <oerjan> then if i cheat on the first part too, 38 is easy.
15:54:47 -!- tromp_ has joined.
15:59:09 -!- tromp_ has quit (Ping timeout: 244 seconds).
16:01:16 -!- oerjan has quit (Quit: leaving).
16:04:27 -!- Sprocklem has quit (Ping timeout: 245 seconds).
16:04:41 <tromp> isLower is approximately (>'z') ?!
16:05:02 <tromp> i mean (>'Z')
16:06:59 -!- tromp_ has joined.
16:08:59 -!- tromp_ has quit (Read error: Connection reset by peer).
16:09:32 -!- tromp_ has joined.
16:09:40 -!- copumpkin has joined.
16:10:44 -!- drdanmaku has joined.
16:14:08 -!- tromp_ has quit (Ping timeout: 244 seconds).
16:23:55 <Taneb> tl;dr: I mentioned that I kind of wanted some sort of web presence to one of my friends
16:24:16 <Taneb> He suggested (as I had offered to help him Haskell earlier) I get haskellhero.uk
16:24:25 <Taneb> Now I have that and I am figuring out how the hell I set up a website
16:25:21 <dianne> what do you intend to put there...
16:26:35 <dianne> my idea: a flash guitar hero clone but with logicians instead of music
16:27:05 <zzo38> How does that work?
16:27:21 <Taneb> dianne, I will probably make it into a Haskell blog
16:28:13 <zzo38> ?messages-loud
16:28:13 <lambdabot> oerjan said 5h 30m 54s ago: <zzo38> Is it possible that from a system of square Wang tiles you can make an equivalent system of triangular Wang tiles if you add more colors? <-- it seems to me you could just split each square along the diagonal and give the diagonal edges a unique color for each original square
16:28:32 <zzo38> oerjan: It is also what I thought, to.
16:35:12 -!- augur has quit (Remote host closed the connection).
16:35:37 -!- tromp_ has joined.
16:36:07 -!- augur has joined.
16:40:10 -!- tromp_ has quit (Ping timeout: 258 seconds).
16:49:56 -!- NSSgeo has quit (Read error: Connection reset by peer).
16:51:58 -!- Sgeo has joined.
16:55:33 -!- copumpkin has quit (Ping timeout: 260 seconds).
17:04:17 -!- teuchter has quit (Read error: Connection reset by peer).
17:05:38 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
17:06:20 -!- copumpkin has joined.
17:09:23 -!- augur has quit (Remote host closed the connection).
17:14:42 -!- Gumby has joined.
17:18:52 -!- Gumby has quit (Quit: Leaving).
17:19:19 -!- Sgeo has quit (Read error: Connection reset by peer).
17:24:48 <Taneb> Trivia: I am not very good at things
17:28:18 * coppro is currently in a passive-aggressive nick fight with someone
17:28:35 <coppro> I own Cu (because copper, get it?), and this person does not seem to understand how nickserv works.
17:28:48 * coppro keeps ghosting em
17:29:30 -!- augur has joined.
17:29:38 -!- coppro has changed nick to Cu.
17:39:41 -!- MoALTz has joined.
17:40:48 -!- zzo38 has quit (Remote host closed the connection).
17:42:45 -!- shikhin has quit (Ping timeout: 246 seconds).
17:47:26 -!- shikhin has joined.
18:00:25 -!- Sprocklem has joined.
18:02:49 <Gregor> Cu: I have occasionally been known to m̶u̶r̶d̶e̶r̶ ghost pretenders to the Gregor name.
18:04:47 <Gregor> -NickServ- Last addr : dlopen@libdl.so
18:04:49 <Gregor> Hahaha I love me.
18:05:33 <elliott_> those striked out letters get dsisplayed in a different, noticeably bigger font here.
18:05:36 <elliott_> it's quite the effect.
18:06:20 -!- Sprocklem has quit (Ping timeout: 250 seconds).
18:14:42 <Cu> Gregor: I ghosted em 5 times in as many minutes
18:36:08 -!- conehead has joined.
18:41:39 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
18:41:48 <Gregor> Cu: Maybe you should sockpuppet Cu so you don't have to have an unrecognized nick.
18:49:09 -!- Cu has changed nick to coppro.
18:49:15 <coppro> I'm hoping I held it long enough
18:49:19 <coppro> if it becomes a problem, I will
18:50:06 -!- nortti has changed nick to lawspeaker.
18:50:16 -!- lawspeaker has changed nick to nortti.
18:53:05 -!- nortti has changed nick to lawspeaker.
18:55:03 -!- GeekDude has joined.
18:55:15 -!- lawspeaker has changed nick to nortti.
19:06:04 -!- shikhin has changed nick to [.
19:06:34 -!- [ has changed nick to Guest51757.
19:06:34 -!- nortti has changed nick to ^.
19:06:46 -!- Guest51757 has changed nick to shikhin.
19:06:58 -!- ^ has changed nick to nortti.
19:07:44 -!- erdic has quit (Remote host closed the connection).
19:08:09 -!- erdic has joined.
19:23:08 <Taneb> nortti, one man play in another channel/
19:23:54 <nortti> Taneb: nah, lawspeaker is the nick I assume when untangling the law code of #osdev-offtopic
19:24:20 <nortti> and ^ was to check to see it is was available, after shikhin assumed [
19:26:39 <shikhin> :D
19:32:04 -!- nortti has changed nick to lawspeaker.
19:32:24 -!- lawspeaker has changed nick to nortti.
19:32:43 -!- Sgeo has joined.
19:36:25 -!- Bicyclidine has joined.
19:57:51 -!- Bicyclidine has quit (Ping timeout: 244 seconds).
20:00:29 -!- Bicyclidine has joined.
20:04:23 -!- Patashu has joined.
20:09:36 -!- drdanmaku has joined.
20:25:00 -!- Patashu has quit (Ping timeout: 260 seconds).
20:32:52 -!- brandonson has joined.
20:33:11 -!- augur has quit (Remote host closed the connection).
20:41:44 -!- erdic has quit (Remote host closed the connection).
20:42:10 -!- erdic has joined.
20:51:22 -!- AnotherTest has quit (Remote host closed the connection).
20:58:05 -!- shikhout has joined.
20:59:02 -!- shikhin has quit (Disconnected by services).
20:59:08 -!- shikhout has changed nick to shikhin.
21:04:02 -!- Bicyclidine has quit (Ping timeout: 245 seconds).
21:04:43 -!- AndoDaan has joined.
21:11:36 <Sgeo> https://twitter.com/securetips
21:12:17 <Taneb> How can I tell what version of glibc I have installed?
21:13:57 <fizzie> `run echo -e 'char *gnu_get_libc_version(void); \n int main(void) { puts(gnu_get_libc_version()); }' | gcc -o /tmp/x -x c - && /tmp/x
21:13:58 <HackEgo> 2.13
21:14:03 <fizzie> Straight from the horse's mouth.
21:14:14 <fizzie> (Your package manager probably knows it too.)
21:15:52 <fizzie> `run echo -e '#include <unistd.h> \n int main(void) { char buf[1024]; confstr(_CS_GNU_LIBC_VERSION, buf, sizeof buf); puts(buf); }' | gcc -o /tmp/x -x c - && /tmp/x # alternatively
21:15:53 <HackEgo> glibc 2.13
21:18:50 <Bike> suddenly want to make something where the version is a float
21:21:27 -!- Sprocklem has joined.
21:23:02 <Bike> https://twitter.com/drraid/status/451697405529165824 it hurts
21:23:14 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
21:26:52 -!- Sprocklem has quit (Ping timeout: 240 seconds).
21:28:57 <Taneb> Well, my website has a big "Under construction" on it
21:29:03 <Taneb> well, a small one, I guess
21:32:16 -!- Vorpal_ has joined.
21:35:00 -!- Vorpal has quit (Ping timeout: 260 seconds).
21:38:47 <Taneb> Now I just need to either get Hakyll working or roll a blog suite from scratch
22:06:38 -!- tromp_ has joined.
22:08:54 -!- oerjan has joined.
22:10:52 -!- tromp_ has quit (Ping timeout: 240 seconds).
22:11:08 <Taneb> I... have just given myself a sticky plaster for the first time
22:11:41 <Taneb> (I nicked my thumb while slicing some buns, just a nick, but it was annoying me)
22:11:58 <Taneb> I am simultaneously adult and very not adult at the same time
22:15:10 -!- AndoDaan has quit (Ping timeout: 276 seconds).
22:15:40 <oerjan> <Taneb> Now I have that and I am figuring out how the hell I set up a website <-- you realize you're now obligated to do it with haskell right?
22:16:20 <Taneb> oerjan, already on it
22:16:26 <oerjan> good, good
22:16:48 <Taneb> The current placeholder uses Happstack to serve a static, one-page, next-to-no-content site
22:18:03 <oerjan> which means your website is _already_ fancier than mine, in some sense.
22:25:55 <oerjan> `cc char *gnu_get_libc_version(void); \n int main(void) { puts(gnu_get_libc_version()); }
22:25:56 <HackEgo> 2.13
22:26:06 <oerjan> fizzie: ^
22:26:25 <shachaf> Taneb: whoa, you can get domains directly under .uk
22:27:42 <Taneb> shachaf, apparently
22:27:46 <Taneb> I have one
22:29:06 <shachaf> why would you use haskell to make a website
22:29:52 <Taneb> shachaf, because with that url it'd be a waste not to
22:31:32 -!- dianne has quit (Ping timeout: 245 seconds).
22:35:13 -!- dianne has joined.
22:37:05 -!- tromp_ has joined.
22:43:18 -!- Phantom_Hoover has joined.
22:49:01 <Sgeo> "Heartbleed is the first real example of being able to download more RAM. "
22:51:40 <Taneb> Sgeo, explanation/
22:51:45 <Taneb> ?
22:52:15 <Sgeo> Heartbleed allows attackers to download data pseudorandomly from a server's memory, iiuc
22:52:28 <Sgeo> Also, @SecureTips is the best twitter account ever
22:59:31 -!- LordCreepity has joined.
23:03:11 -!- GeekDude has joined.
23:06:33 <Sgeo> "Make sure to initialize memset before using it: memset(&memset, 0, sizeof(memset));"
23:06:44 <Sgeo> Will that actually overrwite the memset function?
23:07:41 <Melvar> Probably the relevant memory page will not be writable even if it will try to.
23:09:15 <shachaf> It's almost certainly undefined behavior.
23:09:38 -!- Bicyclidine has joined.
23:17:05 -!- LordCreepity has quit (Read error: Connection reset by peer).
23:18:43 <pikhq> It's not just undefined behavior, it's *incredibly* undefined behavior.
23:19:03 <Bicyclidine> in bed!
23:19:13 <pikhq> C does not require a Von Neumann architecture at all.
23:19:44 <Bicyclidine> good thing too, i've been using it on a harvard microcontroller
23:20:01 <pikhq> To the point that merely casting a function pointer to a void pointer is UB.
23:20:12 <elliott_> so has anyone ever dd'd some data in tmpfs to an unused part of an active swap partition, and then deleted the original (so you have enough memory free) so you can disable the swap (and get the data back by dd'ing from the block device)
23:20:19 -!- mihow has quit (Quit: mihow).
23:20:21 <elliott_> because somehow this actually worked
23:20:39 -!- LordCreepity has joined.
23:21:07 <pikhq> Jesus christ that's crazy.
23:21:29 <elliott_> this is what happens when you're like "well, I guess I can just use the entire 500 gigabyte drive as swap for now"
23:21:46 <LordCreepity> ...
23:22:49 <LordCreepity> why would you do that
23:23:00 <elliott_> so I could partition the disk, duh
23:23:06 <elliott_> can't do that when you're using it as swap
23:24:40 <LordCreepity> i just came in
23:24:46 <LordCreepity> read what i could see
23:25:11 <elliott_> it's ok, the context makes it less reasonable
23:25:17 <elliott_> but there are logs in the topic if you want to know the context.
23:26:16 <elliott_> the additional fun is partitioning the disk *without* disturbing the data, so you can then activate the /new/ swap, and dd the data back into tmpfs
23:26:19 <oerjan> #esoteric, the channel where you cannot assume that knowing the context of a statement makes it _less_ crazy
23:26:25 <elliott_> haven't quite gotten to that part yet, we'll see
23:26:50 <Bicyclidine> hack the MMU to have it repartition the drive when you need more swap
23:26:55 <pikhq> Least you're not also switching partitioning schemes.
23:27:03 <pikhq> MBR to GPT is probably a pain.
23:27:12 <LordCreepity> lol, oerjan
23:27:28 <elliott_> pikhq: I think gdisk can do that conversion?
23:27:51 <pikhq> Can it? Hrm. I'd hate to see the code for it.
23:28:28 <pikhq> It's either going to be filesystem-specific or rather slow and painful to do.
23:29:02 <elliott_> for those following along at home, the data is actually a custom-made linux install live ISO configured to allow access via ssh, and the next step is to make a partition to hold it so I can install a syslinux that loads the ISO as a ramdisk
23:29:17 <elliott_> and then reboot, ssh in, and repartition the drive /again/, and install linux
23:29:25 <pikhq> (the GPT headers go past where an MBR partition is likely to start)
23:29:34 <Bicyclidine> have you considered becoming an actor on CSI or something
23:29:53 <Bicyclidine> "wait, if i just dd the custom live iso into swap... i'm in"
23:29:58 <elliott_> dear ISPs: if your rescue system can boot an ubuntu ISO, why not just let me give you another ISO to boot instead, it would save me so much effort
23:31:46 -!- augur has joined.
23:32:46 -!- augur has quit (Read error: Connection reset by peer).
23:32:48 <elliott_> also dear linux distros: it'd be nice if I could, like, pass an ssh public key on the kernel commandline and have your live installation media start sshd and give root that key
23:32:58 -!- augur has joined.
23:36:15 -!- boily has joined.
23:37:17 -!- dianne has quit (Ping timeout: 245 seconds).
23:37:35 <elliott_> pikhq: have you ever compiled syslinux?
23:37:47 <elliott_> you seem a likely person to ask
23:38:24 <pikhq> Y'know, I think I have.
23:38:48 <elliott_> ...was it a pain? I guess it's likely to involve toolchain fuss with all the freestandingness.
23:39:28 <pikhq> On a scale from 1 to 10, where 1 is musl and 10 is Perl cross-compiling, it's about a 2.
23:39:44 <elliott_> wow, tell me about perl cross-compilation
23:41:25 -!- dianne has joined.
23:42:30 <pikhq> You need to hand produce a config.sh, have Perl installed, and have the target you want to build for up, running, with sshd, and a reasonable toolchain.
23:43:06 <Bicyclidine> uh.
23:43:12 <pikhq> Yes, in order to *cross compile* you need to be able to *natively compile* as well.
23:43:21 <elliott_> ...why even bother cross compiling?
23:43:28 <Bicyclidine> i don't think even sbcl is that bad, and it literally compiles itself twice.
23:43:59 <pikhq> elliott_: Well, maybe you like pounding nails in your eyes.
23:44:55 <pikhq> Perl's build system is perhaps the worst to exist in a common project, BTW.
23:45:24 <pikhq> Oh yeah! Also, Perl's build system depends on Perl.
23:45:40 <Bicyclidine> i think cmucl uses self-modifying code during build, but it's hardly common
23:46:26 <pikhq> When I was doing bootstrap-linux, it was Perl that gave me the most trouble, not GCC.
23:46:41 <Bicyclidine> heh.
23:46:52 <pikhq> (note that Perl is a build dependency of Linux)
23:46:56 <pikhq> (well, was)
23:46:59 <elliott_> how far are we to vanilla kernels working with clang?
23:47:10 <elliott_> there's been stuff merged recently, right?
23:47:14 <pikhq> No idea; not checked in like a year.
←2014-10-07 2014-10-08 2014-10-09→ ↑2014 ↑all