< 1163896731 0 :jix__!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1163899089 0 :Asztal!unknown@unknown.invalid QUIT :Nick collision from services. < 1163899095 0 :Azstal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric < 1163899100 0 :Azstal!unknown@unknown.invalid NICK :Asztal < 1163899167 0 :Asztal!unknown@unknown.invalid QUIT :Nick collision from services. < 1163899172 0 :Azstal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric < 1163899176 0 :Azstal!unknown@unknown.invalid NICK :Asztal < 1163900611 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1163900640 0 :xor!unknown@unknown.invalid PRIVMSG #esoteric :zomg zombies! < 1163900857 0 :tgwizard!unknown@unknown.invalid QUIT :Remote closed the connection < 1163906158 0 :GregorR!n=gregor@c-71-193-149-252.hsd1.or.comcast.net JOIN :#esoteric < 1163906192 0 :EgoBot!n=EgoBot@c-71-193-149-252.hsd1.or.comcast.net JOIN :#esoteric < 1163907886 0 :GregorR-L!n=GregorR-@c-71-193-149-252.hsd1.or.comcast.net JOIN :#esoteric < 1163910985 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1163911210 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1163911269 0 :Sgeo!unknown@unknown.invalid QUIT :Client Quit < 1163911467 0 :SevenInchBread!unknown@unknown.invalid NICK :GrandmotherChaos < 1163911929 0 :GrandmotherChaos!unknown@unknown.invalid NICK :CakeProphet < 1163915888 0 :CakeProphet!unknown@unknown.invalid QUIT :"haaaaaaaaaa" < 1163915935 0 :CakeProphet!n=CakeProp@h33.250.213.151.ip.alltel.net JOIN :#esoteric < 1163917510 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :WELL WELL WELL < 1163917525 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Look what I happened to come across on QDB: < 1163917527 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :http://qdb.us/71165 < 1163918251 0 :anonfunc!n=pimaniac@adsl-70-135-59-64.dsl.chi2ca.sbcglobal.net JOIN :#esoteric < 1163918503 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :I saw you on QDB recently :P < 1163918794 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :And did you vote +? :P < 1163919094 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :of course ;) < 1163920475 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :heh dum < 1163922398 0 :ivan`!unknown@unknown.invalid PRIVMSG #esoteric :http://feedback.ebay.com/ws/eBayISAPI.dll?ViewFeedback&userid=iaintpayinyou < 1163922740 0 :Asztal!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1163923199 0 :clog!unknown@unknown.invalid QUIT :ended < 1163923200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1163923573 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1163924124 0 :Razor-X!unknown@unknown.invalid PART #esoteric :? < 1163924134 0 :Razor-X!n=user@user-11faaoj.dsl.mindspring.com JOIN :#esoteric < 1163927680 0 :ivan`!unknown@unknown.invalid QUIT :" HydraIRC -> http://www.hydrairc.com <- Leading Edge IRC" < 1163931207 0 :GregorR-L!unknown@unknown.invalid QUIT :"Leaving" < 1163931244 0 :jix!n=jix@L6355.l.strato-dslnet.de JOIN :#esoteric < 1163931442 0 :jix!unknown@unknown.invalid QUIT :Client Quit < 1163931763 0 :jix!n=jix@L6355.l.strato-dslnet.de JOIN :#esoteric < 1163933074 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Infix is annoying. < 1163933099 0 :Razor-X!unknown@unknown.invalid PRIVMSG #esoteric :Well, actually, the bulk of the code goes to parsing ``2x + 2'' as ``(2 * x) + 2'', heh. < 1163934236 0 :puzzlet_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1163934427 0 :tgwizard!n=tgwizard@c-103fe155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1163934678 0 :puzzlet_!n=puzzlet@58.77.172.41 JOIN :#esoteric < 1163944575 0 :Arrogant!i=Paragon@164.orlando-09-10rs.fl.dial-access.att.net JOIN :#esoteric < 1163945393 0 :jix_!n=jix@L6378.l.strato-dslnet.de JOIN :#esoteric < 1163945656 0 :Arrogant!unknown@unknown.invalid QUIT :"Leaving" < 1163946511 0 :jix!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1163954126 0 :CakeProphet!n=CakeProp@h33.250.213.151.ip.alltel.net JOIN :#esoteric < 1163955128 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I think Scott Adams has been outdone: http://angryflower.com/functi.html < 1163957190 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1163957341 0 :Azstal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric < 1163957345 0 :Azstal!unknown@unknown.invalid NICK :Asztal < 1163958512 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1163959051 0 :Asztal!unknown@unknown.invalid QUIT :"Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)" < 1163959872 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sign: "Lube connection. Please use rear entrance." < 1163959875 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://www.maximonline.com/slideshows/index.aspx?slideId=764&imgCollectId=59 < 1163960532 0 :xor!unknown@unknown.invalid PRIVMSG #esoteric :ha < 1163965377 0 :Asztal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric < 1163965911 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1163967283 0 :ihope!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1163969326 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... < 1163969336 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so... I need some help with telnet here. < 1163969347 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :DO is only sent in response to a WILL, right? < 1163970185 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I think it can also happen the other way around. < 1163970218 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :telnet sounds horrible :) < 1163970237 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"Please DO RANDOMLY-LOSE." "Okay, I WILL RANDOMLY-LOSE". < 1163970260 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :s/"./."/d < 1163970269 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :(d = DWIM) < 1163970284 0 :GregorR-L!n=GregorR-@c-71-193-149-252.hsd1.or.comcast.net JOIN :#esoteric < 1163971177 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I think I've been using this password too long... < 1163971198 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I am typing it and not realising I've done so. < 1163971207 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I forgot the password for my Linux box. < 1163971219 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I just remembered. < 1163971244 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :It's that one word from the best joke in the world, except different. < 1163971374 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Except I can't remember if I used an at sign or an ampersand... < 1163971615 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm... "paracetamoxyfrusebendroneomycin" < 1163971617 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :I took a phrase from red dwarf, inverted it, and mangled it. < 1163971656 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :it breaks many things though because it has spaces < 1163971701 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has used programming languages, numbers with significance, Goon show phrases, and function names. < 1163971722 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :The latter are particularly good because they already look like garbage. < 1163971815 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Searching for one of the function names I have adapted resolves something I had always wondered; it turns up one of the pages in this manual: http://www.pcigeomatics.com/cgi-bin/pcihlp/EASI < 1163971865 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :About 1000 sheets of fanfold with that stuff on is one of the persistant memories of my childhood. < 1163971865 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :yeah... it seems that telnet could easily go into random infinite loops if you don't know what sort of thing you're dealing with. < 1163971895 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(My dad once ran a script on some old computer system and forgot to turn off tracing, so every line executed was also traced.) < 1163972111 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... < 1163972126 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :What would freenodes wildcards look like in Perl regex? < 1163972174 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :* is zero-or-more characters when used on freenodes ban thingy... and ? is exactly-one-character < 1163972253 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :they would be .* and ., IIRC < 1163972337 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... then I'll probably use a simplified form of Perl regex with ? being substituted for . < 1163972353 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is making a IP-address-ban thingy. < 1163972397 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You don't want . for a single character match there, do you? :-) < 1163972403 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1163972446 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so I'll replace all "."'s with "\," in the ban string... and then convert all "?"'s to "." < 1163972448 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: so what would take the place of ? < 1163972466 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: Have you heard of a subnet mask? You should try it. < 1163972467 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :probably \? < 1163972495 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :nonono, I mean, what would take the old meaning of ? < 1163972512 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmm... forgot what ? meant... < 1163972517 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :optional < 1163972533 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Hmmm... not sure why I would need that. :D < 1163972565 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I can't think of any situation where someones address would or would not have a specific string. < 1163972598 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well... maybe the host part... < 1163972614 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but that can handled easily with * < 1163972634 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well... < 1163972644 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Does this mean you are blocking by hostname? < 1163972654 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :*shrugs* not necessarily. < 1163972696 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :If I were a cracker, I would make sure that I hosted my own DNS, set the reverse lookup lifetimes to 0, then made reverse lookups *really* slow. < 1163972718 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :So that doing reverse lookup wouldn;t be practical. < 1163972738 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I'm blocking by whatever there address contains. < 1163972745 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :e.g.? < 1163972763 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1163972789 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :33.250.213.151.ip.alltel.net < 1163972803 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :33.250.213.*.ip.alltel.net < 1163972813 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :33.250.*.ip.alltel.net < 1163972821 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :33.2??.*.ip.alltel.net < 1163972896 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :erk! < 1163972913 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I don't like the last one < 1163972921 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It's a bizzare way to do it. < 1163972946 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well... you could change it to... < 1163972952 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :33.2*.ip.alltel.net < 1163972970 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :You would either block to much or too little, most likely. < 1163972997 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION really doesn't have much of a clue about IPs < 1163973030 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I know my IP is usually either 250.* or 251.* ...which is a very big range if you plan on blocking me off permanently. < 1163973106 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :You should leanr CIDR notation, at least. < 1163973129 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or rather, your program should accept it. < 1163973181 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: I assume by those you mean 33.250.* and 33.251.*... < 1163973214 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Well... usually when I see my IP the 33 isn't there. < 1163973219 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so I'm guessing that's a freenode thing. < 1163973220 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, that would be 33.250.0.0/15 < 1163973271 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmm... so / denotes a range? < 1163973276 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmm... that could be useful... < 1163973279 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: 33.250.213.151? < 1163973294 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1163973302 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That's not what you usually see as your IP address, then? < 1163973329 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: anyway, your IP is 151.213.250.33, not 33.250.213.151 < 1163973343 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Damned domain names are backwards < 1163973374 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :yeah.... 33 is something to with freenode... < 1163973393 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :n=CakeProp@h33.250.213.151.ip.alltel.net < 1163973395 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Who the heck though that would be a good idea? < 1163973409 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: no, it's just part of your IP address < 1163973589 0 :jix_!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1163973665 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :UNIX paths, Windows paths, newsgroup names, OIDs, IP addresses, C-like stuct addressing, etc, etc are all big-endian. Why are domain names backwards? < 1163973804 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Who invented domain names? < 1163973829 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And IP addresses, and email addresses? < 1163973851 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :egobot did < 1163973853 0 :Asztal!unknown@unknown.invalid QUIT :"Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)" < 1163974066 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1163974070 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon < 1163974072 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl < 1163974490 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :!daemon cat bf +[>,.<] < 1163974512 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :EgoBot, did you invent domain names, IP addresses, and email addresses? < 1163974518 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I did. < 1163974518 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1163974522 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so... what's a subnet? < 1163974542 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is having to learn him some networking stuff so he knows what he's doing when he blocks stuff... < 1163974543 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: a network within a network? < 1163974600 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Used for "if it matches the subnet mask, direct it in, otherwise direct it out", if I remember correctly. < 1163974632 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :someone recommended I ban by isp subnet rather than by IP address.. < 1163974640 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but I'm not sure why... or how... I would do that. < 1163974732 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I think that'd be something like "hsd1.mi.comcast.net" for me or "ip.alltel.net" for you, maybe. < 1163974745 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes, let's ban all the Comcast users in Michigan. < 1163974767 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :But maybe it isn't. < 1163974864 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm.... < 1163974902 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I think that's the host part. < 1163974943 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: well, I appearance, the IP address space is flat.. < 1163974960 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :To help routing, it is divided up heirarchically. < 1163975001 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :You can cut an IP address into blocks of bits, with the earlier bits being considered before the later ones for routing. < 1163975022 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is only vaguely understanding. < 1163975037 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :What is being "considered" and what does that involve... < 1163975071 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :originally, this was only done on byte boundaries, producing class A networks (/8, meaning defined by an 8-bit sequence at the start), class B networks (/16), and class C networks (/24). < 1163975085 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: you know roughly how internet routing works, right? < 1163975125 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :>.> not really. < 1163975140 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Well, it is (theoretically) close to heirarchical. A router looks at the first so many bits of an address, and chooses where to send it based on those. < 1163975184 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :where are these addresses come from... and where is the router sending them? < 1163975194 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :A high-level router might only consider the first 8 bits, and dispatch based on those... < 1163975218 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: the address to which the packet is sent: an IP address < 1163975226 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok.. < 1163975258 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :consider a border router owned by Apple... < 1163975278 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :border router? < 1163975332 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :The internet is roughly heirarchical in its routing, and things outside a network can ofter treat the layout inside that network as a "black box". < 1163975355 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :a border router routes between the inside and outside of a network < 1163975396 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Apple owns all the addresses starting with 17. < 1163975417 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Really, or just for the purposes of explanation? < 1163975426 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :really < 1163975432 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :all 2^24 of them < 1163975441 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1163975458 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What do they do with all of those? < 1163975466 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1163975577 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :If a border router for Apple receives a packet, it will look at the first byte of the address. If that byte is not 17, it will look it up in a list that tells it which (external) line the packet should leave on, and send it out. If the first address byte *is* 17, it will look at the next byte or so, and look that up in a different list, to see which (internal) line it should send it out on. < 1163975615 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :aaah < 1163975637 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :So a router only needs to know in detain about a bit of the Internet, and its knowlege of the internet can be compressed into short tables, rather than multi-Gb tables. < 1163975684 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so packets are "funneled" to their locations by progressively going more internal. < 1163975692 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Sounds right. < 1163975709 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: or external... < 1163975720 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :You go up the tree, then down. < 1163975743 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so what does that have to do with banning IPs? :D < 1163975750 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :It's always nice to learn crap like that though < 1163975763 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Of course, it's nothing like a tree really, but the addresses *are* assigned so that you can abbreviate the routing table and still get very good results < 1163975779 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: I got an old copy of a networking book for £0.50 < 1163975804 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... so the packets go through various routers on the network right? < 1163975820 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: well, since the IP addresses are assigned in blocks, and that helps fast routing of packets, people's IP addresses will not tend to change much < 1163975850 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If I wanted to get to microsoft.com, I would send stuff to 192.168.0.4 (our router), which would send it to 73.43.4.1, which would send it to 12.244.250.193, which would send it to 12.118.112.9... < 1163975875 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Usually, there will be a point in their IP address after which they could get *any* set of bits and before which they always get the same bits. < 1163975881 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(IP addresses are 32 bits, BTW) < 1163975900 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :what would happen if... a router disconnected somewhere in the chain? Do they detect that this happens and send it down an alternate path? < 1163975905 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ihope: Ah, things get more complicated when you consider that routers have addresses too... < 1163975911 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: aaah < 1163975933 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1163975938 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: either that, or the network goes down, it would seem. < 1163975965 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :My data would hang around in that general area (which seems to be owned by ATT), then go on to a different area at msn.com... < 1163975969 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Well, high-level routing is done via BGP usually, I am not sure what that does with failures... < 1163976006 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Then the sneaky msn.com people would send it off to who-knows-where, telling me only that it'll eventually get to microsoft.com, which is at 207.46.250.119. < 1163976019 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :BGP is designed to take account of politics. < 1163976036 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Do whatnow? < 1163976039 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :e.g. you can't route packets from Canada to Canada through the USA. < 1163976056 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm.... okay, so now I just need to use that to determine how much change might occur in the IP address between router restarts... for banning the closest-fitting range possible. < 1163976062 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :so BGP allows complicated policies about where packets are sent < 1163976068 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You can't? < 1163976077 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: this is very simple... < 1163976089 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Can't you say something like "have yahoo.com send this stuff to microsoft.com"? < 1163976118 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1163976145 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is sure either... < 1163976148 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :isn't < 1163976157 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I don't think it works that way ihope ;) < 1163976198 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Is there something that would theoretically do that, if yahoo.com wants to participate? < 1163976207 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I'm guessing the actual path of packets from destination A to destination B can change for each packet sent... so it won't be so absolute as "from yahoo.com to microsoft.com" < 1163976211 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: you consider all their recent IP addresses, and choose the longest sequence of bits that they have in common at the start, and you block that: If you have identified a sequence of n bits in common, then you append (32-n) zeroes to get 4 octets: a.b.c.d, then block a.b.c.d/n < 1163976265 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmm... might have lost me there... < 1163976313 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If you want to block "microwave", "microscope", and "microphone", generalize it to "micro*"? < 1163976315 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :why would you append zeroes? < 1163976387 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Well, 67.3.6.15 and 67.194.15.69 are both 67.0.0.0/8, if I'm not mistaken. < 1163976403 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :??????? < 1163976451 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: That is what CIDR notation uses < 1163976469 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing < 1163976470 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The zeroes are ignored, I think. It's just the first eight bits that are used. < 1163976509 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Well I don't have anything that supports CIDR notation... < 1163976515 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I don't think.. < 1163976557 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It's trivial to progam yourself... < 1163976627 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION isn't sure he would want to use it. < 1163976635 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't it be just easier to use... Perl regex? < 1163976677 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :To see if A.B.C.D is in a.b.c.d/n, you just do: mask = ~(0XFFFFFFFF >> n); if (A.B.C.D & mask == a.b.c.d & mask) { ... } < 1163976692 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :not to mention I would need to show everyone how CIDR works... and these are people that -aren't- as tech saavy as me. < 1163976700 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :assuming 32-bit unsigned ints throughout < 1163976711 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: what's this for, anyway? < 1163976730 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :a MUD :D < 1163976734 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1163976740 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and who will be using it? < 1163976750 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... mostly just me... < 1163976759 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :you mean the ban stuff? < 1163976762 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :or the source code? < 1163976767 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the ban stuff < 1163976787 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :oh... anyone I give the command to (adminstrator-type folks) < 1163976809 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1163976816 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :and in my current projects I'm pretty much the most technically inclined person in the group. < 1163976865 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :You could teach the computer how to deduce minimal ban blocks, then admins just feed it addresses or domain names, it keeps track of how recently each was used, and works out minimal bans. < 1163976873 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and makes sure old ones are discarded < 1163976882 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :that's what I was considering. < 1163976909 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Keep a list of recent IP addresses to connect to the account... and then deduce the most minimal ban possible. < 1163976909 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It should howver consider a component of a domain name as atomic. < 1163976927 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but then... the data could get skewed if someone from a different ip logged into that account recently. < 1163976935 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: ah... < 1163976982 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :regex seems to be the easiest way to go... it's fairly easy to understand and most people are familiar with it. < 1163976991 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :at least... the simplified form of it. < 1163976997 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :wildcards, basically. < 1163977013 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Well, splitting a ban into two sub-bans is quite trivial, you just add one more bit of significance and consider the two possibilities. Then, you trim those two bans to the minimum possible size, and see how much gets trimmed off. < 1163977060 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: but you must consider domain name components to be atomic, remember. < 1163977062 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :and this might not always be a user-based ban. < 1163977089 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise you will end up doing odd stuff with domain names that are derived from IP addresses < 1163977090 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :if, for example, someone hacks into someone elses account... then you would need to use an IP-specific block. < 1163977096 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1163977205 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well... it's not Perl regex... it's Python's re module. < 1163977215 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :which was designed to be like Perl's tegex. < 1163977251 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :This might be helpful, maybe: http://www.pc-tools.net/unix/grepcidr/ < 1163977401 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I was also thinking about using a "range" regex thing. < 1163977422 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so the regex [1:4] would match 1, 2, 3, and 4 < 1163977473 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Which would be useful for IP addresses like mine... < 1163977525 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :the first part of my address is usually either 151 or 150... so you could use 15[0:1] to specify those two, without having to use a wildcard, which would be too broad. < 1163977587 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I guess it would equate to.... < 1163977619 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :In my modified regex, [1:10] == (1|2|3|4|5|6|7|8|9|10) < 1163977641 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :or is there an easier way to convert that? < 1163977719 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(10|[1-9]) < 1163977754 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm.... < 1163977766 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :don't think this module has a [1-9] like syntax. < 1163978877 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, So [x-y] matches the range between x and y? < 1163978906 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :why excluse 10 from the range? < 1163979192 0 :tgwizard!unknown@unknown.invalid QUIT :Remote closed the connection < 1163979249 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: [x-y] is a range of characters < 1163979258 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :a regex range < 1163979292 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Weird... < 1163979315 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If I'm not mistaken, [1-10] would be all characters from 1 to 1, or 0. < 1163979520 0 :CakeProphet!unknown@unknown.invalid QUIT :"haaaaaaaaaa" < 1163979564 0 :CakeProphet!n=CakeProp@h33.250.213.151.ip.alltel.net JOIN :#esoteric < 1163979673 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1163979936 0 :Eidolos!unknown@unknown.invalid PRIVMSG #esoteric :I like the idea of [1:10] if you find better syntax for it. < 1163979944 0 :Eidolos!unknown@unknown.invalid PRIVMSG #esoteric :(maybe <1-10>?) < 1163979997 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What's wrong with [1:10]? < 1163980055 0 :Eidolos!unknown@unknown.invalid PRIVMSG #esoteric :Consider [10:23] < 1163980065 0 :Eidolos!unknown@unknown.invalid PRIVMSG #esoteric :Should that match a 1, 0, :, 2, 3, or a number from 10 to 23? < 1163980080 0 :Eidolos!unknown@unknown.invalid PRIVMSG #esoteric :Indeed even [1:2] < 1163980206 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I see. < 1163980223 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION giggles slightly at the 500,000,000,000,000 mega-amps of current going through a wire < 1163980292 0 :Eidolos!unknown@unknown.invalid PRIVMSG #esoteric :So 500 exa-amps? < 1163980383 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I guess. < 1163980439 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :According to Google, that's over 274,000,000,000,000 kilograms of electrons moving through there every second. < 1163980494 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :WTF? < 1163980526 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :It's quite the wire, isn't it? < 1163980556 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Note to self: never put an ideal wire across a near-ideal battery.