--- Log opened Wed Jul 10 00:00:01 2013 |
00:07 | | * sshine wrote a blog post about how students are reluctant to commit to open source projects and how it could benefit learning to become a good software developer. |
00:08 | < sshine> | (it's currently unpublished and is written in Danish, so it's not worth much beyond this summary) |
00:10 | | You're now known as TheWatcher[T-2] |
00:11 | <&ToxicFrog> | Boosh. DynDNS gone, DNS for Orias moved to afraid.org. |
00:13 | | You're now known as TheWatcher[zZzZ] |
00:34 | <@gnolam> | sshine: commit to open source projects? |
00:56 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
01:04 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.] |
01:05 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
01:05 | | mode/#code [+o himi] by ChanServ |
01:07 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
01:18 | <&McMartin> | Wow |
01:18 | <&McMartin> | I'm poking around the wrangling regarding the R6RS version of Scheme. It's hilariously vicious. Though after reading R6RS, I'm less surprised at the vitriol. |
01:19 | <&McMartin> | (No R5RS program is a valid R6RS program) |
01:20 | <&ToxicFrog> | (awesome) |
01:21 | <&McMartin> | Check this out, from '07 |
01:21 | <&McMartin> | http://lists.r6rs.org/pipermail/r6rs-discuss/2007-October/003351.html |
01:21 | <&McMartin> | In which all major scheme developers discuss plans for r6rs implementation |
01:21 | <&McMartin> | Including lines like "R6RS must die" |
01:46 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
02:19 | <@Reiv> | ... why would you change something so it breaks everything ever? |
02:20 | <&Derakon> | Ask why Python3 was written~ |
02:20 | <&Derakon> | And it doesn't even break everything ever! |
02:24 | < ktemkin> | At least Python3 is different enough that a good number of people still keep both interpreters around. |
02:26 | < Azash> | 03:21 < Fuuzetsu> How about Java interfaces? You can create an instance of an interface in Java. Is that an object? |
02:26 | < Azash> | 03:22 < Fuuzetsu> (Don't do this by the way, it can lead to horrible runtime errors because of the halting problem) |
02:26 | < Azash> | Am I the only one who thinks the halting problem doesn't have a lot to do with this? |
02:30 | < ktemkin> | (You can create an instance of an interface in Java? I didn't think interfaces were instantiable.) |
02:30 | | Vorntastic [Vorn@Nightstar-f1baea33.sub-70-211-3.myvzw.com] has joined #code |
02:30 | < Azash> | Almost everything in Java is an object |
02:30 | < Azash> | I think you can, yes |
02:30 | < ktemkin> | (The only references I can find to instantiating an interface in Java are people creating anonymous inner classes that implement interfaces, and then instantiating those.) |
02:31 | < ktemkin> | Even so, I don't see what that would have to do with the halting problem. |
02:32 | < Azash> | Same |
02:38 | <&ToxicFrog> | ktemkin: the Interface, as in the reflection object that represents the interface declaration, is instantiable, IIRC |
02:39 | <&ToxicFrog> | Or, rather, when you get the Interface via reflection, you have an object. |
02:39 | <&ToxicFrog> | And yeah, Fuuzetsu has no clue. |
02:39 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Client closed the connection] |
02:40 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
02:49 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
02:53 | <@Tarinaky> | http://www.cs.yale.edu/quotes.html |
02:54 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Client exited] |
02:55 | < Vorntastic> | I can't even figure out what fuuzetsu even meant. |
02:55 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
02:55 | | mode/#code [+o Pandemic] by ChanServ |
02:59 | < Azash> | Vorntastic: His argument was that the halting problem causes runtime errors |
02:59 | < Azash> | (he expanded on it later) |
02:59 | < Vorntastic> | yeah, wtf |
03:00 | <&ToxicFrog> | He has no idea what the halting problem is, does he |
03:00 | < Vorntastic> | This makes no sense. |
03:00 | < Azash> | ToxicFrog: He's the type to drop terms, you know |
03:01 | < Vorntastic> | I know that c++ templating is turing complete. I don't know if java is the same way; somehow I think it unlikely. |
03:03 | <&McMartin> | It is not; Java "templates" are actually type constraints laid upon uniform reference, while C++ templates are a slightly-more-structured form of macro expansion. |
03:03 | <&McMartin> | Furthermore, in practice, C++ templates are not turing complete, as TMK all major C++ compilers have a maximum number of expansions before they will error out (configurable via command line). |
03:04 | <&McMartin> | (on g++, that switch is -ftemplate-depth) |
03:04 | <@Tarinaky> | Don't all physical computers have a recusion limit? |
03:05 | <&McMartin> | Yes But. |
03:05 | <&McMartin> | There is a difference between "you can run out of memory" and "if your call depth exceeds 17, an error is signalled." |
03:06 | <@Tarinaky> | It's also worth noting that the language doesn't make any suggestions as to this limit even existing. |
03:07 | <&McMartin> | Indeed not; this is why I qualified the statement with "in practice" |
03:07 | <@Tarinaky> | I'm... not sure I really believe there's a difference between "you can run out of memory" and "if the call depth exceeds X, an error is signalled." |
03:09 | <&McMartin> | It's been awhile since I've done template metaprogramming |
03:09 | <&McMartin> | But IIRC, template expansion depth is less "depth of the call stack" and more "number of instructions run" |
03:09 | <&McMartin> | Which are, I suppose, equivalent if you are using continuation-passing style and don't have tail call elimination, which IIRC is basically how this stuff works. |
03:11 | <&McMartin> | But to your direct point, yeah, it would seem we differ there |
03:11 | <&McMartin> | Because I would add a distinguisher when X is low enough that recursive algorithms become entirely impractical |
03:11 | <&McMartin> | And while I'm not wholly sure where that line is, that line is most definitely higher than 17. |
03:12 | <@Reiv> | Other point: There is a difference between physical limitations and code limitations when it comes to Turing-completeness. |
03:13 | <@Tarinaky> | I'm not sure how this is different from a computer with a very small amount of memory. |
03:13 | <@Reiv> | We do not generally blame stuff for not being turing-complete simply because memory is not, in fact, infinite. |
03:13 | <@Reiv> | We would blame it for being so if it was an /aspect of the language/ that meant you'd run outta moola, though. |
03:13 | <&McMartin> | Tarinaky: As recently as ten years ago I programmed in an environment where I had 2 kilobytes of stack space per thread, but access to 2 gigabytes of heap. |
03:14 | <&McMartin> | This meant that iteration-based algorithms which kept worklists on the heap could scale much more dramatically than recursive algorithms that did so implicitly via stack frames. |
03:15 | <&McMartin> | One might object that this is a mere implementation restriction, but the existence of such implementation restrictions is more or less the nature of my point. |
03:15 | <@Tarinaky> | I'm not sure it's a requirement of a computer that it have a large amount of memory. Even if physical machines in the wild actually do. |
03:16 | <@Alek> | it... probably isn't. |
03:16 | <&McMartin> | It is not, though the one place I can think of where a "reasonable" recursion depth was named, X was 10,000. |
03:16 | <@Tarinaky> | It also kindof seems silly if we have an argument where it's a computer if it has N bits, but not a computer if it has N-1 bits. |
03:16 | <&McMartin> | I direct you, again, to the qualifier "in practice" |
03:16 | <@Reiv> | Tarinaky: Which is why we don't generally fault computers for finite memory space. |
03:17 | <&McMartin> | Perhaps you will prefer this phrasing. |
03:17 | <@Reiv> | But we would sure as mustard fault a language that declared it can only handle six levels of recursion. |
03:17 | <@Tarinaky> | The language doesn't. The implementation does. |
03:18 | <&McMartin> | "C++ implementations generally severely restrain template expansion depth. This means that while the language theoretically permits one to perform arbitrary computations in C++ templates, or, indeed, make C++ compilation be nonterminating by constructing an infinite loop, in practice your ability to do these things is extremely curtailed." |
03:19 | <&McMartin> | "Which means that you cannot in fact do these things with template expansion the way you can with, say, PostScript or sendmail.conf" |
03:20 | <&McMartin> | That said |
03:20 | | * Tarinaky shrugs. |
03:20 | <@Tarinaky> | I'm going to go back to watching House. |
03:20 | <&McMartin> | I haven't read the C++ spec. I *have* read the OpenGL specs, though, so I'll take slight issue with Reiv's comment |
03:20 | <&McMartin> | Specs and and do say "a compliant implementation must support at least N of this feature" |
03:21 | <&McMartin> | (OpenGL 2.1 has a rather hilarious requirement that implementations must support at least zero vertex shaders~) |
03:21 | <@Tarinaky> | I've only ever read commentary on the C++ spec, I've never actually read the spec itself. |
03:21 | <&McMartin> | Likewise |
03:21 | | Vorntastic [Vorn@Nightstar-f1baea33.sub-70-211-3.myvzw.com] has quit [Ping timeout: 121 seconds] |
03:21 | <&McMartin> | It's entirely possible that it's got something like "you have to support at least 16 levels" or something |
03:22 | | Vorntastic [Vorn@Nightstar-f1baea33.sub-70-211-3.myvzw.com] has joined #code |
03:22 | <&McMartin> | In fact, I'd hope so or else things like boost::tmp intrinsically can't be compliant |
03:22 | <@Tarinaky> | I was under the impression that the minimum template expansion depth was omitted from all but the more recent versions of the C++ spec. |
03:22 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
03:22 | <&McMartin> | Could be. If so, that was a mistake the first time unless the express purpose was "we have no idea what X should be, let's turn people loose and find out" |
03:23 | <@Tarinaky> | I suspect mistake is probably the right answer. |
03:24 | | * McMartin might be a little cranky that it took like seven years for standards-compliant compilers to become ubiquitous~ |
03:24 | <@Tarinaky> | In fairness, it takes about 7 years to read the standard~ |
03:25 | <&McMartin> | C++ linking is still kind of a clusterfuck, but it's less of one now that C++ implementations have basically elected to have their own linkers rather than being entirely equivalent to C and Fortran |
03:48 | | Vorntastic [Vorn@Nightstar-f1baea33.sub-70-211-3.myvzw.com] has quit [Ping timeout: 121 seconds] |
03:55 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
03:55 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
04:06 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
04:06 | | mode/#code [+o himi] by ChanServ |
04:15 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
04:18 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has joined #code |
04:31 | | himi [fow035@Nightstar-fb787e3c.in-addr.csiro.au] has joined #code |
04:31 | | mode/#code [+o himi] by ChanServ |
04:36 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
04:36 | | mode/#code [+ao Derakon Derakon] by ChanServ |
05:08 | | Derakon is now known as Derakon[AFK] |
05:13 | | Kindamoody[zZz] is now known as Kindamoody |
05:19 | | Harlow [Harlow@Nightstar-4eeab464.il.comcast.net] has joined #code |
05:19 | < Harlow> | Any one wondering what the oculus rift is like? |
05:21 | <@Tarinaky> | Not really, not if the question's phrased like that. |
05:26 | | ErikMesoy|sleep [Erik@Nightstar-16aba739.80-203-17.nextgentel.com] has left #code [] |
05:30 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has quit [Connection reset by peer] |
05:31 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has joined #code |
05:31 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has quit [Client closed the connection] |
05:31 | | Karono [Karono@10AAA2.FD2B33.7F4978.5FBCA7] has joined #code |
06:24 | | Karono is now known as Karono[afk] |
06:26 | | celticminstrel [celticminst@Nightstar-8403057e.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:39 | | Karono[afk] is now known as Karono |
07:09 | | Netsplit *.net <-> *.split quits: @Reiv, @jerith, [R], @himi, Harlow, Karono, @McMartin, Typh|offline, ktemkin, sshine, (+6 more, use /NETSPLIT to show all of them) |
07:09 | | Netsplit over, joins: Chutzpah, @PinkFreud, jeroud, &jerith, &Derakon[AFK], sshine, @Reiv, &McMartin, @himi, Karono (+5 more) |
08:20 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code |
08:51 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: shutting down!] |
09:05 | | Karono [Karono@10AAA2.FD2B33.7F4978.5FBCA7] has quit [[NS] Quit: ] |
09:36 | | You're now known as TheWatcher |
09:40 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving] |
09:41 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has joined #code |
10:43 | | himi [fow035@Nightstar-fb787e3c.in-addr.csiro.au] has quit [Client closed the connection] |
10:50 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [Operation timed out] |
10:55 | < ktemkin> | Uggh... the upstream repo for this project rebased away the commit I'm working on top of. |
10:55 | < ktemkin> | I thought that was universally considered bad manners. |
11:02 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
11:02 | | mode/#code [+o himi] by ChanServ |
11:12 | <@Tarinaky> | Doesn't mean it's not done. |
11:19 | <@froztbyte> | woooo git |
11:48 | | * iospace sets froztbyte on fire |
11:49 | < Syka_> | git is wonderful and i love it |
11:50 | <@Tarinaky> | "It has been said that git is the worst form of version control, except for all the others that have been tried from time to time." |
11:50 | < Syka_> | hee |
12:07 | < Azash> | As said by Sir Linston Churchvalds |
12:23 | | ktemkin is now known as ktemkin[awol] |
12:46 | <@Tarinaky> | Argh. |
12:46 | <@Tarinaky> | I am banging my head against a wall with this. |
12:47 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
12:49 | <@Tarinaky> | And now I'm mad and sweaty. Great. |
12:49 | <@Tarinaky> | Fucking weather :/ |
13:35 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
13:35 | | mode/#code [+o Pandemic] by ChanServ |
13:39 | | McMartin [mcmartin@Nightstar-7130bbf8.pltn13.sbcglobal.net] has quit [[NS] Quit: system update] |
13:43 | | Kindamoody is now known as Kindamoody|out |
13:44 | <@froztbyte> | it is quite a sad thing that git won the popularity contest |
13:45 | < Syka_> | froztbyte: at least it's not svn |
13:46 | | * TheWatcher shudders |
13:47 | < Syka_> | and at least it's not mercurial |
13:47 | | * Syka_ escapes while she can |
13:48 | <@froztbyte> | svn had won the popularity contest for a while |
13:48 | <@froztbyte> | but such is the way of LCD |
13:48 | <@froztbyte> | (Lowest Commoner Denominator) |
13:48 | <@TheWatcher> | Out of curioisity, which would you prefer? |
13:49 | < Syka_> | patch files and emails, i bet |
13:49 | < Syka_> | :p |
13:49 | <@froztbyte> | we have to go with the system understood by the most shitty people possible for anything to gain popularity :( |
13:49 | < Syka_> | froztbyte: well |
13:49 | < Syka_> | git was made by the Linux kernel team |
13:49 | <@froztbyte> | TheWatcher: my main issue with git is that its UI is goddamned batshit fucking insane |
13:49 | <@froztbyte> | TheWatcher: its insides are fine |
13:49 | < Syka_> | imagine if it was made by, say, Ruby developers |
13:49 | <@froztbyte> | fix the UI, and I might not even mind |
13:49 | <@TheWatcher> | :gonk: |
13:50 | <@froztbyte> | (there are possibly some things which are affected directly and will need change) |
13:50 | <@froztbyte> | darcs doesn't scale, even though it had some neat solutions |
13:50 | <@froztbyte> | bzr is future-dead, afaict? |
13:50 | <@TheWatcher> | Syka_: you're going to give me nightmares, damnit |
13:51 | <@froztbyte> | hg has some neat stuff, but has speed issues on a lot of things (how much of this is cpython? probably a lot; we demand additional pypy!) |
13:51 | <@froztbyte> | then there are other odd ones I've not really dealt with much |
13:51 | <@froztbyte> | monotone and the like |
13:52 | | * TheWatcher suspects that git could be sanityised through wrappers |
13:55 | | * TheWatcher ponders this student data, wonders why we have years 1 to 4, and then MSc and PhD students are set as year 6. |
13:58 | < Syka_> | TheWatcher: well, git has an api, so it'd just be smoothing over that, i suppose |
14:01 | <&ToxicFrog> | Possibly I should invest some time in improving the res decompressor. |
14:01 | <&ToxicFrog> | Time it takes to load a compressed ARCHIVE.DAT: 43 seconds. |
14:01 | <&ToxicFrog> | Time it takes to load an uncompressed one: 800ms. |
14:02 | | McMartin [mcmartin@Nightstar-7130bbf8.pltn13.sbcglobal.net] has joined #code |
14:02 | | mode/#code [+ao McMartin McMartin] by ChanServ |
14:02 | <@TheWatcher> | How frequently will you need to load the res file? |
14:03 | <&ToxicFrog> | TheWatcher: once, at startup |
14:03 | <&ToxicFrog> | But a 43 second startup time, especially for a program I run frequently as I make changes to it, is pretty sad. |
14:03 | <@TheWatcher> | Fair enough |
14:08 | <&ToxicFrog> | That said, I was pretty lazy with the decompressor; it's a pure lua implementation that's a direct translation of the example C code from the spec. |
14:08 | <&ToxicFrog> | There's probably a lot of room for improvement just in the lua version, and calling out to C would make it a non-issue. |
14:55 | | Karono_ [Karono@Nightstar-0e4527e4.optusnet.com.au] has joined #code |
14:55 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has quit [Client closed the connection] |
15:01 | | Karono_ is now known as Karono |
15:21 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
15:54 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
15:54 | | mode/#code [+ao Derakon Derakon] by ChanServ |
16:23 | | gnolam [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has quit [[NS] Quit: Patch Wednesday] |
16:29 | | gnolam [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has joined #code |
16:29 | | mode/#code [+o gnolam] by ChanServ |
17:45 | | celticminstrel [celticminst@Nightstar-8403057e.dsl.bell.ca] has joined #code |
17:45 | | mode/#code [+o celticminstrel] by ChanServ |
18:18 | | Typh|offline is now known as Typherix |
18:43 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has quit [[NS] Quit: zzz] |
19:50 | | Kindamoody|out is now known as Kindamoody |
20:21 | | Kindamoody is now known as Kindamoody[zZz] |
20:22 | | Typherix is now known as Typh|offline |
20:56 | < RichyB> | I like this. http://shouldiuseacarousel.com/ |
21:00 | <&Derakon> | I have not heard of "carousels" in terms of web development before, but I'm guessing this is self-demonstrating? |
21:12 | <@Namegduf> | Yes. |
21:12 | < Azash> | I had hoped for an HTML5 marquee |
21:13 | < Azash> | I am disappointed |
21:13 | | * TheWatcher twitch |
21:15 | <@TheWatcher> | I have a list somewhere here of the places I have come across people using <marquee> |
21:16 | <@TheWatcher> | They will be 5th through 264th against the wall, come the revolution. |
21:17 | <&ToxicFrog> | Really, you've only encoutered four <blink> tags? |
21:17 | <@TheWatcher> | Heheh |
21:18 | <&Derakon> | Hey, people with more hardware experience than I: any concern about using a USB extension cable on a camera that's expected to be sending decently large amounts of data? |
21:18 | <&ToxicFrog> | (also, yes, fuck carousels) |
21:18 | <&Derakon> | Theoretically can achieve 50FPS at 512x512. |
21:18 | <&Derakon> | (2 bytes/pixel) |
21:23 | <&Derakon> | No ideas, huh? |
21:25 | < [R]> | USB supposedly has enough overhead to consume half the bandwidth. |
21:25 | < [R]> | Which means you get 250MB/s from a 2.0 link. |
21:25 | < [R]> | Mb/s* |
21:26 | <&Derakon> | Hm, Wikipedia claimed achievable 35MB/s. |
21:26 | <&Derakon> | 512*512*50*2/1024/1024 = 25MB/s |
21:26 | <&Derakon> | My question is mostly, will extending the USB cable cause problems? |
21:27 | <&ToxicFrog> | It can. |
21:27 | <&ToxicFrog> | It is not guaranteed to. |
21:27 | <&Derakon> | Hm. |
21:29 | | * Derakon shrugs, fires an email off to the camera vendor. |
21:33 | | * TheWatcher fingertappity, code or piano practice, hrm |
21:34 | < jeroud> | Both involve tappyfingerings! |
21:57 | <@Alek> | practice piano while coding. |
21:57 | <@Alek> | *by coding |
22:00 | < Azash> | TheWatcher: Build a keyboard where pressure on the key determines whether it's considered as caps or not |
22:00 | | * froztbyte needs to acquire a musical keyboard at some nearby point in the future to be able to piano again |
22:01 | <@froztbyte> | https://soundcloud.com/damegeraldine/wood-spirit |
22:01 | <@froztbyte> | ^ also what's playing here atm |
22:01 | <@froztbyte> | not technically complicated at all, but fairly pleasant listening |
22:01 | <@froztbyte> | (for background sounds) |
22:02 | <@TheWatcher> | froztbyte: Myst got me a Yamaha PSR-E333, it's pretty nifty |
22:03 | | gnolam_ [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has joined #code |
22:03 | | gnolam is now known as NSGuest24434 |
22:03 | | gnolam_ is now known as gnolam |
22:03 | | mode/#code [+o gnolam] by ChanServ |
22:04 | <@froztbyte> | nice |
22:04 | <@gnolam> | Azash: that's... actually pretty clever. |
22:04 | <@froztbyte> | gnolam: and fairly easily doable |
22:04 | <@froztbyte> | at least, with some |
22:05 | <@froztbyte> | TheWatcher: my main requirement actually started with Ableton Live being horrendously annoying to use with only a mouse+launchpad |
22:05 | | NSGuest24434 [lenin@Nightstar-b2aa51c5.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds] |
22:05 | <@froztbyte> | TheWatcher: but it'd be nice to be able to Just Play again too |
22:05 | <@froztbyte> | since I haven't played regularly now for about 4 years :/ |
22:06 | <@TheWatcher> | It'd been 20 years for me >.< |
22:06 | <@froztbyte> | hahaha |
22:06 | <@froztbyte> | were you formally taught, lessons and all, or more autodidactically? |
22:08 | <@TheWatcher> | I had some lessons when I was in secondary school, but didn't have a piano or keyboard of my own, and only limited access to the school's, so I didn't get enough practice. |
22:09 | <@froztbyte> | ah |
22:09 | <@froztbyte> | yus, somewhat familiar |
22:09 | <@froztbyte> | I had maybe 14 lessons in my life? sorta split half/half between when I was in grade 2, and later in grade 8 |
22:10 | <@froztbyte> | got a bunch of musical knowledge through osmosis while I was in choir |
22:10 | <@froztbyte> | and then just banged on further myself |
22:10 | <@froztbyte> | the only trick is I /couldn't/ play much, because I prefer to practice at night when there are no other people making a noise |
22:10 | <@froztbyte> | but the piano was situated near a wall which had the neighbours' main sleeping room within 2m of it :/ |
22:11 | <@TheWatcher> | Play /really quiet/ ;) |
22:11 | <@froztbyte> | that just isn't the same :( |
22:12 | <@froztbyte> | there's a couple of things which are just Really Fun(TM) to play in full emotion |
22:12 | <@froztbyte> | the first thing I ever taught myself was Nothing Else Matters |
22:12 | <@froztbyte> | and I think I still remember the first 2.5 pages or so of the score |
22:13 | <@froztbyte> | (lots of niggly little thematic variations0 |
22:13 | <@froztbyte> | ah well, this is only related to #code at a mathematical level ;) |
22:41 | <&McMartin> | http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/ |
22:49 | <@Tarinaky> | I need help :/ |
22:50 | <@Tarinaky> | I'm really not getting anywhere trying to build a GUI system ontop of Pyglet and OpenGL. I... can't seem to do it >.< |
22:50 | <&McMartin> | Oof |
22:50 | <&McMartin> | That is in all honesty a pretty tall order. |
22:51 | <&McMartin> | Are you at least using an ortho projection? |
22:51 | <@Tarinaky> | Yeah. Pyglet handles all of that for me. |
22:52 | | * McMartin nods |
22:52 | <@Tarinaky> | The specific thing I've been having trouble with is getting skinning and more 'advanced' elements to work sensibly. |
22:52 | <&McMartin> | As you may recall from the many arguments here, I'm an OO skeptic |
22:52 | <&McMartin> | But GUI is one of the places where OO really is perfectly suited to the problem domain. |
22:53 | <@Tarinaky> | I know. I have some core Objects I can specialise that do the... simple bit. I got quite far leveraging just composition and some recursion. |
22:55 | <@Tarinaky> | I had a Widget base class that mostly just specified a Constructor and some basic attributes and a Container specialisation that'd pass events down to its component widgets. |
22:55 | <@Tarinaky> | So drawing a container drawed the widgets that it contained (with some appropriate affine transformations). |
22:56 | <@Tarinaky> | I'm... really kindof stuck trying to figure out what the iterative step is for adding sprites and textures to the mix is though. |
22:56 | <@Tarinaky> | I really struggle with big steps :/ |
23:00 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
23:01 | <@Tarinaky> | I'm going for a shower, brb. |
23:02 | <&McMartin> | You may need a layout manager object for subcontainers instead of, basically, "canvas" |
23:02 | <&McMartin> | This is part of the 'all GUI programming is made of spiders' thing |
23:05 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
23:06 | | AnnoDomini [abudhabi@Nightstar-c53de59e.adsl.inetia.pl] has quit [Operation timed out] |
23:06 | | AnnoDomini [abudhabi@Nightstar-c53de59e.adsl.inetia.pl] has joined #code |
23:07 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
23:14 | <@Tarinaky> | McMartin: What does a layout manager object do? |
23:14 | <@Tarinaky> | Back, btw. |
23:16 | <&McMartin> | Hm. This is hard to explain without pointing to examples. Do you have experience in any other GUI systems like GTK, Qt, or Swing, or WinForms? |
23:17 | <@Tarinaky> | I've written a Swing app before. But nothing serious, just first year CompSci stuff :/ |
23:18 | <&McMartin> | Ok, you know how you could put a java.awt.GridLayout inside a java.swing.JPanel and then use that to fill it with buttons and labels and stuff? |
23:18 | <@Tarinaky> | Yeah. |
23:18 | <&McMartin> | GridLayout and friends are the layout-manager widgets. |
23:19 | <&McMartin> | Basically, everything that isn't a layout object has Exactly one Widget In It, and things that *are* layout objects subdivide widgets into a bunch of other oes. |
23:19 | <&McMartin> | *ones |
23:20 | <@Tarinaky> | Right. |
23:21 | <@Tarinaky> | Yeah. |
23:22 | <&McMartin> | Swing/AWT is unusually spidery about this, though, so Qt and GTK's notion of nested horizontal or vertical widget sets is probably easier to implement. |
23:22 | <@Tarinaky> | What do I do about the actual look of it though? Since that's where I'm stuck now. |
23:23 | <&McMartin> | Mmm |
23:24 | <&McMartin> | The "classic" answer is to have your one widget that behaves the way you want be the superclass, and make a subclass with a new renderer |
23:24 | <@Tarinaky> | I'm not sure I follow. |
23:33 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving] |
23:36 | <&McMartin> | One of your widget methods should be paint() or render() or draw() or something. |
23:36 | <&McMartin> | It should be virtual. |
23:36 | <&McMartin> | So you should be able to change appearance of widgets via subclass-and-override. |
23:36 | <@Tarinaky> | Yeah, that's what I got. |
23:37 | <&McMartin> | I guess *I'm* the one who's unclear then; what's that not handling for you? |
23:37 | <@Tarinaky> | I suck at words... |
23:37 | < RichyB> | Have you tried SWORDS instead? |
23:38 | <@Tarinaky> | Actually... gluing on some rasterised graphics. |
23:39 | <@Tarinaky> | So I don't have to put up with people poking fun at my stuff always looking like it came from the bowels of DOS. |
23:39 | <@Tamber> | Now it looks like DOS, with graphics! |
23:40 | <&McMartin> | Tarinaky: Raster graphics in OpenGL is kind of obnoxious, but the easiest way to do it is with a textured quad |
23:40 | <@Tarinaky> | Sure. I'm not sure how to get the texture I need. |
23:40 | <@Tarinaky> | I mean... a Button that's twice as wide needs a different texture... A button that's 3 pixels wide needs a different texture. |
23:40 | <@Tarinaky> | *wider |
23:45 | | You're now known as TheWatcher[T-2] |
23:50 | | You're now known as TheWatcher[zZzZ] |
23:50 | < RichyB> | D J Bernstein, regardless of how you feel about qmail or djbdns, has a surprisingly pleasing voice. http://secappdev.org/lectures/144 |
23:51 | <@Tarinaky> | I'm not missing something obvious then? |
23:51 | <&McMartin> | Not really. |
23:51 | <@Tarinaky> | :/ |
23:51 | <&McMartin> | You'd need different graphics for different buttons, so that's a field. |
23:52 | <&McMartin> | For generic resizable, there's a trick where you use nine textures |
23:52 | <&McMartin> | One for each corner, one each, tiled horizontally, for top, bottom, left, right, and one tiled horizontally and vertically for the "body" |
23:53 | <&McMartin> | If height is fixed, as it often would be for buttons, you could drop that to three, left-middle(tiled)-right |
23:53 | < RichyB> | If you want to do 2d drawing, you're presumably going to end up drawing into a memory buffer, making a texture from that, then painting that texture onto a quad? |
23:54 | <&McMartin> | Depends on whether the "label" is a rendered element in its own right |
23:54 | <&McMartin> | If z-buffering is off since it's 2D you might just Render Background, Render Text. |
--- Log closed Thu Jul 11 00:00:16 2013 |