code logs -> 2013 -> Sat, 26 Oct 2013< code.20131025.log - code.20131027.log >
--- Log opened Sat Oct 26 00:00:46 2013
00:06 You're now known as TheWatcher[T-2]
00:20 You're now known as TheWatcher[zZzZ]
00:41 Turaiel is now known as Turaiel[Offline]
00:43 Stalker [Z@Nightstar-b920a19c.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
00:48 * McMartin uploads 14K of docs to the engineering wiki
00:48
<&McMartin>
This task is long overdue~
00:49
< Harlow>
McMartin: what wiki is that? link?
00:49
<&McMartin>
Not online
00:49
<&McMartin>
Internal wiki at work
00:49
< Harlow>
ah
00:50 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
00:50
<&McMartin>
I've spent the past couple days basically reverse-engineering a legacy system from years ago that we want to either replace or evolve
00:50
<&McMartin>
Part of my task was to determine which of those was more sensible
00:50
<&McMartin>
Happily, it looks like it'll be "evolve"
01:46
<@simon`>
does anyone know of a good set of questions for the game "20 questions"?
01:55
<&ToxicFrog>
Any such set would need to be expressed as some kind of tree or knowledge->question mapping, since what questions you ask later will be informed by the answers to earlier ones.
01:55
<&ToxicFrog>
It will also be very large.
01:55
<&ToxicFrog>
That said, there are 20 questions solving programs out there that might be a good first place to look.
01:56
<&McMartin>
"Is it alive" and "Is it bigger than a breadbox" are the traditional first two questions
01:57 * simon` goes to 20q.net and plays for a while, gathering questions.
01:58
<@simon`>
McMartin, right :)
01:58
<@simon`>
actually, a student of mine provided a pretty nice version of this game in 100 lines of SML.
01:59
<@simon`>
it only guesses about 20 film characters and refuses that Harry Potter is real, but otherwise, it works quite well. (it also randomizes questions with weight on properties of possible answers that haven't been filtered out yet)
01:59 thalass [thalass@C2A270.CAA584.F46356.2B2C1C] has joined #code
02:00
<@simon`>
so... no tree structuring and no interactive learning, but to some extent smart guessing.
02:12 iospace is now known as io|drunk
02:23 thalass is now known as Thalass|werkinghonest
02:36 Thalass|werkinghonest is now known as thalass|actuallyworking
02:37
<@Alek>
http://notalwayslearning.com/the-wrong-right-answer/32524
02:41 thalass|actuallyworking [thalass@C2A270.CAA584.F46356.2B2C1C] has quit [Ping timeout: 121 seconds]
03:02 Vorntastic [Vorn@Nightstar-13771485.sub-70-211-1.myvzw.com] has joined #code
03:16 thalass|actuallyworking [thalass@C2A270.CAA584.F46356.2B2C1C] has joined #code
03:16 thalass|actuallyworking is now known as Thalass|werkinghonest
03:22
<&ToxicFrog>
I also tend to deploy "is it fictional" early on.
03:34 Thalass|werkinghonest [thalass@C2A270.CAA584.F46356.2B2C1C] has quit [[NS] Quit: time to go back to work again. IN MY PANTS]
03:37 ktemkin is now known as ktemkin[awol]
03:54 Turaiel[Offline] is now known as Turaiel
04:16
< [R]>
TF: That table in JS thing makes me think of ExtJS.
04:18 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
04:18 mode/#code [+qo Vornicus Vornicus] by ChanServ
04:19 Vorntastic [Vorn@Nightstar-13771485.sub-70-211-1.myvzw.com] has quit [[NS] Quit: Bye]
04:28
< JustBob>
Heh.
04:28
< JustBob>
So, you know that coding homework?
04:28
< JustBob>
It was 50-odd lines.
04:28
<@Alek>
?
04:29
< JustBob>
My first iteration was 200+ until it was made clear to me that it would be whitespaced values of a specific type.
04:29
< JustBob>
http://i.imgur.com/I8o7HQV.png <- That was part of my homework; it took me maaaybe an hour to write, and most of that was spent figuring out the damned format for formdata()
04:43 Kindamoody[zZz] [Kindamoody@Nightstar-05577424.tbcn.telia.com] has quit [Client exited]
04:44 Kindamoody|autojoin [Kindamoody@Nightstar-05577424.tbcn.telia.com] has joined #code
04:44 mode/#code [+o Kindamoody|autojoin] by ChanServ
04:44 Kindamoody|autojoin is now known as Kindamoody
04:44
<&ToxicFrog>
[R]: ExtJS?
05:39 celticminstrel [celticminst@Nightstar-90d86201.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:10 Turaiel is now known as Turaiel[Offline]
06:32 thalass [thalass@C2A270.CAA584.F46356.2B2C1C] has joined #code
06:48 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.]
06:51 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code
07:02 thalass [thalass@C2A270.CAA584.F46356.2B2C1C] has quit [[NS] Quit: huzzah home time!]
07:03 Derakon is now known as Derakon[AFK]
07:22 Kindamoody is now known as Kindamoody|out
07:41 ErikMesoy|sleep is now known as ErikMesoy
08:54 Harlow [Harlow@Nightstar-2dbe3d64.il.comcast.net] has quit [[NS] Quit: BED]
09:04 thalass [thalass@Nightstar-141785b5.bigpond.net.au] has joined #code
09:14 LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has joined #code
09:49 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
09:53 Alek [omegaboot@Nightstar-4093ec22.il.comcast.net] has quit [Ping timeout: 121 seconds]
09:58 Alek [omegaboot@Nightstar-4093ec22.il.comcast.net] has joined #code
09:58 mode/#code [+o Alek] by ChanServ
10:12 You're now known as TheWatcher
10:19 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
10:19 mode/#code [+o himi] by ChanServ
10:28 thalass [thalass@Nightstar-141785b5.bigpond.net.au] has quit [Ping timeout: 121 seconds]
10:53 thalass [thalass@Nightstar-141785b5.bigpond.net.au] has joined #code
11:10 Stalker [Z@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
12:05 Stalker [Z@Nightstar-b920a19c.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
13:54
<@simon`>
I'm looking for a good variable name here. I'm making an event-based server where clients can send a query, which gets delegated to a sub-process and once this sub-process returns, a response is sent to the client.
13:54
<@simon`>
I'd like to call the quantity of clients waiting for a response for a queue, but it doesn't actually behave like a queue.
13:54
<@simon`>
i.e. no FIFO
13:55
<@simon`>
what's a better name? WaitingClients?
13:56
<@Azash>
Pending?
13:57
< ErikMesoy>
Blocked?
14:03 io|drunk is now known as iospace
14:09
< thalass>
LegionBot?
14:12
< [R]>
TF: A framework that kind of mandates that sort of design, however it does give advantates (such as the user being able to sort the table [which ExtJS calls Grids] and can pageinate huge data sets, only pulling the parts currently displayed)
14:13
<@simon`>
Azash, thanks! sounds nice.
14:29 LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has quit [Ping timeout: 121 seconds]
14:29 thalass is now known as Thalass|sleeeeeeep
14:32 LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has joined #code
14:34 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
15:09 LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has quit [Ping timeout: 121 seconds]
15:34 Thalass|sleeeeeeep [thalass@Nightstar-141785b5.bigpond.net.au] has quit [Connection closed]
15:42
<&ToxicFrog>
[R]: so, the table is sortable
15:43
<&ToxicFrog>
But the actual way to do that is to render the table directly into the page, and then include the three lines of javascript that call one of our libraries to make it sortable.
15:43
< [R]>
Ah
15:43
<&ToxicFrog>
And it's not doing on-demand loading or anything, the whole dataset is loaded and displayed at once
15:43
< [R]>
Okay, so not ExtJS then (since it wants to do all the "rendering"
15:43
<&ToxicFrog>
No, it's not.
15:44
<&ToxicFrog>
This is all hand-crafted, bespoke headfuck.
15:44
< [R]>
But if you've got a standardized way that's not that, then yeah, that's WTFy
15:44
< [R]>
Probably not even modularized (IE: reusable)?
15:46
<&ToxicFrog>
Yeah, no, this is totally non-reusable. Part of it looks like it was made to be reusable and some of the API complication comes from that, but it's not actually re-used anywhere.
15:55 LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has joined #code
16:48 Derakon[AFK] is now known as Derakon
17:02
<@Tarinaky>
UI Usability level, Formula 1 http://i.imgur.com/tG7PObK.jpg
17:02
<@Tamber>
Ouch.
17:04
< ErikMesoy>
Needs more context.
17:05
< ErikMesoy>
I can't say it's necessarily terrible if someone has a use case of needing to watch lots of different values at once and change which sets of values are being watched.
17:05
<@Tarinaky>
It's the telemetry from a F1 race car.
17:06
<@Tarinaky>
Apparently during that shot the car is actually 'off'.
17:11
<@Tamber>
"nEngine 0rpm" Yeah, I'd say it's off. :p
17:12
<@Tamber>
(That and the exhaust temperatures are approximately room temp.)
17:12
< [R]>
"As of 7/9/2013, the bug has been fixed. This bug still in effect."
17:12
< [R]>
Thanks.
17:12
<@Tamber>
...*snrk*
17:13
<@Tarinaky>
Tamber: In my defence it's difficult to know where to look with a display like that :p
17:13
<@Tarinaky>
I've seen more verbose variable names in code written by Physicists.
17:14 Syka [the@Nightstar-fa556128.iinet.net.au] has quit [Ping timeout: 121 seconds]
17:15 Syka [the@Nightstar-04740ca8.iinet.net.au] has joined #code
17:16
<@Tamber>
Tarinaky: Yeah, it's... I suppose you have to know where to be looking at what point, especially in a hurry :x
17:20
<@Tarinaky>
There is a special punishment in hell reserved for programmers where they have to maintain code written by Scientists.
17:20
<@Tarinaky>
*and mathematicians.
17:21
<@Tarinaky>
All of the variables will be named things like theta and a... And they'll change at random according to the nomenclature chosen by the person who wrote whatever book or article they're taking the formula from.
17:22
<@Tarinaky>
If you're unlucky they'll just choose any letter of the alphabet that isn't already in scope :/
17:22
<@Tamber>
a, aa, aaa, aaaa, aaab
17:22
<@Tarinaky>
If you're /really/ unlucky they'll insist on using camel case at the same time.
17:23
<@Tarinaky>
iA, fAa...
17:23
<@Tamber>
a, aA, aAa, AaAa?
17:25
<@Namegduf>
Also a and A as distinct variables.
17:25
<@Tamber>
And, if possible, α.
17:25
<@Tarinaky>
Well of course, a is a scalar and A is an array representing a Matrix.
17:27
<@Tarinaky>
s/scalar/float/
17:29
<@Namegduf>
Yes.
17:30
<@Tarinaky>
Complete with some beautifully obtuse C functions for Matrix arithmetic. Handrolled of course.
17:31
<@Tamber>
Using single-letter variables throughout. Re-using them where possible.
17:31
<@Tamber>
Oh, and heavy abuse of pre-processor.
17:31
<@Tamber>
Got to get that efficiency.
17:32
<@Tarinaky>
If you want to see the future of your code base after client-handoff, Winston, imagine a jackboot stomping on the face of your carefully designed UML forever.
17:58 * Syka hugs her buildbot
17:58
< Syka>
i have a code style checker, pyflakes and tests done by trial in both cpython and pypy
17:58
< Syka>
<33
17:59
<@Tamber>
Tarinaky, frankly, if someone stomped over my code with jackboots, it could hardly be much worse.
18:02
<@Tarinaky>
I'm sure we can find some more sections of 1984 to paraphrase.
18:05
<@Tamber>
:)
18:08
<@Tamber>
#define mem_x_ind (mem[(word) (mem[((mem[(word) (mem[reg_PC + 1] + reg_X)] + 1) << 8) + mem[(word) mem[reg_PC + 1]] + reg_X])])
18:09
<@Tamber>
If you can figure out what *that* does... (...you probably need help of some description.)
18:13
<@Tarinaky>
Appears to be some sort of concatenation...
18:14
<@Tarinaky>
I'm not sure if that's actually valid C though.
18:15
<@froztbyte>
Tamber: I'm reading that on my phone and I'm still reasonably capable of following it :(
18:16
<@Tamber>
hehehe
18:16
<@froztbyte>
Tarinaky: the "<< 8" is one kind of tell
18:17
<@Tarinaky>
Obviously, it's concatenating two bytes.
18:17
<@Tarinaky>
I'm not sure why though.
18:18
<@Tamber>
"Take a byte from the address given, shift it left 8, then stuff on the byte from (address+1); the 16-bit word that gives you, plus whatever's in X, is the address of the value you're actually after." (Indirect addressing. :D)
18:18
<@Tamber>
I think, anyway. I did start glueing it together a while back.
18:18
<@Tamber>
And past me apparently hates documentation of "obvious" stuff like that. *eyeroll*
18:20
<@froztbyte>
Two-phase pointers!
18:21
<@Tamber>
16-bit addresses, 8-bit data. X,IND addressing. <r.harris> Can you tell what it is yet? </r.harris>
18:41 LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has quit [Ping timeout: 121 seconds]
18:45 Kindamoody|out is now known as Kindamoody
20:24 Kindamoody is now known as Kindamoody[zZz]
20:42 ErikMesoy is now known as Prelzelle
20:45 hhhh [NSwebIRC@Nightstar-234efb0a.tbcn.telia.com] has joined #code
21:01 ktemkin[awol] is now known as ktemkin
21:35 hhhh [NSwebIRC@Nightstar-234efb0a.tbcn.telia.com] has quit [[NS] Quit: Page closed]
21:53
<&McMartin>
Tamber: It appears to be big-endian, and it's using X, so it's not 6502 or 65816 or z80 or x86.
21:54
<&McMartin>
(When you indirect through X on a 65xx it's "the address you load is actually the start of an array of addresses, and the X is an index into *that*. The base+index indirection always uses Y)
21:55
<@Tamber>
See, I *think* it's an attempt at trying to do something 6502-like, whilst drunk.
21:56
<&McMartin>
I never used the 68000, but ISTR it was 16-bit registers. What was its prototype?
21:57
<@Tamber>
6800?
21:57
<&McMartin>
(X_IND) for 6502 is "read from addr+1, shift left 8, add in what you read from addr, add in X, dereference"
21:57
<&McMartin>
Oops, no
21:57
<&McMartin>
That is Y_IND, and it's Y
21:57
<&McMartin>
X_IND is the cracktastic one
21:57
<@Tamber>
Hmm. I should try to figure out what I was doing, and unmongle it, at some point.
21:58
<&McMartin>
"read from addr+X+1, shift left 8, add in what you read from addr+X, dereference"
21:58
<&McMartin>
UNLESS!
21:58
<&McMartin>
... and even then it's big-endian, so it's not 6502...
21:58
<&McMartin>
That's not "X_indirect"
21:58
<@Tamber>
It's 0265? :p
21:59
<&McMartin>
But is actually straight "X-indexed" and addr there is the rest of the instruction
22:00 * Tamber idly ponders a 6502 with some 32-bit addressing modes. ...then again, that'd be even scarier to see drunken!Tamber try and implement.
22:01
<&McMartin>
65816 had 24-bit addressing modes.
22:02
<&McMartin>
That's the 16-bit extension that the Apple IIgs and the SNES used.
22:02
<@Tamber>
Hmmm
22:02
<&McMartin>
gcc can target it!
22:03
<@Tamber>
But will it run linux? (Hahahahaha, probably not without a lot of pain. :)
22:07
<&McMartin>
It has the space, but it doesn't have an MMU
22:08
<&McMartin>
POSIX OSes have been written for it, and some others have been written for the 8-bit 6502
22:08
<@Tamber>
Hm. Apparently you can run Linux sans-MMU but it is firmly in the Not Fun category.
22:08
<&McMartin>
http://www.linuxquestions.org/questions/linux-distributions-5/linux-on-an-apple- ii-211639/
22:09
<&McMartin>
This has links to Wings and LUnix and GNO, all of which are Unices targeting the chip
22:09
<&McMartin>
More on the Commodore side because The Commodore Scene Is Better ;-)
22:09
<@Tamber>
hehehe
22:10
<&McMartin>
Well, it has a different focus, really
22:11
<&McMartin>
The Apple stuff seems to be about keeping the hardware going and modern tech is just there as a context to exist in
22:11
<&McMartin>
The Commodore stuff is incredibly hard-core for cross-development and new development
22:11
<&McMartin>
If you want to write new Apple stuff you'd better have the old dev tools from the 80s sticking around.
22:11
<&McMartin>
I honestly don't get this split, but it's super-drastic
22:16
<&McMartin>
(I have a couple of theories: Commodores used peripheral standards that were industry standard and stayed so, which means that you could swap out the controlling machine for something more modern easily, and vice versa; Apple machines, OTOH, kept being used through the 1990s because nothing else could talk to the damned machines)
22:17
<@Tamber>
*snrk*
22:18
<&McMartin>
Also contributing, and indeed, what confounded me when I tried to do apple crossdev:
22:18
<&McMartin>
ProDOS and Apple DOS are programs on a disk drive, so there isn't a usable level of structure below "disk image" for apple stuff
22:18
<&McMartin>
CBM DOS was burned into a ROM *on the disk drive* for the *disk drive's own CPU to execute*
22:19
<&McMartin>
Which means the control channel for the computer itself was "send a string command, get a stream of bytes back" *on the wire*
22:19
<&McMartin>
So the architecture makes it trivial for an 8-bit CBM machine in an emulator to think it is talking to a disk drive but actually be talking to a SAN.
22:21
<&McMartin>
But then there are also ftp-like utilities for reading and writing files on a disk image, and I never found any of those for the Apple II because why wouldn't you just use System Commander etc
22:23
<&McMartin>
Now that I look again, a program for doing this is now available.
22:23
<&McMartin>
... it was payware until 2007
22:23
<@Tamber>
*wince*
22:23
<&McMartin>
(I last checked in 2002, when this program did not even exist)
22:24
<&McMartin>
And it still doesn't seem to be the kind of thing c1541 is.
22:25
<&McMartin>
http://ciderpress.sourceforge.net/index.htm
22:25
<&McMartin>
It looks like part of the problem is also "because DOS wasn't burned into the drive's ROM, there was no standard disk or even file format"
22:30 Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Client closed the connection]
22:36
<&McMartin>
I'm going to have to look into this CiderPress thing
22:45 Prelzelle is now known as ErikMesoy|sleep
22:50 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
22:50 mode/#code [+qo Vornicus Vornicus] by ChanServ
22:53 Harlow [Harlow@Nightstar-b902fba7.chi.megapath.net] has joined #code
22:56
<@froztbyte>
<Tamber> But will it run linux? (Hahahahaha, probably not without a lot of pain. :)
22:56
<@froztbyte>
this question is typically easily answered
22:57
<@froztbyte>
"does a (modern) toolchain for the target exist, and can you use `./configure && make` it fairly easily?"
22:57
<&McMartin>
froztbyte: And the answer in this case is "yes to the first, no to the second, because there's no MMU and the hardware hasn't been manufactured in 20 years and needs assembler drivers"
22:57
<@froztbyte>
otherwise the answer is "4 weekends, and lots of PDF reading"
22:58
<@froztbyte>
McMartin: pfft assembler drivers
22:58
<@froztbyte>
McMartin: just dump a binary blob from some chassis and use a shim loader!
22:58 * froztbyte hides
22:58
<&McMartin>
Yeah, uh, did you see the part above
22:58
<&McMartin>
"I have a disk image, I would like to manipulate the files on it" didn't have an OSS option until 2007
22:59
<@froztbyte>
oh, no
22:59
<&McMartin>
The specific question here is "Can you run Linux on an Apple IIgs"
23:00
<&McMartin>
People *have* implemented chunks of POSIX on that CPU, and even its 8-bit predecessor, but they've done so with more convenient-to-the-modern-world hardware setups.
23:00
<@froztbyte>
mmmmmmmm
23:01
<&McMartin>
(And they weren't Linux ports, because, again, no MMU, you're better off using something else)
23:01
<@froztbyte>
my kneejerk reaction to that (not knowing the hardware at all) is that you'd probably get to spend a fairly large chunk of time figuring out what bits to actually try make work
23:01
<@froztbyte>
just on space etc considerations
23:02
<&McMartin>
Well, if you get to trick it out arbitrarily, a IIgs could have 16MB of RAM and gigs of disk space, so that's Not A Problem, AIUI.
23:02
<&McMartin>
You won't be running X, but...
23:02 Tamber [tamber@furryhelix.co.uk] has quit [Ping timeout: 121 seconds]
23:02
<@froztbyte>
eh
23:02
<@froztbyte>
maybe
23:02
<@froztbyte>
if you got real creative on your archeology
23:03
<&McMartin>
Yeah
23:03
<@froztbyte>
my very first intro to linux was the super-mini distro kind
23:03
<&McMartin>
You know how I said the Commodore 8-bit world was better?
23:03
<&McMartin>
http://www.1541ultimate.net/content/index.php
23:03
<@froztbyte>
Damn Small Linux 0.7.3 was the very first thing I ever consciously used knowing it was linux
23:03
<&McMartin>
Plug SD cards directly into C64, use as if they were a disk drive
23:04
<@froztbyte>
and the smallest distro I've used was a 1.1~1.3MB thing
23:04
<@froztbyte>
McMartin: hah, neat
23:05
<&McMartin>
Both Apple and Commodore had very-well-documented peripheral specs, because micro hobbyists of the era were totally expected to also be fabricating small electronic devices to have their computers control
23:06
<&McMartin>
The big difference in terms of "how easy is it to work with now" (CBM) vs "how long with the old machines stick around" (Apple) is that CBM's documents were basically "please consult the IEEE spec for RS-232"
23:06
<@froztbyte>
other thing
23:06
<@froztbyte>
is that it was actually a whole lot more feasible in those days
23:07
<@froztbyte>
you had a fairly stable upper limit on your various kinds of interfaces
23:07
<&McMartin>
Yeah
23:07
<@froztbyte>
that's part of what I'm loving about things like Bus Pirate and friends atm
23:07
<@froztbyte>
it's nice to see people learning about it
23:08
<@froztbyte>
I just kinda get annoyed with the stupid bullshit that ensues
23:08
<@froztbyte>
like the recent HN tweet of "omfg this integer is a valid IP address!" thing
23:08
<&McMartin>
Weak Typing: The New Hotness
23:08
<@froztbyte>
in my mind it's just a case of "well how the fuck did you /think/ it worked, you fucking moron? magic?"
23:09
<&McMartin>
I have this dream that after Windows 8 is the standard for desktops, MS will try to reintroduce the "desktop" as a bold new innovation
23:09
<&McMartin>
As many apps as you want on the screen at once!
23:09
<&McMartin>
And you can put them WHEREVER YOU WANT!
23:09
<@froztbyte>
hahaha
23:09
<@froztbyte>
well
23:09
<@froztbyte>
W8 has made things flat again
23:09
<@froztbyte>
so we can definitely upgrade to 3.1 from there.
23:09
<&McMartin>
No more fisher-price UI
23:10
<&McMartin>
I kind of like W7's version of the fisher-price UI, though~
23:10
<@froztbyte>
man
23:10
<@froztbyte>
just imagine
23:10
<&McMartin>
Well
23:10
<&McMartin>
I mean
23:10
<&McMartin>
I actually, unironically want a Tiling WM for Windows
23:10
<@froztbyte>
the 'upgrade' to 3.1-esque window styling, but modern graphics
23:10
<@froztbyte>
and then the evolutionary path through 95 and 98
23:10
<@froztbyte>
them'd be some good drugkz.
23:10
<&McMartin>
When the initial demos for Windows 8 looked like Metro was a tiled WM, my reaction was "sold" and then "unsold" when the developer preview made it clear it was no such thing
23:11
<@froztbyte>
haha
23:11
<@froztbyte>
is it still possible to replace the shell?
23:11
<@froztbyte>
in my XP days I used to run blackbox in the form of bb4win
23:12
<&McMartin>
"Which shell? There are three in a stock Win7 install."
23:12
<@froztbyte>
it might be possible to get ion3/awesome/whatever going on windows
23:12
<@froztbyte>
McMartin: I hate that I know (a bit) about that
23:12
<&McMartin>
I need to look into abusing PowerShell some
23:12
<&McMartin>
I like the idea of linking Unity against it
23:13
<&McMartin>
They're both using a CLR bridge!
23:13
<@froztbyte>
game unity?
23:13
<&McMartin>
Yeah
23:13
<@froztbyte>
or ubuntucrazy unity?
23:13
<@froztbyte>
ubuntunity!
23:13
<&McMartin>
Ubuntu Unity is using CrazyPants Tech until they switch to SanePants Tech in, apparently, 14.10 or so
23:13
<&McMartin>
(The plan AIUI is to shift their stuff over to Qt5)
23:13
<@froztbyte>
eh, I don't care too much
23:14
<@froztbyte>
as far as I'm concerned, canonical's gone off with hookers and blow
23:14
<@froztbyte>
I stopped caring about 2 years ago
23:14
<&McMartin>
I'm just saying Qt is the least spiderful of the UI layers I've ever used
23:14
<@froztbyte>
I'll wait another 3
23:14
<@froztbyte>
big plans take ~5 years to get going
23:15
<@froztbyte>
McMartin: entertainingly, people seem to hate it because of the C++/Qt mashup flavouring
23:15
<&McMartin>
I'm pretty firm on that being a feature~
23:15
<@froztbyte>
and the fact that you get something like 3/5 of an OS in Qt
23:15
<&McMartin>
But yes, it does mean your build process is complicated
23:16
<&McMartin>
That's a problem in some domains, which "desktop windowing UI layer" is not one of~
23:16
<@froztbyte>
but literally everything I've ever encountered points to Qt being of higher quality than anything GTK-based
23:16
<&McMartin>
Yeah, that C++/Qt mashup thing?
23:16
<&McMartin>
BUILT-IN MULTICAST METHODS WITH OBJC SEMANTICS IF YOU WANT THEM
23:16
<@froztbyte>
even though GTK has far more people on it in general
23:16
<&McMartin>
Which is to say "yes plz"
23:16
<@froztbyte>
haha
23:16
<@froztbyte>
that's not multicast like I know it, I'm guessing ;)
23:17
<&McMartin>
"Make what looks like a method call, every widget subscribed to that event gets a method call in its event loop"
23:17
<@froztbyte>
(same idea, I guess, but not the exact same thing)
23:17
<&McMartin>
C# calls those multicast delegates
23:17
<&McMartin>
Under the hood, it's a publish/subscribe model for UI events or other events + widgets
23:18
<&McMartin>
Which is to say, it's automating 90% of the bullshit you have to do to make Swing work
23:18
<@froztbyte>
hehe
23:18
<@froztbyte>
my Swing knowledge is not very vast
23:18 Tamber [tamber@furryhelix.co.uk] has joined #code
23:18
<&McMartin>
(Swing's event model actually isn't terrible, but it's horribly hobbled by a static type system)
23:19
<@froztbyte>
all I recall of it is about 3 weeks worth of layout fun, and differences between windows and linux java
23:19
<@froztbyte>
this was ~'06
23:19
<&McMartin>
It's using publish/subscribe everywhere, so the usual technique is to attach anonymous inner listener classes to your widgets as you hook them up to specify the forwarding mechanisms
23:19
<&McMartin>
Yeah, Swing's layout system is the same as the awful pre-Swing stuff
23:19 Tamber [tamber@furryhelix.co.uk] has quit [Connection closed]
23:20
<&McMartin>
But for whatever reason I'm handier with it than Gtk's, even though Gtk's is closer to Qt's, which is (as per usual) my preferred one
23:20
<&McMartin>
Qt uses nested boxes and has explicit "spring" objects to fill up space
23:20
<&McMartin>
The one layout thing Java has that I wish other things had is the BorderLayout, which is often handy to supplement your nested box systems.
23:21
<&McMartin>
Anyway, a hilarious side effect of Swing's listener system with its heavy reliance on singleton reaction classes is that Swing accidentally ends up merging *awesomely* with Clojure
23:21
<@froztbyte>
I've been meaning to put aside some time with Kivy
23:21
<&McMartin>
http://clojure.org/jvm_hosted
23:21
<@froztbyte>
for writing a PoC android app
23:22
<@froztbyte>
I don't particularly care to write java :s
23:22
<&McMartin>
Here's a Swing app in Clojure and it fits on one screen
23:22
<@froztbyte>
but, the reason I mention this
23:22
<@froztbyte>
http://kivy.org/docs/guide/lang.html
23:23
<&McMartin>
This is in some sense a solved problem, but I think these are the first guys to try to make it human-writable.
23:23
<&McMartin>
It looks semantically roughly equivalent to Glade's or Qt Creator's XML formats.
23:23
<&McMartin>
In terms of what it's doing
23:23
<&McMartin>
But those are, well, XML and low-abstraction
23:24
<@froztbyte>
ye
23:24
<@froztbyte>
Kivy has similar goals as Qt
23:24
<@froztbyte>
in that it can run across a couple of platforms
23:24
<@froztbyte>
which is pretty nice
23:25
<@froztbyte>
downside, though
23:25
<@froztbyte>
is you get to ship a whole python runtime with your app.
23:26
<@froztbyte>
they should find ways of improving that, like having a single kivy platform (this has dragons: python versioning over time) and then the ability to have your app's code launched via said platform
23:26
<@froztbyte>
but yeah
23:26
<@froztbyte>
later.
23:26
<@froztbyte>
maybe later today actually, might have some time to do it
23:26 * froztbyte wanders off to sleep
23:37 Tamber [tamber@furryhelix.co.uk] has joined #code
23:37 mode/#code [+o Tamber] by ChanServ
23:37
<@Tamber>
Rasmfrasm.
23:38
<&McMartin>
There should be an assembler named that
23:39
<@Tamber>
:p
--- Log closed Sun Oct 27 00:00:01 2013
code logs -> 2013 -> Sat, 26 Oct 2013< code.20131025.log - code.20131027.log >

[ Latest log file ]