--- Log opened Fri Jan 25 00:00:56 2013 |
00:06 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
00:06 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
00:22 | | * Vornicus eyes one of the files that hasn't been deleted by the trash |
00:22 | <~Vornicus> | the name has 9 NULs in it. |
00:23 | <&McMartin> | Ow |
00:23 | <&McMartin> | NTFS'd |
00:23 | <&McMartin> | Also, probably file corruption, you should maybe do a scan for bad blocks |
00:24 | <~Vornicus> | it's on a small fat32 flash drive |
00:25 | | syksleep is now known as Syk |
00:26 | <~Vornicus> | also my wireless is sucking. bah |
00:33 | <~Vornicus> | I love this. I lose connection entirely for a bit but then it comes back and I haven't dropped off irc |
00:34 | < RichyB> | Vornicus: bouncer? |
00:34 | < RichyB> | Or a remote client? |
00:34 | <~Vornicus> | nope. |
00:34 | <~Vornicus> | neither. |
00:34 | <@Azash> | Long ping interval? |
00:37 | <~Vornicus> | long enough, the connection drops for onlyabout 20 seconds, it looks like. irc runs at about 120 minimum. |
00:38 | <@Azash> | Most networks seem to use 240 |
00:38 | <~Vornicus> | Including this one, but it used to do 120 and I've never seen lower |
00:41 | <@Azash> | Also if I'm not mistaken the way most IRCds operate is that they don't check for pong replies separately but rather do that at every ping wave |
00:43 | <@Reiv> | Y'know, the ice shelf monitoring aircraft the US Metrology people run uses IRC. |
00:43 | <@Reiv> | Because they have to run connections over, IIRC, 6 Iridium satellite phones, which achieves a whopping 22k connection |
00:43 | <@Reiv> | And the ping is, um, /nontrivial/ |
00:43 | <@Reiv> | So they comms to ground station with IRC. |
00:44 | <@Reiv> | Hooray for protocols built properly, I guess~ |
00:56 | <@himi> | God |
00:56 | <@himi> | IRC is /not/ built properly, it just happens to work reasonably well over low bandwidth high latency links |
01:03 | <@Azash> | https://github.com/rigormotis/dotfiles/blob/1bd6a30206227111b7e471bdba56b606e4a7 2617/.zsh_history |
01:11 | | You're now known as TheWatcher[T-2] |
01:12 | <@Reiv> | Himi: But really, is /anything/ built properly? |
01:12 | <@himi> | Well, some things are built better than others |
01:12 | <@himi> | IRC is on the lower half of that distribution |
01:13 | <@Azash> | What are your main issues with IRC? |
01:13 | <@Reiv> | himi: And where does it sit in relation to email~ |
01:14 | <@himi> | For a start, any protocol that needs to rewrite packet /contents/ when traversing a NAT box is problematic |
01:14 | <@himi> | (this is necessitated by the inclusion of things like IP address /in plain text/ in the protocol |
01:15 | <@Azash> | Really? |
01:15 | <@Azash> | Hm, missed that |
01:15 | <@himi> | (which not only needs the contents to be rewritten, but can change the packet /headers/ during the rewrite, thanks to IP addresses in dotted decimal form not being fixed length) |
01:15 | <@himi> | One quick way to see what has problems is to see if there's a special ip_conntrack module for it in the Linux kernel |
01:16 | <@himi> | If there is, it basically means the kernel has to know about the fine details of the protocol to be able to do stateful firewalling/mangling/NAT/whatever |
01:16 | <@Azash> | Well, you're right, but that seems to just be for the trace command |
01:16 | <@himi> | FTP is likewise a bitch |
01:16 | | You're now known as TheWatcher[zZzZ] |
01:17 | <@himi> | Azash: I said IRC is in the bottom half of the sanity distribution, not right at the very bottom |
01:17 | <@Azash> | I didn't realize there was so much sanity though :P |
01:18 | <@himi> | heh |
01:18 | <@himi> | People have learned a /lot/ since those days about the realities of a really big heterogenous and complicated Internet |
01:19 | <@Azash> | I have to admit being partial though, because I'd rather see as little NAT accommodation as possible |
01:20 | <@himi> | Yeah, but still |
01:20 | <@himi> | Making a protocol that actively breaks across NAT is just dumb |
01:21 | <@Azash> | Well, IRC does predate NAT |
01:21 | <@himi> | This is a point |
01:21 | <@himi> | In any case, bring on IPv6 |
01:22 | <@Azash> | Plus, to be fair, it's used in one type of reply to the trace command |
01:22 | <@Azash> | So it's really a corner case |
01:22 | <@himi> | My ISP will hand you a /56 if your router is PD capable |
01:23 | <@himi> | Because 2^64 addresses just aren't enough |
01:39 | < Syk> | heh |
01:39 | < Syk> | you could probably set your computer to use a different IP address for each process |
01:39 | < Syk> | and not run out for hundreds of years |
01:39 | <@himi> | Probably? |
01:40 | < Syk> | and maybe |
01:40 | < Syk> | just maybe |
01:40 | < Syk> | Windows will no longer have colliding IP addresses with other computers |
01:42 | <@Azash> | Syk: Reminds me of that case where a guy bought two devices of the same model and his network wouldn't work at all |
01:42 | <@Azash> | And it took like days before he realized they had come with the same MAC |
01:42 | < Syk> | baahaha what |
01:42 | <@himi> | That's just nasty |
01:45 | <@Reiv> | Yeah, that happens at times |
01:45 | <@Reiv> | It's generally a factory production error. |
01:45 | <@Reiv> | A broken RNG or something, hell if I know :P |
01:45 | <@Reiv> | But it's factory go glitchy. |
01:46 | <@Reiv> | Which can be hilarious. |
01:46 | < Syk> | so |
01:46 | <@Reiv> | Because of course it's a whole /batch/ that gets wrecket |
01:46 | < Syk> | are we going to have to have MACv6 soon |
01:46 | <@himi> | Not an RNG problem, because MACS tend to be assigned sequentially |
01:46 | < Syk> | because i think we're gonna run out of MACs before IP addresses now |
01:46 | | * himi has a number of server batches that have near-sequential blocks of MACS |
01:47 | < RichyB> | Syk: not as bad as it should be; they're link-local. |
01:47 | < Syk> | part of me goes |
01:47 | < Syk> | 'why the fuck don't we just have MACs and forget about IP?' |
01:48 | < Syk> | and then I realised the 234,749 reasons why that's stupid |
01:48 | <@Azash> | :P |
01:48 | < Syk> | #1, mac users will feel important for once |
01:48 | < RichyB> | Several reasons. MACs aren't really globally unique. The global routing table would be immense. |
01:48 | < Syk> | #2 mac users will think people are talking about them for once |
01:48 | <&McMartin> | #2, Sometimes you want to upgrade yoru network card but still be otherwise the same machine |
01:49 | < RichyB> | One of the cool things about IPv6 is that it'll make routers cheaper if almost all traffic is IPv6 - because you get huge simple prefixes assigned to whole countries, which makes routing tables *way* smaller. |
01:49 | < Syk> | #3 every stupid CIO will think that since theres only MAC addresses, all the Procurves need to be replaced by racks of mac minis |
01:49 | <@Reiv> | himi: Well, OK, not RNG, but the counter broke. |
01:49 | < RichyB> | Also they changed the header structure to make parsing it cheaper. |
01:49 | <@Reiv> | You know what I mean, etc |
01:49 | <@Azash> | Syk: Ah yes, the 4chan model |
01:49 | < Syk> | RichyB: so I can just go |
01:49 | < Syk> | RichyB: I can just go 'drop * from {china, russia, france}'? :O |
01:50 | < Syk> | Azash: someone did it and it was a rack of mac minis |
01:50 | < Syk> | power draw and heat output was amazing |
01:50 | <@Reiv> | RichyB: Theoretically true, but capacity is growing at a rate that I very much doubt the size of the routing table has a meaningful effect on the price of the router. |
01:50 | < RichyB> | You can already do that, get a copy of MaxMind's GeoIP database, it's >99% accurate. |
01:50 | < RichyB> | Reiv: the stuff that you use in routers isn't cheap ordinary DIMMs, it's expensive content-addressable memory. |
01:51 | <@Reiv> | Still cheap, no? |
01:51 | < RichyB> | Specifically, the stuff that you use in epic-throughput core routers is CAM. |
01:51 | < RichyB> | No, it's not cheap at all. |
01:51 | <@himi> | Reiv: for mid-level routers it can be a significant issue |
01:51 | <@Reiv> | Er or rather |
01:51 | <@Reiv> | Still getting cheaper, no? |
01:51 | < Syk> | it's like... cheap is here |
01:51 | < Syk> | and then that's over there |
01:51 | < Syk> | i dont know why there's not some sort of computing platform for switches |
01:51 | < RichyB> | No. Moore's Law isn't going to make CAM super-cheap any time soon. |
01:51 | < RichyB> | Syk: there is, it's called OpenFlow. |
01:52 | < Syk> | is it commercially available |
01:52 | < RichyB> | Yeah. |
01:52 | < RichyB> | Wait, OpenFlow is more for routers. |
01:52 | < RichyB> | Should work fine for switching too. |
01:53 | < Syk> | well routers are just switches with an outer link |
01:53 | < Xon> | Syk, not really |
01:53 | < Syk> | maybe not high end ciscos |
01:53 | <@himi> | Once you get to the kind of hardware that cares about global routing tables you're paying enough to cover a whole lot of custom silicon |
01:54 | < Syk> | but the things that have the 8 ports and people use for network backbones |
01:54 | <@himi> | um |
01:54 | < Syk> | (small network backbones) |
01:54 | < Xon> | switching is really utterly trivial |
01:54 | < Syk> | (like businesses) |
01:54 | < Syk> | unless i'm talking about something wrong |
01:54 | <@himi> | Network backbones tend to be the big chassis with interchangeable blades |
01:54 | < Syk> | in which case i think i need to have coffee |
01:55 | < Syk> | himi: i mean... like, more consumer-side backbones |
01:55 | < Syk> | not... internet backbone |
01:55 | < Syk> | i've seen some interesting things |
01:55 | <@himi> | So stacks of the smaller rack mounted beasties |
01:55 | < Syk> | eg. two 24 port gigabit switches |
01:55 | < Syk> | linked together through the 10/100 cisco 887 |
01:55 | < Xon> | himi, fairly sure they end up being stacks of big chassis with interchangable modules/blades linked toegther =p |
01:56 | <@himi> | . . . that's only notionally what you'd call a 'backbone' |
01:56 | < Syk> | i come from rural australia |
01:56 | <@himi> | It's also well below the level that would care about global routing tables |
01:56 | < Syk> | anything with more than 4 ports is enterprise equipment |
01:56 | < Syk> | :P |
01:56 | <@himi> | Xon: whole server rooms full of racks of chassis |
01:56 | < Syk> | but yeah networking is fun |
01:56 | <@himi> | We have enough of the bloody things here, and we're not an ISP |
01:57 | < Syk> | i need to get a proper switch/router sometime |
01:57 | < Syk> | I was testing out my self-built NAS |
01:57 | < Syk> | rather than the NAS, the drives, or ZFS failing |
01:57 | < Xon> | himi, lol |
01:57 | <@himi> | We only have . . . I think three or four peering points |
01:57 | < Syk> | my shitty router nearly melted |
01:57 | < Syk> | at about 350GB of data in |
01:57 | < Syk> | i was getting 5 seconds ping to internal clients |
01:57 | <@himi> | Syk: what part of rural Australia? |
01:58 | < Syk> | himi: the north west |
01:58 | < Xon> | it isn't a good idea to have your router as a NAS |
01:58 | < Syk> | himi: desert |
01:58 | <@himi> | Fun |
01:58 | < Syk> | Xon: my NAS is connected to my router |
01:58 | | * himi lives in a small town outside Canberra |
01:58 | < Syk> | himi: oh man |
01:58 | < Syk> | if you see gillard |
01:58 | < Syk> | laugh at her for me, from the east kimberley |
01:58 | <@himi> | Why? |
01:59 | < Syk> | because she's labor, and labor do terribly over here |
01:59 | | * himi drives past the Lodge most days going to work |
01:59 | <@himi> | Ah |
01:59 | < Xon> | <Syk> anything with more than 4 ports is enterprise equipment |
01:59 | < Xon> | Syk, I work in a small australian ISP in WA. enterprise network gear isn't that crap in australia |
01:59 | < Syk> | because we're mining and agriculture |
01:59 | <@himi> | Just generic stuff |
01:59 | < Syk> | Xon: you're in Perth though |
01:59 | < Syk> | I can drive to the NT border in an hour on a moped :P |
02:00 | <@himi> | Xon: if you can't SSH into it, it doesn't deserve to be in anything other than someone's cupboard at home |
02:00 | < Syk> | Xon: yeah it's not so bad, really |
02:00 | < Syk> | just... very very expensive |
02:00 | < Syk> | PoE+ equipment is godawful expensive |
02:00 | <@himi> | Well, the market for PoE is limited to relatively large businesses |
02:01 | < Syk> | i did stuff at the local airport |
02:01 | < Syk> | we put a 24 port PoE+ switch in there |
02:01 | < Syk> | then the airlines came |
02:01 | < Syk> | piled phone systems, routers, etc on top of it without telling us |
02:01 | < Syk> | we got a call a month or so later |
02:01 | < Syk> | dead $6,000 switch |
02:01 | | * himi was looking for an ADSL modem that would do PoE, but couldn't find anything - it's just not the right market segment |
02:02 | < Syk> | himi: yeah you'd have to settle with injectors for home/smb use |
02:02 | <&ToxicFrog> | PoE |
02:02 | <&ToxicFrog> | ? |
02:02 | < Syk> | Power over Ethernet |
02:02 | <@himi> | Power over Ethernet |
02:02 | | Derakon[AFK] is now known as Derakon |
02:02 | < Syk> | it's great for phones and stuff |
02:02 | < Syk> | we had an NEC phone system, PoE phones, all good |
02:03 | <@himi> | i.e., you power your switch, it powers the stuff you connect to it for the most part |
02:03 | < Syk> | you daisy chain the PC off the phone |
02:03 | <@himi> | (barring servers and the like) |
02:03 | < Syk> | so you dont need to wire another cable in |
02:03 | <@himi> | Syk: I hate that kind of arrangement |
02:03 | < Syk> | the output of the NEC phones was 10/100 >v< |
02:03 | <@himi> | Because I always end up with more than one machine on my desk, and they never patch enough ports until I kick them |
02:03 | < Syk> | so we got thousands of dollars of gigabit networking equipment |
02:04 | < Syk> | aaaaaand everything was capped at 100mb |
02:05 | < Syk> | and since half the walls were asbestos, we couldnt cable in extra ethernets for people that needed it |
02:05 | < Syk> | even better though was the planning of the new office move... the CEO asked if we could save on the $50,000 needed for recabling and just use wifi |
02:05 | < Syk> | to 70+ computers |
02:06 | < Xon> | lol |
02:06 | < Syk> | since management bought several grand of Apple kit, which doesn't work well with Wireless-N |
02:06 | < Syk> | and flat out doesn't work with WPA2 |
02:06 | < Xon> | haha |
02:06 | < Syk> | the entire network would have to be Wireless G, with WEP |
02:06 | < Syk> | or WPA1, but WPA1 is just as bad as wep |
02:06 | <&ToxicFrog> | at least it would be so slow and unreliable that no-one would bother cracking it~ |
02:06 | < Syk> | and I was sitting there |
02:06 | < Syk> | and thinking |
02:07 | < Xon> | <himi> Xon: if you can't SSH into it, it doesn't deserve to be in anything other than someone's cupboard at home |
02:07 | < Xon> | himi, the ISP part of the business is very linux centric, but the rest of the company has a significant microsoft focus |
02:07 | | * himi patpats Xon |
02:07 | < Syk> | Xon: you're not at a certain company owned by another certain company that happens to have a mascot that is a guy, are you |
02:07 | <@himi> | Poor . . . whatever you are |
02:08 | < Syk> | or are you at Dodo, because if you are at Dodo, I have a moral obligation to punch you |
02:08 | < Syk> | like, hard |
02:08 | < Xon> | Syk, no |
02:09 | < Syk> | heh |
02:09 | < Syk> | well at least I know who you aren't |
02:09 | < Xon> | the ISP is zettanet who is hosting this box I'm connecting from =p |
02:09 | < Syk> | some weirdass ISP/phone company called me up yesterday |
02:09 | <@himi> | Well, you said it was an ISP, so you can't work for Telstra |
02:09 | < Syk> | from some 'Blaze Telecom' |
02:09 | < Syk> | from Victoria |
02:09 | < Syk> | going on about how theyre backed by telstra and some plan is starting next month |
02:10 | < Xon> | ugh. why is my home VM having a 500ms ping to a box sitting next to it |
02:10 | < Syk> | and since I don't remember starting any plans, they were like 'yeah, signing up to this plan?' |
02:10 | < Syk> | and I was like wtf my phone is with Westnet |
02:10 | < Syk> | and they were like nono this is not your internet |
02:10 | < Syk> | and I was like "you' |
02:10 | < Syk> | and I was like "you're talking to a small business owner who owns an *IT* business. I didn't sign up for anything, go away" |
02:11 | < Syk> | and then I filed a complaint with the ACCC c: |
02:11 | | * himi gives Syk a chocolate cigar |
02:11 | | * Syk is not sure if she should light it or eat it |
02:11 | <@himi> | Who cares? |
02:12 | | * Syk does both. Lung cancer and tooth decay, ahoy! |
02:12 | <@himi> | Stick one end in your mouth and suck - something good will come of it regardless of what you do with the other end |
02:12 | < Syk> | heh |
02:12 | <@Azash> | Syk: Tooth cancer? |
02:12 | < Syk> | Azash: lung decay |
02:12 | < Syk> | gingivitis of the breathing |
02:13 | <@Azash> | Or the feared disease, lungtooth |
02:13 | < Syk> | oh |
02:13 | < Syk> | if anyone didn't see the utter hilarity |
02:13 | < Syk> | http://www.google.com/finance?q=NASDAQ%3AAAPL |
02:13 | < Syk> | -12.35 upon market close, after market trading is at -0.47 |
02:13 | < Syk> | that's percent, not dollars |
02:14 | <@himi> | I still haven't figured out why that would happen |
02:15 | <@himi> | Unless the market only just realised Jobs really /is/ dead |
02:15 | <@Azash> | I heard people say that Apple isn't sustaining their growth, or innovating enough |
02:15 | < Syk> | himi: half their exec board is fired/quit, they cut component orders on i5 and ipad, they're starting to lose patent battles and their earnings per share went down |
02:16 | < Syk> | not to mention they're losing market share fast |
02:16 | <@himi> | So they're finally realising that there's a limit to how big they can get when they start saturating their fancy pants new market? |
02:16 | < Syk> | and Mac orders are down too |
02:16 | < Syk> | heh possibly |
02:17 | < Syk> | also foxconn is getting more expensive, or something like that |
02:17 | <@himi> | Oh no, the evil unions in China . . . |
02:18 | < Syk> | those selfish chinese |
02:18 | < Syk> | wanting to /earn money/ |
02:18 | < Syk> | how dare they |
02:20 | <@himi> | I have to admit, it's really nice to see Apple start losing out on some of their patent fights |
02:20 | < Syk> | it's very nice and it makes me happy |
02:20 | < Syk> | still, i do like the snap-back patent apple has |
02:21 | <@Reiv> | snap-back? |
02:21 | <@himi> | Particularly when they're kicking companies that have real patents in things like core cellular phone tech, RAND licensed and hence not available to use fighting back |
02:21 | < Syk> | then google implemented the glow when you pull too far, which imo is actually a better idea |
02:21 | < Syk> | Reiv: you know how on iphones if you keep scrolling, it shows the underneath |
02:21 | <@himi> | Syk: sure, nice detail, but /patented/? |
02:21 | <@RobinStamer> | himi: The IP address in plaintext is actually CTCP, not IRC. |
02:21 | < Syk> | yes |
02:21 | <@himi> | I mean, seriously |
02:21 | | Bullfrog [Bullfrog@Nightstar-b4e68036.pa.comcast.net] has joined #code |
02:21 | < Syk> | himi: it's patented |
02:22 | < Syk> | also apple has a design patent on the rounded rectangle |
02:22 | <@himi> | RobinStamer: yes, it is isn't it - it's a /long/ time since I looked at the RFCs or any other IRC specs |
02:22 | <@himi> | Syk: because it makes no sense to smooth off the pointy bits . . . |
02:23 | < Syk> | himi: ofc not, if it werent for Apple, all our products would be dodecahedrons with knives on each point |
02:23 | <@himi> | Anyway, lunch beckons |
02:23 | < Syk> | breakfast beckons here lolz |
02:24 | <@himi> | You obviously need to get up earlier, Syk - it's nearly 11am |
02:24 | <@himi> | . . . for values of 'nearly' that translate to 'I misread the 13:24 on my clock as 13:44' |
02:26 | | Attilla [Obsolete@Nightstar-9e7fa2b2.range86-162.btcentralplus.com] has quit [Ping timeout: 121 seconds] |
02:26 | < Syk> | heh |
02:26 | < Syk> | i got up at 7:30 |
02:26 | < Syk> | but spent like an hour in the shower |
02:27 | < Syk> | and then i dont know what i did for the rest of the time |
02:27 | < Syk> | i'm self employed |
02:27 | < Syk> | read codeword for: lazy |
02:28 | < Bullfrog> | Not lazy, you just dont have 8 different bosses yelling at you at the same time. |
02:30 | | RichyB [richardb@Nightstar-bccaa09f.dip.t-dialin.net] has quit [Ping timeout: 121 seconds] |
02:32 | < Syk> | Bullfrog: heh |
02:33 | | Bullfrog [Bullfrog@Nightstar-b4e68036.pa.comcast.net] has quit [Operation timed out] |
02:40 | | Nemu [NeophoxProd@Nightstar-6d521244.asahi-net.or.jp] has quit [Connection closed] |
02:40 | | Nemu [NeophoxProd@Nightstar-6d521244.asahi-net.or.jp] has joined #code |
02:50 | <@Azash> | "Cisco's latest traffic forecast for 2009-2013 indicates that annual global IP traffic will reach 667 exabytes in 2013" |
02:55 | < Syk> | 665 exabytes of that is porn |
02:56 | < Syk> | one and a half exabytes is gangnam style |
02:56 | < Syk> | and the rest is ICMP requests |
03:03 | <@Azash> | But Syk, obviously any security-conscious network admin would disable ICMP |
03:03 | | * Azash attempts to maintain a straight face |
03:06 | | Kindamoody[zZz] is now known as Kindamoody |
03:08 | < Syk> | Azash: security? |
03:08 | < Syk> | internet? |
03:09 | < Syk> | surely you jest |
03:10 | <@Azash> | It can be fairly secure, but few people have the knowledge and possibility |
03:10 | < Syk> | http://www.guardian.co.uk/world/video/2013/jan/24/australia-day-ad-tv-video |
03:10 | < Syk> | ahahah |
03:10 | < Syk> | "I love Dick!" "Be patriotic, and buy Dick Smith Foods!" |
03:10 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Client exited] |
03:11 | | Derakon_ [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [Connection closed] |
03:17 | | Vash [Vash@Nightstar-221158c7.sd.cox.net] has joined #code |
03:17 | | mode/#code [+o Vash] by ChanServ |
04:16 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
04:36 | <@himi> | I live just down the road from Dick Smith's property |
04:36 | <@himi> | He's got his own sealed airstrip |
04:40 | <&McMartin> | Dick's is also a burger place in Seattle |
04:40 | <&McMartin> | They invite everyone to go eat a bag of Dick's |
04:52 | <~Vornicus> | |
05:03 | | thalass [thalass@Nightstar-724ec5eb.bigpond.net.au] has quit [[NS] Quit: Leaving] |
05:12 | | McMartin_ [mcmartin@Nightstar-9959ea21.pltn13.sbcglobal.net] has joined #code |
05:12 | | McMartin [mcmartin@Nightstar-7f75c406.pltn13.sbcglobal.net] has quit [Client closed the connection] |
05:18 | | * Vornicus pokes at some code that had its data change drastically unerneath it, tries to figure out what it means for the code. |
05:19 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
05:19 | | mode/#code [+ao Derakon Derakon] by ChanServ |
05:21 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
05:32 | <@Alek> | hah |
05:33 | <@Alek> | os.py, implemented properly. ha. |
05:33 | <@celticminstrel> | That sounds like a bird. :P |
06:08 | <@Alek> | it's python's OS-routines library. implement it to make your program portable. >_> |
06:21 | <@celticminstrel> | I should probably have non-linear levelling... currently level == xp*250. |
06:22 | <@celticminstrel> | Um. Swap xp and level in that formula. >_> |
06:23 | | Derakon is now known as Derakon[AFK] |
06:37 | <~Vornicus> | celmin: one of my favorite rpg systems, Paper Mario, uses 100 xp per level but scales down xp per baddie according to your level |
07:43 | | Netsplit *.net <-> *.split quits: @Orthia, @celticminstrel, Xires, @Azash, Syk, necrogami, @Derakon[AFK] |
07:43 | | Netsplit over, joins: celticminstrel |
07:43 | | mode/#code [+o celticminstrel] by ChanServ |
07:45 | | PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
07:46 | | Xires [xires@Nightstar-c54fd8cd.feedthetrolls.net] has joined #code |
07:46 | | 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!] |
07:47 | | Syk [the@Nightstar-0cc72228.iinet.net.au] has joined #code |
07:47 | | Azash [ap@Nightstar-339920e6.net] has joined #code |
07:48 | | mode/#code [+o Azash] by ChanServ |
07:50 | | necrogami [coldfront@Nightstar-5281ab45.c4.io] has joined #code |
07:50 | | Orthia [orthianz@3CF3A5.E1CD01.5A78C0.03128C] has joined #code |
07:50 | | mode/#code [+o Orthia] by ChanServ |
07:50 | | Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
08:28 | | Kindamoody is now known as Kindamoody|out |
08:44 | | RichyB [richardb@Nightstar-bccaa09f.dip.t-dialin.net] has joined #code |
08:53 | | Barrell_R [richardb@Nightstar-8431a465.dip.t-dialin.net] has joined #code |
08:56 | | RichyB [richardb@Nightstar-bccaa09f.dip.t-dialin.net] has quit [Ping timeout: 121 seconds] |
09:41 | | Vash [Vash@Nightstar-221158c7.sd.cox.net] has quit [[NS] Quit: I <lovecraft3 Vorn!] |
09:43 | | Barrell_R [richardb@Nightstar-8431a465.dip.t-dialin.net] has quit [Ping timeout: 121 seconds] |
09:46 | | Barrell_R [richardb@Nightstar-8431a465.dip.t-dialin.net] has joined #code |
09:47 | | * Vornicus programs by exception. |
10:03 | | gnolam [lenin@Nightstar-bb103c17.cust.bredbandsbolaget.se] has quit [[NS] Quit: Spaaaaaaaaace] |
10:12 | | You're now known as TheWatcher |
10:18 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
10:18 | | mode/#code [+o himi] by ChanServ |
10:31 | | Attilla [Obsolete@Nightstar-9e7fa2b2.range86-162.btcentralplus.com] has joined #code |
10:33 | | Barrell_R is now known as RichyB |
10:53 | | gnolam [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has joined #code |
10:54 | | gnolam is now known as NSGuest50266 |
10:56 | | NSGuest50266 is now known as gnolam |
10:56 | | mode/#code [+o gnolam] by ChanServ |
11:27 | | * TheWatcher eughs, has to REFACTOR ALL THE CODES |
11:33 | <@gnolam> | Just don't wear yourself out. You have to account for the male refactory period, you know. |
11:37 | | gnolam [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has quit [[NS] Quit: No Ping reply in 180 seconds.] |
11:38 | | gnolam [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has joined #code |
11:38 | | gnolam is now known as NSGuest20121 |
11:42 | | NSGuest20121 [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has quit [[NS] Quit: No Ping reply in 180 seconds.] |
11:43 | | gnolam [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has joined #code |
11:43 | | mode/#code [+o gnolam] by ChanServ |
11:53 | <@froztbyte> | gnolam: hurr |
11:55 | | gnolaptop [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has joined #code |
11:57 | | gnolam [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has quit [Ping timeout: 121 seconds] |
11:58 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
12:17 | | gnolaptop [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has quit [[NS] Quit: No Ping reply in 180 seconds.] |
12:18 | | gnolam [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has joined #code |
12:19 | | gnolam is now known as NSGuest14795 |
12:22 | | NSGuest14795 [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has quit [[NS] Quit: No Ping reply in 180 seconds.] |
12:25 | | gnolam [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has joined #code |
12:26 | | gnolam is now known as NSGuest58078 |
12:40 | | NSGuest58078 [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has quit [[NS] Quit: No Ping reply in 180 seconds.] |
12:41 | | gnolam [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has joined #code |
12:42 | | gnolam is now known as NSGuest62632 |
12:54 | <@froztbyte> | <RichiH> where does one buy a /24 for a customer? |
12:54 | <@froztbyte> | <RichiH> and what's the street price |
12:54 | <@froztbyte> | <pelzi_> I can sell 192.168.0.0/24 for $10 |
12:54 | <@froztbyte> | <Kralian> isn't it around $12 / ip on the market ? |
12:54 | <@froztbyte> | <Habbie> depends on the class |
12:54 | <@froztbyte> | <Habbie> (i'll see myself out) |
12:57 | | NSGuest62632 [lenin@Nightstar-b19b2ac3.addr.tdcsong.se] has quit [Ping timeout: 121 seconds] |
14:41 | | Nemu_ [NeophoxProd@Nightstar-42b89ee5.asahi-net.or.jp] has joined #code |
14:41 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
14:41 | | mode/#code [+o celticminstrel] by ChanServ |
14:43 | | Nemu [NeophoxProd@Nightstar-6d521244.asahi-net.or.jp] has quit [Ping timeout: 121 seconds] |
15:15 | | Nemu_ [NeophoxProd@Nightstar-42b89ee5.asahi-net.or.jp] has quit [Client closed the connection] |
15:15 | | Nemu [NeophoxProd@Nightstar-42b89ee5.asahi-net.or.jp] has joined #code |
15:34 | | gnolam [lenin@Nightstar-0fcc80a0.tbcn.telia.com] has joined #code |
15:35 | | mode/#code [+o gnolam] by ChanServ |
15:55 | | 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!] |
16:03 | <@TheWatcher> | Egads. Fixes that I expected to take days, I've managed to do in a few hours, while sleep deprived. Whatever next. |
16:33 | | Syk is now known as syksleep |
16:49 | < Shellninja> | What's the difference between a gloss and matte laptop screen? |
16:50 | < Nemu> | Reflectivity |
16:50 | < Shellninja> | What does that mean in practice? |
16:50 | < Nemu> | Think, like, shiny glass and unbrushed teeth |
16:50 | < Nemu> | So, gloss is gonna have massive glare from light sources, but whatever's on the screen will be really clear |
16:51 | < Nemu> | Matte is like a really minor fuzz-filter, but glare is a lot more diffuse and weaker. |
16:52 | < Nemu> | I personally prefer matte, since I can use the laptop in brighter areas with direct light. |
16:53 | < RichyB> | Matte screens look a little duller than glossies when they're a the shelf in a shop, so people who don't know what they're in for tend to buy glossies instead. |
16:54 | < RichyB> | Glossy screens reflect light-bulbs and florescent lights like bloody bathroom mirrors. |
16:57 | < Nemu> | I think glossy is great for, like, a desktop monitor in, like, your basement (because, really, nothing more like home than a dark, windowless basement). Anything else, and especially for a mobile laptop, I'd say matte is the way to go. |
17:01 | | syksleep_ [the@Nightstar-3a553497.iinet.net.au] has joined #code |
17:02 | | syksleep [the@Nightstar-0cc72228.iinet.net.au] has quit [Ping timeout: 121 seconds] |
17:10 | | syksleep [the@Nightstar-1a58b2d1.iinet.net.au] has joined #code |
17:12 | | syksleep_ [the@Nightstar-3a553497.iinet.net.au] has quit [Ping timeout: 121 seconds] |
17:44 | <@Tarinaky> | Any maths people about? |
17:46 | <@EvilDarkLord> | Don't ask to ask, just ask. |
17:47 | <@Tarinaky> | I have found no success with that policy given there's like... two people in this room who know enough maths to help me. |
17:48 | <@Tarinaky> | But very well. How do I show and proove continuity for a function defined from the plane to the reals? |
17:48 | <@Tarinaky> | How do I choose delta when this is the case? |
17:48 | <@Tarinaky> | I /barely/ get how to choose the delta when it's the reals to the reals. Adding the additional dimension throws me off utterly. |
17:52 | <@EvilDarkLord> | I forget, but could it just be a case of modifying the delta to be dy + dx rather than just dx and then using the same proof mechanism? |
17:54 | <@Tarinaky> | I could really do with some tutoring for my revision >.< |
18:09 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
18:19 | | syksleep_ [the@Nightstar-c2a99c9a.iinet.net.au] has joined #code |
18:21 | | syksleep [the@Nightstar-1a58b2d1.iinet.net.au] has quit [Ping timeout: 121 seconds] |
18:25 | | syksleep_ [the@Nightstar-c2a99c9a.iinet.net.au] has quit [Client closed the connection] |
18:26 | | syksleep [the@Nightstar-575f18a6.iinet.net.au] has joined #code |
18:33 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
18:35 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
18:38 | <@Tarinaky> | Ah! I have it! |
18:38 | <@Tarinaky> | Unfortunately I don't have an internet connection that'll let me use SSH reliably. |
18:38 | <@Tarinaky> | :/ |
18:40 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
18:41 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
18:41 | | mode/#code [+o Courage] by ChanServ |
18:48 | | syksleep_ [the@Nightstar-030f9e01.iinet.net.au] has joined #code |
18:48 | | syksleep [the@Nightstar-575f18a6.iinet.net.au] has quit [Client closed the connection] |
19:06 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
19:06 | | mode/#code [+ao Derakon Derakon] by ChanServ |
19:06 | | Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
19:12 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
19:13 | <@iospace> | ATmega get! :D |
19:36 | | gnolam [lenin@Nightstar-0fcc80a0.tbcn.telia.com] has quit [Client closed the connection] |
19:37 | < McMartin_> | https://i.chzbgr.com/maxW500/6997508608/hFFA51A51/ |
19:38 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
19:39 | | mode/#code [+o celticminstrel] by ChanServ |
19:51 | <@TheWatcher> | Arguably, upgrade from 8 to 7~ |
19:52 | <@iospace> | like vista to XP eh? |
19:52 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
20:07 | | ErikMesoy [Erik@Nightstar-be32adc8.80-203-17.nextgentel.com] has joined #code |
20:25 | | McMartin_ [mcmartin@Nightstar-9959ea21.pltn13.sbcglobal.net] has quit [[NS] Quit: leaving] |
20:25 | | McMartin [mcmartin@Nightstar-9959ea21.pltn13.sbcglobal.net] has joined #code |
20:25 | | mode/#code [+ao McMartin McMartin] by ChanServ |
20:36 | | Derakon_ [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
20:36 | | * Derakon_ mutters at this data. |
20:36 | < Derakon_> | The vast majority of pixels are pretty damned linear (response is under half a count of ideal response). |
20:36 | < Derakon_> | But then there's a few pixels which are massively nonlinear, all in different ways. |
20:38 | < Derakon_> | Case in point: http://derakon.dyndns.org/~chriswei/temp2/worstDeviatingPixels.png |
20:38 | < Derakon_> | (NB 100 is the baseline, and we practically never work with fewer than 50 counts, so this is all below the point at which we, in practice, care...) |
20:49 | <@TheWatcher> | ... eww |
20:57 | | Derakon__ [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
20:59 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Operation timed out] |
21:00 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
21:00 | | mode/#code [+ao Derakon Derakon] by ChanServ |
21:00 | | Derakon_ [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
21:14 | | Derakon__ is now known as Derakon_ |
21:16 | | Bullfrog [Bullfrog@Nightstar-b4e68036.pa.comcast.net] has joined #code |
21:17 | | Kindamoody|out is now known as Kindamoody |
21:22 | < Derakon_> | http://derakon.dyndns.org/~chriswei/temp2/deviationFromLinearPlusSD.png |
21:22 | < Derakon_> | The vast majority of pixels are well behaved. |
21:22 | < Derakon_> | Why can't you be more like the good pixels, red line? |
21:23 | < Derakon_> | (Note that's the standard deviation of the deviation. Bad word choice, I guess) |
22:01 | | * ErikMesoy faffs about in wxSizerHell |
22:04 | < Derakon_> | Heh. What are you trying to do? |
22:07 | < ErikMesoy> | Understand how to do this without lots and lots of lookup, copypaste and miniedit. Then, get something like Fit() or SetSizer() to lay out elements nicely, because right now what Fit() does for me is to shrink the window neatly around overlapping elements. :p |
22:07 | < Derakon_> | Elements shouldn't overlap, as a general rule. |
22:08 | < Derakon_> | Unless you have the wrong parenting, or you're trying to set positions absolutely. |
22:08 | < ErikMesoy> | Absolute positions also sounds like something there should be a general rule against. |
22:08 | < Derakon_> | Yes. |
22:08 | < Derakon_> | I'd only really consider doing it if I wanted to, say, overlay WX controls on a canvas or soemthing. |
22:09 | < Derakon_> | Er, something. |
22:14 | < ErikMesoy> | The wx tutorial on Sizer layout is like 1) here are some absolutely positioned buttons, 2) here are some buttons that stretch to take up all space, 3) here's a calculator. |
22:14 | | Kindamoody is now known as Kindamoody[zZz] |
22:16 | <&ToxicFrog> | Does wx not have hbox/vbox/grid layouts? Those are generally the easiest to work with. |
22:17 | <&ToxicFrog> | Or does it have those but you need to use a Sizer in conjunction to get everything to not be terrible? |
22:17 | <&ToxicFrog> | It's been -- mercifully -- years since I worked with wx. |
22:17 | <&McMartin> | Trick question: everything is always terrible! |
22:17 | <&McMartin> | *spiders.jpg* |
22:17 | < Derakon_> | It has box and grid sizers. |
22:17 | < ErikMesoy> | It has BoxSizer(wxVERTICAL) and BoxSizer(wxHORIZONTAL), but I can't figure out where and how to nest them |
22:17 | < Derakon_> | wx.BoxSizer(wx.HORIZONTAL), wx.BoxSizer(wx.VERTICAL), wx.GridSizer. |
22:17 | < Derakon_> | You put sizers inside each other. |
22:17 | < Derakon_> | horizSizer.Add(vertSizer), etc. |
22:18 | < ErikMesoy> | I'm looking at something like "TextCtrl inside Panel inside Sizer inside Frame inside Sizer" |
22:18 | < ErikMesoy> | +inside Window |
22:18 | < Derakon_> | Frames are Windows. |
22:18 | < Derakon_> | So are Panels, and TextCtrls. |
22:18 | < Derakon_> | "Window" is basically "anything on the screen" AFAICT. |
22:18 | | * ErikMesoy is reading http://wiki.wxpython.org/Getting%20Started#Working_with_Windows and other such |
22:18 | < Derakon_> | "Frame" is what we usually think of as a window. |
22:20 | <&jerith> | That's Emacs terminology. |
22:20 | <&McMartin> | It's also Swing's name for it. |
22:20 | <@celticminstrel> | ...text controls are not windows... |
22:21 | <&McMartin> | ... yes they are, at least if you're using heavyweight widgets |
22:21 | < Derakon_> | CM: http://wxpython.org/docs/api/wx.TextCtrl-class.html |
22:21 | < Derakon_> | Check that heirarchy. |
22:21 | < ErikMesoy> | Oh, cool, I've gotten SetSizer to work in such a manner that it shrinks my window to a size that exactly fits the buttons. Nevermind the fact that the buttons are inside a larger colored panel area, which is to the side of another panel area. :p |
22:21 | < ErikMesoy> | And so the window shrinks to show a buttons-sized area of the first panel, containing no buttons. |
22:21 | <&McMartin> | (Spy++ will let you spy on individual controls happily, and they are totally HWNDs) |
22:21 | < Derakon_> | Erik: pastebin? |
22:22 | < ErikMesoy> | Derakon_: http://pastebin.com/iJ0g9ifg |
22:24 | < Derakon_> | Okay, you never actually use self.leftbox. |
22:24 | < ErikMesoy> | Indeed. I intend to put text there eventually. |
22:24 | < Derakon_> | More importantly, you never tell it how the panels should be arrayed. |
22:24 | < Derakon_> | As a general rule, put everything in sizers. |
22:25 | < Derakon_> | Otherwise they'll just end up on top of each other in the upper-left corner. |
22:25 | < Derakon_> | So make a sizer for your Panels so they actually are positioned with respect to each other. |
22:25 | < Derakon_> | Do self.SetSizer / self.Fit with that sizer. |
22:25 | < ErikMesoy> | so something like self.leftbox.Add(self.mainbar) and self.rightbox.Add(self.talkbar)? |
22:26 | < ErikMesoy> | I dunno, I'm experimenting here. |
22:26 | < Derakon_> | No... |
22:26 | < Derakon_> | self.panelSizer = wx.BoxSizer(wx.HORIZONTAL); self.panelSizer.Add(self.mainbar); self.panelSizer.Add(self.talkbar). |
22:28 | < ErikMesoy> | and then I tried self.SetSizer(self.panelSizer), but that made the blue area go away, leaving behind a button |
22:29 | < Derakon_> | Pastebin again? |
22:29 | <&McMartin> | https://i.chzbgr.com/maxW500/6997484288/h97E2683A/ |
22:30 | < ErikMesoy> | McMartin: hurrrrrr. groooooaaaaan |
22:31 | < ErikMesoy> | Derakon_: http://pastebin.com/BNp2nG7G |
22:31 | < ErikMesoy> | Am I making a mess and should start with something more basic? |
22:32 | < Derakon_> | Well, I would definitely say to get it working without having to call SageButton() first. |
22:33 | < Derakon_> | Dynamically modified UIs are always trickier than static ones. |
22:33 | < Derakon_> | That in mind, remember to do SetSizer and Fit on self.talkbar too. |
22:34 | < ErikMesoy> | Why? Now I'm confused. |
22:34 | <&McMartin> | 14:31 < Derakon_> Dynamically modified UIs are always trickier than static ones. |
22:34 | <&McMartin> | Static ones are also the one place where absolute positioning is not disastrous |
22:35 | < ErikMesoy> | No, I mean why call SetSizer on talkbar after I called SetSizer on the box containing talkbar? |
22:35 | < Derakon_> | Because it doesn't propagate on its own. |
22:36 | < Derakon_> | As a general rule, you should make sure a given component is properly laid-out (which includes calling SetSizer and Fit) before you try to incorporate it into any higher-level components. |
22:36 | <&McMartin> | ... does wx not propagate Fit down to all child windows? -_- |
22:37 | < Derakon_> | Mm, I admit to not having a strong grasp of exactly how WX handles layouts. |
22:38 | < Derakon_> | But as I said, dynamic UIs always cause trouble, and that includes trying to modify an inner Window after an outer one has been "set". |
22:38 | <&McMartin> | Yes. |
22:38 | < ErikMesoy> | I see. |
22:39 | < ErikMesoy> | Dynamic UI is non-negotiable for me; looks like more time spent studying wxDocs. |
22:39 | <&McMartin> | Good |
22:39 | < Derakon_> | It can be done. |
22:39 | < Derakon_> | I just wouldn't start with it. |
22:39 | <&jerith> | http://erlang.org/pipermail/erlang-questions/2013-January/071949.html |
22:39 | <&McMartin> | Well |
22:39 | <&McMartin> | Hm |
22:39 | < Derakon_> | Figure out how the basic components relate to each other before you go trying to make things fancy. |
22:39 | <&McMartin> | Does wx have any kind of interface builder? |
22:39 | <&jerith> | There are some interesting tidbits in there. |
22:39 | < Derakon_> | McM: no idea, always built mine manually. |
22:39 | <&McMartin> | Mmm |
22:40 | <&McMartin> | Also, does WX have "springs" |
22:40 | <&jerith> | McMartin: There was at least one a decade ago. |
22:40 | < Derakon_> | It does have springs. |
22:40 | < Derakon_> | When you add a component to a sizer, you can specify what proportion of free space it will take up. |
22:40 | < Derakon_> | (And components can be "empty space", too, for making proportional or fixed gaps) |
22:40 | <&McMartin> | Ah |
22:40 | <&jerith> | I know this because I had to deal with 5k lines of randomly indented machine-generated-and-then-hand-edited C++ code that was mostly wx stuff. |
22:41 | < Derakon_> | Ew. |
22:41 | <&McMartin> | Ew, indeed |
22:41 | <&jerith> | Hrm. That may have actually been FLTK. |
22:41 | <&McMartin> | Yeah, I meant more like Glade/UIC where it's more "load this intermediate format thing plz" |
22:41 | < ErikMesoy> | Derakon_: I worry that if I don't start with it, shoehorning it in afterwards is going to be even harder. |
22:42 | <&McMartin> | UIC *technically* produces C++ code but you aren't suppose to use it, you're supposed to treat the XML or the form editor as definitive |
22:42 | < Derakon_> | Erik: but you're not going to use this in your final code. |
22:42 | < Derakon_> | This is "how does this work plz" learning code. |
22:42 | < ErikMesoy> | Yes. |
22:43 | < Derakon_> | So first learn the basics. |
22:43 | < Derakon_> | Make a simple static UI. |
22:43 | < Derakon_> | Then try to make it dynamic. |
22:43 | < ErikMesoy> | Got it. |
22:43 | <&McMartin> | This is also worthwhile because often the best way to make it dynamic is "put empty space padding in at the appropriate points" |
22:43 | | * McMartin is generally a fan of widgets whose sizes do not change as the window is resized. |
22:43 | < Derakon_> | Heh. |
22:43 | < Derakon_> | My usual way to do dynamic UIs is to pre-make all the components and then show/hide them as needed. |
22:44 | <&McMartin> | Right, what I mean is |
22:44 | <&McMartin> | Every widget that is not empty space is also Not A Spring, and there's some spring somewhere smashing it to its minimum size. |
22:44 | <&McMartin> | (Which I will set to my *desired* size.) |
22:45 | <&jerith> | I generally use special-purpose widget libraries when I'm doing UI stuff these days. |
22:45 | | * McMartin nods |
22:45 | <&jerith> | But that's because almost all my UI stuff has been pyweek games. |
22:45 | <&McMartin> | Heh |
22:45 | <&jerith> | So we tend to roll our own. |
22:45 | < ErikMesoy> | Derakon_: That's going to be very impractical, since the dynamic UI here is intended to have conversation options, and preloading all conversation buttons sounds like a bad idea. |
22:46 | <&jerith> | We're almost starting to get mediocre at it. |
22:46 | <&McMartin> | Yeah. Profesionally I use Qt4, and for various horrifying reasons I still haven't fully come to grips with Swing is always my best option on hobby projects. |
22:46 | <&McMartin> | ErikMesoy: You're probably going to be best off capping the total number of responses. |
22:46 | < Derakon_> | Erik: fair. |
22:46 | <&jerith> | But "dynamic" typically means "one big widget that resizes and a bunch of fixed-size stuff around it". |
22:47 | < ErikMesoy> | McMartin: My design outline calls for a conversation button to 1) clear both panels, 2) print the NPC's response to the left panel, 3) populate the right panel with future player options. |
22:48 | < Derakon_> | Personally I'd do NPC on top, responses below, but that's literally a one-line change once you have it working. |
22:48 | < ErikMesoy> | So each time a button is pressed, all buttons will go away and a new set will be placed by the function associated with that button. |
22:48 | < Derakon_> | (Change HORIZONTAL to VERTICAL) |
22:48 | < ErikMesoy> | (right, that's easy to tweak) |
22:48 | <&McMartin> | ErikMesoy: Yeah, I would say it's probably best to keep the buttons static, representing options 1, 2, 3, etc. and just re-set the labels dynamically. |
22:49 | < Derakon_> | That'd be the easy way. |
22:50 | < Derakon_> | Limits your options a bit but you can make, say, 20 responses, hide all the ones you don't need, and rewrite the labels on the ones you do, as you use them. |
22:51 | < ErikMesoy> | Are you suggesting that I also re-set the function associated with each button? Or that the second button still goes "option2" and something else internally looks up what option2 is in this context? |
22:52 | < ErikMesoy> | Man, I ask for help with wxSizers and end up redesigning the talk engine... |
22:52 | < Derakon_> | The latter sounds more extensible. Were you planning on writing custom handler code for every single conversation? |
22:53 | <&McMartin> | If you're doing anything other than recording somewhere that Option X was selected in a UI response, you're doing it Horribly Wrong. |
22:53 | <&McMartin> | All event response code should be as minimal as possible. |
22:54 | < ErikMesoy> | I was planning on writing custom handler code for every single conversation, yes, but the way I was planning on writing it was only marginal effort above writing the conversations in the first place. |
22:55 | <@celticminstrel> | Conversations? |
22:55 | <@celticminstrel> | What is ErikMesoy making? |
22:55 | <@celticminstrel> | RPG? |
22:55 | < Derakon_> | Presumably. |
22:55 | < ErikMesoy> | Sort of. |
22:55 | < Derakon_> | (I'm tempted to say "Go write it in Inform" but oh well) |
22:55 | < ErikMesoy> | The skeleton/shell of an RPG. |
22:55 | <@celticminstrel> | Inform is not for RPGs... |
22:55 | < ErikMesoy> | Does Inform have combat support? |
22:55 | <@celticminstrel> | I assume you could, yes. |
22:56 | < ErikMesoy> | This isn't meant to actually /be/ an RPG, it's meant to teach me the structure needed to set up an RPG. |
22:56 | <@celticminstrel> | Inform is intended for text-based adventure games though. |
22:56 | < Derakon_> | McM typically ends up reviewing terrible combat-based IFs, yes. |
22:56 | < ErikMesoy> | So there will be two NPCs to talk to and one monster to fight and one item to buy in the shop. |
22:56 | < Derakon_> | It's not really the format for them; people playing IFs expect randomness to be only for flavor. |
22:57 | < ErikMesoy> | Then I will convince myself that my RPG is extensible just by writing more content, and declare it done, and hand over the rest to (nonexistent) modders and fans. :p |
22:57 | < Derakon_> | Heh. |
22:58 | < Derakon_> | It's good to have a termination condition on your projects. :) |
22:58 | <@celticminstrel> | Okay, now I need to detect... collinearity. |
22:58 | <@celticminstrel> | ...huh. Starting to write what I needed in here made me realize it was a collinearity problem. |
22:59 | <@celticminstrel> | Basically detect that two points are on a direct line in a grid of cells, so either the same x, the same y, or the same diagonal line. |
22:59 | < Derakon_> | Er, two points will always be by definition collinear. |
22:59 | <&McMartin> | 14:54 < Derakon_> McM typically ends up reviewing terrible combat-based IFs, yes. |
22:59 | <&McMartin> | For the record, Kerkerkruip is actually kind of good |
23:00 | <@celticminstrel> | Yeah, collinear isn't the right word after all. |
23:01 | <@celticminstrel> | It's rather detecting whether a point is on one of several specific lines... |
23:01 | < Derakon_> | You appear to want axis-aligned and/or unit slope. |
23:01 | <@celticminstrel> | ...right, right, so if abs of slope is 1. |
23:01 | <@celticminstrel> | Or if they share a coordinate. |
23:02 | < Derakon_> | Slope in [0, 1, -1, inf, -inf] except that programs tend to object when you divide by zero. :) |
23:03 | <@celticminstrel> | Not always. |
23:03 | < ErikMesoy> | Check for sharing a coordinate *first*, then slope in [-1, 1]? |
23:03 | | bhawin [hd@Nightstar-24d17f40.isp.telekom.rs] has joined #code |
23:03 | < Derakon_> | Erik: yes. |
23:03 | < Derakon_> | I was just being pithy. |
23:04 | <@celticminstrel> | Unfortunately there is no "contains" function that I know of. |
23:05 | <@celticminstrel> | (For JavaScript arrays.) |
23:06 | <@celticminstrel> | (If I was in Python I'd probably do "(x1-x2)/(y1-y2) in [0,1,-1,inf,-inf]" or something like that.) |
23:06 | < Derakon_> | I'd still not recommend doing that, even though it might work. |
23:06 | < Derakon_> | Intentially dividing by zero makes me leery. |
23:07 | <@celticminstrel> | ...hm. |
23:07 | | Bulin [bulin@2E07DD.B470A6.385C09.FE4A2D] has joined #code |
23:07 | <@celticminstrel> | Instead of moving towards the player, the monster should probably move to a point which a) puts them on that line and b) puts them within range of the player. |
23:07 | < Bulin> | Welcome to Albanian CHAT www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:07 | < Bulin> | Welcome to Albanian CHAT www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:07 | < Bulin> | Welcome to Albanian CHAT www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | | * Bulin www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | | * Bulin www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | | * Bulin www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | < Bulin> | Welcome to Albanian CHAT www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | | * Bulin www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | < Bulin> | Welcome to Albanian CHAT www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | | * Bulin www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | < Bulin> | Welcome to Albanian CHAT www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | | Bulin was kicked from #code by celticminstrel [] |
23:08 | < ErikMesoy> | BANHAMMER! |
23:08 | | Bulin [bulin@2E07DD.B470A6.385C09.FE4A2D] has joined #code |
23:08 | < Bulin> | Welcome to Albanian CHAT www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | | * Bulin www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | < Bulin> | Welcome to Albanian CHAT www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:08 | | mode/#code [+b *!*bulin*@*.B470A6.385C09.FE4A2D] by celticminstrel |
23:08 | | Bulin was kicked from #code by celticminstrel [] |
23:08 | | * Bulin www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net www.Albachat.com & ïrc.AlbamatriX.net |
23:09 | <@celticminstrel> | I expected it to return. |
23:09 | <@celticminstrel> | Now it can't. Yay. Hopefully. |
23:09 | <&McMartin> | I'm not sure what it thinks it's accomplishing |
23:10 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
23:10 | <&McMartin> | Like, maybe we'd miss the link the first 50 times in three seconds, so maybe we'd better repeat it? |
23:10 | <&McMartin> | Also, why would a universally English-language network want to chat in albanian by default |
23:10 | | bhawin [hd@Nightstar-24d17f40.isp.telekom.rs] has left #code [] |
23:13 | <@TheWatcher> | McM: because spambots don't care |
23:16 | <@celticminstrel> | Okay, so... my problem now becomes "find nearest point P such that the length PX is between r and (r+1) and the slope of PX is in {0,1,-1,inf,-inf}". |
23:16 | <@celticminstrel> | Which sounds like it would be doable by going from X, finding all possible P's, and comparing them to see which is nearest... |
23:16 | <&McMartin> | TheWatcher: I miss Recalcitrant Q. Gourd |
23:18 | < Derakon_> | Are you trying to write pathfinding, CM? |
23:18 | <@celticminstrel> | No. |
23:19 | <@celticminstrel> | Monster AI. |
23:19 | <@celticminstrel> | For ranged monsters. |
23:19 | < Derakon_> | But you're trying to decide how they should position themselves, aye? |
23:19 | < Derakon_> | That's pathfinding. |
23:20 | <@celticminstrel> | Maybe? |
23:20 | <@celticminstrel> | I'm not trying to work around obstacles though. |
23:20 | < Derakon_> | I'm just saying, write a good pathfinding algorithm and you can apply it to this, and then to when you do need to work around obstacles as well. |
23:23 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
23:23 | | mode/#code [+o himi] by ChanServ |
23:26 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
23:26 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
23:47 | | * Alek has a kinda-weird idea. |
23:49 | <@Alek> | take the history of lotto numbers, per lottery. plot as a 3D graph, x=number of balls, y=date, and x=amplitude. look for patterns. |
23:50 | < Derakon_> | Don't you mean x is the number on the ball? |
23:50 | < Derakon_> | Also you re-used X. :) |
23:50 | <@Alek> | ah. second x is z. XD |
23:50 | < Derakon_> | Yes. |
23:50 | <@Alek> | and that'd be a different graph. also a possibility. |
23:50 | <@Alek> | z is the number ON the ball. >_> |
23:51 | <@Alek> | in this graph. |
23:51 | | Bullfrog [Bullfrog@Nightstar-b4e68036.pa.comcast.net] has quit [Operation timed out] |
23:51 | <@froztbyte> | that would make a very wide graph |
23:51 | <@Alek> | err. x being the number on the ball, would, yes. mine will just be very long. >_> |
23:52 | < Derakon_> | A simple histogram of number frequencies might also be interesting. |
23:52 | <@froztbyte> | and you'd probably need some pattern-detection math |
23:52 | <@Alek> | indeed. |
23:52 | <@froztbyte> | Derakon_: yeah |
23:52 | <@froztbyte> | there's another one you could do |
23:52 | <@Alek> | there's a LOT that can be done, given the data. |
23:52 | <@froztbyte> | uhm, there's that audio display style |
23:53 | <@froztbyte> | where you have a wide band, blue = relative silence, and any other colours have a matched frequency + intensity |
23:53 | <@Alek> | yanno, excel. now that I think of it, excel could probably do almost everything. |
23:53 | <@froztbyte> | I don't know what it's called |
23:53 | < Derakon_> | Excel is good for data visualization, yes. |
23:53 | <@froztbyte> | you could plot out both the numbers, and reprint the histograms that one |
23:54 | <@Alek> | I wouldn't be surprised if the data existed in xls or an importable format already. |
23:54 | <@froztbyte> | one line (whether 1px or a bit more) representative of one timeset |
23:54 | | * Derakon_ makes a plot where one of the lines has the label "standard deviation of deviation". |
23:54 | <@froztbyte> | and then pick up on patterns visually |
23:54 | <@froztbyte> | but that said, I should go fall into bed now |
23:54 | < Derakon_> | Night. |
23:54 | <@Alek> | ni |
23:54 | <@TheWatcher> | http://www.codeproject.com/KB/directx/WM3DSpectrum/CityLights.png - that sort of thing, froztbyte ? |
23:54 | <@froztbyte> | because I haven't stopped yawning for about 3 minutes |
23:54 | <@froztbyte> | TheWatcher: mmm, almost |
23:54 | <@froztbyte> | lemme try find it quickly |
23:55 | < Derakon_> | See what you did, TW? ;) |
23:55 | <@TheWatcher> | And >.> |
23:55 | <@TheWatcher> | -and |
23:55 | <@froztbyte> | CURIOUSITY |
23:55 | <@froztbyte> | I was an accidental marshall at a cyclists-running-amok-in-town earlier tonight |
23:55 | <@froztbyte> | it should be noted that town here means 'dodgy as fuck' in many parts |
23:56 | <@froztbyte> | TheWatcher: http://oceanexplorer.noaa.gov/explorations/sound01/background/seasounds/seasound s.html |
23:56 | <@froztbyte> | spectograms, apparently |
23:57 | <@froztbyte> | and from my adventures this evening, I'll leave you with this photo: https://lh3.googleusercontent.com/-P2fhTsjLnJE/UQMUkOtG5uI/AAAAAAAAJIQ/7igHrMaKh X0/s685/IMG_20130125_190231.jpg |
23:58 | <@froztbyte> | (12v deepcycle battery in it, decent music selection, ~40m audible range) |
--- Log closed Sat Jan 26 00:00:02 2013 |