Log from 2008-03-07:
--- Day changed Fri Mar 07 2008
00:00 <pippijn> torres: -c namespace m { void foo();} namespace ns {struct foo{friend void m::foo() {}};}
00:00 <torres> return type specification for constructor invalid
00:00 <pippijn> torres: -c namespace m { void foo();} namespace ns {struct foo{friend void ::m::foo() {}};}
00:00 <torres> return type specification for constructor invalid
00:00 <pippijn> interesting
00:00 <pippijn> :-)
00:00 <pippijn> oh
00:00 <pippijn> well :-D
00:00 <pippijn> torres: -c namespace m { void foo();} namespace ns {struct foo{friend void ::m::foo();};}
00:00 <torres> return type specification for constructor invalid
00:00 <pippijn> uh oh
00:01 <pippijn> torres: -c void foo () { } namespace ns { struct foo { friend void ::foo (); }; }
00:01 <torres> return type specification for constructor invalid
00:01 <pippijn> hm
00:01 <pippijn> that sucks
00:01 <wrtlprnft> torres: -c /* whatever -c does */ namespace ns { void foo(); } struct foo { friend void ns::foo() {}};
00:01 <torres> return type specification for constructor invalid
00:02 <pippijn> -c is like gcc's -c
00:02 <pippijn> compile only
00:02 <wrtlprnft> ah
00:02 <pippijn> you are doing it wrong.. but it doesn't matter
00:02 <pippijn> you defined foo inside the class
00:02 <pippijn> but declared it outside
00:02 <wrtlprnft> that's impossible?
00:03 <pippijn> I don't think it is possible
00:03 <wrtlprnft> * is that
00:03 <pippijn> but I'm not positively sure
00:03 -!- rico [n=x-javach@user-54412611.l6.c4.dsl.pol.co.uk] has quit ["webirc@xclan.armagetron.co.uk"]
00:03 <pippijn> hm
00:03 <pippijn> no I think it's fine
00:03 <pippijn> friend makes it external
00:03 <pippijn> so it should be fine
00:04 <pippijn> but the constructor thing is strange
00:04 <pippijn> I am too tired to think about that now
00:04 <wrtlprnft> maybe it's a bug in gcc
00:04 <pippijn> torres: { int ia[] = { 1, 2, 3, 4, 3, 2, 1 }; cout << ia; }
00:04 <torres> [1, 2, 3, 4, 3, 2, 1]
00:04 <pippijn> :-)
00:05 <pippijn> wrtlprnft: possibly a parse error..
00:05 <wrtlprnft> templated for arrays of size N?
00:05 <pippijn> yes
00:05 <pippijn> for vectors, too
00:06 <pippijn> and lists
00:06 <wrtlprnft> deques? :O
00:06 <pippijn> and set
00:06 <pippijn> and deque
00:07 <pippijn> and whatnot
00:07 <pippijn> :p
00:07 -!- z-man [n=manuel@p5087182B.dip0.t-ipconnect.de] has joined #armagetron
00:07 -!- Ttech [n=ttech@fullcirclemagazine/developer/ttech] has joined #armagetron
00:08 -!- madmax [n=madmax@unaffiliated/madmax] has joined #armagetron
00:08 <wrtlprnft> torres: << (int[]){1,2,3,42}
00:08 <torres> ISO C++ forbids compound-literals
00:08 <epsy> FFFF!
00:08 <wrtlprnft> aww
00:08 <pippijn> anything that can be iterated over, basically
00:08 <epsy> gn
00:08 <wrtlprnft> 'night
00:08 <epsy> #night
00:08 <armabot> Good night epsy!
00:08 <pippijn> stack, queue, priority_queue, valarray, T[N], ...
00:08 <pippijn> good night
00:09 <wrtlprnft> pippijn: but there's no way to write a template that just accepts everything that can be iterated :-(
00:09 <pippijn> well
00:09 <pippijn> http://pip.one09.net/files/txt/796df35d39ed74d72112ee3abcdf5553.txt <- very dangerous
00:11 <wrtlprnft> i don't know enough boost for that
00:11 <pippijn> it's simple
00:11 <pippijn> it can iterate over anything that can be iterated over in a standard way
00:11 <pippijn> i.e. it defines iterators or is an array
00:12 <pippijn> print_range isn't everything
00:12 <wrtlprnft> ah
00:12 <wrtlprnft> but some_ostream << <any type> is a bit generic
00:12 <pippijn> exactly
00:13 <pippijn> wrtlprnft: http://pip.one09.net/files/txt/a2827378e96a7d2f19231c92bd64ccc2.txt
00:14 <pippijn> wrtlprnft: this requires that R has ::iterator defined
00:14 * luke-jr peers at 'freak'
00:15 <pippijn> and then I write one for T const (&array)[N]
00:15 <wrtlprnft> doesn't that have the same problem?
00:15 <pippijn> no
00:15 <wrtlprnft> it's still an operator << for an ostream and an R const &
00:15 -!- hoop_tron [n=john@ip-195-196.sn2.eutelia.it] has quit [Read error: 113 (No route to host)]
00:15 <pippijn> yes
00:15 <wrtlprnft> that returns something weird
00:15 <pippijn> but it requires you to have R::iterator
00:16 <pippijn> otherwise the compiler won't pick that function
00:16 <pippijn> print_range is very generic
00:16 <wrtlprnft> because it tries to return something with a type containg R::iterator?
00:16 <pippijn> operator << limits the possibilities
00:16 <pippijn> yes
00:16 <wrtlprnft> will that stop the compiler from using it?
00:16 <pippijn> yes
00:16 <wrtlprnft> i thought it'd still try and throw errors
00:17 <wrtlprnft> but you know these corner cases better than me.
00:17 <pippijn> it won't try
00:17 <wrtlprnft> nice <ignore first argument, return second> template
00:17 <pippijn> torres: struct A { }; int main () { cout << A (); }
00:17 <torres> no match for 'operator<<' in 'cout << A()'
00:17 <pippijn> torres: << 1 == 1
00:17 <torres> no match for 'operator==' in 'cout.ostream::operator<<(1) == 1'
00:17 <pippijn> ah well
00:18 <pippijn> the first one is a good example
00:18 <pippijn> A would be used by print_range and it would error out
00:18 <pippijn> but the operator << protects it
00:18 <wrtlprnft> nice
00:19 <wrtlprnft> if you nest detail::snd or make a new one with more ignored args you can add more restraints :-)
00:19 <pippijn> yes
00:19 <pippijn> but it's not necessary
00:19 <pippijn> as long as you can iterate over something, it's fine
00:20 <pippijn> the restriction R::iterator is actually too strict
00:20 <pippijn> R::const_iterator suffices
00:20 <wrtlprnft> yeah, for that case :-)
00:20 <pippijn> boost::range_const_iterator<> picks R::const_iterator for everything non-POD
00:21 * wrtlprnft is thinking about something that checks if some member function of a template arg has the right prototype
00:21 <pippijn> it picks T* for POD types
00:21 <pippijn> wrtlprnft: erroring out if not?
00:21 <wrtlprnft> nah, not picking it if not
00:22 <pippijn> hm
00:22 <pippijn> member functions are heavy crack
00:22 <wrtlprnft> template<int (&T_Ignore)(int), typename T> struct snd {typedef T type;};
00:22 <pippijn> for example, it's not possible to get the class name out of a member function
00:22 <wrtlprnft> shouldn't that work?
00:23 <wrtlprnft> for static members at least
00:23 <pippijn> statics are better
00:23 <wrtlprnft> or will that error out if the function in question is there but doesn't have the right prototype?
00:24 <wrtlprnft> (using the same trick you used in your code)
00:24 <pippijn> the problem is that you need to define the member function's class in the template
00:24 <wrtlprnft> one more template arg?
00:25 <pippijn> torres: struct A { int foo () { } void moo () { } }; template<int (A::*)(), typename T> struct snd { typedef T type; }; void typename snd<A::foo, int>::type main () { }
00:25 <torres> no return statement in function returning non-void
00:25 <pippijn> torres: struct A { int foo () { return 0; } void moo () { } }; template<int (A::*)(), typename T> struct snd { typedef T type; }; void typename snd<A::foo, int>::type main () { }
00:25 <torres> using 'typename' outside of template
00:25 <pippijn> ah
00:25 <pippijn> torres: struct A { int foo () { return 0; } void moo () { } }; template<int (A::*)(), typename T> struct snd { typedef T type; }; void snd<A::foo, int>::type main () { }
00:25 <torres> could not convert template argument 'A::foo' to 'int (A::*)()'
00:26 <pippijn> torres: struct A { int foo () { return 0; } void moo () { } }; template<int (A::*)(), typename T> struct snd { typedef T type; }; void snd<&A::foo, int>::type main () { }
00:26 <torres> too few template-parameter-lists
00:26 <wrtlprnft> wan. those are errors i've never heard of
00:27 <pippijn> oops
00:27 <pippijn> torres: struct A { int foo () { return 0; } void moo () { } }; template<int (A::*)(), typename T> struct snd { typedef T type; }; snd<&A::foo, int>::type main () { }
00:27 <torres> Compilation and execution successful, no program output.
00:27 <pippijn> torres: struct A { int foo () { return 0; } void moo () { } }; template<int (A::*)(), typename T> struct snd { typedef T type; }; snd<&A::moo, int>::type main () { }
00:27 <torres> could not convert template argument '&A::moo' to 'int (A::*)()'
00:27 <pippijn> hm
00:27 <pippijn> okay
00:27 <pippijn> let's see
00:27 <pippijn> I think it would be possible
00:28 <pippijn> but I don't see how you would use that
00:28 <pippijn> wrtlprnft: what would you use it for?
00:28 <wrtlprnft> dunno yet
00:28 <wrtlprnft> maybe for begin() and end() :P
00:28 <wrtlprnft> if i don't want to use boost
00:29 <wrtlprnft> does boost just have a list of known containers internally?
00:29 <pippijn> for what?
00:29 <pippijn> boost::range_const_iterator<>?
00:29 <wrtlprnft> foryeag
00:29 <wrtlprnft> *yeag
00:29 <wrtlprnft> *yeah
00:30 <pippijn> 00:22 < pippijn> boost::range_const_iterator<> picks R::const_iterator for everything non-POD
00:30 <pippijn> so for struct A, too
00:30 <wrtlprnft> ah
00:30 <pippijn> torres: struct A { }; int main () { typename boost::range_const_iterator<A>::type b; }
00:30 <torres> using 'typename' outside of template
00:30 <wrtlprnft> there might still be some use :-)
00:30 <pippijn> ah
00:30 <pippijn> torres: struct A { }; int main () { boost::range_const_iterator<A>::type b; }
00:30 <torres> no type named 'const_iterator' in 'struct A'
00:31 -!- epsy [n=epsy@mar75-4-82-227-65-72.fbx.proxad.net] has quit []
00:31 -!- torres [n=torres@unixcorps/staff/pippijn] has quit [Remote closed the connection]
00:36 -!- torres [n=torres@pD9E9FE3F.dip.t-dialin.net] has joined #armagetron
00:36 <pippijn> wrtlprnft: now torres knows variadic templates and rvalue references
00:37 <pippijn> torres: << TYPE_DESC (int (*)(int, char, char, char, short, short))
00:37 <torres> pointer to a function taking an integer, 3 characters, 2 short ints, and returning an integer
00:38 <wrtlprnft> o_O
00:39 <pippijn> torres: TYPE_DESC (string &&)
00:39 <torres> expected constructor, destructor, or type conversion at end of input
00:39 <pippijn> torres: << TYPE_DESC (string &&)
00:39 <torres> rvalue reference to a string
00:39 <wrtlprnft> torres: << TYPE_DESC((int (*)(int))(*)(int (*)(int)))
00:39 <torres> `*' cannot appear in a constant-expression
00:39 <wrtlprnft> i knew i'd mess this one up
00:40 <wrtlprnft> torres: << TYPE_DESC(int (*)(int) (*)(int (*)(int)))
00:40 <torres> `*' cannot appear in a constant-expression
00:40 <pippijn> torres: template<typename A1, typename... Args> void foo () { cout << TYPE (A1) << " "; foo (Args...); } int main () { foo<int, char, char, int, short, string> (); }
00:40 <torres> expected primary-expression before '...' token
00:40 <wrtlprnft> torres: << TYPE_DESC(int (*)(int (*a)(int)))
00:40 <torres> pointer to a function taking a pointer to a function taking an integer and returning an integer and returning an integer
00:41 <wrtlprnft> torres: << TYPE_DESC(int(*)(int) (*)(int (*a)(int)))
00:41 <torres> `*' cannot appear in a constant-expression
00:41 * wrtlprnft gives up
00:41 <wrtlprnft> if i want to return function pointers i use typedefs...
00:42 <wrtlprnft> torres: { typdef int (*f)(int); cout << TYPE_DESC(f(*)(f)); }
00:42 <torres> 'typdef' was not declared in this scope
00:42 <wrtlprnft> torres: { typedef int (*f)(int); cout << TYPE_DESC(f(*)(f)); }
00:42 <torres> pointer to a function taking a pointer to a function taking an integer and returning an integer and returning a pointer to a function taking an integer and returning an integer
00:42 <pippijn> torres: template<typename A1, typename... Ts> void foo () { cout << TYPE (A1) << " "; foo<Ts...> (); } int main () { foo<int, char, char, int, short, string> (); }
00:42 <torres> no matching function for call to 'foo()'
00:42 <flex> z-man, you've not given up looking have you? :p
00:42 <pippijn> torres: void foo () { cout << "finished :-)"; } template<typename A1, typename... Ts> void foo () { cout << TYPE (A1) << " "; foo<Ts...> (); } int main () { foo<int, char, char, int, short, string> (); }
00:42 <torres> no matching function for call to 'foo()'
00:42 <pippijn> uhm
00:42 <wrtlprnft> torres: { typedef int (*f)(int); typedef f(*g)(f)); cout << TYPE_DESC(g(*)(g)); }
00:42 <torres> expected initializer before ')' token
00:43 <z-man> Hmm? No, if you've been testing wrtl's lates build, then that did not include the relevant changes :)
00:43 <pippijn> torres: template<typename T> void foo () { cout << TYPE(T) << " finished :-)"; } template<typename A1, typename... Ts> void foo () { cout << TYPE (A1) << " "; foo<Ts...> (); } int main () { foo<int, char, char, int, short, string> (); }
00:43 <torres> call of overloaded 'foo()' is ambiguous
00:43 <pippijn> :-|
00:43 <wrtlprnft> torres: { typedef int (*f)(int); typedef f(*g)(f); cout << TYPE_DESC(g(*)(g)); }
00:43 * flex slaps wrtlprnft around a bit with a large trout
00:43 <torres> pointer to a function taking a pointer to a function taking a pointer to a function taking an integer and returning an integer and returning a pointer to a function taking an integer and returning an integer and returning a pointer to a function taking a pointer to a function taking an integer and r
00:43 * flex slaps wrtlprnft around a bit with a large trout
00:43 <wrtlprnft> flex: i can't provide a better build
00:43 <z-man> I'm just TRYING to merge, but I get internal server errors.
00:43 <wrtlprnft> slap z-man for not merging before i go to inzell until sunday evening
00:44 <pippijn> torres: void foo () { cout << "finished :-)"; } template<typename A1, typename... Ts> void foo (A1, Ts... ts) { cout << TYPE (A1) << " "; foo (ts...); } int main () { foo (int (), int (), char (), string ()); }
00:44 <torres> int int char string finished :-)
00:44 * flex slaps z-man around a bit with a large trout
00:44 <wrtlprnft> so, no build from me until sunday
00:44 <pippijn> not exactly the way I wanted it but it works
00:44 <z-man> /admin kill flex
00:44 <flex> arrrrr me maty
00:44 <wrtlprnft> #night
00:44 <armabot> Good night wrtlprnft!
00:45 <wrtlprnft> pippijn: just out of curiosity, how DO i return a function pointer without using a typedef?
00:45 <z-man> You use the full type?
00:45 <pippijn> :-)
00:45 <wrtlprnft> didn't work :-(
00:45 <z-man> no?
00:45 <pippijn> it does
00:45 * flex hibernates till you guys get it together
00:45 <pippijn> you just messed up the syntax
00:45 <pippijn> torres: -c int (*foo ()) { return 0; }
00:45 <torres> Compilation succeeded.
00:46 <z-man> pippijn: that's easy, because the syntax is messed up :)
00:46 <pippijn> torres: int (*foo ()) { return 0; } int main () { cout << ETYPE_DESC (foo); }
00:46 <torres> nullary function returning a pointer to an integer
00:46 <pippijn> oh wait
00:46 <pippijn> torres: int (*foo ())() { return 0; } int main () { cout << ETYPE_DESC (foo); }
00:46 <torres> nullary function returning a pointer to a nullary function returning an integer
00:46 <pippijn> :-)
00:46 <pippijn> wrtlprnft: like that
00:47 <wrtlprnft> oh, you need to write the function inside the brackets?
00:47 <wrtlprnft> argh
00:47 <pippijn> yes
00:47 <wrtlprnft> torres: << TYPE_DESC(int (* (*)(int))(int))
00:47 <torres> pointer to a function taking an integer and returning a pointer to a function taking an integer and returning an integer
00:47 <wrtlprnft> that's it, i'm really going to bed
00:47 <pippijn> good night
00:48 <wrtlprnft> this function pointer syntax sucks.
00:48 <pippijn> yes, it does
00:50 <z-man> Ah, we need to update our SF passwords.
00:55 -!- madmax [n=madmax@unaffiliated/madmax] has quit ["leaving"]
01:05 <armabot> armagetronad: bazaarmagetron * r8270 /armagetronad/trunk/armagetronad/tank_todo-halffinnished.txt: Removed incomplete sentence :)
01:05 <z-man> Argh, what, that went through?
01:07 <armabot> armagetronad: z-man * r8271 /armagetronad/trunk/armagetronad/ (20 files in 8 dirs): (log message trimmed)
01:07 <armabot> armagetronad: Merging branch 0.2.8 from revision 8230 to 8269:
01:07 <armabot> armagetronad: ------------------------------------------------------------------------
01:07 <armabot> armagetronad: r8269 | bazaarmagetron | 2008-03-06 19:48:38 +0100 (Thu, 06 Mar 2008) | 2 lines
01:07 <armabot> armagetronad: Manuel Moos: added FORTRESS_COLLAPSE_SPEED to control the time between the conquest of a zone and the vanishing (and killing of the team members)
01:07 <armabot> armagetronad: ------------------------------------------------------------------------
01:07 <armabot> armagetronad: r8268 | z-man | 2008-03-06 15:37:25 +0100 (Thu, 06 Mar 2008) | 2 lines
01:11 -!- z-man [n=manuel@p5087182B.dip0.t-ipconnect.de] has quit [Remote closed the connection]
01:27 -!- liberweesco [n=libervis@89-172-46-199.adsl.net.t-com.hr] has joined #armagetron
01:31 -!- liberweesco is now known as libermoosco
01:31 -!- libervisco [n=libervis@tuxhacker/libervisco] has quit [Nick collision from services.]
01:31 -!- libermoosco is now known as libervisco
01:51 -!- baddog144 [n=Liam@d220-238-87-128.dsl.vic.optusnet.com.au] has quit [Read error: 110 (Connection timed out)]
02:02 -!- ghableska [n=ghablesk@12-214-219-145.client.mchsi.com] has joined #armagetron
02:02 -!- ghableska [n=ghablesk@12-214-219-145.client.mchsi.com] has left #armagetron []
02:18 -!- libervisco [n=libervis@tuxhacker/libervisco] has quit ["Leaving"]
02:21 -!- libervisco [n=libervis@tuxhacker/libervisco] has joined #armagetron
02:36 <pippijn> good night
02:36 -!- torres [n=torres@unixcorps/staff/pippijn] has quit [Remote closed the connection]
03:04 -!- libervisco [n=libervis@tuxhacker/libervisco] has quit ["Leaving"]
03:41 -!- ct|kyle [n=kyle@pool-71-97-157-191.aubnin.dsl-w.verizon.net] has quit ["Leaving."]
03:43 -!- ct|kyle [n=kyle@pool-71-97-157-191.aubnin.dsl-w.verizon.net] has joined #armagetron
03:55 -!- Hoax- [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has quit []
04:03 -!- tramshed [i=tramshed@im.catapultingfeces.com] has quit [Remote closed the connection]
04:03 -!- tramshed [i=tramshed@im.catapultingfeces.com] has joined #armagetron
04:13 -!- Stewie-arma [n=Stewie-a@cpe-76-88-47-247.san.res.rr.com] has joined #armagetron
05:03 -!- Durka_ [n=Justin@cpe-76-167-178-153.socal.res.rr.com] has joined #armagetron
05:04 <Durka_> #m eddiefantastic http://durkadurkaland.com/portal.php?topic_id=2815 :P (I think I might need help for the mainpage one, but thank you so much)
05:04 <armabot> Durka_: The operation succeeded.
05:04 <Durka_> #m eddiefantastic again, #m Durka not this lame name
05:04 <armabot> Durka_: The operation succeeded.
05:04 -!- Durka_ [n=Justin@cpe-76-167-178-153.socal.res.rr.com] has quit [Client Quit]
05:21 -!- ct|kyle [n=kyle@pool-71-97-157-191.aubnin.dsl-w.verizon.net] has quit ["Leaving."]
05:43 -!- tramshed [i=tramshed@im.catapultingfeces.com] has quit [Remote closed the connection]
05:44 -!- tramshed [i=tramshed@im.catapultingfeces.com] has joined #armagetron
05:49 -!- Stewie-arma [n=Stewie-a@cpe-76-88-47-247.san.res.rr.com] has quit [Read error: 104 (Connection reset by peer)]
05:54 -!- Stewie-arma [n=Stewie-a@cpe-76-88-47-247.san.res.rr.com] has joined #armagetron
06:11 -!- spidey_ [n=spidey@adsl-065-006-218-226.sip.mem.bellsouth.net] has quit [Read error: 104 (Connection reset by peer)]
06:51 -!- Stewie-arma [n=Stewie-a@cpe-76-88-47-247.san.res.rr.com] has quit ["blah blah blah Robotics competition blah blah blah court blah blah blah everything blah blah"]
06:56 -!- Netsplit brown.freenode.net <-> irc.freenode.net quits: z-man-work
06:56 -!- Netsplit over, joins: z-man-work
07:13 -!- Ttech [n=ttech@fullcirclemagazine/developer/ttech] has quit [Read error: 110 (Connection timed out)]
07:17 -!- MrBougo [n=MrBougo@83.164-247-81.adsl-dyn.isp.belgacom.be] has joined #armagetron
07:35 -!- MrBougo [n=MrBougo@83.164-247-81.adsl-dyn.isp.belgacom.be] has quit []
08:43 -!- Durka [n=Justin@cpe-76-167-178-153.socal.res.rr.com] has joined #armagetron
09:35 -!- torres [n=torres@pD9E9E755.dip.t-dialin.net] has joined #armagetron
09:44 <Durka> eddiefantastic: gah, wake up!
09:44 <Durka> luke-jr: help?
10:03 -!- Durka_ [n=Justin@cpe-76-167-178-153.socal.res.rr.com] has joined #armagetron
10:13 -!- torres [n=torres@unixcorps/staff/pippijn] has quit [Remote closed the connection]
10:13 -!- torres [n=torres@pD9E9E755.dip.t-dialin.net] has joined #armagetron
10:18 -!- Durka [n=Justin@cpe-76-167-178-153.socal.res.rr.com] has quit [Read error: 110 (Connection timed out)]
10:23 -!- Durka_ [n=Justin@cpe-76-167-178-153.socal.res.rr.com] has quit []
10:43 -!- tramshed [i=tramshed@im.catapultingfeces.com] has quit [Remote closed the connection]
10:43 -!- tramshed [i=tramshed@im.catapultingfeces.com] has joined #armagetron
10:53 -!- Infa [n=x-javach@host81-152-45-84.range81-152.btcentralplus.com] has joined #armagetron
10:54 -!- Infa [n=x-javach@host81-152-45-84.range81-152.btcentralplus.com] has quit [Client Quit]
11:02 -!- z-man-work is now known as z-man
11:17 -!- Durka [n=Justin@cpe-76-167-178-153.socal.res.rr.com] has joined #armagetron
11:17 <Durka> does anyone here know anything about anything?
11:18 <+P4> i know DDL sucks :þ
11:18 <Durka> P4: :}
11:19 <Durka> can u help me?
11:19 <+P4> i don't know, what with?
11:19 <Durka> http://durkadurkaland.com/sb.php
11:19 <Durka> how would i go about hiding what's below the 3 gold arrows
11:19 <Durka> and then having it show when u click on that odd-red-colored text
11:20 <+P4> i guess it's java script
11:20 <Durka> i use a show/hide thing for the "Who's Playing in DDL"
11:20 <Durka> but i tried the same one and the script crashes
11:20 <+P4> sth like here? http://mastercontrolprogram.de/
11:20 <+P4> (click on the pink header)
11:20 <Durka> well
11:20 <Durka> dhtml sux
11:21 <Durka> i don't really wanna use it
11:21 <Durka> btw, does that browser look familiar to u? :}
11:21 <+P4> yes, like any armabrowser :þ
11:22 <Durka> :þ
11:57 -!- empha [n=rolf@019-139-045-062.dynamic.caiway.nl] has joined #armagetron
11:57 -!- Durka [n=Justin@cpe-76-167-178-153.socal.res.rr.com] has quit []
12:01 <armabot> armagetronad: z-man * r8272 /armagetronad/branches/0.2.8/armagetronad/src/ (5 files in 2 dirs):
12:01 <armabot> armagetronad: Added eGameObject::OnRoundBegin(), called after game object creation.
12:01 <armabot> armagetronad: Used it in the zone code to fix the flickering empty zone glitch in sumo,
12:01 <armabot> armagetronad: and to avoid rare midgame zone ownership changes.
12:07 -!- emphasis [n=rolf@133-148-045-062.dynamic.caiway.nl] has quit [Read error: 113 (No route to host)]
12:41 -!- Hoax- [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has joined #armagetron
12:54 -!- Hoax [n=Hoax@cpc3-oxfd8-0-0-cust1013.oxfd.cable.ntl.com] has joined #armagetron
12:58 -!- epsy [n=epsy@mar75-4-82-227-65-72.fbx.proxad.net] has joined #armagetron
13:00 -!- Hoax- [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has quit [Read error: 113 (No route to host)]
13:00 -!- Infa [n=x-javach@host81-152-45-84.range81-152.btcentralplus.com] has joined #armagetron
13:15 -!- Hoax [n=Hoax@cpc3-oxfd8-0-0-cust1013.oxfd.cable.ntl.com] has quit [Read error: 110 (Connection timed out)]
13:54 -!- madmax [n=madmax@unaffiliated/madmax] has joined #armagetron
14:00 -!- Infa [n=x-javach@host81-152-45-84.range81-152.btcentralplus.com] has quit ["webirc@xclan.armagetron.co.uk"]
14:00 -!- Infa [n=x-javach@host81-152-45-84.range81-152.btcentralplus.com] has joined #armagetron
14:17 -!- robin__ [n=robin@darkmoor.sby.abo.fi] has joined #armagetron
14:17 -!- robin__ [n=robin@darkmoor.sby.abo.fi] has quit [Client Quit]
14:18 <armabot> armagetronad: z-man * r8273 /armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp: Don't show "IP=<empty>" in /players output.
14:18 -!- MaZuffeR [n=mazuffer@darkmoor.sby.abo.fi] has joined #armagetron
14:37 -!- eddiefantastic [n=ed@eddie.plantpeanuts.co.uk] has quit [Read error: 104 (Connection reset by peer)]
14:39 -!- eddiefantastic [n=ed@eddie.plantpeanuts.co.uk] has joined #armagetron
14:46 -!- ct|kyle [n=kyle@pool-71-97-157-191.aubnin.dsl-w.verizon.net] has joined #armagetron
15:00 -!- libervisco [n=libervis@tuxhacker/libervisco] has joined #armagetron
15:14 -!- eddiefantastic [n=ed@eddie.plantpeanuts.co.uk] has quit [Read error: 104 (Connection reset by peer)]
15:15 -!- eddiefantastic [n=ed@eddie.plantpeanuts.co.uk] has joined #armagetron
15:20 -!- Hoax- [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has joined #armagetron
15:24 -!- Infa [n=x-javach@host81-152-45-84.range81-152.btcentralplus.com] has quit ["webirc@xclan.armagetron.co.uk"]
15:29 <epsy> does arma support multiple config directories?
15:30 -!- Hoax- [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has quit [Read error: 113 (No route to host)]
15:30 -!- Hoax [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has joined #armagetron
15:35 -!- Hoax [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has quit [Read error: 104 (Connection reset by peer)]
15:35 -!- Hoax [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has joined #armagetron
15:45 <z-man> epsy: only partially. It supports loading some config files from var and config directories.
15:45 <epsy> i see
16:16 -!- Hoax [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has quit [Read error: 104 (Connection reset by peer)]
16:16 -!- Hoax- [n=Hoax@cpc5-oxfd8-0-0-cust434.oxfd.cable.ntl.com] has joined #armagetron
16:17 <flex> it would be a nice idea, when installing you could choose where you want your config directory, making it easier to use different clients..
16:18 -!- bugfarmer [n=bugfarme@l23.thp.uni-koeln.de] has joined #armagetron
16:19 <z-man> Ah that. If you compile from source and run from the build directory, your data will also reside inside the build directory.
16:20 <z-man> and of course, we have the command line arguments setting config and var directories.
16:22 <bugfarmer> newbie_fortress: z-man2 entered.
16:23 <bugfarmer> newbie_fortress: z-man2 authenticated as Z-Man@forums.
16:24 <bugfarmer> newbie_fortress: [1] Z-Man: BUG tesing annoyance level :)
16:24 <bugfarmer> newbie_fortress: game ended.
16:25 <z-man> Server stat bots rule :) Feel free to complain about the noise level, I can always move the bot to a different channel.
16:27 -!- MrBougo [n=MrBougo@66.194-241-81.adsl-dyn.isp.belgacom.be] has joined #armagetron
16:42 -!- K-Yo [n=K-Yo@unaffiliated/k-yo] has joined #armagetron
16:44 <bugfarmer> newbie_fortress: |x|_flex entered.
16:44 <bugfarmer> newbie_fortress: z-man2 entered.
16:44 -!- Bougo [n=MrBougo@248.171-247-81.adsl-dyn.isp.belgacom.be] has joined #armagetron
16:44 <bugfarmer> newbie_fortress: z-man2 authenticated as Z-Man@forums.
16:45 -!- MrBougo [n=MrBougo@66.194-241-81.adsl-dyn.isp.belgacom.be] has quit [Nick collision from services.]
16:45 -!- Bougo is now known as MrBougo
16:46 <madmax> you could make make bugfarmer announce killing sprees :-D
16:46 <epsy> ew O_o
16:47 <madmax> pfft.
16:47 <epsy> :|
16:48 <bugfarmer> newbie_fortress: |x|epsy entered.
16:48 <bugfarmer> newbie_fortress: |x|epsy authenticated as epsy@x.
16:50 <bugfarmer> newbie_fortress: tux entered.
16:50 <madmax> "Armagetron killed 15th people in a row without dying!"
16:50 -!- bugfarmer [n=bugfarme@l23.thp.uni-koeln.de] has quit [Remote closed the connection]
16:50 <epsy> haha
16:51 <madmax> "Armagetron doesn't die since last week!"
16:52 <epsy> there's no part messages tho
16:52 <flex> epsy
16:52 <flex> come cafe
16:52 <flex> for a sec
16:54 -!- bugfarmer [n=bugfarme@l23.thp.uni-koeln.de] has joined #armagetron
16:54 -!- bugfarmer [n=bugfarme@l23.thp.uni-koeln.de] has quit [Remote closed the connection]
16:54 -!- bugfarmer [n=bugfarme@l23.thp.uni-koeln.de] has joined #armagetron
16:55 <bugfarmer> newbie_fortress: [2] Z-Man: TOIRC another test
16:57 <bugfarmer> newbie_fortress: [2] Z-Man: TOIRC come on, join :)
16:57 <bugfarmer> newbie_fortress: thierry entered.
17:01 <bugfarmer> newbie_fortress: |x|_flex entered.
17:01 <bugfarmer> newbie_fortress: [3] ¦×¦ flex: BUG hihi
17:02 <bugfarmer> newbie_fortress: [2] Z-Man: TOIRC works now, too
17:02 <bugfarmer> newbie_fortress: [3] ¦×¦ flex: TOIRC epsy is gay
17:02 <bugfarmer> newbie_fortress: [1] ¦×¦ Hoax: TOIRC /me agrees 100%
17:03 <luke-jr> TOAA flex is gay
17:06 <bugfarmer> newbie_fortress: [3] ¦×¦ flex: no i mean, on the irc, does it have to include "TOIRC" infront of the persons line
17:07 <bugfarmer> newbie_fortress: moho entered.
17:07 <bugfarmer> newbie_fortress: [3] ¦×¦ flex: riBUGht
17:07 <bugfarmer> newbie_fortress: thierry entered.
17:07 <bugfarmer> newbie_fortress: [2] Z-Man: don't abuse BUG, please.
17:07 <bugfarmer> newbie_fortress: [1] ¦×¦ Hoax: BUG Z-Man has points
17:09 <luke-jr> lol
17:12 <bugfarmer> newbie_fortress: cory entered.
17:17 <bugfarmer> newbie_fortress: thierry entered.
17:18 <MrBougo> wtf
17:18 <MrBougo> this rox :)
17:18 <MrBougo> irc gateways ftw
17:18 <bugfarmer> newbie_fortress: profik entered.
17:18 <MrBougo> can you chat in the server too?
17:18 <MrBougo> like
17:18 <MrBougo> bugfarmer: hello peeps!
17:19 <bugfarmer> newbie_fortress: thierry entered.
17:24 <bugfarmer> newbie_fortress: epie entered.
17:29 <bugfarmer> newbie_fortress: ct_k-yo entered.
17:30 <K-Yo> won't it be a bit annoying to see every player that comes in?
17:30 <z-man> It sure will :)
17:32 <bugfarmer> newbie_fortress: thierry entered.
17:34 <bugfarmer> newbie_fortress: narri_narro entered.
17:36 <luke-jr> should be an XMPP gateway ☹
17:36 <luke-jr> and unidirectional
17:37 <z-man> you mean bidirectional?
17:38 * z-man should probably tune down repeated join messages.
17:44 <bugfarmer> newbie_fortress: thiefhallmet entered.
17:46 <bugfarmer> newbie_fortress: pascal entered.
17:50 <bugfarmer> newbie_fortress: bip entered.
17:51 <bugfarmer> newbie_fortress: th_nd3r entered.
17:54 <bugfarmer> newbie_fortress: savma_goett entered.
17:56 <bugfarmer> newbie_fortress: |$tf|_pon entered.
17:57 <bugfarmer> newbie_fortress: are_u_cereal entered.
17:58 <epsy> z-man, your spam owns
18:00 <bugfarmer> newbie_fortress: thiefhallmet entered.
18:01 -!- K-Yo [n=K-Yo@unaffiliated/k-yo] has quit [Read error: 104 (Connection reset by peer)]
18:06 -!- Bougo [n=MrBougo@33.19-247-81.adsl-static.isp.belgacom.be] has joined #armagetron
18:07 -!- K-Yo [n=K-Yo@unaffiliated/k-yo] has joined #armagetron
18:07 <bugfarmer> newbie_fortress: penis entered.
18:08 -!- KeY_3113 [n=K-Yo@unaffiliated/k-yo] has joined #armagetron
18:08 -!- K-Yo [n=K-Yo@unaffiliated/k-yo] has quit [Client Quit]
18:08 -!- KeY_3113 is now known as K-Yo
18:09 <bugfarmer> newbie_fortress: player_2 entered.
18:09 <bugfarmer> newbie_fortress: rytiso5o entered.
18:12 -!- flex [n=savas@unaffiliated/savas] has quit [Read error: 113 (No route to host)]
18:15 <bugfarmer> newbie_fortress: spasitel entered.
18:15 <bugfarmer> newbie_fortress: tropaz entered.
18:16 <bugfarmer> newbie_fortress: cooliosec entered.
18:17 <bugfarmer> newbie_fortress: big_momma entered.
18:18 <bugfarmer> newbie_fortress: solo entered.
18:19 <bugfarmer> newbie_fortress: penis entered.
18:19 <bugfarmer> newbie_fortress: naruto entered.
18:20 <bugfarmer> newbie_fortress: tropaz entered.
18:21 <bugfarmer> newbie_fortress: \:)_\:|_\:( entered.
18:21 <bugfarmer> newbie_fortress: /etc/shadow entered.
18:21 <bugfarmer> newbie_fortress: [8] /etc/shadow: TOIRC test
18:22 <bugfarmer> newbie_fortress: [8] /etc/shadow: test TOIRC
18:22 <bugfarmer> newbie_fortress: /etc/shadow authenticated as P4@crazy-tronners.com.
18:22 <bugfarmer> newbie_fortress: [8] /etc/shadow: TOIRC test
18:23 <bugfarmer> newbie_fortress: fukudome entered.
18:24 -!- MrBougo [n=MrBougo@248.171-247-81.adsl-dyn.isp.belgacom.be] has quit [Read error: 110 (Connection timed out)]
18:24 <bugfarmer> newbie_fortress: [8] /etc/shadow: TOIRC: dump scores
18:28 <StickyNoob> is bugfarmer a bot?
18:28 <K-Yo> no
18:28 <bugfarmer> newbie_fortress: [2] Z-Man: BUG: wrong message.
18:28 <K-Yo> he's one newbie fortress
18:28 <K-Yo> on*
18:28 <K-Yo> and says everytime someone enters :P
18:28 <StickyNoob> then why the fuck is he pasteing massive segments of logs
18:28 <K-Yo> He should get kicked
18:28 <K-Yo> that is spam
18:29 <bugfarmer> newbie_fortress: rl4_rusa entered.
18:30 <bugfarmer> newbie_fortress: [8] /etc/shadow: TOIRC
18:30 <bugfarmer> newbie_fortress: [8] /etc/shadow: TOIRC K-Yo come
18:30 <bugfarmer> newbie_fortress: chucky entered.
18:30 <StickyNoob> bugfarmer: ping
18:30 <StickyNoob> bugfarmer: what are you doing?
18:31 <bugfarmer> newbie_fortress: ct_k_yo entered.
18:31 <bugfarmer> newbie_fortress: [4] cT¤K_Yo: Z-Man can we answer to TOIRC messages from IRC?
18:32 <bugfarmer> newbie_fortress: ct_k_yo authenticated as K-Yo@forums.
18:32 <K-Yo> StickyNoob, it's a bot -.
18:32 <K-Yo> -
18:32 <StickyNoob> ahh so
18:32 <StickyNoob> you were lying
18:33 <K-Yo> Indeed ;)
18:33 <K-Yo> with Irony I thought
18:37 <bugfarmer> newbie_fortress: knus entered.
18:41 <bugfarmer> newbie_fortress: jhenson entered.
18:42 <bugfarmer> newbie_fortress: admin entered.
18:44 <bugfarmer> newbie_fortress: player_1 entered.
18:47 <bugfarmer> newbie_fortress: toirc entered.
18:48 <bugfarmer> newbie_fortress: [2] Z-Man: I see you renaming to :TOIRC already.
18:48 <bugfarmer> newbie_fortress: [0] 1: TOIRC, IP = 82.227.65.72
18:48 <bugfarmer> newbie_fortress: [0] TOIRC renamed to s1:TOIRC.
18:48 <bugfarmer> newbie_fortress: toirc authenticated as epsy@x.
18:48 <bugfarmer> newbie_fortress: [1] s1:TOIRC: indeed
18:49 <bugfarmer> newbie_fortress: [1] bot.rby bot.rby~ filter filter~ runbot runbot~ s1:TOIRC wonders bot.rby bot.rby~ filter filter~ runbot runbot~
18:49 <bugfarmer> newbie_fortress: [1] s1:TOIRC: what about core dump messages?
18:49 <bugfarmer> newbie_fortress: <v>-->23 entered.
18:49 <bugfarmer> newbie_fortress: [1] s1:TOIRC: Z-Man: it is anyway
18:49 <bugfarmer> newbie_fortress: [2] Z-Man: TOIRC bot.rby bot.rby~ filter filter~ runbot runbot~
18:50 <bugfarmer> newbie_fortress: [4] cT¤K_Yo: s1:TOIRC you won't core dump anyone :P
18:50 <bugfarmer> newbie_fortress: [0] s1:TOIRC core dumped Knus for 2 points.
18:50 <bugfarmer> newbie_fortress: [0] 1: epsy@x ( s1:TOIRC, Moderator ), IP = 82.227.65.72
18:50 <bugfarmer> newbie_fortress: epsy@x authenticated as epsy@x.
18:50 <bugfarmer> newbie_fortress: [0] s1:TOIRC renamed to ¦×¦epsy.
18:51 <bugfarmer> newbie_fortress: kriki entered.
18:51 -!- Bougo is now known as MrBougo
18:52 <bugfarmer> newbie_fortress: van_nelle entered.
18:52 <bugfarmer> newbie_fortress: klage entered.
18:53 -!- libervisco [n=libervis@tuxhacker/libervisco] has quit [Remote closed the connection]
18:53 <MrBougo> is bugfarmer going to stay here?
18:54 <MrBougo> hes gonna spam us all the day
18:54 <bugfarmer> newbie_fortress: o[fbc]ogaspard entered.
18:54 <bugfarmer> newbie_fortress: Z-Man@forums authenticated as Z-Man@forums.
18:54 <K-Yo> z-man will stop it I guess
18:57 <bugfarmer> newbie_fortress: Z-Man@forums authenticated as Z-Man@forums.
18:58 <bugfarmer> newbie_fortress: |bmk|dave entered.
18:59 -!- libervisco [n=libervis@tuxhacker/libervisco] has joined #armagetron
19:01 <bugfarmer> newbie_fortress: ~|ds|~_plage entered.
19:04 <bugfarmer> newbie_fortress: -su-echtla entered.
19:05 <bugfarmer> newbie_fortress: |x|_hoax entered.
19:06 <bugfarmer> newbie_fortress: ~dw~|archangel entered.
19:06 <bugfarmer> newbie_fortress: [7] ¦×¦ Hoax: TOIRC 40mps, whew almost as fast as sticky :D
19:07 <bugfarmer> newbie_fortress: |cfa|_elborg! entered.
19:09 <bugfarmer> newbie_fortress: tatersalad entered.
19:09 -!- tramshed [i=tramshed@im.catapultingfeces.com] has quit ["Leaving"]
19:10 -!- tramshed [i=tramshed@2001:5c0:87c8:0:0:0:0:1] has joined #armagetron
19:11 -!- tramshed [i=tramshed@2001:5c0:87c8:0:0:0:0:1] has quit [Remote closed the connection]
19:11 -!- tramshed [i=tramshed@im.catapultingfeces.com] has joined #armagetron
19:12 <bugfarmer> newbie_fortress: ~|ds|~_plage entered.
19:13 <bugfarmer> newbie_fortress: <<wir>>raiden entered.
19:14 <bugfarmer> newbie_fortress: bob entered.
19:14 <bugfarmer> newbie_fortress: bip entered.
19:16 <bugfarmer> newbie_fortress: sneakyjester entered.
19:18 <bugfarmer> newbie_fortress: bob_meil entered.
19:19 <bugfarmer> newbie_fortress: brandon entered.
19:36 <z-man> MrBougo: I can move it to a separate channel.
19:36 <z-man> like, #armagetron-servers.
19:36 <epsy> heh
19:36 <epsy> in the form of #commits ?
19:36 <z-man> No, bugfarmer is a simple ruby irc bot that just pushes stdin to IRC.
19:38 -!- bugfarmer [n=bugfarme@l23.thp.uni-koeln.de] has quit [Remote closed the connection]
19:42 -!- z-man is now known as z-man-work
19:57 <MrBougo> that's better :)
19:59 <z-man-work> The spam is on #armagetron-servers, if anyone is interested. I had this in mind as a makeshift friends notification thingy, too lazy to program a systray hiding program.
20:02 -!- KeY_3113 [n=K-Yo@unaffiliated/k-yo] has joined #armagetron
20:02 -!- K-Yo [n=K-Yo@unaffiliated/k-yo] has quit ["Bye bye"]
20:02 -!- KeY_3113 is now known as K-Yo
20:07 -!- libervisco is now known as Libervisco
20:11 <epsy> heh
20:19 <armabot> armagetronad: nemostultae * r8274 /armagetronad/trunk/armagetronad/batch/make/sortresources.py: (log message trimmed)
20:19 <armabot> armagetronad: Fixed bug which caused first build to forever hang when sorting resources. We were using absolute paths--not relative. Thus:
20:19 <armabot> armagetronad: >>> os.path.split("/foo")
20:19 <armabot> armagetronad: ('/', 'foo')
20:19 <armabot> armagetronad: caused an infinite loop, and the expected result:
20:19 -!- torres [n=torres@unixcorps/staff/pippijn] has quit [Read error: 113 (No route to host)]
20:19 <armabot> armagetronad: >>> os.path.split("foo")
20:19 -!- [dlh] [n=[dlh]@70.88.244.226] has joined #armagetron
20:19 <armabot> armagetronad: ('', 'foo')
20:31 -!- ct|kyl1 [n=kyle@pool-71-97-157-191.aubnin.dsl-w.verizon.net] has joined #armagetron
20:33 -!- ct|kyle [n=kyle@pool-71-97-157-191.aubnin.dsl-w.verizon.net] has quit [Read error: 110 (Connection timed out)]
20:44 * epsy forgot to advertise #arma.fff
20:54 -!- z-man [n=manuel@p50871D80.dip0.t-ipconnect.de] has joined #armagetron
20:57 -!- flex [n=savas@unaffiliated/savas] has joined #armagetron
21:04 -!- ct|kyl1 is now known as ct|kyle
21:14 -!- luke-jr [n=luke-jr@2002:440d:6de2:0:20e:a6ff:fec4:4e5d] has quit [Connection timed out]
21:17 <z-man> #later tell wrtlprnft it would be neat if armabot could also manage the #armagetron-servers channel for spammy bots; bugfarmer is too primitive for that task.
21:17 <armabot> z-man: The operation succeeded.
21:18 -!- zmanuel [n=manuel@p50871D80.dip0.t-ipconnect.de] has joined #armagetron
21:18 -!- z-man [n=manuel@p50871D80.dip0.t-ipconnect.de] has quit [Remote closed the connection]
21:18 -!- zmanuel is now known as z-man
22:03 -!- torres [n=torres@pD9E9E755.dip.t-dialin.net] has joined #armagetron
22:03 -!- spidey [n=spidey@adsl-065-006-218-226.sip.mem.bellsouth.net] has joined #armagetron
22:19 -!- Infa [n=x-javach@host81-152-45-84.range81-152.btcentralplus.com] has joined #armagetron
22:22 -!- K-Yo [n=K-Yo@unaffiliated/k-yo] has quit ["Bye bye"]
22:22 -!- K-Yo [n=K-Yo@unaffiliated/k-yo] has joined #armagetron
22:23 -!- madmax [n=madmax@unaffiliated/madmax] has quit ["leaving"]
22:28 -!- MrBougo [n=MrBougo@33.19-247-81.adsl-static.isp.belgacom.be] has quit []
22:48 -!- Infa [n=x-javach@host81-152-45-84.range81-152.btcentralplus.com] has quit ["webirc@xclan.armagetron.co.uk"]
22:48 <epsy> i'm not getting any poll on my client :|
22:49 -!- deja_vu_ [n=deja_vu@HSI-KBW-085-216-060-101.hsi.kabelbw.de] has joined #armagetron
23:05 -!- deja_vu [n=deja_vu@HSI-KBW-085-216-060-101.hsi.kabelbw.de] has quit [Read error: 110 (Connection timed out)]
23:05 -!- deja_vu_ is now known as deja_vu
23:17 <flex> http://forums.armagetronad.net/viewtopic.php?t=18296
23:39 -!- torres [n=torres@unixcorps/staff/pippijn] has quit [Remote closed the connection]
23:47 -!- eboettcher [n=f00__@c-71-193-114-169.hsd1.in.comcast.net] has quit ["room :)"]
View entire month
DISCLAIMER: These logs of public chat may contain some content which may not be appropriate for all audiences. Use at your own risk.
Logs from 2006-2009 pulled from wrtlprnft
Format changes at: 2015-08-25, 2017-02-20, and 2020-03-23. Times (2015 and later) should be Eastern.
• Website was created by nelg
• Design:
» Layout is loosely based on an old design by Durf.
» Icons on the tools page were originally by Royce, new icons added will try to follow some of the design language.
» Various other icon selections include icons from Crystal, crystalsvg, oxygen, and breeze icon themes.
» Other icons: fontawesome

is a site that has tools, maps, and other various items. It orignally only existed as a server control panel, but I slowly began adding stuff such as a homepage and tools.
----
This is an LLM-free zone. In general, I am unwilling to use (fight with) any form of "GenAI" to write code for me. So, for the forseeable future, everything on this site will continue to be written by a very silly goose (wait that's me honk honk) with some parts written by other humans as well (silly hu-mon) rather than any plausible-series-of-words token-eating machine. Even my libraries are out of date, and suddenly that's a good thing!
(Although the style has changed several times and content has been added and changed, the base of this site has barely been updated since 2015. But it Ain't Broke!)
This site is also occasionally tested with older browsers, but compatibility is not guarenteed. Although, if you have an old obscure browser and something isn't working that previously did, I guess you can tell me (nelg) about it...