code logs -> 2013 -> Mon, 23 Sep 2013< code.20130922.log - code.20130924.log >
--- 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
code logs -> 2013 -> Mon, 23 Sep 2013< code.20130922.log - code.20130924.log >

[ Latest log file ]