--- Log opened Mon Jan 28 00:00:41 2013 |
00:21 | <~Vornicus> | I found myself wishing for the same thing. |
00:26 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
00:29 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
00:29 | | mode/#code [+o Courage] by ChanServ |
01:33 | | Attilla [Obsolete@Nightstar-9e7fa2b2.range86-162.btcentralplus.com] has quit [Ping timeout: 121 seconds] |
01:59 | <@celticminstrel> | Yes, yes it would. |
02:05 | < syknap> | celticminstrel: cant you do the same thing using css's :before and content stuff |
02:06 | | syknap is now known as syklunch |
02:06 | <@celticminstrel> | No. |
02:06 | < syklunch> | huh |
02:06 | < syklunch> | i thought that was how it was implemented |
02:06 | <@celticminstrel> | You can do similar stuff, but not the same stuff. |
02:33 | | Kindamoody[zZz] is now known as Kindamoody |
02:45 | | emmy [NSJavaIRC@Nightstar-fb74e5a6.xtra.co.nz] has joined #code |
02:45 | < emmy> | hey all |
02:46 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
02:46 | < emmy> | soo |
02:46 | <@Azash> | Sup |
02:47 | < emmy> | nada my usual chat is down |
02:48 | < emmy> | seems quiet\ |
02:51 | | emmy [NSJavaIRC@Nightstar-fb74e5a6.xtra.co.nz] has quit [[NS] Quit: Nightstar's Java Chat http://www.nightstar.net] |
03:23 | | * McMartin_ reinitiates development on Ophis. |
03:30 | <~Vornicus> | which one was Ophis? |
03:32 | < McMartin_> | The assembler |
03:32 | < McMartin_> | I'd misread the spec for one of the later additions to the chipset, and now I need to go do horrible, horrible things to the parser. |
03:39 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Client closed the connection] |
03:41 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
03:41 | | mode/#code [+o himi] by ChanServ |
03:51 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
03:51 | | himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
03:51 | | mode/#code [+o himi-cat] by ChanServ |
04:01 | | * ToxicFrog fires up the refactor tractor |
04:07 | | * Vornicus has been spending the past few days Officially Refactoring |
04:08 | <~Vornicus> | Specifically I've been turning raw DOM manipulation into JQuery stuff and parallel arrays into arrays of structs |
04:08 | <@Azash> | ToxicFrog: I imagine the refactor tractor as like.. Have you seen when Top Gear convert a harvester into a snowplow? |
04:09 | <&ToxicFrog> | No. |
04:10 | <~Vornicus> | And at the same time there have been no actual functionality changes. |
04:10 | <&ToxicFrog> | In this case I'm trying to actually do it properly, i.e. make lots of small changes that gradually reshape the program into what I want. |
04:10 | <~Vornicus> | everything still works the same way it did before. |
04:10 | <&ToxicFrog> | Rather than my usual approach of bulldozing and rewriting entire modules. |
04:13 | | * McMartin_ flails at poorly documented hardware |
04:13 | <@RobinStamer> | Isn't that what refactoring is? |
04:14 | | * RobinStamer only write new modules to replace old ones as a last resort. |
04:14 | <@RobinStamer> | IE: when they do something completely braindead |
04:14 | < McMartin_> | Depends on how large your modules are. |
04:14 | < McMartin_> | If the module is 30 lines long, bulldoze away |
04:14 | <@RobinStamer> | Yeah |
04:15 | <@RobinStamer> | Mine are usually 1-3 classes. |
04:25 | <&ToxicFrog> | RobinStamer: yes, but sometimes I lose track of that~ |
04:46 | <@Azash> | ToxicFrog: Ah, alright, well basically it sands roads with enough force to shatter car windows, and features a flame thrower for melting ice |
04:46 | <@Azash> | It's how I imagine refactoring code |
05:57 | < JustBob> | Ah, Vorn. I'm reminded. My professor commented on my code: 'You commented insufficiently.' I'm not sure if he's being sarcastic or not, because I have three to four lines of comments per line of code. |
05:59 | <@celticminstrel> | Maybe the comments are just... not good ones? |
06:00 | < syklunch> | JustBob: was 90% of it boilerplate? |
06:00 | < syklunch> | because we all know enterprise quality code is mostly boilerplate |
06:00 | < syklunch> | so go, add some more useless java definitions, there isn't enough |
06:00 | < syklunch> | your code isn't java? doesn't matter, java function definition boilerplate |
06:00 | < JustBob> | It's matlab code. |
06:00 | | syklunch is now known as Syk |
06:01 | < JustBob> | Well, matlab scripting. I was describing everything the intention of the function was doing, step by step. |
06:01 | < JustBob> | Including such gems as '% This step increments the incremental counter in order to track the number of increments utilized in this incrementing counting loop.' |
06:02 | < Syk> | see, now that's enterprise quality comments |
06:02 | < JustBob> | Well, I did use to write technical work documents for a living. |
06:06 | < Syk> | haha |
06:06 | < Syk> | well |
06:06 | < Syk> | maybe he means like... |
06:06 | < Syk> | there was this thing i read |
06:07 | < Syk> | code documents how. design docs document what. comments document why |
06:07 | < Syk> | saying that it increments the step doesn't give a why, which is maybe why he didn't like the comments |
06:07 | < Syk> | because saying 'it increments the step' is right there in the code |
06:07 | < Syk> | the rest of it is fine |
06:08 | < Syk> | but, I dunno :P |
06:08 | < JustBob> | Heh. I'm reasonably sure he's trolling me. |
06:08 | < JustBob> | Which is why my next project will have a minimum of six lines of comments per line of code. |
06:09 | | * Syk looks at her Python |
06:10 | <@celticminstrel> | "minifying" JavaScript wouldn't improve performance, would it? |
06:10 | < Syk> | i have... 13 lines of code |
06:10 | < Syk> | it's ascii art |
06:10 | < Syk> | celticminstrel: yes and no |
06:10 | < Syk> | celticminstrel: it increases load performance by a shittonne |
06:10 | < Syk> | celticminstrel: mini-ised functions might clash though in lookup tables |
06:10 | < Syk> | except the network performance is honestly all you need to care about |
06:11 | <@celticminstrel> | Well, I'm pretty sure load performance isn't relevant here. |
06:11 | < Syk> | because that few bits not going over the wire will more than make up for any processing performance hit |
06:11 | <@celticminstrel> | No code is executed until the "Begin" button is pressed. |
06:11 | < Syk> | well if it's purely internal, then it won't help |
06:11 | < Syk> | but if it's... website js |
06:11 | <@celticminstrel> | By which time, presumably the entire program has been downloaded. |
06:12 | <@celticminstrel> | Well, unless maybe there's a really slow connection. |
06:12 | < Syk> | context? |
06:12 | < Syk> | is this JS or node.js or whatever |
06:12 | | Typherix is now known as Typh|zZz |
06:12 | <@celticminstrel> | It's this thing: http://celmin.pwcsite.com/roguelike/rogue.html |
06:13 | <@celticminstrel> | Anyway, your answer is more or less what I thought was the case. |
06:13 | < Syk> | yeah, it won't help perf once it's loaded |
06:13 | <@celticminstrel> | Yeah that. |
06:13 | < Syk> | but it'll take less time to get it to start with |
06:14 | <@celticminstrel> | I'm wondering if I should drop jQuery. |
06:14 | < Syk> | celticminstrel: if you're doing any development, don't mini-ise it |
06:14 | <@celticminstrel> | I'm not using it a whole lot. |
06:15 | < Syk> | because then debugging will become such a huge pain in the ass, even in beta |
06:15 | <@celticminstrel> | Well yeah, of course. |
06:15 | < Syk> | because stack traces become worse than useless :C |
06:15 | <@celticminstrel> | Heh. |
06:16 | <@celticminstrel> | Anyway, I happened across a comment somewhere (probable SO) about jQuery being bloated. I don't think I absolutely need jQuery, since I'm only doing fairly simple things with it. Might removing that dependency help performance? |
06:20 | <~Vornicus> | Syk: you and I don't write the same class of code, I think~ |
06:20 | <~Vornicus> | (I have written code that takes up less than 1kb but takes over a minute to run.) |
06:21 | < Syk> | Vornicus: that's because you do fancy things :P |
06:21 | < Syk> | celticminstrel: jquery is bloated but in these days it's not That Bad |
06:21 | < Syk> | celticminstrel: since the only downside you'd get is a huge original load time |
06:22 | < Syk> | and then the JS engine will be smart enough to only call what it needs |
06:22 | <@celticminstrel> | So, once again it shouldn't affect performance much once loaded? |
06:22 | < Syk> | if you use things in jquery it might be a bit slow, but jquery is very very tested and very widespread |
06:22 | < Syk> | so it's more likely that it can't be done much faster but still in a general way |
06:23 | <@celticminstrel> | I have a few jQuery calls sprinkled through the code. |
06:23 | <~Vornicus> | And because it's so widespread you can sometimes even avoid counting it in your system's load time |
06:23 | <@celticminstrel> | Nothing particularly fancy. |
06:23 | < Syk> | yeah like Vornicus says |
06:24 | <~Vornicus> | because if you use, say, google's copy, like many do, google might return a "hasn't been updated" and your computer will look at its own cache |
06:24 | < Syk> | if you use the Google-hosted jquery, for example |
06:24 | | * Vornicus wins! |
06:24 | < Syk> | I would say a good half of people will already have it |
06:24 | < Syk> | Vornicus: i claim irc lag |
06:24 | <@celticminstrel> | I'm currently using a local copy. |
06:24 | < Syk> | :P |
06:24 | < Syk> | celticminstrel: it's easy to switch it out to the Google one |
06:24 | <@celticminstrel> | (The uploaded version likewise has its own copy on the same server.) |
06:24 | <@celticminstrel> | But yeah, what you said. |
06:25 | <@celticminstrel> | I even have the URL in a comment. |
06:31 | | Derakon is now known as Derakon[AFK] |
06:42 | | ErikMesoy|sleep is now known as ErikMesoy |
06:42 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
06:42 | | mode/#code [+ao Derakon Derakon] by ChanServ |
06:43 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:45 | | Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
07:32 | | Kindamoody is now known as Kindamoody|out |
07:59 | | * Alek snerks. |
08:00 | <@Alek> | python. learning import and command-line arguments. |
08:00 | <@Alek> | it breaks if you include a quote mark in the arguments by accident. XD |
08:10 | <~Vornicus> | that's not python |
08:19 | <@Alek> | isn't it? |
08:19 | <@Alek> | prompt>python ex.py let's |
08:19 | <@Alek> | > |
08:20 | <@Alek> | dunno how, but with the quote mark, it just opens python instead of running the script. |
08:20 | <@Alek> | now if it's not ONLY python, that's different. or if it's a powershell thing... <_< |
08:23 | | Attilla [Obsolete@Nightstar-9e7fa2b2.range86-162.btcentralplus.com] has joined #code |
08:27 | <~Vornicus> | Powershell thing |
08:32 | <@Alek> | ahh. |
08:32 | <@Alek> | ok. |
09:00 | < McMartin_> | Man, it's a bad day when replacing a routine with a lookup table makes it not only faster but smaller. |
09:05 | | You're now known as TheWatcher |
09:23 | <~Vornicus> | wow. |
09:23 | <~Vornicus> | Alek: try `python ex.py "let's"` instead |
09:24 | <~Vornicus> | actually, that's also not python it's opening up: python uses >>> as its prompt, that's powershell thinking you have more crap to put in the ' |
09:25 | <@Alek> | hah. that makes sense. |
09:25 | <@Alek> | well, it wasn't a necessary quotemark. XD |
10:47 | | RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has joined #code |
11:19 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
12:41 | <@RobinStamer> | <celticminstrel> "minifying" JavaScript wouldn't improve performance, would it? <-- remember that every browser has to download those JS files. So yes, it affects load times. |
12:41 | <@RobinStamer> | Err nm, it was answered |
12:46 | < Xon> | RobinStamer, and they left. but yould have to be nuts to not use jquery and try to roll your own |
12:47 | <@RobinStamer> | Yeah |
12:47 | <@TheWatcher> | Nuts, or deeply masochistic |
12:47 | <@TheWatcher> | (although I prefer Mootools, myself) |
12:49 | < Xon> | jquery has really good compadibility with a very large range of browsers & version |
12:49 | < Xon> | that is really hard to beat |
12:51 | < Xon> | and given how fucking horrible HTML DOM is, the less you need to look at it the better |
12:51 | <@TheWatcher> | Heh |
13:02 | | himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
13:10 | | * TheWatcher eyes Safari |
13:10 | <@TheWatcher> | This thing has some truly bizarre and deeply irritating behaviours |
13:14 | <@TheWatcher> | It does http pipelining, fine, no problems with that... except that it just leaves the connections open until the webserver times them out |
13:15 | <@TheWatcher> | Usually 10 connections at a time. |
13:15 | <@RobinStamer> | Make your server tell it not to use keep alives |
13:19 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
13:19 | | mode/#code [+o himi] by ChanServ |
13:58 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
14:08 | | * TheWatcher sighs, is wondering whether to even bother including code to enforce password policies in this |
14:09 | | Syka [the@A6D346.0419D1.5781E3.D098A4] has joined #code |
14:09 | <@TheWatcher> | (if I don't, you just know half the morons using it will set 'password', or the name of their dog, or something. If I do, they're just going to write the fucker on a postit stuck to the monitor anyway) |
14:10 | | Syk [the@Nightstar-030f9e01.iinet.net.au] has quit [Ping timeout: 121 seconds] |
14:10 | <@Tarinaky> | Eugh. I've been in the computer lab all day and I smell of horrible :/ |
14:11 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
14:11 | | mode/#code [+o himi] by ChanServ |
14:18 | <@Azash> | TheWatcher: Get dongles for two-factor auth? |
14:19 | <@TheWatcher> | Azash: this is for a web service accessible to the general public. |
14:19 | <@Azash> | Ah |
14:22 | < Xon> | TheWatcher, one of the sys-admins where I work wanted to fire a client over having the password "password" for a webaccesable login =P |
14:23 | < Nemu> | You can fire a client? |
14:23 | < Nemu> | I thought it worked the other way around |
14:24 | <&jerith> | Nemu: You fire a client by refusing to work for them anymore. |
14:24 | < Xon> | yes, it's called given them thier stuff and crediting them any monies left over and saying the business relationship has ended |
14:24 | < Nemu> | Ah. |
14:24 | < Xon> | actually done it a few times with problematic customers |
14:25 | < Xon> | not very many mind you |
14:25 | <@Azash> | http://pastebin.com/0CLrSbwb |
14:28 | | VirusHome is now known as Pandemic |
14:28 | | mode/#code [+o Pandemic] by ChanServ |
14:51 | <@TheWatcher> | Bah, sod it, I guess I should set up something so it can be configured |
14:56 | <@TheWatcher> | Xon: I used to administer a Bodington system in work (a java-based VLE, developed in Leeds university by a biologist - the fact that the passwords were stored in the database in plain text tells you all you need to know) Sometimes I'd search the user table for passwords like 'password', or '12345' - at least 10% of the users had 'password' set at any time |
15:22 | | * Azash grumbles at data structures coursework |
15:23 | <@Azash> | I find it slightly strange that a first-year data structures course requires people to implement cacheing |
15:27 | <@TheWatcher> | Maybe they're hoping it'll make you remember it for later?~ |
15:28 | <@Azash> | Well, yes, but cacheing hasn't been really covered in any form for people taking this course :P |
15:28 | <@Azash> | Or it could just be my solution that's bad, of course |
15:42 | <&ToxicFrog> | Cacheing of what? |
15:48 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
15:50 | | Typh|zZz is now known as Typherix |
15:58 | | Syka is now known as syksleep |
16:01 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
16:02 | | mode/#code [+o himi] by ChanServ |
16:05 | <@Azash> | ToxicFrog: The assignment is to get an array of ints and advance through it so at node x the sum of every node up to and including x is what is asked in the parameter |
16:05 | <@Azash> | If yes, return x, otherwise -1 |
16:06 | <&ToxicFrog> | That was a remarkably unclear explanation |
16:07 | <&ToxicFrog> | Given an array A and target value N, you want to find the n such that ?(A1..An) == N? |
16:07 | <@Azash> | int sum=0; for(int i=0;i<list.length;i++) { sum += list[i]; if (sum == parameter) return i; else if (sum > parameter) return -1;] |
16:07 | <&ToxicFrog> | Ok. How does this require cacheing? |
16:08 | <@Azash> | Because the tests include a large number of calls that need to be done within a certain time frame |
16:08 | <&ToxicFrog> | Ok... |
16:08 | <@Azash> | The tests use a 100,000 value array and do 10,000 calls with different parameters |
16:09 | <@Azash> | With the naive solution I just did, it's 1.6 seconds |
16:09 | <@Azash> | The time limit is 50 ms |
16:09 | <&ToxicFrog> | But I mean, what is there to cache? Do you just mean memoization? |
16:09 | <&ToxicFrog> | Oh, I see, it's getting repeatedly called on the same array with different n? |
16:09 | <@Azash> | Yes |
16:09 | <@Azash> | I have a separate array where the n:th node is the sum 1..n |
16:10 | <&ToxicFrog> | The only part that strikes me as unusual in this is that I'd expect an intro data structures course to use more, well, data structures |
16:11 | <&ToxicFrog> | Maybe you're meant to implement a map instead~ |
16:11 | <@Azash> | To be more specific |
16:11 | <@Azash> | Data structures and algorithms |
16:11 | <&ToxicFrog> | Aah. |
16:11 | <@Azash> | Easily summarized as "half-of-cormen 101" |
16:12 | <&ToxicFrog> | (those are separate courses here) |
16:12 | <@Azash> | Yeah, in fact they changed the name of the course accordingly this year |
16:12 | <&ToxicFrog> | But, yeah, that strikes me as a reasonable assignment and a reasonable solution to it, given that |
16:12 | <@Azash> | But anyway, thinking about it, my solution is basically n log n instead of n^2 |
16:13 | <&ToxicFrog> | I might use a map N => <true,false> if I were in a language with efficient maps/sparse arrays, but apart from that... |
16:13 | <&ToxicFrog> | Hang on |
16:14 | <@Azash> | Well, our language-presumed-to-be-known is Java |
16:14 | <&ToxicFrog> | I don't think it's nlogn, I think it just has a smaller constant factor |
16:15 | <&ToxicFrog> | 9 |
16:15 | <&ToxicFrog> | (potentially much smaller) |
16:16 | <@Azash> | Well, I mean, if you think of it this way |
16:16 | <@Azash> | Adding the sum to the cache is n |
16:16 | <@Azash> | With binary search I can get the cache value in log n |
16:16 | <@Azash> | And I do a search for every test value, so n log n |
16:18 | <&ToxicFrog> | Oh right, the cache is intrinsically sorted so you can b-search. |
16:19 | <&ToxicFrog> | (I just woke up) |
17:19 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
17:33 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
17:33 | | mode/#code [+o himi] by ChanServ |
17:34 | | Nemu_ [NeophoxProd@Nightstar-c58376f0.asahi-net.or.jp] has joined #code |
17:36 | | Nemu [NeophoxProd@Nightstar-d50952e4.asahi-net.or.jp] has quit [Ping timeout: 121 seconds] |
17:41 | | ^Xires is now known as Xires |
17:41 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
17:54 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
17:54 | | mode/#code [+o himi] by ChanServ |
18:00 | | jeroid [jerith@687AAB.5E3E50.5EC6FB.AD7D10] has joined #code |
18:46 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
18:59 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
18:59 | | mode/#code [+o himi] by ChanServ |
19:16 | | Typherix is now known as Typh|Class |
19:16 | | Typh|Class is now known as Typh|Lab |
19:28 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
19:33 | < RichyB> | I think that the easy way to solve "sum up to what point is >= x?" is to have an array storing the cumulative sums. |
19:33 | < RichyB> | O(n) to prepare and, if there are only positive values in the input, you can binary-search on it. |
19:34 | < RichyB> | Oh, you already have that? I should probably read backscroll in reverse order. ;P |
19:35 | <@froztbyte> | stack issues then :P |
19:36 | | jeroid [jerith@687AAB.5E3E50.5EC6FB.AD7D10] has quit [[NS] Quit: Bye] |
19:41 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
19:41 | | mode/#code [+o himi] by ChanServ |
19:46 | <@Alek> | what languages are android/iOS apps generally in? |
19:46 | <@froztbyte> | android is almost universally dalvik-java |
19:46 | | Kindamoody|out is now known as Kindamoody |
19:46 | <@froztbyte> | you can do it in something else, but that's a lot more complicated |
19:47 | <@Alek> | so there IS a reason to learn java? XD |
19:47 | <@froztbyte> | iOS is Obj-C |
19:47 | <@froztbyte> | and for iOS you need to buy a whole playpen |
19:47 | <@froztbyte> | X-Code only runs on OSX, for instance, so you'll have to sling together a hackintosh or get a real Mac box |
19:47 | | * Alek gives them the finger. Heck, the whole fist. |
19:47 | <@froztbyte> | then some developer licensing costs as well, iirc |
19:48 | < RichyB> | Alek: on Droid you get Java (Dalvik) or the NDK. |
19:48 | <@Alek> | mk |
19:48 | < RichyB> | Some people write videogames with NDK, which I think gives you a C++ API. |
19:49 | < RichyB> | Usually you use Dalvik because Dalvik code is cheaper to write than C is, but you do get the choice. |
19:50 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
19:51 | < RichyB> | Oh, that's less sexy than I was expecting. |
19:52 | < RichyB> | It's pretty much all JNI, especially if you want to target Android 2.2 or below. |
19:52 | <&ToxicFrog> | Alek: Android is Java; in principle it's "anything that can target the JVM" and some people have reported success running Clojure, Scala, and Lua code on it as well. |
19:52 | <@froztbyte> | but! |
19:52 | <@froztbyte> | keep in mind that your platform resources are entirely different |
19:53 | <@froztbyte> | so you'll definitely want to get used to testing on "realistic" profiles, and/or actual handsets |
19:53 | <@Alek> | hey, any NW Indy people here? |
19:53 | | * McMartin_ flees giant boulder traps? |
19:53 | <&ToxicFrog> | Yeah, the biggest reason that's "in principle" is that clojure and scala, in particular, heavily increase application footprint in ways you often can't get away with on Android. |
19:54 | <&ToxicFrog> | There are tools to mitigate this but in clojure, at least, they tend to optimize away the entire stdlib if you aren't careful. |
19:54 | <@froztbyte> | yar |
19:54 | <@Alek> | also, yeah. every droid device is different. it's like PCs in the 80s and early 90s. XD |
19:54 | <@froztbyte> | ToxicFrog: <tangent/> not that this is necessarily a problem, if you're particularly crazy enough to do that sort of thing |
19:55 | <@Alek> | app studios are not all equal. -_- |
19:56 | <@Alek> | I've seen nearly identical games take up wildly differing amounts of resources. |
19:56 | <@froztbyte> | of course |
19:56 | <&ToxicFrog> | froztbyte: well, the issue is that they'll optimize away the parts you depend on, too |
19:56 | <&ToxicFrog> | And possibly parts of the program proper |
19:56 | <@froztbyte> | pfft |
19:56 | <&ToxicFrog> | And the interpreter |
19:56 | <@Alek> | lol |
19:56 | <@froztbyte> | if you're doing that, you're WRITING THOSE YOURSELF |
19:56 | <@froztbyte> | using MAGNETS |
19:57 | <@froztbyte> | like a REAL PROGRAMMER |
19:57 | <@froztbyte> | there was that one crazy dude who optimized the living crap out of his code, took advantage of all sorts of mad machine hax, etc |
19:57 | <@Tamber> | Mel? |
19:57 | <@froztbyte> | can't remember his name though |
19:57 | <@froztbyte> | Tamber: Mel? |
19:58 | <@Tamber> | http://catb.org/jargon/html/story-of-mel.html |
19:58 | <&ToxicFrog> | Yeah, that's the Story of Mel you're thinking of. |
19:58 | <@Alek> | now he was a Real Hacker. |
19:58 | < McMartin_> | Mel was mostly an asshole. |
19:58 | < McMartin_> | Also fictional. |
19:58 | <@froztbyte> | nein, this is not the thing I'm thinking of |
19:58 | < McMartin_> | This is only respectable when hacking the Atari 2600~ |
19:59 | <@froztbyte> | I think I'm thinking about the guys who were later involved with 8088 Corruption |
19:59 | <@froztbyte> | but I'm really beyond terrible with names of people :/ |
19:59 | <@Alek> | mcm: citation needed. |
19:59 | <@froztbyte> | hack a 2600 |
20:00 | <@froztbyte> | you'll soon learn why :P |
20:00 | <@Alek> | er. what? |
20:00 | <@froztbyte> | hell, get a linux 1.x or so going ;) |
20:00 | <@froztbyte> | Alek: "go try do something on anything sufficiently old" |
20:01 | < McMartin_> | Alek: The hardware registers are things like "when you strobe this register move the sprite to the location the CRT electron gun is pointing right now" |
20:01 | < McMartin_> | Sprite placement involves cyclecounting, intrinsically, since the earliest days of the platform. |
20:01 | < McMartin_> | The original developers likened development for it to solving acrostic puzzles. |
20:02 | < McMartin_> | The Stella Programmer's Guide is the definitive doc on what the 2600 did, but "Racing The Beam" is the definitive book on the original 2600 dev culture |
20:02 | < McMartin_> | By dint of being basically the only one~ |
20:02 | <@froztbyte> | McMartin_: I wonder how many D&D-esque games' moving-parts-puzzles are a reference back to hardware like that |
20:03 | < McMartin_> | Oh right, also: 4KB ROM, 128B RAM |
20:03 | <@froztbyte> | 4K? |
20:03 | <@froztbyte> | jeez |
20:03 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
20:03 | | mode/#code [+o himi] by ChanServ |
20:03 | <@froztbyte> | this was what, late 70s? |
20:03 | < McMartin_> | Didn't get big until the early 80s, but yes. |
20:04 | <@froztbyte> | hmm |
20:04 | < McMartin_> | Also, that "128B" is not a typo |
20:04 | <@froztbyte> | fair enough |
20:04 | <@froztbyte> | yeah, I'm familiar with the early RAM constraints :) |
20:04 | | * froztbyte is an '86 and latecomer to many things |
20:04 | < McMartin_> | Well, by 1982 you could fill the entire address space with RAM on a cheap mass market machine. |
20:04 | <@froztbyte> | mostly due to lack of internet or other resources in my earlier life :( |
20:05 | < McMartin_> | But yes, even the address pins were held too dear in the late 1970s. =P |
20:14 | | * TheWatcher bleghs vaguely, has three nearly-identical classes in three different projects, but can't do things like hard link tricks so that he can just have one copy and pretend to have three because of aforesaid nearly-ness. |
20:17 | | RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has quit [[NS] Quit: >:3 This is BunThulhu. Copy him into your quit message to help him take over the Internet.] |
20:23 | | Kindamoody is now known as Kindamoody[zZz] |
20:43 | | Typh|Lab is now known as Typh|Class |
20:45 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [[NS] Quit: ] |
20:56 | | McMartin_ is now known as McMartin |
20:56 | | mode/#code [+ao McMartin McMartin] by ChanServ |
20:58 | <@Rhamphoryncus> | TheWatcher: I assume your version control software won't let you automatically pull in other repositories? |
20:58 | <@TheWatcher> | It probably can, but the problem is that the files are actually different |
20:59 | <@Rhamphoryncus> | ahh |
21:00 | <@Rhamphoryncus> | Nothing helpful I can say then. "Make them the same, obviously!" |
21:00 | <@TheWatcher> | There's a /lot/ of common code, but enough differences in important places that I can't just Be Sneaky About It. |
21:23 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
21:23 | | mode/#code [+o Courage] by ChanServ |
22:10 | | Typh|Class is now known as Typherix |
22:40 | <&McMartin> | [mcmartin@iodine demystify]$ ophis demystify.oph |
22:40 | <&McMartin> | Assembly complete: 594 bytes output (572 code, 22 data, 0 filler) |
22:40 | <&McMartin> | \o/ |
22:41 | <&McMartin> | The question is "Can I build some kind of action game around this in 400-odd bytes" |
22:42 | <&ToxicFrog> | Why 400-odd bytes? To fit it into 1K? |
22:42 | <&McMartin> | Yeah |
22:42 | <&McMartin> | This is the bitmap engine and the Qix animation, basically |
22:42 | <&McMartin> | All in hideous red on black because that's the easiest color scheme to initialize on the C64 bitmap mode~ |
22:49 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
22:58 | | ErikMesoy is now known as ErikMesoy|sleep |
23:16 | <&McMartin> | This also means it's time to set up backups of that repo. |
23:28 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
23:40 | | ReivDriod [Reiver@3CF3A5.E1CD01.5A78C0.03128C] has quit [Ping timeout: 121 seconds] |
23:47 | | Orthia [orthianz@3CF3A5.E1CD01.5A78C0.03128C] has quit [Ping timeout: 121 seconds] |
23:52 | | Orthia [orthianz@3CF3A5.E1CD01.5A78C0.03128C] has joined #code |
23:52 | | mode/#code [+o Orthia] by ChanServ |
--- Log closed Tue Jan 29 00:00:56 2013 |