--- Log opened Mon Sep 23 00:00:53 2013 |
00:01 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [[NS] Quit: Going dooooown...] |
00:01 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
00:01 | | mode/#code [+o Orthia] by ChanServ |
00:03 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
00:03 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
00:12 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
00:19 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
00:19 | | mode/#code [+o Reiv] by ChanServ |
00:23 | | Turaiel[Offline] is now known as Turaiel |
00:26 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
00:26 | | mode/#code [+o himi] by ChanServ |
00:30 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
00:32 | <&McMartin> | You didn't purchase it through the app store! |
00:32 | <&McMartin> | For shame |
00:33 | <&McMartin> | Or you used unzip instead of Finder |
00:42 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
00:43 | | mode/#code [+o himi] by ChanServ |
00:43 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
00:49 | | Turaiel is now known as Turaiel[Offline] |
01:18 | | You're now known as TheWatcher[T-2] |
01:20 | | You're now known as TheWatcher[zZzZ] |
02:17 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
02:23 | | Vorntastic [Vorn@Nightstar-72ceb4b1.sub-70-211-12.myvzw.com] has joined #code |
02:27 | | thalass [thalass@Nightstar-4ab061cc.bigpond.net.au] has joined #code |
02:31 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
02:31 | | mode/#code [+o himi] by ChanServ |
02:31 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
02:52 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
03:06 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
03:06 | | mode/#code [+o himi] by ChanServ |
03:14 | | gnolam_ [lenin@Nightstar-f7705974.cust.bredbandsbolaget.se] has joined #code |
03:14 | | gnolam is now known as NSGuest53622 |
03:14 | | gnolam_ is now known as gnolam |
03:14 | | mode/#code [+o gnolam] by ChanServ |
03:15 | | Alek [omegaboot@Nightstar-4093ec22.il.comcast.net] has quit [Ping timeout: 121 seconds] |
03:17 | | NSGuest53622 [lenin@Nightstar-f7705974.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds] |
03:19 | | Alek [omegaboot@Nightstar-4093ec22.il.comcast.net] has joined #code |
03:19 | | mode/#code [+o Alek] by ChanServ |
03:23 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Operation timed out] |
03:28 | < thalass> | Well. I have a python script written that compares the stored IP address to the one returned from snar.co/ip, then writes the new address to a file if it has changed. Also another one that simply sends an email alerting me to movement. (this one is triggered by Motion - once i figure that out) |
03:28 | < thalass> | I just need the first one to run in a loop every few hours. |
03:29 | < thalass> | I wonder if i can get my IP address from my router, rather than going to a website for it? |
03:30 | <@Reiv> | Thalass: If your IP address changes, how will you ask your router what the new one is?~ |
03:32 | < thalass> | The idea is the first script runs automatically on a local computer (PI!) every few hours, comparing the stored address to the one being returned from the website. It then sends an email to me informing me of the change. which i most likely read on my phone when i'm elsewhere. |
03:33 | < thalass> | If my ISP changes my IP, surely the router should reconnect or somesuch. I haven't looked into it. I just noticed when using Fing last night that it does return something that matches the IP, so i just thought about it. :P |
03:36 | <@Reiv> | Ah, I see. |
03:36 | <@Reiv> | That's much less hilarious. |
03:37 | <@Reiv> | And yeah, your Router should know its current IP. |
03:37 | <@Reiv> | But I can't say whether your router can tell you about it. |
03:37 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
03:37 | | mode/#code [+o himi] by ChanServ |
03:44 | | * thalass pokes around |
03:45 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
03:51 | <&ToxicFrog> | thalass: it knows it, how (or if) you can programatically determine this depends on the router firmware. |
03:51 | < thalass> | Hrm. The router does report its IP address on the home page of its browser-based interface, so i suppose it might be possible to extract the info from that. Though i'm reluctant to give the username and password of the router to a program that is also going to send info out to the wider internet. Especially one written by me. :P |
03:51 | | Turaiel[Offline] is now known as Turaiel |
03:51 | <&ToxicFrog> | It's easiest to just use checkip.dyndns.org or similar |
03:52 | <&ToxicFrog> | Also, what are you using the external ip for? Why the filewriting? |
03:53 | < thalass> | I've bought an IP camera, so we can check on the house when the stupid home alarm goes off randomly. But our IP is not fixed, so i've written this to monitor what the IP address is. It then sends me an email with a (currently wrong because i haven't set it up) URL i could click to access the camera feed via the Motion package. |
03:54 | < Syka> | thalass: have you looked into using a ddns thing |
03:54 | < Derakon> | Syka: he still needs to be able to access the router to get the true IP address. |
03:55 | < Derakon> | I guess if he's worried about security though then he could have one program access the router, and write the IP address to a file that another program reads. |
03:55 | < thalass> | It stores the address in a txt file for comparison, to see if it has changed. Also, the second script uses that file as its reference. |
03:55 | < thalass> | That would work, Dera. |
03:55 | < Syka> | Derakon: why would you need that |
03:55 | < Syka> | Derakon: you do a HTTP POST or whatever to a ddns service |
03:55 | < Syka> | it sees what your external IP is |
03:55 | < Syka> | and updates its dns |
03:56 | < Derakon> | Oh, I gotcha. |
03:56 | < thalass> | aah |
03:56 | < Syka> | then you use a domain name |
03:56 | < Derakon> | Right, that makes sense. |
03:56 | < Syka> | eg. myhouse.dlinkddns.com |
03:56 | < thalass> | That would probably be simpler, but it would involve less Python practice. :P |
03:56 | < Syka> | dlink do a ddns service, if you have a dlink router |
03:56 | < Syka> | (which is free) |
03:57 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
03:57 | | mode/#code [+o himi] by ChanServ |
04:02 | < thalass> | Hrm. It's a netgear, so i guess dlink won't want to know me. As it is right now it works, so i'm happy. But using a website set up by an editor of linux journal magazine is a bit iffy. Google would be more reliable but i'm trying to wean myself off the big G anyway. I'll look into extracting the information from the router. Next is setting up Motion. |
04:03 | < thalass> | This is the first program i've written to solve an actual problem. Everything else has been tutorial practice or something. :D |
04:05 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
04:05 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
04:06 | | Vorntastic [Vorn@Nightstar-72ceb4b1.sub-70-211-12.myvzw.com] has quit [[NS] Quit: Bye] |
04:43 | | Kindamoody[zZz] is now known as Kindamoody |
05:07 | | Derakon is now known as Derakon[AFK] |
05:27 | < [R]> | If you want something less hackish, get DDWRT or the like on your "router" and then use SSH + ipconfig to nab the ip. |
05:28 | < thalass> | http://ipcheck.sourceforge.net/ipcheck.py <-- Whelp. It's possible. And this is much better than my version :P |
05:28 | < [R]> | Though if DDWRT ships with iproute2 that's even better. (iproute2 can dump the same information, except it has a design goal of being machine readable) |
05:28 | < [R]> | Heh |
05:29 | < thalass> | I've thought about flashing something like openwrt before, but it's a bit of "If it's not broken, don't screw with it." as far as that goes. |
05:33 | | thalass is now known as Thalass|werk |
05:35 | <@Reiv> | Have we still not replaced IP persistence yet? |
05:36 | <@Namegduf> | Have you checked whther your router just supports a dynamic DNS solution out of the box? |
05:36 | <@Namegduf> | The ones I have used have had options for at least one in the default firmware, and they're usually free. |
05:37 | < [R]> | Reiv: what's that specifically? |
05:37 | < [R]> | Namegduf: have you tried that? Because usually that feature is for internal DNS. |
05:37 | < [R]> | s/that/them |
05:37 | <@Namegduf> | [R]: Yes. And I specifically mean dyndns and such. |
05:39 | <@Namegduf> | http://kb.netgear.com/app/answers/detail/a_id/64/~/how-to-setup-dynamic-dns%3F <- Here's a netgear device supporting DynDNS |
05:40 | | Thalass|werk [thalass@Nightstar-4ab061cc.bigpond.net.au] has quit [Ping timeout: 121 seconds] |
05:40 | < [R]> | k, cause there's a DHCP feature that's annoyingly similar in name and function, hence my need to confirm that. |
05:41 | < [R]> | Good show though, nice to know the default firmwares are getting less shitty. |
05:41 | <@Namegduf> | Yeah. They seem pretty stuck with the default providers they support, but they seem to usually ship with some support |
05:45 | <@Reiv> | R: A method to assign IP to Thingy without the IP needing to remain fixed. |
05:51 | < [R]> | ? |
05:58 | | Typherix [Typherix@Nightstar-ea8fda76.lnngmi.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
05:58 | | ErikMesoy|sleep is now known as ErikMesoy |
06:00 | | ktemkin is now known as ktemkin[awol] |
06:02 | | Turaiel is now known as Turaiel[Offline] |
06:03 | | Typherix [Typherix@Nightstar-ea8fda76.lnngmi.sbcglobal.net] has joined #code |
06:11 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
06:16 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.] |
06:19 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
06:25 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
06:25 | | mode/#code [+o himi] by ChanServ |
06:30 | | celticminstrel is now known as celmin|Zzzzzz |
07:18 | | Kindamoody is now known as Kindamoody|out |
08:50 | | You're now known as TheWatcher |
09:08 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
09:35 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
09:35 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
09:48 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
09:49 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
09:49 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
11:13 | <@Tarinaky> | How do I press Alt on a Mac? |
11:13 | <@Tarinaky> | All I can get it to do is beep at me. |
11:13 | <@Tarinaky> | Inb4 don't use a Mac. |
11:14 | <@Tarinaky> | Ah, it's Ctrl+Alt. |
11:15 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
11:36 | | celmin|Zzzzzz [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
11:43 | <@Tarinaky> | No, wait, no it isn't. Argh. |
11:52 | < Syka> | Tarinaky: uh |
11:52 | < Syka> | menu key? |
11:52 | < Syka> | like, the one where the win key is, on the right side of the kb |
11:52 | < Syka> | go into keyboard settings and remap it |
11:53 | <@Tarinaky> | I had to go through a convoluted set of menus to get the menu I needed where there was a check box hidden to make the 'option' key behave as meta. |
11:53 | < Syka> | hee |
11:53 | <@Tarinaky> | Locked filling cabinet in a toilet marked "out of order" etc... |
12:31 | <@Tarinaky> | Facepalm. |
12:32 | <@Tarinaky> | I can't find anything labled 'hash'. |
12:32 | <@Tarinaky> | I think I need to turn the option key back into the option key to type one :/ |
12:32 | <@Tarinaky> | RAEG |
12:33 | <@froztbyte> | what? |
12:33 | <@froztbyte> | I think you're making the same mistake Syka did some days ago |
12:34 | <@froztbyte> | when you say "press alt", what is it that you're actually trying to do? |
12:34 | < Syka> | keyboard options |
12:34 | < Syka> | change it |
12:34 | < Syka> | :U |
12:34 | < Syka> | system settings -> keyboard > modifier keys |
12:35 | < Syka> | for a normal pc keyboard, you want it to be caps lock, control, command, option |
12:35 | < Syka> | in that order |
12:35 | | * froztbyte drops an anvil on Syka for bad advice on unclear problems |
12:35 | <@Tarinaky> | froztbyte: irssi has a shortcut for changing between channels which is Alt+[Alphanumeric Character] |
12:36 | < Syka> | okay yeah |
12:36 | < Syka> | that's command |
12:36 | <~Vornicus> | Looks like he's using an application that has an alt-key shortcut, and at the same time requires option-key keys. |
12:36 | <@Tarinaky> | In order for irssi to receive this signal, I have to set up Terminal to escape it as the Meta key. |
12:36 | < Syka> | i think |
12:36 | <~Vornicus> | Alternatively, you can set your keyboard to US, where shift-3 really is # |
12:36 | < Syka> | oh. |
12:36 | < Syka> | remap irssi's keys maybe? |
12:37 | < Syka> | unless that conflicts |
12:37 | < Syka> | which it probably does |
12:37 | <@Tarinaky> | Apparently I am doing something wrong. |
12:37 | <@Tarinaky> | Apparently Esc is the Metakey. |
12:37 | <@Tarinaky> | Because /that's/ obvious. |
12:37 | <~Vornicus> | wat |
12:38 | <@Tarinaky> | BRB, going back in time to give Steve Jobs inoperable cancer. |
12:39 | < Syka> | killing people in time travel reminds me |
12:39 | < Syka> | if someone did kill hitler |
12:39 | < Syka> | wouldnt that basically end up with the turing machine not being invented? |
12:39 | <@Tarinaky> | No. |
12:40 | < Syka> | was that before bletchley? |
12:40 | <@Tarinaky> | It would result in one specific physical computer not being made. |
12:40 | <@Tarinaky> | And even then it's highly likely that the Cold War would necessitate some sort of cod-ebreaking facility at Bletchley Park appearing, just with less funding. |
12:41 | < Syka> | turing on a budget |
12:41 | <@Tarinaky> | Also: how do you know Hitler wasn't assassinated by a time traeller? |
12:41 | <@Tarinaky> | Maybe they made it look like a suicide. |
12:41 | < Syka> | if they killed him at that point of time |
12:41 | < Syka> | I don't want to know what he did if he wasn't killed |
12:42 | <@Tarinaky> | Stood trial allowing the mysticism to be taken away and forever destroying neo-nazism? |
12:42 | <@Tarinaky> | I didn't say he was assassinated for the reasons you're thinking of :p |
12:42 | < Syka> | haha |
12:43 | < Syka> | well, if he was killed by a time traveller, then logically, they had to pick a point in where he did the least harm to humanity, right? |
12:43 | <@Tarinaky> | Unless they had a warped sense of harm to humanity. |
12:44 | <@Tarinaky> | Or not even warped, if not killing Hitler would somehow cause Hitler. |
12:44 | < Syka> | well, it could theoretically be possible that stalin killed all the gypsies and jews instead |
12:44 | <@Tarinaky> | *Hitler++ |
12:44 | < Syka> | which he basically did anyway |
12:44 | < Syka> | except he was less "omg the jews" and more "I am stalin and I bathe in blood of innocents" |
12:45 | <@Tarinaky> | See also: C&C Red Alert. |
12:45 | <@froztbyte> | Tarinaky: I wouldn't change this at Terminal.app's level, I'd rather just bind it in irssi |
12:46 | <@froztbyte> | something like http://wiki.swiftirc.net/index.php?title=Irssi#Window_Change_Shortcut |
12:46 | <@Tarinaky> | froztbyte: That has the problem that I'm running irssi remotely. |
12:46 | <@Tarinaky> | And don't intend to ever use this machine again. |
12:46 | <@Tarinaky> | I'm just stuck here waiting for an email. |
12:47 | <@froztbyte> | then just /win # things, because otherwise the trail of damage will follow you far :D |
13:07 | < AnnoDomini> | http://www.loper-os.org/?p=1299 |
13:08 | < RichyB> | Tarinaky, "esc is the meta key" is perhaps not Apple's fault; Emacs interprets it that way too. |
13:09 | < RichyB> | e.g. the keybinding "M-x" in Emacs can be typed either by holding down the alt key and pressing 'x', or by tapping the ESC key and then tapping the 'x' key. |
13:21 | <@Tarinaky> | How can I escape page up so that screen sees it? |
13:21 | <@Tarinaky> | Or specifically, so irssi sees it. |
13:21 | <@Tarinaky> | Pressing what i think is Page up just scrolls the window. |
13:28 | <@Tarinaky> | It's Shift+Fn+Page Up |
13:28 | <@Tarinaky> | Naturally. |
13:44 | <&ToxicFrog> | What terminal emulator is this? |
14:21 | | Turaiel[Offline] is now known as Turaiel |
14:26 | <@froztbyte> | Terminal.app |
14:26 | <@froztbyte> | also, it's shift+fn+up arrow ;) |
14:27 | < Syka> | more like |
14:27 | < Syka> | terminal.crapp |
14:27 | <@froztbyte> | fn is how you make the arrow turn into page up |
14:32 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
14:34 | | celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has joined #code |
14:34 | | mode/#code [+o celticminstrel] by ChanServ |
15:35 | <@froztbyte> | <cwillu_borken> <end of an hour long argument> "Hmm, yeah, I guess you're right about eintr, so my socket code will crash here occasionally. I still don't see why that means I should use twisted instead of doing it myself though" |
15:35 | <@froztbyte> | <PenguinO1Doom> have you tried talking to people who are competent, even if a little stubborn |
15:35 | <@froztbyte> | <PenguinO1Doom> rather than malicious idiots with a penchant for self-injury |
15:36 | <@froztbyte> | <cwillu_borken> "I'm kind of hoping for this C piece of shit language to grow up and not be so ... 80s" |
15:36 | <@froztbyte> | <cwillu_borken> so I'm not entirely sure he's malicious |
15:36 | <@froztbyte> | <froztbyte> are they new to computers? |
15:36 | <@froztbyte> | <PenguinO1Doom> C grew up, acquired a PCP habit and became C++ |
15:36 | <@froztbyte> | from earlier today |
15:36 | <@froztbyte> | thought some people here might appreciate |
15:37 | <&ToxicFrog> | I read that as "acquired a PHP habit" at first. |
15:37 | <@froztbyte> | hahaha |
15:41 | <@Tarinaky> | I'm not sure which is worse. |
15:42 | < Xon> | for some reason pfsense uses php for all the configuration control bits. this shits me because php-cli is a fucking resource pig :( |
15:43 | < Xon> | wouldn't be so much of an issue, but a 400mhz AMD cpu doesn't exactly have much headroom |
15:43 | <@froztbyte> | if it as a resource pig is your only concern, you have good problems |
15:44 | < Xon> | a router which pegs the CPU because a management task kicks off isn't fun :( |
15:45 | | Turaiel is now known as Turaiel[Offline] |
15:46 | <@froztbyte> | well, I mean like |
15:46 | <@froztbyte> | a router where the CPU pegs because your upstream just fucked up their BGP filter and now you're getting full table instead of 0/0 and your RIB reprogram is taking ages and "oh god oh god we can't even telnet it nevermind ssh"... |
15:46 | <@froztbyte> | that's a worse problem to have. |
15:46 | < Xon> | I can see who doesn't do filtering =p |
15:46 | <@froztbyte> | it was getting filtered |
15:47 | < Xon> | (I work @ a small ISP, after learning the hardway we filter inbound *and* outbound BGP sessions) |
15:47 | <@froztbyte> | but a 600MHz PPC can only do /that/ much |
15:47 | < Xon> | lolz |
15:47 | <@froztbyte> | but yeah, always filter ingress |
15:47 | <@froztbyte> | always. |
15:47 | < Xon> | hey, at least it wasn't IPv6 global routing table =p |
15:47 | <@froztbyte> | pffft |
15:47 | <@froztbyte> | v6 global is tiny |
15:48 | <@froztbyte> | v4 dmz is at 430k or something |
15:48 | <@froztbyte> | probably more, it's been a while since I looked |
15:48 | < Xon> | ah |
15:49 | <@froztbyte> | http://www.cidr-report.org/as2.0/ |
15:49 | <@froztbyte> | 480k prefixes in dmz |
15:49 | < Xon> | froztbyte, so my coworker who wanted to use double rather than decimal to store montary values in the DB had to conceed defeat after learning Linq/SQL Server doesn't support conversion between double->decimal in a C# Linq query. and all the rest of the codebase heavily uses decimal (which I put there) |
15:50 | < Xon> | just a few prefixes |
15:50 | <@froztbyte> | that's gone up by 50k since I left my last job |
15:50 | <@froztbyte> | (end may) |
15:51 | <@froztbyte> | http://bgp.potaroo.net/index-v6.html too, for comparison |
15:51 | < Xon> | gogo ip address framentation |
15:51 | <@froztbyte> | just shy of 16k |
15:51 | <@froztbyte> | actually, 15k |
15:52 | <@froztbyte> | of course, you do get a /hell/ of a lot more mileage out of a v6 prefix |
15:52 | < RichyB> | froztbyte, v6 is tiny because the vast majority of the address space is unused, which means that most routers can get away with really huge sweeping masks which correspond to statements like "0x20A2::... is the UK, so put all traffic under that prefix on the north-bound link", if I understand the benefit correctly? |
15:52 | <@froztbyte> | RichyB: mmmmmmmm kinda |
15:53 | <@froztbyte> | so basically, routing is a most-specific job |
15:53 | <@froztbyte> | most specific route wins, always |
15:53 | <@froztbyte> | but there's also a lot of bad habits on the internet, some of which have worked against people |
15:53 | < Xon> | yeah |
15:54 | <@froztbyte> | for example, the strongly "just route to 0/0" attitude has made multi-homing be the sole domain of ISPs and big customers |
15:54 | <@froztbyte> | try to dual-home on two v4 /29s sometime |
15:54 | < RichyB> | Has the v4 routing apocalypse hit yet? I heard a rumour once that there were thousands or maybe even tens of thousands of routers with space for exactly 500k in some kind of hardware-accelerated content-addressed memory, and that all of these routers were going to lose their minds once the 500,001st route was added. |
15:54 | <@froztbyte> | you'll find yourself in a nightmare of policy routing and link testing |
15:55 | <@froztbyte> | so I think it's as part of that why people give out the much-reduced 0x20a2:: for routing to each region |
15:55 | < RichyB> | By "0/0" you mean a default gateway, right? |
15:55 | <@froztbyte> | but yes, it is also true that very little (in the scheme of things) has been allocated so far |
15:55 | <@froztbyte> | RichyB: yes |
15:55 | <@froztbyte> | shorthand for 0.0.0.0/0.0.0.0 |
15:56 | < RichyB> | surely 0.0.0.0/0? The latter number is the number of set bits in the mask. |
15:56 | <@froztbyte> | depends what kind of shitfuck router you deal with |
15:57 | <@froztbyte> | some of them you need to handconstruct the mask in octa |
15:57 | <@froztbyte> | octal* |
15:57 | < RichyB> | I really dislike seeing netmasks written like "255.255.255.128" 'cuz it forces me to try to do decimalâbitmask in my head, which I can't. |
15:57 | < RichyB> | *Octal*!? |
15:57 | <@froztbyte> | haha |
15:57 | <@froztbyte> | err, whatever it's called |
15:57 | <@froztbyte> | octet! |
15:57 | <@froztbyte> | that thing |
15:58 | < RichyB> | Oh thank goodness. |
15:58 | <@froztbyte> | ek's eintlik afrikaans ;p |
15:58 | < RichyB> | Octal netmasks would be a really funny prank to play on every poor bugger who thinks they're hexadecimal. |
15:59 | <@froztbyte> | haha |
15:59 | <@froztbyte> | well |
15:59 | < RichyB> | "It says the netmask is set to 0377.0377.0377.0200. WHAT PLANET AM I ON!?" |
15:59 | <@froztbyte> | there are various kinds of things which interpret it that way internally |
15:59 | < RichyB> | (still easier than decimal, just unnervingly cruel when you're expecting hexadecimal) |
15:59 | <@froztbyte> | and then you also obviously get the hex representation of a v4 address |
16:00 | < Xon> | <froztbyte> try to dual-home on two v4 /29s sometime |
16:00 | < Xon> | hahaha |
16:00 | | celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
16:00 | <@froztbyte> | Xon: :D |
16:01 | < Xon> | the only reason I have pfsense as my edge device is todo policy routing between my two adsl connection. policy routing can seriously be Not Fun |
16:01 | <@froztbyte> | indeed |
16:03 | < Xon> | MPLS tends to get used a lot by busineses, where they can hand over the 'fun' of providing redundant links to someone else whlie having a logical single network |
16:04 | < Xon> | and given the number of people who can fuckup DNS (which is easy!) the less fucking around with BGP & routing the better |
16:04 | <@froztbyte> | it's unfortunate how few people care about infra |
16:04 | <@froztbyte> | the world would be a better place if people did |
16:04 | < RichyB> | I don't understand why MPLS isn't used in more places, perhaps even almost everywhere between the last-mile and nearest big exchange. It seems like you should be able to do *really* efficient wormhole-routing with it. |
16:04 | <@froztbyte> | I *hate* the whole "let's just edit the zonefile" kind of approach |
16:05 | <@froztbyte> | not least because bind a piece of shit |
16:05 | <@froztbyte> | RichyB: it also becomes /really/ resource hungry |
16:05 | < RichyB> | froztbyte, as opposed to what, updating through RNDC? |
16:05 | <@froztbyte> | MPLS isn't the only thing offering that kind of thing, though |
16:05 | < Xon> | RichyB, my employer basic does that |
16:05 | <@froztbyte> | you can do l2tp to terminate a pppoe session at way another location, for instsance |
16:05 | <@froztbyte> | instance* |
16:05 | < Xon> | we push MPLS to the edge device for a *lot* of stuff |
16:05 | <@froztbyte> | RichyB: well, no, fuck bind entirely |
16:06 | <@froztbyte> | RichyB: the answer that I'd /like/ to give doesn't exist yet, because I haven't gotten to writing it yet |
16:06 | < Xon> | froztbyte, you call MPLS resource hungry then talk about pppoe =p |
16:06 | <@froztbyte> | Xon: have you dealt with GGSNs? |
16:06 | < Xon> | for a provider, pppoe is a pain to scale |
16:06 | <@froztbyte> | pfffft |
16:06 | <@froztbyte> | drop a couple of xl2tpd boxen down |
16:07 | < Xon> | (our pppoe termination boxes may be +10 years old) |
16:07 | <@froztbyte> | there's not that much frame/session cost per user, though |
16:07 | <@froztbyte> | so as long as your daemon is sane, you mostly end up with "hardware limitations" |
16:08 | <@froztbyte> | (in the sense of scheduler + cpu bandwiffs + bandwidth in band on whatever ports you're using) |
16:09 | < Xon> | <froztbyte> Xon: have you dealt with GGSNs? |
16:09 | < Xon> | nah, mostly deal with fixed line stuff and I haven't been involved in any of the truely interesting new stuff tbh |
16:09 | <@froztbyte> | ah k |
16:09 | <@froztbyte> | cellphones and GSM and 3G? it's all fucking shit. |
16:09 | < Xon> | heh |
16:09 | <@froztbyte> | rubbish. terrible. absolute shit. |
16:09 | <@froztbyte> | wimax is marginally better |
16:10 | <@froztbyte> | but urgh, phones-- |
16:10 | < Xon> | does not suprise me in /the least/ |
16:10 | < Xon> | getting timely usage stats out of them is insane |
16:11 | <@froztbyte> | erfffffffff don't even get me started on that |
16:11 | < RichyB> | froztbyte, how on earth is MPLS resource-hungry? The individual layer tags are just 32 bits each! |
16:12 | < Xon> | RichyB, for a long time there wasn't any hardware acceleration MPLS routers. most routers have shitty CPUs |
16:12 | <@froztbyte> | RichyB: maintaining tag tables across your edges, push-/popping, managing the actual structure incurs cost, etc |
16:12 | <@froztbyte> | and yeah, what Xon said |
16:12 | <@froztbyte> | MPLS only really became "good" in the last couple of years, afaict |
16:12 | < RichyB> | Huh. |
16:12 | <@froztbyte> | it's easily commoditisable at CPE/endpoint layer |
16:12 | <@froztbyte> | because there it's one tag |
16:13 | <@froztbyte> | but imagine having to deal with 600 of the the things |
16:13 | <@froztbyte> | for even a moderately successful customer base |
16:13 | < RichyB> | It seems weird to me because MPLS with pre-arranged labels instead of a maintained tag table is pretty close to exactly the same algorithm that the Transputer (or its successor, I can't remember which) uses to route messages, and that goes like a greased rocket. |
16:14 | < Xon> | RichyB, hitting the host CPU is the issue |
16:14 | <@froztbyte> | yeah |
16:14 | < Xon> | really can't underscore that enough |
16:14 | <@froztbyte> | uhm |
16:14 | <@froztbyte> | consider a cisco 7204 |
16:14 | < RichyB> | Yes, in that case I'm talking about a supercomputer interconnect with transistors dedicated to it. |
16:14 | <@froztbyte> | with a npe400 |
16:14 | <@froztbyte> | damned awesome little router |
16:14 | <@froztbyte> | but it's got like a 400MHz CPU |
16:14 | < RichyB> | I don't know what chips sit inside those things. 0.5GHz RISC? |
16:14 | < RichyB> | Oh, close guess. :) |
16:15 | <@froztbyte> | it'll run WCCP for like 80Mbps of traffic at hardware and 7 providers circuits without breaking a swear |
16:15 | <@froztbyte> | sweat* |
16:15 | <@froztbyte> | but the moment anything gets punted to CPU, goodbye all traffic |
16:15 | <@froztbyte> | and the impact of that is a negative feedback loop, because you keep trying to catch up |
16:16 | < RichyB> | The *http caching* is hardware-accelerated? |
16:16 | <@froztbyte> | no |
16:16 | <@froztbyte> | but intercepting the traffic and handing it off to a couple of servers is :) |
16:17 | < Xon> | a lot of DOS attacks on cisco gear comes down to sending crap at it which causes hardware processing to unexpectedly fail to software |
16:18 | < RichyB> | I apologise for asking so many ignorant questions; my knowledge is very shaky below the layer of IP. |
16:18 | < Xon> | it took me 5 years via osmosis to learn what I know while working at an ISP while being interested =p |
16:19 | < RichyB> | As far as I understand it, you pretty much put an address at the front of a IP datagram, put it on the wire, a miracle occurs and then maybe it arrives at the destination, and possibly it arrives at other places too or instead. |
16:19 | <@froztbyte> | rofl |
16:19 | <@froztbyte> | well |
16:19 | <@froztbyte> | that is often how it works ;p |
16:19 | <@froztbyte> | (if you see how bad some networks are) |
16:19 | < RichyB> | (aside from a handful of things like straightforward ethernet and ARP, to which I've had plentiful exposure because they're so common on cheap LANs) |
16:20 | < Xon> | heh |
16:20 | <@froztbyte> | RichyB: so, basically |
16:20 | < Xon> | froztbyte, network convergance is always well interesting |
16:20 | <@froztbyte> | what I said earlier about routing being a most-specific action? |
16:21 | <@froztbyte> | that's literally pretty much the key of the internet |
16:21 | <@froztbyte> | so you have a dynamic routing protocol that you use to announce routes to other people |
16:21 | < RichyB> | So you always want to pick the route for a given address that has the most bits set in the mask? |
16:21 | < Xon> | cos it's fun when a DDOS against the ISP affects the storage layer in a public VM farm :D |
16:21 | <@froztbyte> | route "ownership" is based on whose ASN (Autonomous System Number) is used to announce it |
16:21 | <@froztbyte> | so while at neology, our AS was 37105 |
16:22 | < RichyB> | froztbyte, this is, like, BGP? You use BGP between autonomous systems and something like RIPE within them? |
16:22 | <@froztbyte> | there's nothing particularly stopping me from announcing a google range to my peers, for instance |
16:22 | <@froztbyte> | RichyB: yes, BGP |
16:22 | <@froztbyte> | RichyB: there's nothing else at work between multiple parties at internet level |
16:22 | < Xon> | RichyB, it can also be BGP all the way down |
16:22 | <@froztbyte> | so uh |
16:22 | <@froztbyte> | yeah |
16:22 | < Xon> | (or BGP flavours) |
16:22 | <@froztbyte> | I could go announce a google range (we call them prefixes) |
16:22 | <@froztbyte> | and if my peers didn't filter accordingly |
16:23 | < RichyB> | And an "autonomous system" actually means "a bunch of machines networked together whose administrators all trust each other enough to run a routing protocol that doesn't have a notion of who's-allowed-to-do-what"? |
16:23 | <@froztbyte> | I could "hijack" that traffic |
16:23 | <@froztbyte> | whether I terminate the traffic myself (drop IPs on hosts I control), or merely push them through some packet inspection stuff |
16:23 | < Xon> | RichyB, yup. this is how india took out youtube |
16:23 | <@froztbyte> | that's up to me |
16:23 | < RichyB> | Xon, how could you have BGP all the way down when we're limited to 65536 ASNs globally? |
16:23 | <@froztbyte> | we're not |
16:23 | <@froztbyte> | 32bit ASNs are a thing |
16:24 | < Xon> | yeah |
16:24 | < RichyB> | I don't understand how ASNs relate to routing tables. |
16:24 | <@froztbyte> | and you can reuse private ASNs within areas |
16:24 | <@froztbyte> | RichyB: hmm, okay |
16:24 | <@froztbyte> | hang on |
16:24 | | * froztbyte finds a good routeserver quickly |
16:24 | < Xon> | ASNs are who is broadcasting that they have routes to a given address space |
16:24 | < RichyB> | Do you announce an ASN or⦠do you announce some routes, tagged with your ASN, and other boxes should check your ASN against a table of which address blocks they believe you should have control over? |
16:25 | <@froztbyte> | http://lg.he.net/ |
16:25 | < Xon> | froztbyte, saddly routing all of Australia's internet through a minor ISP who is a client of Telstra by Telstra causes a) a network loop b) the really small pipe to get full =p |
16:25 | <@froztbyte> | RichyB: both, sorta, not always |
16:25 | < Xon> | RichyB, hahaha |
16:25 | <@froztbyte> | RichyB: every network has an AS |
16:25 | <@froztbyte> | well |
16:25 | <@froztbyte> | every self-respecting network has an AS |
16:26 | <@froztbyte> | (some are just NAT blobs hanging off a shitlink) |
16:26 | < Xon> | there is no authorative global ASN <-> ip range mapping |
16:26 | < RichyB> | Neither my home nor my office network are self-respecting. :( |
16:26 | < Xon> | for use by routing |
16:26 | <@froztbyte> | peering happens between ASs |
16:26 | <@froztbyte> | so, for instsance |
16:26 | <@froztbyte> | instance* |
16:26 | <@froztbyte> | 36937 is neotel.co.za |
16:26 | <@froztbyte> | and 37105 is neology.co.za |
16:26 | < RichyB> | Xon, huh. But surely that would be really useful to have for filtering routes so that India can't accidentally take out youtube! |
16:27 | <@froztbyte> | now 37105 and 36937 could peer with each other |
16:27 | <@froztbyte> | and exchange routes |
16:27 | <@froztbyte> | but the peering link itself is merely a conduit that passes information |
16:27 | <@froztbyte> | what kind of information it passes is solely at the discretion of the people setting up the peering session |
16:27 | <@froztbyte> | so if someone fatfingers a filter, or just doesn't even bother |
16:28 | <@froztbyte> | then you get the kind of hijacking etc fun |
16:28 | <@froztbyte> | now |
16:28 | < Xon> | RichyB, BGP was designed from the ground up on the idea that everyone was behaving nicely |
16:28 | < RichyB> | So this means that 37105 has got its bgpd set to say, "if 36937 announces a route, trust it"? |
16:28 | <@froztbyte> | not necessarily |
16:28 | <@froztbyte> | it /could/ be that way |
16:28 | <@froztbyte> | but reality says "never do that" |
16:28 | <@froztbyte> | there are a couple of occasions where you can |
16:28 | <@froztbyte> | for instance, when one network consumes another (buyout, etc) |
16:29 | < Xon> | RichyB, you need to explicitly say /do not accept/ those routes when setting up bgpd |
16:29 | <@froztbyte> | you could configure all your routers to say "these other things are only ever going to speak to mine now" |
16:29 | < Xon> | (can you see why this is an issue?) |
16:29 | < RichyB> | I love how every time you say "but we don't do $x, because it's stupid and thinks will break by accident," you also have to add, "but sometimes people do that anyway because they're dumb, and thinks break." |
16:29 | <@froztbyte> | I've seen this happen with old university networks |
16:29 | <@froztbyte> | it got taken up by tenet.ac.za |
16:29 | <@froztbyte> | so there were 5 ASNs that were "run" by tenet |
16:29 | <@froztbyte> | but they all came out of one parent one |
16:30 | <@froztbyte> | internally, tenet allowed all of the old ASNs to send updates |
16:30 | <@froztbyte> | but had filters in place that would never allow announces from those routers to go out up tenet's provider edge |
16:30 | <@froztbyte> | so everything "within the silo" kept on working Just Fine, and gave people time to update IPs and whatnot |
16:31 | <@froztbyte> | but nothing outside saw any of that movement |
16:31 | <@froztbyte> | RichyB: I've long wanted to do a set of presentations on "internet basics for the everyman" |
16:31 | <@froztbyte> | because it is actually kinda awesome to see the whole thing at work |
16:31 | <@froztbyte> | and few people even know what happens |
16:31 | < Xon> | yeah |
16:31 | < RichyB> | Please do. I feel like I'm accidentally carving myself out a patchwork of incomplete knowledge here by asking questions one by one. |
16:32 | < Xon> | it's a fairly big topic, largely from all the emergent complexity when interacting with the rest of networking bullshit |
16:32 | <@froztbyte> | I also still need to do a bunch more work on http://learnyouamonitoring.net/ |
16:32 | <@froztbyte> | but consulting has taken up a lot of my time in the last few months |
16:33 | < RichyB> | hee |
16:34 | < RichyB> | Are you by any chance a fan of "Learn You A Haskell" or "Learn You An Erlang"? :) |
16:34 | < Xon> | better than the consulting not getting enough hours? =p |
16:36 | <@froztbyte> | RichyB: ;p |
16:36 | <@froztbyte> | Xon: quite |
16:36 | <@froztbyte> | I feel guilty about not writing, but not bad :) |
16:38 | < Xon> | froztbyte, you played much with 'convergent networks' aka pushing storage over ethernet using some sort of IP-based protocal? |
16:39 | <@froztbyte> | yes |
16:39 | <@froztbyte> | a bit |
16:40 | <@froztbyte> | actually also ended up breaking open-iscsi's initiator quite a bit :D |
16:40 | <@froztbyte> | (I have a fair amount of storage experience, and like reading about it, although god knows why) |
16:41 | < Xon> | lol |
16:41 | < Xon> | I would like to chat more, but almost midnight for me :( |
16:41 | < Xon> | and I was late into work after sleeping in |
16:42 | < Xon> | cya |
16:42 | <@froztbyte> | haha |
16:42 | <@froztbyte> | \o |
16:47 | < AnnoDomini> | C. Am I not allowed to use periods in #defines? |
16:53 | <@TheWatcher> | In the identifier, or the token string? |
16:53 | <@TheWatcher> | In the token string, sure. |
16:53 | <@TheWatcher> | The identifier is subject to the same rules as identifiers elsewhere in code |
16:54 | <@TheWatcher> | ie: no. |
16:54 | < AnnoDomini> | OK. |
16:55 | <@TheWatcher> | Convention tends to be to s/\W/_/; |
16:56 | < AnnoDomini> | \W? |
16:57 | <@TheWatcher> | Anything that isn't a-zA-Z0-9_ |
17:00 | < AnnoDomini> | OK. |
17:07 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds] |
17:09 | < RichyB> | TheWatcher, technically, s/[^a-zA-Z0-9]/_/g is just as good as s[^a-zA-Z0-9_]/_/g ;) |
17:10 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
17:10 | | mode/#code [+o Orthia] by ChanServ |
17:14 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds] |
17:14 | < AnnoDomini> | Hmm. Can I change the values of the arguments of a function? |
17:14 | < AnnoDomini> | As in, are they proper variables? |
17:14 | <@TheWatcher> | Yes |
17:14 | < AnnoDomini> | Cool! |
17:23 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
17:23 | | mode/#code [+o Orthia] by ChanServ |
17:27 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds] |
17:29 | < RichyB> | AnnoDomini, in C? Your arguments are usable as local variables. You get passed copies of all of your arguments, not the originals, so modifying them won't affect your caller. |
17:29 | < RichyB> | Arguments in C are always passed by value, never by reference. |
17:29 | < RichyB> | Arguments may be pointers though. :) |
17:31 | < AnnoDomini> | Right. |
17:32 | < RichyB> | e.g. int silly_example (int x, int *pp) { x = x + 1; *pp = x + 1; return x; }; // will modify its own local version of x, won't modify whatever the caller passes in for x, but will modify whatever is pointed to by pp. |
17:33 | < AnnoDomini> | Mhm. |
17:36 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
17:36 | | mode/#code [+o Orthia] by ChanServ |
17:40 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds] |
17:45 | | * TheWatcher casts RichyB into space for failing to use the Hallowed Metasyntactic Variables. |
17:46 | < AnnoDomini> | The what? |
17:48 | < RichyB> | foo bar baz quux, in that order. |
17:48 | <@TheWatcher> | Names used as arbitrary function or variable names in examples: foo, bar, wibble, womble |
17:49 | < RichyB> | After "baz" it gets a bit varied, different people use different conventions. |
17:49 | <@Tamber> | ooh, wombles |
17:50 | < RichyB> | The idea is that when you see "foo" and "bar" in examples, you can recognise that they mean "this 'foo' is some arbitrary name, which can be whatever I wish, and it must be the same as every other 'foo' in this context" |
17:50 | <@TheWatcher> | (Tamber: Of Wimbledon Common, even) |
17:50 | <@Tamber> | :D |
17:51 | < RichyB> | Hrmn. Short, fuzzy, they've got names like "Uncle Bulgaria" and they're into recycling and sharing. |
17:51 | < RichyB> | Are you sure it wasn't actually the Wombles of Wimbledon Commune? |
17:52 | < RichyB> | Bungo at least looks like he's wearing a ushanka. |
18:38 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
18:38 | | mode/#code [+o Orthia] by ChanServ |
19:13 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
19:26 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
19:26 | | mode/#code [+o himi] by ChanServ |
19:28 | | Kindamoody|out is now known as Kindamoody |
19:44 | | Kindamoody is now known as Kindamoody[zZz] |
19:57 | < AnnoDomini> | http://www.ted.com/talks/james_lyne_everyday_cybercrime_and_what_you_can_do_abou t_it.html |
20:14 | < AnnoDomini> | Is that thing about beaming our previously connected networks universal to wifi adapters/software, or just a smartphone thing? |
20:16 | < jeroud> | "beaming our previously connected networks"? |
20:17 | < AnnoDomini> | At 13:00 in the video. |
20:17 | < AnnoDomini> | jeroud: The guy claims that by searching for wireless networks, you also transmit a list of networks you previously connected to. |
20:17 | < jeroud> | I'm at band practice and can't watch the video. |
20:19 | < jeroud> | I suppose it could be trying to connect to networks that haven't announced themselves. |
20:19 | < jeroud> | I don't know much about the protocol. |
20:36 | | Turaiel[Offline] is now known as Turaiel |
21:14 | | Turaiel is now known as Turaiel[Offline] |
21:18 | < RichyB> | AnnoDomini, AIUI it goes something like, in addition to APs regularly broadcasting their SSIDs so that you can pick them up, *also* some wifi clients will broadcast connection requests for all of the SSIDs that they have cached |
21:19 | < RichyB> | in order to be able to pick up common networks more quickly, without having to wait around for the next SSID broadcast from the AP. |
21:20 | < RichyB> | Oh wait, misunderstanding, you do already understand that mechanism. |
21:20 | < RichyB> | AnnoDomini, not sure offhand, but I think that Windows' wifi stack does it too. I dunno about Linux or OS X. |
21:21 | | celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has joined #code |
21:21 | | mode/#code [+o celticminstrel] by ChanServ |
21:21 | < AnnoDomini> | I see. |
21:46 | | Turaiel[Offline] is now known as Turaiel |
21:57 | <@gnolam> | s/all of the SSIDs/the latest SSID |
22:06 | <&McMartin> | 09:46 < RichyB> The idea is that when you see "foo" and "bar" in examples, you |
22:06 | <&McMartin> | can recognise that they mean "this 'foo' is some arbitrary |
22:06 | <&McMartin> | name, which can be whatever I wish, and it must be the same as |
22:06 | <&McMartin> | every other 'foo' in this context" |
22:06 | <&McMartin> | I know several bioinformaticists that used foo and bar in actual code because that is what all the examples did and thus this is clearly The Thing To Do. |
22:08 | <&McMartin> | Also, a question to the workflow gurus here! |
22:09 | <&McMartin> | UQM is in the midst of migrating to git, finally. |
22:10 | <&McMartin> | What's the best way to mark released revisions? We've gone through CVS tags to a file naming SVN revisions. I'm inclined to go back to tagging commits, but I'm vaguely aware there are other approaches people use like a branch whose commits are only releases. |
22:12 | <&McMartin> | What's a good way to do this (a) in general and (b) given UQM's history? |
22:12 | | Turaiel is now known as Turaiel[Offline] |
22:13 | < RichyB> | McMartin, ohhhhhhhhhh that is a shame. Poor bioinformaticists. |
22:14 | < RichyB> | McMartin, where I work we use a rough approximation of http://nvie.com/posts/a-successful-git-branching-model/ |
22:14 | <@TheWatcher> | Bloody bio students |
22:15 | <&McMartin> | RichyB: Yeah, that ship has sailed, given the history of the project |
22:15 | < RichyB> | Work in either feature branches or release branches. Once your feature or release passes QA, merge it into master "git merge --no-ff" so that there's an explicit merge commit, then tag master. |
22:16 | < RichyB> | What could you possibly have done in the past that's so heinous that it removes the possibility of ever picking your own git workflow in future? |
22:17 | <&McMartin> | "All history of interest is on master" |
22:17 | <&McMartin> | And I mean literally all of it; our SVN workflow included no branching of any kind. |
22:17 | < RichyB> | Regardless of how bad the past is, I'd still just go with that explicitly merge feature branches into master, tag master and build the binaries to put on the website from a master tag. |
22:17 | < RichyB> | Yes, that's not a problem. Just switch workflow from now on. |
22:18 | <&McMartin> | Well, that's the other part~ |
22:18 | <&McMartin> | "From now on" doesn't mean much; UQM has not really seen serious development for like five years. |
22:18 | < RichyB> | It will not be even slightly difficult for someone looking at your git history to see that from 200x to 2012, the commits go in a straight line, and then from 2013 onwards there are regular-ish merges into master. |
22:18 | < RichyB> | There's nothing puzzling or confusing about that picture. |
22:18 | <&McMartin> | Er |
22:19 | <&McMartin> | So, the part that's different is that there wouldn't be regularish merges into master. |
22:19 | <&McMartin> | There would be regularish merges into develop. |
22:19 | < RichyB> | Are you talking about in the past or in the future? |
22:19 | < RichyB> | You don't have to retrofit existing old commits into your new workflow. |
22:19 | <&McMartin> | In the future. |
22:19 | <&McMartin> | It is not obvious to me that making a develop branch at this level of software maturity is actually wise. |
22:20 | < RichyB> | Fair enough. |
22:21 | < RichyB> | The model still works if you ditch the develop/master split. |
22:21 | <&McMartin> | The question becomes "is it worth it to switch master and develop into release and master, or is this not going to buy anything for the various forks who have been pushing us to switch to git so that they can file pull requests against one another" |
22:22 | < RichyB> | Since you don't care much about stability yet, I wouldn't bother. I'd tag master and release directly from it. |
22:23 | <&McMartin> | Well |
22:23 | < RichyB> | Once you start trying to have stuff like actual release windows and so on - add another line of development *then*. |
22:23 | <&McMartin> | That will officially never happen |
22:23 | < RichyB> | The most useful thing IMHO from that model is the prolific use of topic branches to isolate things until you're happy to land them. |
22:23 | <&McMartin> | We're basically *already* at the point where the only things that go in are bugfixes. |
22:25 | <&McMartin> | But yes, I know at least one of our devs has been manually maintaining not-really-branches in SVN-land, and getting him into branches for his experiments is another part of the goal here. |
22:26 | < RichyB> | I've re-read what you've written a couple of times because I wasn't sure at first what you're asking. |
22:26 | <&McMartin> | I'd like to bring back the ability to say "check out release X" without having to look up which commit that is by hand. |
22:27 | <&McMartin> | There's a lot of git stuff that flatly isn't relevant to the project because while it is still maintained I cannot reasonably call UQM "under active development". |
22:27 | < RichyB> | I think that for your case, doing development (mostly merging bugfix pull requests from other people) on master and merging into another branch called "releases" would work. I'm not totally convinced of the need for a "releases" branch at all though, because you can just "git tag --list" to print the list of tags that have been prepared and "git checkout $tagname" to get the source at a given tag. |
22:28 | <&McMartin> | OK, so that does work the way I think. |
22:28 | <&McMartin> | The releases branch thing only makes sense to me if you're also pushing hotfixes &c. |
22:29 | <&McMartin> | That's not really a thing the product does. |
22:29 | < RichyB> | Yes. The dev/master split in the "successful branching model" article is mostly about allowing for hotfixes. |
22:29 | <&McMartin> | And, in fact, I'm not sure if pull requests are going to be much of a thing in the usual sense |
22:29 | < RichyB> | It sounds like you already have a backlog of them that you could do with benefiting from. |
22:30 | <&McMartin> | Not really |
22:30 | <&McMartin> | We have no intention of incorporating the forks. |
22:30 | < RichyB> | Why are there forks, then? |
22:30 | <&McMartin> | People writing fan sequels, etc. |
22:30 | <&McMartin> | Or doing total conversions on the artwork. |
22:31 | < RichyB> | Oh cool. |
22:31 | <&McMartin> | So there the issue is that it's not easy for them to get post-0.7 changes into *their* codebases |
22:31 | <&McMartin> | The big win here is mainly "it's easier to track us as a remote now" |
22:32 | <&McMartin> | I'm not sure how sourceforge even *handles* pull requests, if it does. |
22:33 | < RichyB> | Hahaha no. |
22:33 | < RichyB> | Sourceforge handles affiliate marketing now. |
22:33 | <&McMartin> | Well, for UQM, Sourceforge handles hosting costs. :D |
22:33 | <&McMartin> | Given that the total size of our repos exceeds a gigabyte... |
22:33 | <&McMartin> | (The git repo has been trimmed down to 200MB or so.) |
22:34 | < RichyB> | Nice. |
22:34 | <&McMartin> | Yeah, especially in 2002? |
22:34 | <&McMartin> | Without SF the project would never have been able to survive. |
22:35 | < RichyB> | https://github.com/SeleniumHQ/selenium â this individual Github repo is hovers about 1.0GB ± 10% |
22:35 | < RichyB> | I know this because I cloned it by accident once. |
22:35 | <&McMartin> | Yyyeah |
22:35 | <&McMartin> | Not wanting to deal with that shit is one reason we've been resisting shifting to git |
22:35 | | ErikMesoy is now known as ErikMesoy|sleep |
22:35 | < RichyB> | SF changed since 2002 now. |
22:35 | < RichyB> | Er |
22:35 | <&McMartin> | Especially since many hundreds of megabytes of that is dead content |
22:35 | < RichyB> | SourceForge has changed since 2002, too. |
22:36 | < RichyB> | I do not know of any good way to deal with that. Git is really, really only good at dealing with text. |
22:36 | <&McMartin> | Quite so. |
22:37 | <&McMartin> | However, it turns out that a few hundred OGGs that don't change but get moved around a lot as we refine the resource manager is handled... acceptably. |
22:37 | <&McMartin> | It is not very good at handling "those OGGs were created by encoding about 12 hours of AIFFs that used to live in the repo but don't anymore" |
22:37 | <&McMartin> | It turns out that we solved that problem back when we shifted from CVS to SVN, though, by excluding those files from the SVN conversion :D |
22:38 | < RichyB> | Wherever I need to put anything over a megabyte into git, usually I'll put a reference to it by URL and SHA1sum into a build system instead. |
22:38 | <&McMartin> | So it was only necessary to run git svn clone |
22:38 | <&McMartin> | I suppose |
22:38 | <&McMartin> | Though I'm willing to call the OGGs here "the original" and as such anyone cloning UQM is now part of the archival curation~ |
22:38 | < RichyB> | Hee. :) |
22:41 | <&McMartin> | ... I've forgotten the traditional extension for tar cjvf. Is it .tbz2? |
22:43 | < RichyB> | Please .tar.bz2, .tar.gz and .tar.xz |
22:43 | < RichyB> | .tbz2 is correct but it's really rare to see in the wild, so who's going to know what it is? |
22:44 | < RichyB> | .tar.bz2 is totally unambiguous and easy to parse. |
22:44 | <&ToxicFrog> | McMartin: this is mostly a matter of taste. Personally I prefer using tags. |
22:46 | <&jerith> | I generally use .tar.{gz,bz2} because the compression and archival are separate operations. |
22:46 | <&jerith> | You can gunzip a .tar.gz and get a .tar. |
22:46 | < RichyB> | That too. |
22:59 | <@Reiv> | McMartin: I again commend you and your comrades for the Ur-Quan Masters project. |
23:00 | <@Reiv> | It was pretty fantastic, and brings back the Glory Days Of Old most acceptably. |
23:02 | <&McMartin> | (Jesus Christ, the launching of the UQM project is now closer to the *commercial release* of Star Control 2 than it is to the present day) |
23:05 | < AnnoDomini> | Is there some way to stop YouTube from asking me to change my name without getting a Google+ account? |
23:06 | < AnnoDomini> | I do NOT want a G+ account. |
23:07 | < RichyB> | Stop using YT while logged in? |
23:07 | < AnnoDomini> | A decent solution. |
23:07 | < AnnoDomini> | I'd shut down my YT account entirely, but I have a few videos there. |
23:08 | < RichyB> | I use YT only in Google Chrome where my primary browser is Firefox, but this is largely because I do not want to install the Flash plugin to FF, while Chrome comes with one bundled that's kind of livable with. |
23:08 | <&McMartin> | You used to be able to tell it that you were Internet Famous with your other handle |
23:08 | < RichyB> | I don't believe that that ever really worked |
23:10 | < RichyB> | in that the guy who wrote the "PHP is a fractal of bad design" article and hence is very well known under his screen name "eevee" (kinda terrible choice to use something copyrighted but oh well) was complaining a few months ago about how it was obscenely unpleasant and/or non-work-y for him. |
23:17 | <@froztbyte> | McMartin / RichyB: the solution is obvious |
23:17 | <@froztbyte> | McMartin / RichyB: base64 encode /all/ of the resources!~ |
23:17 | | * McMartin shoryukens froztbyte |
23:17 | <@froztbyte> | :D |
23:18 | <&McMartin> | It looks like all our repos will fit, compressed, within 2 GB, and nobody but the most extreme archivists will need more than the 200MB git archive. |
23:20 | <@froztbyte> | haha |
23:20 | <@froztbyte> | oh, also |
23:21 | <&McMartin> | Also, I fixed a crash bug introduced post-0.7, so hooray for that, I guess, but boo having crash bugs introduced |
23:22 | <@froztbyte> | jerith / RichyB / McMartin: |
23:22 | <@froztbyte> | hageshii% apack foo.tgz foo; apack foo.tar.gz foo; apack foo.tar.7z foo |
23:22 | <@froztbyte> | *snip outputs* |
23:22 | <@froztbyte> | hageshii% ls -l |
23:22 | <@froztbyte> | total 16 |
23:22 | <@froztbyte> | -rw-r--r-- 1 froztbyte froztbyte 100 Sep 24 00:21 foo |
23:22 | <@froztbyte> | -rw-r--r-- 1 froztbyte froztbyte 314 Sep 24 00:21 foo.tar.7z |
23:22 | <@froztbyte> | -rw-r--r-- 1 froztbyte froztbyte 262 Sep 24 00:21 foo.tar.gz |
23:22 | <@froztbyte> | -rw-r--r-- 1 froztbyte froztbyte 262 Sep 24 00:21 foo.tgz |
23:22 | <@froztbyte> | (just a random dud file for example purposes) |
23:22 | <@froztbyte> | `atool` package |
23:22 | <@froztbyte> | homebrew provides, as do most linux package managers |
23:29 | <@froztbyte> | (there's also `als`, `acat`, etc) |
23:29 | < AnnoDomini> | I think I may have found a solution: http://userscripts.org/scripts/show/153375 |
23:30 | <@froztbyte> | hah |
23:31 | < AnnoDomini> | Recently, ErikMesoy mentioned that solutions like this may be becoming the default state of the internet. Removing undesirable content from your eyes. |
23:33 | <@froztbyte> | and this is why i hope app.net succeeds |
23:33 | <@froztbyte> | I pretty much filter-by-default |
23:34 | <@froztbyte> | since I see no reason to be subjected to ads, no matter how targetted |
23:34 | < AnnoDomini> | app.net? |
23:34 | <@froztbyte> | http://app.net/ |
23:36 | <@Reiv> | froztbyte: I actually do allow ads |
23:36 | <@Reiv> | I should find a way to kill more of them, but, y'know. |
23:37 | <@Reiv> | Eg, it was noted by TotalBuiscuit last month or so that 30% of his viewers use AdBlock. Good for them, perhaps, but that's money he don't see |
23:37 | <&McMartin> | That's what whitelists are for |
23:38 | <@Reiv> | ... So if you want to bitch about his doing promotional deals, you might want to check your Adblock settings first. |
23:38 | <@froztbyte> | and to that I say "allow me to pay you a small fee instead, then" |
23:38 | <@froztbyte> | now I realize I'm probably not the standard kind of ethics you find online |
23:38 | <@froztbyte> | but I appreciate good content |
23:38 | <@froztbyte> | and I'd be willing to help keep it alive |
23:40 | <@froztbyte> | (who is TotalBiscuit, btw?) |
23:40 | < AnnoDomini> | I'm glad that the writhing mass of lusers doesn't generally use AdBlock yet, allowing the non-numpties to have better quality internet browsing while the numpties' views pay for it. |
23:40 | <@froztbyte> | lulz |
23:41 | <@froztbyte> | was about to guess at the usage spread of my internet habits just now |
23:41 | <@froztbyte> | but then I realized I tried that once before and it ended in misery |
23:41 | <@Reiv> | froztbyte: TotalBiscuit is Internet Famous; he does a lot of youtube game reviews in a "WTF is X" format, where he tools around the early stages of a game for half an hour or so to give you a feel for what the game is like. |
23:41 | <@Reiv> | Also does a lot of StarCraft & DOTA sports commentary. |
23:42 | <@Reiv> | I mostly mention him because he stated point blank the percentage of his viewers that do not earn him any money >_> |
23:42 | <@froztbyte> | oh |
23:42 | <@froztbyte> | so someone I basically never ran into so far :) |
23:42 | <@froztbyte> | the internet's a pretty wide net |
23:43 | | * Namegduf doesn't feel any particular imperative to turn off ad block while the online ad industry is still about 80% fraud |
23:43 | < Syka> | totalbiscuit, lol |
23:43 | < AnnoDomini> | Namegduf: To me, it's 100% noise. |
23:43 | < Syka> | he's double reason to check my adblock works :p |
23:43 | <@froztbyte> | anyway, this goes beyond just online for me |
23:44 | <@froztbyte> | I avoid advertising as far as I can |
23:44 | <@froztbyte> | which, being in .za, is still quite doable |
23:44 | <@froztbyte> | walls aren't plastered in things |
23:44 | <@froztbyte> | I have a TV which acts as a big monitor, and all content in demand-based without any form of ads |
23:45 | <@Reiv> | Syka: Hey, if you don't like him, don't watch his stuff. |
23:45 | <@froztbyte> | my routes I drive are quiet ones, so they're "off the grid" in terms of where people'd put things |
23:45 | <@Reiv> | The internet is a big place. Not everyone has to enjoy the british being snarky. :p |
23:45 | <@froztbyte> | so adblock is just a natural extension of that :) |
23:47 | < Syka> | unrelated http://store.steampowered.com/livingroom/SteamOS/ |
23:48 | < Syka> | what you are referring to is not steam, but gnu/steam, or as i have taken to calling it, gnu+steam |
23:49 | <&McMartin> | Scroll down. It is actually video forwarding from a Windows machine. |
23:50 | <@Namegduf> | s/actually/also/ |
23:50 | <&McMartin> | Well, yes. |
23:50 | <&McMartin> | Linux Steam is actually quite solid at this point, if the hardware can handle it. |
23:50 | < Syka> | no |
23:50 | < Syka> | it is a linux OS |
23:50 | < Syka> | it HAS forwarding, but that's not the point |
23:51 | <&McMartin> | I can't run CK2 on my Linux box, though, so I imagine I can't run EU4 on it either. |
23:51 | <&McMartin> | (EU4 is one of the screenshots there) |
23:51 | < Syka> | eu4? |
23:51 | <&McMartin> | Crusader Kings 2, Europa Universalis IV |
23:51 | <&McMartin> | Paradox's grand strategy games |
23:51 | <@Reiv> | I presume that it's basically "You can stream from your PC to your TV so you can game in the lounge" yes? |
23:52 | <&McMartin> | Part of it, but I suspect it is also "you can play Linux games available on Steam directly" |
23:52 | <&McMartin> | CK2: http://steamcommunity.com/sharedfiles/filedetails/?id=180447023 |
23:52 | < Syka> | reiv: yes, sort og like the nvidia shield |
23:52 | <&McMartin> | aka Fun With Arranged Marriage |
23:52 | < Syka> | haha |
23:53 | < Syka> | i've been playing the shit out of wargame: airland battle |
23:53 | <@Reiv> | McMartin: What, on your TV? |
23:53 | < Syka> | 4v4 AI games are great |
23:53 | <@Reiv> | Or is this "We've got a Steambox coming very shortly"? |
23:53 | <&McMartin> | Reiv: If your Linux machine has HDMI out, sure, on your TV, why not. |
23:54 | <&McMartin> | That said, yeah, they probably do; there are apparently two more announcements coming out this week, with the next in two days |
23:54 | <@Reiv> | Yeah because otherwise this thing is not terribly sensible |
23:54 | <@Reiv> | Not being rude and all, just, y'know |
23:55 | <&McMartin> | ... if you're *mostly* doing forwarding could you adapt an RPi to do it~ |
23:55 | <&McMartin> | (Probably not because ARM vs. Intel) |
23:55 | < Syka> | i dont think a steambox itself is coming out |
23:55 | < Syka> | but valve will announce partnerships with hw companies |
23:55 | < Syka> | a la chromebook |
23:56 | <&McMartin> | I guess we'll see in a week |
23:56 | < Syka> | so you'd have an alienware steambox and a hp one and whatever |
23:56 | <@Reiv> | Chromebooks sucked, though. |
23:56 | <@Reiv> | I assume they're still a thing somewhere, though? |
23:56 | < Syka> | yes |
23:56 | < Syka> | and theyre doing quite well apparently |
23:57 | < Syka> | also, chromebook pixel |
23:57 | < Syka> | which I have a whole box of want for |
23:58 | <&McMartin> | I'm having trouble justifying a machien of that power and price that's designed to run ChromeOS |
23:58 | <&McMartin> | Though if it is easy to rescan, I guess that's still pretty nice |
--- Log closed Tue Sep 24 00:00:08 2013 |