00:00:19 <pikhq_> elliott: Good design is still hard. :P
00:01:55 -!- pikhq has joined.
00:04:36 -!- pikhq_ has quit (Ping timeout: 240 seconds).
00:06:39 -!- pikhq_ has joined.
00:09:36 -!- pikhq has quit (Read error: Operation timed out).
00:22:07 -!- Phantom_Hoover has left ("Leaving").
00:22:09 -!- Phantom_Hoover has quit (Quit: Leaving).
00:36:05 <pikhq_> Is there any sane way to test for ISO C89?
00:36:12 -!- Vorpal has quit (Ping timeout: 250 seconds).
00:36:32 <pikhq_> Feh, I suppose #if __STDC__ will do well enough.
00:39:01 <Sgeo> Going to start reading the Less Wrong Quantum Mechanics sequence
00:40:11 <elliott> if you die from an overdo-
00:40:15 <elliott> wait what that wasn't even a tylenol line
00:41:05 <Sgeo> All my Tylenol lines are now in a msg to myself, and I'll /nick to Sgeo first. ais523 being bothered by it bothered me.
00:42:34 <elliott> So what you're saying is... ais523 has the power to control your messages to the channel?
00:50:34 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:06:38 -!- FireFly has quit (Quit: swatted to death).
01:24:23 <Sgeo> http://lesswrong.com/lw/or/joy_in_the_merely_real/iuj?context=1#iuj I'm not sure which is stupider, the comment or the reply
01:49:50 <zzo38> Play chess against an opponent. You are white. Assign a permanent to each opponents piece, then opponent assigns a permanent to each of your pieces. Each piece must have a different permanent assigned to it. When a piece is captured, associated permanent is discarded. At end of chess game, if it ended in checkmate, permanent assigned to losers king is discarded.
01:52:16 -!- pikhq has joined.
01:54:18 <zzo38> You can test for both __STDC__ and __STDC_VERSION__ if you want C89.
01:54:36 -!- pikhq_ has quit (Ping timeout: 240 seconds).
01:56:08 <zzo38> And if you want to avoid GNU89 then you can test for that too in some way.
01:56:37 <pikhq> zzo38: Fail. __STDC_VERSION__ was first added in C90.
01:56:58 <zzo38> pikhq: You can compare the value of __STDC_VERSION__
01:57:09 <pikhq> __STDC_VERSION__ does not exist in C89.
01:57:17 <zzo38> Then test it with #ifdef
01:57:29 <pikhq> ... Oh, wait, yes you can. The preprocessor treats undefined macros as "0".
01:58:14 <pikhq> Of course, testing for __STDC_VERSION__ won't help much when what you want is more of "at least C89" rather than "is precisely C89". :P
01:58:36 <zzo38> O, I thought you wanted to test for "is precisely C89".
01:59:18 <pikhq> At least as far as I understand, C99's additions are all undefined behavior in C89, so if you actually get caught by those then you're just doing things wrong.
01:59:49 <pikhq> And I have no desire to help people do things wrong.
01:59:55 <zzo38> No, there are some new reserved words, I think.
02:01:13 <pikhq> Oh, sure enough, C99 is not a strict superset of C89. :/
02:02:52 <pikhq> So, I should probably make a "c89" test which makes sure that what you have is precisely C89 (or C90, as its only real distinction *is* __STDC_VERSION__), and a "c" test which just tests for __STDC__. (I shall pretend K&R C does not exist)
02:04:04 <pikhq> Perhaps first I should get town to actually generate Tupfiles again, though. :P
02:07:56 -!- oerjan has joined.
02:10:47 <zzo38> OK. That can help.
02:12:02 <Lymia> http://i51.tinypic.com/350uuc5.png
02:12:16 <zzo38> And perhaps also "gnu89" to use the "gnu89" version (Clang also supports "gnu89" mode).
02:13:40 <zzo38> Lymia: What is that, anyways? What does the stuff on the screen means?
02:14:26 <oerjan> <pikhq> Also, I wonder why Sweden isn't on the Euro; it's treaty-bound to.
02:15:23 <oerjan> afaiu they are using technicalities to delay it until they actually want to, and no one wants to push them too hard?
02:24:54 <zzo38> Some of the GNU extensions that Clang does not support are ones that I don't think they even ought to have put in gcc anyways; they like to make GNU software too large in my opinion
02:25:27 <coppro> zzo38: try -fheinous-gnu-extensions
02:29:33 <pikhq> oerjan: I was asking for "why" not "how".
02:30:04 <pikhq> oerjan: "How" is pretty obvious; "exploit loopholes and watch as the EU doesn't care enough to call them on it".
02:30:20 <zzo38> coppro: What is that?
02:30:41 <coppro> zzo38: an excellent clang flag
02:30:53 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:31:39 <zzo38> coppro: What does it do?
02:34:28 <coppro> zzo38: exactly what it says on the tin
02:34:44 <pikhq> zzo38: I think for GNU extensions I'll probably just have checks for individual GCC extensions.
02:35:05 <zzo38> pikhq: OK, do that, if it is how you want to do that.
02:36:16 -!- copumpkin has joined.
02:37:27 <pikhq> (as it's entirely feasible to use each and every GCC extension from -std=c89 or -std=c99)
02:40:09 <zzo38> Although perhaps it might be useful to have a macro called "gnu89" which tests for all the GNU extensions except the ones that are intentionally not supported in Clang.
02:42:16 <zzo38> (And "gnu99" for the similar thing)
02:48:34 <elliott> pikhq: Did you finish reimplementing MY REFORM yet? :p
02:49:01 <pikhq> elliott: I've been doing much more thinking about it than actual doing.
02:52:10 <pikhq> __attribute__ is such a misfeature.
02:52:56 <pikhq> Actually, all of GNU C's extensions are misfeatures, because they make it so damned hard to use portably.
02:53:21 <pikhq> They don't have preprocessor defines for each feature, it's all on __GNUC__.
02:54:19 <pikhq> So you can't do, say, #if __has_attribute((foo)).
02:55:30 <pikhq> Well. If it ignores unknown attributes, then if they were sane they could just make if #ifdef __attribute__...
02:56:22 <pikhq> But *no*. If any other compiler wants to actually support a single GNU C extension, they need to define __GNUC__ to make code actually use it.
02:56:43 <pikhq> And if GCC removes an extension, code breaks.
02:57:09 <pikhq> So. Fucking. Stupid.
02:58:09 <pikhq> Now, clang has the right idea. They have a preprocessor check for each and every one of their extensions.
02:58:37 <elliott> does clang even have clang-specific extensions
02:59:14 <pikhq> Well, I think it's clang or OSX GCC extensions.
02:59:21 <pikhq> monqy: How do you feel about anonymous functions?
03:00:09 <pikhq> Oh, there's also C++ function overloading in C; you need to use __attribute__((overloadable)) for it to work.
03:01:29 <pikhq> Oh, and some extra builtins.
03:02:55 <pikhq> And you can *actually test for these things* in clang.
03:04:14 <pikhq> __has_builtin, __has_feature, __has_extension, and __has_attribute. GCC really, really, really needs them.
03:04:20 <pikhq> And I need a time machine to make it happen.
03:07:44 <elliott> *Main> runSym $ product [x,y,z]
03:07:54 <elliott> *Main> runSym $ product (map succ [x,y,z])
03:07:54 <elliott> ((1 * succ (x)) * succ (y)) * succ (z)
03:08:17 <elliott> unfortunately it's not all smiles and happiness
03:08:19 <elliott> *Main> runSym $ concat (map show [x,y,z])
03:08:38 <monqy> what happened there
03:09:33 <elliott> monqy: the whole system is based on exceptions
03:09:47 <elliott> *Main> runSym $ product [x,y,z] == x+y
03:09:47 <elliott> ((1 * x) * y) * z == x + y
03:09:54 <elliott> so you can't do symbolic stuff with it, usually
03:10:06 <elliott> so instead, everything takes two arguments, runs them and catches special SymExceptions
03:10:12 <elliott> which it then extracts the value out of
03:10:17 <elliott> computes the symbolic expression result
03:10:28 <elliott> the problem is, functions which look at these arguments... trigger an exception
03:11:12 <monqy> what a lovely hack
03:11:35 <elliott> monqy: SINCERE OR NOT: a monqy special
03:13:46 <pikhq> http://www.youtube.com/watch?v=B5ZMDzh0EXQ
03:15:37 <elliott> http://www.icfpcontest.org/2011/06/task-description-contest-starts-now.html this game looks fun
03:16:47 <zzo38> I have a foot-shooting list tell me of entries I don't have (they can be esoteric programming or not)
03:17:33 <elliott> two shoot urself in the foot... become a gansgata
03:19:17 <elliott> monqy: do you want to sign up to the zepto report, it is an irc-based reports of the most and most un- zepto of the land
03:19:20 <elliott> 99 dollars per square mile
03:20:13 <elliott> monqy: the inter - net land
03:22:46 <monqy> and what's a square mile
03:23:03 -!- Kustas has joined.
03:23:22 <elliott> monqy: u dont need two know...
03:24:56 -!- Kustas has left.
03:28:38 -!- elliott_ has joined.
03:28:39 -!- elliott has quit (Read error: Connection reset by peer).
03:35:45 -!- PatashuPikachuRe has joined.
03:36:18 -!- augur has quit (Remote host closed the connection).
03:37:29 -!- Patashu has quit (Ping timeout: 276 seconds).
03:39:10 <pikhq> North Korea has... Defeated Hitler, in terms of awful concentration camps.
03:39:36 -!- PatashuPikachuRe has changed nick to Patashu.
03:39:48 <elliott_> Patashu: i told you about pokemen
03:40:48 <pikhq> They have camps where generations are punished. By which I mean "you will be here your whole life. Your children will be born here and die here. Their children will be born here and die here. And so on."
03:41:54 <Patashu> for this game: http://www.icfpcontest.org/2011/06/task-description-contest-starts-now.html what would an example strategy look like?
03:41:57 <Patashu> I've never done lambda stuff before
03:42:44 <elliott_> characterising the problem of playing the game as "lambda stuff" seems to imply to me a gap in experience too large to articulate the answer...
03:42:49 <elliott_> (not that I know what a decent strategy would be myself)
03:42:55 <elliott_> (I'd have to actually try it to know that :P)
03:43:20 <monqy> maybe you should verse yourself up in lambda stuff first
03:43:33 <elliott_> I can't believe there are programmers who don't know the lambda calculus :(
03:44:13 <zzo38> I have a foot-shooting list of "HOW TO SHOOT YOURSELF FOOT BY PROGRAMMING LANGUAGES".
03:44:35 <Patashu> I can see that if you're setting up a huge fuck-the-opponent-over function in a slot and your opponent gets it to 0 vitality then zombifies it
03:44:39 <Patashu> it'll activate and do the opposite
03:47:39 <oerjan> zzo38: such lists are _old_
03:50:05 <elliott_> http://hackage.haskell.org/packages/archive/recursion-schemes/0.5.0.1/doc/html/Data-Functor-Foldable.html here dey are
03:50:10 <oerjan> look behind the zygohistomorphic prepromorphisms
03:51:10 <zzo38> oerjan: I know such lists are old but I have some new one too and want to add some new things if you have ideas. This can include new entries for programming languages that are already on there, entries for programming languages that are not on there, or entries for programming languages that did not exist at that time. It can be esoteric programming and/or not.
03:52:24 <oerjan> haskell: your program appears to prevent you from shooting yourself in the foot, until it suddenly runs unexpectedly out of memory
03:52:32 <elliott_> hmm, it's cataNat :: NatAlgebra a -> Nat -> a, right?
03:52:38 <elliott_> where type NatAlgebra a = (a, a -> a)
03:52:50 <zzo38> Thanks. That is one now I added it
03:54:39 <elliott_> class Catamorphism a alg | a -> alg where
03:55:24 <elliott_> oerjan: hint: there are no typekinds
03:55:35 <elliott_> you supply the (type-level) _values_
03:55:46 <elliott_> so for any input number, there is only one valid (a, a -> a) pair
03:55:52 <elliott_> making this totally meaningless
03:56:34 <oerjan> no, i am just not even remembering what a catamorphism is, much less in the type system
03:56:45 <elliott_> generalised fold / induction / recursion scheme
03:57:22 <elliott_> type NatAlg a = (a, a -> a); cataNat (x,f) Z = x; cataNat alg (S n) = f (cataNat alg n)
03:58:10 -!- augur has joined.
03:59:23 * pikhq wonders why in the world Firefox sometimes causes the system to swap like crazy with 0 swap space used.
03:59:37 <pikhq> I should note that yes, it's actually swapping.
03:59:51 <pikhq> kswapd is shown to be working like crazy in iotop.
04:00:01 <elliott_> It's because Firefox sucks TRUE STORIES BY REAL PEOPLE
04:00:14 <oerjan> it's swapping into your hidden NSA disk
04:00:16 <pikhq> True, but not a good explanation.
04:01:26 <oerjan> the disk contains a satellite link to ECHELON
04:01:41 <oerjan> using top secret neutrino transmission
04:07:49 <elliott_> oerjan im starting to think that maybe you cant embed everything in a nice type system library
04:08:06 <elliott_> mostly I hate how type families arent first class :(
04:11:15 <elliott_> Nested type family application
04:11:15 <elliott_> in the type family application: Succ :$ ((Add :$ m) :$ n)
04:11:15 <elliott_> (Use -XUndecidableInstances to permit this)
04:12:23 <oerjan> what you cannot nest them?
04:12:33 <elliott_> the type family rules are some strict bullshit mon
04:12:45 <monqy> and what happens if you use -XUndecidableInstances
04:12:53 <elliott_> monqy: then..................a baby cries....
04:12:57 <elliott_> and that baby grows up to be... jesus
04:15:12 -!- oerjan has quit (Quit: Later).
04:16:22 <elliott_> type instance Map :$ f = Map' f
04:16:22 <elliott_> type instance Map' f :$ Nil = Nil
04:16:24 <elliott_> type instance Map' f :$ x :@ xs = (f :$ x) :@ (Map' f :$ xs)
04:17:51 <elliott_> Sgeo: yally is invading agora and trying to stop you preventing such evil
04:22:32 <Sgeo> That does not look like an invasion.
04:22:35 <Sgeo> But thank you.
04:25:22 <elliott_> oh god youre not actually going to object are you
04:25:30 <elliott_> i fucking hate quorum raisers who never do anything
04:26:35 <Sgeo> I should look up the quorum rules quickly
04:26:58 <elliott_> you should stop objecting to deregistrations of inactive people
04:27:30 <Sgeo> Should quorum count inactive people?
04:27:51 <elliott_> why should constantly-inactive people be players?
04:27:54 <elliott_> the mechanism is there for a reason
04:28:48 -!- foocraft has quit (Quit: So long, and thanks for all the fish!).
04:29:46 <Sgeo> Is quorum fixed at the start of voting period, or determined at end?
04:29:54 <Sgeo> Either way, I'm going to sleep now
04:32:08 <Sgeo> elliott_, *clap* *clap* *clap*
04:32:30 <elliott_> the mechanism still exists to be used, regardless of quorum rules
04:36:43 <coppro> elliott_: I would vote for a mechanism to deregister players forcibly who have been inactive for long enough
04:37:16 <elliott_> coppro: it should be without objection from people who aren't the player
04:37:29 <elliott_> if someone is trying to exploit a lull in the game to become the dictator...
04:37:38 <elliott_> people object to their deregistrations all the time
04:37:44 <elliott_> and its basically never justified
04:59:40 * pikhq gets really, really upset at the unused potential of the Super Gameboy.
05:00:59 <pikhq> Not only could you use the thing to stick SNES games on a Gameboy cartridge, you could use it to supplement the Gameboy game by drawing SNES sprites onto the screen.
05:01:20 <pikhq> There's precisely one example of either feature being used.
05:01:49 <pikhq> It's like Nintendo went "Fuck, let's design this totally awesome hardware and then NEVER USE ITS FEATURES".
05:05:28 <coppro> pikhq: lolgameboy->console devices
05:05:51 <pikhq> coppro: Yeah, but the Super Gameboy actually did it right, as far as hardware is concerned.
05:06:07 -!- yorick has quit (Ping timeout: 252 seconds).
05:06:14 <coppro> tbf I owned and enjoyed the game boy player
05:06:21 -!- elliott_ has quit (Read error: Connection reset by peer).
05:07:10 <pikhq> The Super Gameboy could have made Gameboy games look like native SNES games if the developers cared.
05:07:43 <pikhq> But no, they pretty much used it by adding a color pallete.
05:08:06 -!- yorick has joined.
05:08:35 <pikhq> Even the Pokemon games did more with it than most.
05:08:55 <coppro> also <3 Twilight Symphony
05:09:01 <pikhq> (simply by switching palletes for each area and having 3 palletes on screen in battles)
05:09:59 <pikhq> (in case you've not played Pokemon on a Super Gameboy or an emulator that emulates SGB palleting: the life bars each get their own palletes, and each Pokemon has its own pallete.)
05:10:33 <pikhq> (you can assign palletes to screen regions, with an 8x8 granularity)
05:12:20 <pikhq> Hmm. I think the Gameboy Player was *also* horribly underused...
05:13:25 <pikhq> At a minimum, the thing was capable of doing multiplayer in the normal way: with each player having their own controller.
05:14:01 <pikhq> Not to mention horribly underdesigned; it wouldn't have been hard to at *least* support SGB borders and palleting.
05:14:52 <pikhq> (by doing the same trick that Gameboy emulators do for that; watching writes to the appropriate register and emulating those two features only)
05:15:21 -!- Lymia has quit (Ping timeout: 246 seconds).
05:15:46 <pikhq> And I wouldn't be surprised if that multiplayer trick was pulled off by letting you execute PPC code.
05:16:30 <pikhq> Making it definitely underused.
05:18:20 <coppro> the best was using it for download play off of another GCN game
05:18:24 <coppro> like Crystal Chronicle
05:18:43 <pikhq> ... Wouldn't that require two Gamecubes?
05:19:21 <pikhq> Actually, with Crystal Chronicles, that'd be 1+N Gamecubes, where N is the number of players.
05:19:25 <coppro> I can't wait for the Wii U because two of my favorite GCN games were GBA-enabled ones
05:19:54 <pikhq> The Wii U only supports a single Wii U pad, BTW.
05:20:08 <pikhq> All other controllers must be Wiimotes, as far as I understand.
05:20:44 <pikhq> And it doesn't do Gamecube compatibility, which makes me kinda sad.
05:20:51 <pikhq> It wouldn't be hard to do.
05:21:10 <pikhq> The only non-trivial hardware change would be making the disc slot handle the smaller discs.
05:23:59 <coppro> they better have multiple wii u pads
05:24:08 <coppro> would be incredibly disappointed if not
05:24:21 <coppro> possibly a development restriction?
05:24:37 <pikhq> A "streaming 480p over Bluetooth" restriction.
05:25:21 -!- elliott has joined.
05:25:39 <coppro> tbh I'd be surpried if the king of multiplayer and proprietary lock-in was going to take such a weak technological restriction at face value
05:25:42 <elliott> i always feel like overcomplicated software is deliberately antagonising me
05:26:23 <pikhq> coppro: I think they're using Bluetooth primarily as a cost-cutting measure.
05:26:45 <elliott> 05:24:37: <pikhq> A "streaming 480p over Bluetooth" restriction.
05:26:47 <pikhq> Remember, though they love doing proprietary tech, the one thing they love more is making cheap hardware.
05:26:48 <elliott> pikhq: hmm, I suspect terrible compression
05:27:02 <elliott> it's inadequate even for low-end headphones
05:27:29 <pikhq> Also, I'm not *sure* it's Bluetooth, I'm just guessing based on what I already know to be in the hardware.
05:27:49 <pikhq> (the Wii U *must* have Bluetooth, since that's what Wiimotes use)
05:29:19 <elliott> "Important: Many numerical values in the pattern editor are in hexadecimal notation, not decimal
05:29:19 <elliott> notation. If you would like to know more about HEX, please refer to the “About HEX” topic later in this
05:29:20 <pikhq> elliott: Bluetooth "High Speed", which is barely used, gets you 24 Mbps. Which is at least *adequate*.
05:29:22 <elliott> i think renoise was designed by asking
05:29:34 <elliott> "what are the most pointless, unintuitive elements of the tracker aesthetic?"
05:29:41 <elliott> and maximising them in a new piece of software
05:33:36 <coppro> pikhq: someone should bring a sniffer to a game conference
05:33:52 <elliott> oh, renoise does samples in the stupidest way possible
05:33:59 <elliott> you assign a sample to a particular note value
05:34:19 <elliott> "Many values input into Renoise's pattern editor are hexadecimal (HEX). Because many beginners
05:34:19 <elliott> have problems with this fundamental concept, we will address that here.
05:34:20 <elliott> Most people are familiar with decimal because most people have 10 fingers. Instead, let's imagine we
05:34:22 <elliott> have 16 fingers - which, conveniently enough, comes in very handy for many musical concepts ;-)"
05:34:24 <elliott> oh my god are you actually going to try and teach me hex
05:34:37 <pikhq> elliott: THAT IS AWFUL
05:34:43 <Patashu> so you have to type everything in hexadecimal
05:34:48 <elliott> I JUST WANT TO MAKE SOME SICK BEATS STOP DOING HORRIBLE THINGS TO ME
05:35:10 <elliott> WHY ARE THE PAN AND DELAY COLUMNS IN HEX
05:35:19 <elliott> THAT IS THE MOST ARBITRARILY THING EVER
05:35:28 <elliott> FUCK THIS SHIT IM CLOSING RENOISE
05:35:29 <Patashu> let's take a human being who's immersed in decimal for their entire lifetime
05:35:50 <elliott> im just going to buy a casio sk1 and swear off all other sound-producing devices
05:35:56 <pikhq> If entering things in hex is an actually helpful UI feature, then they could just accept 0xFF-type syntax.
05:36:13 <elliott> you just don't understand pikhq... it's LEET
05:36:16 <pikhq> Rather than doing such a UI sin.
05:36:31 <elliott> pikhq: it's like a tracker, but modern, except not modern, you see
05:36:44 <elliott> http://www.renoise.com/files/screenshots/overview-261.png ;; this actually makes it look less horrific to use than it is
05:37:02 <elliott> what is it with audio software and being a steaming pile of shit
05:37:09 <elliott> its like the two concepts are intimately linked
05:37:12 <pikhq> elliott: What platform is that running on?
05:37:23 <elliott> pikhq: windows, but it looks mostly the same pretty much everywhere :P
05:37:28 <pikhq> If you name one I'm familiar with I will stab people.
05:37:34 <pikhq> Fuck, I'm stabbing people.
05:37:37 <elliott> i can even forgive the non-nativeness
05:37:38 <coppro> I've lost my supar-awesome keyboard shortcut :(
05:37:40 <elliott> i don't even give a shit about that
05:37:56 <elliott> its using actual knobs in a computer UI
05:37:59 <pikhq> It looks like it has decided to commit every UI sin.
05:38:00 <elliott> WHY WOULD YOU EVER DO THAT
05:38:15 <elliott> THEY HAVE THE WONDERFUL SIDE-EFFECT OF NOT MAKING ME WANT TO KILL YOUR FAMILY
05:38:26 <elliott> seriously, designing audio software to look like audio hardware is
05:39:20 <pikhq> http://homepage.mac.com/bradster/iarchitect/realcd.htm
05:39:32 <elliott> that doesn't count as audio software :P
05:40:10 <elliott> guys, gimme one reason not to NIH all audio production software
05:40:17 <elliott> it is literally all the worst
05:40:27 <elliott> if other software is a steaming pile of shit
05:40:31 <pikhq> You will be forced to also NIH all audio handling APIs.
05:40:38 <elliott> audio software collapsed under its weight and formed a black hole ten billion years ago
05:40:45 <elliott> zzo38: you make me smile with your words
05:40:46 <pikhq> Even the *best* ones are very undocumented.
05:40:51 <elliott> i want to make an entire song with just SoX now
05:41:18 <pikhq> And ffmpeg's developers need to learn a thing or two about libraries.
05:41:24 <elliott> hmm, I remember Reason not being quite an entire steaming pile of crap last time I used it
05:41:28 <elliott> despite trying to look like audio hardware
05:41:30 <zzo38> Yes, SoX can make music, too. Both equal-temperament and just-intonation.
05:41:40 <pikhq> Namely, "FUCK YOU I DON'T WANT TO HAVE A FULL COPY OF YOUR SOURCE CODE IN MY SOURCE CODE. FUCK YOU FUCK YOU FUCK YOU."
05:41:51 <elliott> (i'm basically trying all the audio software that exists ever so I can complain about how much of a steaming pile of crap it is)
05:42:03 <pikhq> "INSTALL MOTHERFUCKING LIBRARIES IF YOU EXPECT OTHER PEOPLE TO USE IT YOU ANTI-DEVELOPER COCKS"
05:44:37 <elliott> oh, i think Ableton Live's only sin that I remember was having knob controls
05:45:18 <pikhq> Still. Why would you ever want knob controls on a fucking computer?
05:45:33 <elliott> well... they're smaller than a slider i guess
05:45:36 <pikhq> My mouse moves in straight lines with ease. It does not go in circles easily.
05:45:46 <elliott> pikhq: oh, you can control them with straight lines usually
05:45:55 <elliott> its just that on a widescreen up and down arent very natural directions
05:45:59 <elliott> and its reflected very weirdly in the knob spinning
05:46:08 <elliott> i agree that the ones you actually have to go in a circle with
05:46:31 <pikhq> Also nice about a slider: they present bigger targets.
05:46:38 <pikhq> You don't want small targets.
05:47:01 <elliott> pikhq: see with *elliottmusicsoftware*, such a continuous selector of a range is an abstract object that can be represented however the user wants them to be, on a default + case-by-case basis
05:47:05 <pikhq> You don't want freakishly big ones either, but it should not be a painstaking exercise to click on your thing.
05:49:48 <elliott> pikhq: personally, my preferred replacement for knobs would be, visually, a circle with a coloured ring around the edge (knob-style :P) showing the current value, perhaps with the numerical value in the centre; but when you click it, it'd turn into a slider, with the current value of the slider aligned to the position of the cursor
05:49:56 <elliott> (horizontal slider usually)
05:50:33 <pikhq> elliott: With that, my only complaint would be non-nativenes.
05:51:00 <elliott> pikhq: yeah, but let's face it, "native" UIs don't exactly have a wealth of useful controls for things of this scale
05:51:27 <elliott> I mean, a piece of audio software completely following some HIG and using no non-native controls would ... probably not fit on any screen because of how huge everything would be
05:52:25 <pikhq> Well, yeah, I'm not going to complain much about it being non-native if it's working around OS deficiencies.
05:52:34 <pikhq> If it at least *looks* like it belongs there.
05:52:44 <pikhq> And is usable, of course.
05:52:53 <pikhq> If it's not usable then I reserve the right to beat you to death.
05:53:14 <elliott> I don't even care if all the controls look completely different, to be honest; in audio software, I'd say the situation is kind of opposite of a normal GUI app
05:53:22 <elliott> In that you have shitloads of controls that you don't want to stand out
05:55:07 <pikhq> Of course, the most important thing is to make it so people can use the software without wanting to stab the developers.
05:55:13 <pikhq> And audio software fails at this.
05:55:30 <pikhq> Things like "looking native" is a nicety on top of that.
05:56:03 <elliott> lmao, reason demo disables saving
05:57:50 <elliott> yeah it does suffer from total try-to-look-like-hardware-itis
06:00:25 -!- Kustas has joined.
06:01:26 <zzo38> The non-GUI audio software work better from what I can tell.
06:01:42 <elliott> pikhq: http://i.imgur.com/GsdRl.png goifjgoidfg it hurts
06:01:49 <elliott> ok its actually not that bad apart from the visual noise
06:01:58 <elliott> also half the interface doesn't look like hardware at all
06:03:07 <Gregor> elliott: Is that a VST? :P
06:03:10 <pikhq> Do these people know *why* physical UIs look like that?
06:03:18 <zzo38> Of course if it looks like hardware, it should be for a good reason, such as, it emulates hardware and acts like it! Otherwise it is a bad reason and it ought not to be looks like hardware it is bad thing to do that
06:03:23 <elliott> Gregor: I think Reason's interface is like...
06:03:29 <Gregor> All VSTs are "designed" by retards.
06:03:31 <elliott> Gregor: One half VSTs and mixers and the like
06:03:41 <pikhq> zzo38: The thing is, hardware UIs are not intended for use with a pointer device.
06:03:42 <elliott> Gregor: But that's a global mixer thing so I don't think it's strictly a VST.
06:03:51 <pikhq> zzo38: They are meant for manipulation with actual human hands.
06:04:09 <elliott> Gregor: But here's the best part:
06:04:17 <pikhq> Completely different design considerations at hand here.
06:04:40 <elliott> (One second, screenshotting :P)
06:05:05 <elliott> Gregor: http://i.imgur.com/UlX2Q.png
06:05:11 <elliott> THANK YOU, REASON, FOR SIMULATING AN ACTUAL DECK
06:05:17 <elliott> I WOULD BE TOTALLY LOST WITHOUT THIS HELPFUL BACKGROUND IMAGE
06:05:39 <elliott> I SURE HOPE THE THREE LINES OF CODE AND THE THIRTY MINUTES IN PHOTOSHOP IT TOOK TO DO THAT WERE WORTH IT
06:06:00 <pikhq> THE WHITESPACE GOD THE WHITESPACE
06:06:20 <zzo38> pikhq: Yes; true; but in a few (not all) cases, it might be useful to emulate a hardware and have it displayed on the computer screen. Not in all cases, though. (For emulating GameBoy it is not very useful, but in some cases it might.) (Also, you do not need to display the parts that have nothing to do with the emulation)
06:06:23 <pikhq> elliott: By "white" I mean "empty rack slots"
06:06:31 <elliott> pikhq: That's scrolled down to the bottom :P
06:06:43 <pikhq> elliott: SUCH A STUPID FEATURE
06:07:21 <elliott> YESSS IT COMES WITH A COWBELL INSTRUMENT
06:07:28 <zzo38> Why is there even a scrollbar? There is nothing there what is the use of that please
06:07:36 <elliott> zzo38: um there are more instruments above
06:09:04 <zzo38> There may be but then why is there a space with nothing that it scroll to? Doesn't usually the scroll bar should only scroll the length of what is there?
06:09:16 <elliott> zzo38: Ask the Reason developers :P
06:09:58 <elliott> Gah, why is it even split vertically, it should be horizontal.
06:12:02 <zzo38> I don't know. SoX works fine, use that for audio.
06:13:51 -!- Kustas has quit (Quit: ChatZilla 0.9.86.1-rdmsoft [XULRunner 1.9.0.17/2009122204]).
06:15:57 <zzo38> Although I think some features ought to be combined ImageMagick with SoX. (At least it is possible to pipe ImageMagick to SoX (or vice versa), though.)
06:16:13 <elliott> oh my god it just kicked me out because i spent twenty minutes messing around
06:18:01 <pikhq> zzo38: ImageMagick to SoX? Why would you do that?
06:18:12 <pikhq> (no, really. I am highly curious what use case that could have.)
06:18:25 <zzo38> I can find songwriting useful using MML (music macro language) based programs, such as PPMCK (I have made some improvements and bugfixes to PPMCK actually, including tail recursion)
06:19:27 <elliott> dammit, now I've started mentally designing elliottmusicsoftware :(
06:19:29 <zzo38> pikhq: Due to lack of effects in one program or the other. Represent the audio as a ...x1 grayscale image. And then use the various effects (some are useless for audio, some are OK for audio, and -fx is very useful for audio)
06:19:38 <zzo38> elliott: Can you write it down?
06:20:18 <zzo38> elliott: No, on a text file in your computer and then sent to sprunge
06:21:10 <zzo38> Then write it on paper and then put on a wood table and then take the picture and ensure the focus is good enough to read it and then ask someone else to type it into the computer for you.
06:23:06 -!- Kustas has joined.
06:23:36 <pikhq> And be sure to then uuencode and repeat the process.
06:26:39 <zzo38> pikhq: Other cases are for making Fourier transform, and many of the effects in ImageMagick are useful for audio, some of which SoX already has similar things. To me at least it would make sense to combine it in one program
06:30:12 <pikhq> Sounds like you're wanting a linear algebra program.
06:32:16 <elliott> pikhq: whoops, my audio software design just pulled in an entire lisp
06:34:16 <pikhq> elliott: Now it just needs to do mail.
06:34:54 <elliott> pikhq: write some network code to do IMAP, plug it into a text-to-speech object, voila!
06:35:41 <zzo38> The alpha channel can also have some uses for doing fading effects and stuff. Many effects in ImageMagick are already useful for audio, but just add a few more such as -echo and so on and then it should be very useful for audio. Stereo files can be represented by having like RED=LEFT GREEN=RIGHT for example.
06:36:41 <zzo38> While -density can be used for sample rate (where 1 second = 1 inch)
06:36:43 <elliott> come to think of it, I seem to have invented something that can implement Max/MSP as just a certain kind of object
06:37:35 <pikhq> zzo38: Like I said, you seem to want a linear algebra system.
06:38:15 <pikhq> Which is much like an audio or image or video manipulation system, but generalised.
06:38:27 <zzo38> pikhq: Maybe something like that.
06:40:50 <zzo38> elliott: It just seems convenient units to use due to the way the program already work
06:42:18 <zzo38> s/cenimetres/centimetres/
06:43:31 <monqy> specify digital images in terms of metres every day
06:44:25 <zzo38> What I might like to have for audio and music making program is something like METAFONT.
06:44:57 <pikhq> monqy: An "inch" is either 2.54 centimeters or 100/3937 meters. (latter definition exceptionally unused)
06:45:59 <zzo38> METAFONT is already one of the best program for font making, and I think a similar thing could be made working with musics somehow.
06:46:01 <pikhq> ("international inch" and "survey inch", respectively)
06:46:44 <monqy> right but I don't see how inches/metres are useful for digital imaging, aside from translation to/from physical images, unless that's what the command or whatever is for
06:46:58 <pikhq> monqy: He was proposing to use ImageMagick for audio manipulation.
06:47:17 <zzo38> monqy: The -density command in ImageMagick is used when you want to specify what resolution is used for printing this image.
06:49:38 <pikhq> *sigh* US customary units.
06:52:21 <zzo38> DVI units are specified in fractions of decimicrons, allowing for finer resolution than any printer has, as far as I know.
06:55:03 <pikhq> Quick, how many miles per gallon is a league per barony-gill?
06:55:16 <pikhq> (yes, that is a valid unit. League per barony-gill.)
06:56:35 <elliott> wow, (a = b) = c is valid in C++
06:57:21 <pikhq> Hmm. Doesn't (a = b) result in an lvalue in C?
06:58:09 <monqy> what does (a = b) mean as an lvalue?
06:58:25 <pikhq> monqy: Presumably, same thing as a.
06:58:29 <pikhq> Anything else would be mad.
06:58:46 <monqy> anything at all would be mad
06:59:07 -!- Kustas has changed nick to derrik.
06:59:24 <elliott> then decrement aassoijdioajd by c
06:59:48 <monqy> I've always wanted to decrement aassoijdioajd by c
07:00:04 <monqy> in the same statement as incrementing a by b
07:01:37 <elliott> http://i.imgur.com/uBZOi.png WHY WOULD YOU EVEN DO THIS YOU ARE MAKING ME TURN OFF THE NO-SIDEBAR MODE YOU EXPLICITLY TURNED ON JUST SO I CAN GET TO THE FUCKING APPLICATIONS FOLDER AT LEAST PUT AN ALIAS TO IT IN THE DISK IMAGE GOD DAMN
07:02:26 <monqy> what kind of gimmicky installation mechanism is that
07:02:38 <elliott> monqy: its called standard os x installation
07:02:41 <monqy> or is it user friendly
07:02:46 <elliott> you download a disk image which contains a filesystem
07:02:58 <elliott> you copy the application files to your applications folder
07:03:03 <elliott> you unmount ("eject") the file system
07:03:07 <elliott> and then drag the disk image to your trash
07:03:12 <elliott> its ridiculous and terrible
07:03:38 <pikhq> And you can unmount it by dragging the filesystem to your trash.
07:03:47 <elliott> Ableton's free 30-day license enables the "Save" and "Export" functions, so you can experience making music with no holds barred. To activate your free license, enter your e-mail address below.
07:04:06 <pikhq> And it's still better than Windows installation.
07:04:20 <elliott> but hey, apparently ableton integrates with Max?
07:04:31 <elliott> big orgy of audio applications
07:05:05 <elliott> Max is the only well-designed audio application, in fact it's one of the best-designed programs I've used, but unfortunately I am too crappy to make nice sounds with it :(
07:07:43 <zzo38> I think some sort of METAFONT-like program would be good to make a music
07:12:23 <elliott> "Customize Live's color scheme and display size in the Look/Feel Preferences."
07:12:27 <elliott> pikhq: monqy: im thinking green on pink
07:12:59 <monqy> don't forget the yellow
07:13:27 <pikhq> elliott: How Gregorian.
07:28:29 <zzo38> "pad" in SoX is similar to "-border" in ImageMagick. "norm" is probably like "-auto-level". "reverse" is like "-flop".
07:29:22 <elliott> pikhq: help I accidentally invented the best everything
07:40:48 <elliott> pikhq: You know, it's not true that _all_ audio APIs are terrible or undocumented...
07:41:01 <elliott> pikhq: I bet Core Audio is quite nice.
07:41:59 <zzo38> Is it allowed in LLVM for a PHI node to return a label value? If so, can you then use that label in a branch instruction or other instruction?
07:43:22 <zzo38> (Including other PHI nodes)
07:44:58 -!- monqy has quit (Quit: hello).
07:54:20 <zzo38> Is coppro on and available?
07:55:08 <elliott> i.e. two hours ago it seems :)
08:05:41 -!- zzo38 has quit (Remote host closed the connection).
08:09:03 -!- derrik has left.
08:21:49 -!- Phantom_Hoover has joined.
08:32:50 <elliott> pikhq: Hmm... what's actually wrong with PortAudio?
08:33:37 <Gregor> PortAudio has backends for everything[1].
08:33:41 <Gregor> [1] everything important
08:33:54 <elliott> Gregor: I'm talking API, latency, etc. wise :P
08:34:41 <Gregor> I've only used PortMIDI, but if that's anything to go by, its API is "dump some bits here lulz"
08:35:24 <elliott> Gregor: As far as I can tell, my options are exactly twofold: Core Audio, which is reportedly excellent and should basically give me no actual _problems_, but which would restrict me to running things on an OS I don't use day-to-day (although considering Linux's terrible audio situation I probably would anyway), and which also apparently has a rather... horrific API; not in that it's /bad/, but in that it's ... you know ... flexible;
08:35:24 <elliott> and PortAudio, which would probably be less of a pain and which would be more portable but... might be bad inexplicably????
08:35:28 <elliott> Wow that was a long sentence.
08:35:31 <elliott> That... that was one sentence. Wow.
08:36:22 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
08:36:27 <Gregor> Y'know, Linux's audio situation has improved enormously over the last few <time period>s.
08:36:42 <elliott> Gregor: You realise that the last few time periods have seen the RISE TO UBIQUITY OF PULSEAUDIO?
08:36:51 <Gregor> No Pulse on my system.
08:37:05 <Gregor> The ALSA mixing frontend is pretty much ubiquitous.
08:37:17 <elliott> Gregor: Doesn't matter, the average Linux audio situation has got WAY worse over any recent time period.
08:37:40 <elliott> Even Ubuntu Studio which is fucking designed for multimedia uses Pulse.
08:37:50 <Gregor> In what sense is Pulse ubiquitous? I don't think I've ever seen it installed on any system.
08:37:54 <elliott> Phantom_Hoover: I don't actually know of any recent developments ignoring PA.
08:38:03 <elliott> Gregor: OK, first: See: any Ubuntu system.
08:38:15 <Gregor> OK, Ubuntu is shit, this is established truthiness.
08:38:27 <elliott> Gregor: It's also utterly ubiquitous, come on.
08:38:30 <elliott> Gregor: Then, see any Fedora installation.
08:38:49 <elliott> Gregor: Wait, it's Poettering.
08:38:52 <elliott> Yeah, no chance Fedora is not using it.
08:39:13 <elliott> (Fedora is a distribution system for the GNOME project and Poettering Insanity Industries' latest products.)
08:40:13 <elliott> Gregor: Anyway, if you deny that "Ubuntu + every Ubuntu derivative + Fedora + Mandriva (I checked lol)" constitutes "ubiquitous", you're most definitely on crack.
08:40:33 <elliott> "PulseAudio is used in recent versions of several major linux distributions such as Fedora, Ubuntu, Mandriva, Linux Mint, openSUSE, and OpenWRT."
08:40:45 <elliott> Gregor: DEBIAN IS NOT UBIQUITOUS >_<
08:40:54 <Gregor> Debian: The distribution that is literally always correct in every decision.
08:41:06 <elliott> Phantom_Hoover: break things
08:41:26 <Gregor> Phantom_Hoover: Make your audio system slow, broken, wildly incompatible and very difficult to work with.
08:41:33 <elliott> Phantom_Hoover: You can't do per-application volume control without PA.
08:41:40 <elliott> Which is very useful, but this is more a deficiency of dmix than a pro of PA.
08:41:45 <elliott> Phantom_Hoover: No, that's one thing.
08:41:53 <elliott> HERP DERP ONE USER-FACING FEATURE = THE ENTIRE PRODUCT
08:42:06 <Gregor> It's a feature no one has ever used and no UI makes easy :P
08:42:14 <elliott> Gregor: Plenty of people use it
08:42:17 <Phantom_Hoover> elliott, I got "break things" and "break things" and one feature.
08:42:20 <elliott> And GNOME has a simple UI for it.
08:42:29 <elliott> Phantom_Hoover: You realise IRC is not your personal pro-con enumeration service.
08:42:52 <Phantom_Hoover> elliott, nor did I expect it; it's simply that I have no idea what it does.
08:43:15 <elliott> Phantom_Hoover: Basically, mixes audio.
08:43:37 <Gregor> Really the biggest problem with Pulse is that it became popular at the exact same time that it became irrelevant.
08:43:59 <elliott> Gregor: Anyway, ALSA can still be painful.
08:44:30 <elliott> OSS is far superior but its detachment from the kernel and its being under the complete control of a corporation which has done objectively Evil things prevents me from seriously considering it.
08:44:48 <elliott> Gregor: What if every Linux distribution switched entirely to JACK tomorrow X-D
08:46:41 <elliott> Gregor: I know exactly two things about JACK: Using it is a fucking pain, and everybody who does serious audio work on Linux appears to use it exclusively :P
08:47:04 <elliott> "In my opinion, JACK is notable, if only because it's almost impossible to do pro audio work in Linux without it." -- see, proved by Wikipedia talk page.
08:47:23 <Gregor> What JACK provides, as far as I can tell, is extremely precise inter-application audio timing.
08:47:37 <elliott> Gregor: It makes da latency disapear.
08:47:46 <elliott> (The third thing I know about JACK !)
08:47:54 <Gregor> Well, yeah, it has low latency, but that's not really the point ....
08:53:07 -!- Lymia has joined.
09:01:40 <elliott> pikhq: Oops I've designed the PERFECT SOFTWARE.
09:58:37 -!- choochter has joined.
10:06:18 -!- Vorpal has joined.
10:08:23 -!- sebbu2 has joined.
10:08:24 -!- sebbu2 has quit (Changing host).
10:08:24 -!- sebbu2 has joined.
10:11:07 -!- sebbu has quit (Ping timeout: 240 seconds).
10:49:14 <elliott> "A computer can not connect to itself and share its screen." --Apple, fascist
10:49:15 <elliott> "A computer can not connect to itself and share its screen." --Apple, fascists
10:49:30 -!- choochter has quit (Ping timeout: 255 seconds).
10:53:43 -!- Lymia has quit (Ping timeout: 250 seconds).
10:53:46 <Vorpal> <elliott> "A computer can not connect to itself and share its screen." --Apple, fascists <-- wait, what?
10:54:00 <Vorpal> what were you trying to do?
10:54:24 <Vorpal> elliott, oh, I guess linux allows that but with useless results
10:54:44 <Vorpal> well some vnc clients anyway
10:54:49 <olsner> or with useful results, if the screen is not on the computer you're connecting to
10:54:57 <olsner> it's a pretty useful thing to do really
10:55:04 <Vorpal> olsner, well duh, but it said "itself"
10:55:08 <elliott> olsner: you could just VNC _directly_
10:55:10 <olsner> except if you happen to think "oh, connect to localhost? lol!"
10:55:12 <elliott> Vorpal: you don't understand
10:55:20 <olsner> (when writing the vnc client)
10:55:32 <Vorpal> elliott, oh ssh tunnel?
10:55:36 <elliott> olsner: anyway, os x doesn't support any such x forwarding or the like, so it's irrelevant :D
10:55:43 <elliott> an ssh tunnel might work i guess
10:55:54 <olsner> ssh tunnelling is usually what I do when vnc:ing to localhost
10:56:17 <Vorpal> I only used vnc once I think
10:57:37 <elliott> Gregor: Actually PortAudio's API is not quite "gimme some bits", it's fairly weird (but I understand common for high-performance audio frameworks)
10:58:04 <elliott> You basically have a callback function that is in charge of reading from input and writing to output and also it can't block much I think or shit will happen
10:58:35 <elliott> Before we begin, it's important to realize that the callback is a delicate place. This is because some systems perform the callback in a special thread, or interrupt handler, and it is rarely treated the same as the rest of your code. In addition, if you want your audio to reach the speakers on time, you'll need to make sure whatever code you run in the callback runs quickly. What is safe or not safe will vary from platform to platfor
10:58:35 <elliott> m, but as a rule of thumb, don't do anything like allocating or freeing memory, reading or writing files, printf(), or anything else that might take an unbounded amount of time or rely on the OS or require a context switch. Ed: is this still true?: Also do not call any PortAudio functions in the callback except for Pa_StreamTime() and Pa_GetCPULoad().
10:59:38 <elliott> so basically... your callback should just read from your external buffer system :D
11:00:58 -!- azaq23 has joined.
11:00:59 <olsner> "<olsner> nice" <-- that should say "neat", obviously
11:04:59 -!- FireFly has joined.
11:05:23 <Vorpal> elliott, but buffer introduces delay!
11:05:59 <Vorpal> sure for some stuff that is okay, but not for other things
11:06:31 <quintopia> http://www.amazon.com/Bytecc-DisplayPort-male-female-Adaptor/dp/B002V3UCV6/ref=sr_1_fkmr0_3?ie=UTF8&qid=1308394187&sr=8-3-fkmr0
11:07:02 <Vorpal> quintopia, if they lack a VGA connector and need to hook up to a projector?
11:07:29 <Vorpal> quintopia, next question
11:07:34 <elliott> Vorpal: everything is buffered
11:07:35 <quintopia> oh, i was thinking it was VGA to VGA
11:07:40 <quintopia> i don't even know what displayport is
11:07:44 <Vorpal> elliott, yes but how large is the buffer?
11:07:48 <Vorpal> quintopia, the connector my laptop has
11:08:21 <Vorpal> elliott, anyway, with a dedicated circuit it might not be buffered
11:08:37 <Vorpal> unless you run on a DSP
11:08:57 <Vorpal> quintopia, displayport is better than HDMI btw
11:10:14 <quintopia> Vorpal: next question is where to get a vga monocular head-mounted display, preferably with optical see-through, at less than astronomical prices
11:10:34 <Vorpal> quintopia, ask Gregor for that
11:10:46 <Vorpal> quintopia, he messes around with wearable computing
11:13:22 <Vorpal> quintopia, http://en.wikipedia.org/wiki/HDMI#Relationship_with_DisplayPort
11:16:22 -!- foocraft has joined.
11:19:59 <quintopia> nevermind. i know what gregor would say: rip out half of a myvu crystal
11:20:14 <quintopia> http://www.linux.com/community/blogs/how-a-wearable-computer-should-be.html he got a mention here
11:27:27 <elliott> Sgeo: Guess what didn't not just not not update.
11:32:42 <CakeProphet> !perl print ('sleep','dont')[int(rand(2))]
11:32:44 <EgoBot> syntax error at /tmp/input.5097 line 1, near ")["
11:32:55 <CakeProphet> !perl print (('sleep','dont')[int(rand(2))])
11:35:42 -!- Lymia has joined.
11:45:32 -!- hiato has joined.
12:38:35 -!- foocraft has quit (Ping timeout: 250 seconds).
12:42:34 -!- elliott has quit (Remote host closed the connection).
12:44:42 -!- pikhq has quit (Ping timeout: 255 seconds).
12:44:43 -!- pikhq_ has joined.
12:44:51 -!- elliott has joined.
13:03:52 -!- WillMac has joined.
13:04:41 -!- WillMac has changed nick to Donato.
13:05:11 -!- Donato has changed nick to Guest6869.
13:05:37 <elliott> Guest6869: your many identities cannot hide the TRUTH
13:05:52 -!- foocraft has joined.
13:07:07 -!- Guest6869 has changed nick to Donat0.
13:20:00 -!- BeholdMyGlory has joined.
13:49:07 <elliott> "I have come up with a new system of ridding the term "architect" from the information technology industry's repertoire. Considering it's illegal for someone to call themselves an architect without a license (in the construction industry anyways), these guys are breaking the law. They also do not do what we do and the term should be used exclusively to discuss the design and implementation of constructing a building."
13:54:31 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
13:56:27 <elliott> Phantom_Hoover: wow just wow
13:57:02 <elliott> other quality quote "An algorithm will never create a building that people love."
13:58:11 -!- doxin has joined.
14:02:30 <doxin> how can this bf snippet possibly lead to an infinite loop: [->+>+<<] ?
14:05:59 <doxin> Phantom_Hoover: yes, but thats not even needed here, the first cell starts at 33, shouldn't the loop terminate after looping 33 times?
14:07:06 <doxin> then why doesn't it?
14:09:26 <Phantom_Hoover> It puts me in mind of the fat pony from Hark, a Vagrant.
14:11:07 <doxin> Phantom_Hoover: found the problem
14:54:48 <olsner> ridding the term "architect" from the information technology industry's repertoire <3
14:55:33 * Gregor 's new title is Software Architectural Engineer.
14:56:37 <Gregor> Naw ... Software Systems Architect
14:57:23 <olsner> but then you're not even working on software, but systems of software?
15:09:17 -!- copumpkin has quit (Ping timeout: 244 seconds).
15:09:28 -!- copumpkin has joined.
15:21:25 -!- derrik has joined.
15:24:47 -!- doxin has left.
15:31:18 -!- ais523 has joined.
15:33:42 -!- SimonRC has quit (Ping timeout: 260 seconds).
15:36:51 -!- elliott has quit (Ping timeout: 258 seconds).
15:39:27 -!- monqy has joined.
15:51:08 -!- SimonRC has joined.
16:02:04 -!- azaq23 has quit (Quit: Leaving.).
16:07:21 -!- choochter has joined.
16:10:36 <Phantom_Hoover> What is it with the personality cult surrounding Tesla.
16:11:02 -!- SimonRC has quit (Ping timeout: 260 seconds).
16:11:04 <Phantom_Hoover> People honestly seem to think that he single-handedly beat the huge scientific progress we've made since.
16:17:39 -!- Donat0 has quit (Ping timeout: 264 seconds).
16:18:00 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
16:30:31 -!- Phantom_Hoover has joined.
16:35:03 -!- pikhq has joined.
16:35:03 -!- pikhq_ has quit (Ping timeout: 244 seconds).
16:40:43 -!- MigoMipo has joined.
16:45:45 -!- derrik has quit (Quit: left).
16:51:10 -!- Tritonio has joined.
17:10:12 -!- Sgeo has quit (Ping timeout: 255 seconds).
17:21:34 -!- SimonRC has joined.
17:24:48 -!- zzo38 has joined.
17:30:57 -!- Tritonio has quit (Read error: Connection reset by peer).
17:31:52 <quintopia> Phantom_Hoover: you clearly don't understand the true awesome of Tesla
17:32:15 <Phantom_Hoover> quintopia, you mean... pipping everyone else to the post on things?
17:32:36 <quintopia> this is a strange idiom. from whence did it come?
17:34:28 -!- augur has quit (Remote host closed the connection).
17:40:57 <olsner> hmm: "Population of Sweden: 9,354,462, number of registered Minecraft users: 9,404,180"
17:46:58 <quintopia> are you suggesting that there should be a minecraft exchange program so tha eventually the entire population of sweden is players?
17:50:13 -!- Sgeo has joined.
18:22:43 <zzo38> I have in foot-shooting file many things, incluidng some multiple entries for one programming language. Including:
18:22:51 <zzo38> * Shell scripts: aim -t `self --display foot` | xargs gun --shootat
18:23:27 <zzo38> * Pascal: The compiler won't let you shoot yourself in the foot.
18:24:00 <zzo38> * Linux: You shoot yourself in the foot with a Gnu.
18:24:29 <zzo38> * Haskell: You spend several hours creating a new copy of the Universe which is identical to the existing one except your foot has a hole in it.
18:25:41 <zzo38> Now I want to add in LLVM and INTERCAL and Befunge but I don't know what to type.
18:31:14 -!- augur has joined.
18:32:15 <Deewiant> Befunge: You shoot straight up into the sky. The bullet instantaneously travels around the universe before hitting your foot from below.
18:32:28 <quintopia> INTERCAL: The compiler won't let you shoot yourself in the foot unless you use a crossbow andask really nicely
18:34:35 <zzo38> OK, I added both those things.
18:35:25 <Phantom_Hoover> Brainfuck: you get a lot of little bits of metal and have to build a gun with it.
18:36:24 <ais523> gah, I think I missed the start of the ICFP contest again
18:36:58 <quintopia> alternately: Brainfuck: you fire the gun. an atom of bullet disappears and lodges in your foot. repeat until original bullet is gone.
18:37:06 <zzo38> Phantom_Hoover: OK, I added that one as well.
18:37:31 <zzo38> quintopia: I added that too. Thanks.
18:37:43 <ais523> it seems to be some sort of competitive game based on combinator calculus
18:57:52 <olsner> quintopia: can't you just get it on wikipedia?
18:58:17 <quintopia> but someone did it in another channel, so nvm
19:12:55 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
19:22:47 -!- Phantom_Hoover has joined.
20:22:04 -!- pikhq_ has joined.
20:25:57 -!- pikhq has quit (Ping timeout: 260 seconds).
20:36:42 -!- CakeProphet has quit (Ping timeout: 240 seconds).
20:37:24 -!- MigoMipo has quit (Read error: Connection reset by peer).
20:38:38 -!- CakeProphet has joined.
20:38:39 -!- CakeProphet has quit (Changing host).
20:38:39 -!- CakeProphet has joined.
20:44:51 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
20:45:51 -!- CakeProphet has quit (Ping timeout: 264 seconds).
20:47:14 -!- CakeProphet has joined.
20:47:15 -!- CakeProphet has quit (Changing host).
20:47:15 -!- CakeProphet has joined.
20:48:58 <pikhq_> ais523: Say, I'm noticing some issues with C-INTERCAL's build system.
20:49:04 <pikhq_> First and foremost: CFLAGS="$CFLAGS -lrt"
20:50:02 <pikhq_> True, but more importantly: that will put -lrt *before* any object files in the link line.
20:50:19 <pikhq_> Hence, the linker may very well decide to not actually use -lrt, since its symbols are unneeded.
20:50:38 <pikhq_> It should go in LIBS, and be prepended.
20:50:40 <ais523> I thought linkers didn't require topological sorts of their inputs nowadays
20:51:16 <pikhq_> GNU ld doesn't without -Wl,--as-needed.
20:53:11 <pikhq_> A POSIX-compliant c99 may, however, require this.
20:54:43 <pikhq_> Also, you seem to rely on POSIX facilities without defining _POSIX_C_SOURCE. Seeing as you're pedantic enough to use pax, I thought you might be pedantic enough to do that, too. :P
20:55:30 <ais523> good point, it's normally defined by the compiler but I can't rely on "normally"
20:56:35 <Vorpal> <pikhq_> GNU ld doesn't without -Wl,--as-needed. <-- most distros uses -Wl,--as-needed nowdays where possible
20:56:43 <Vorpal> saves on having to rebuild stuff
20:56:53 <pikhq_> Saves on package dependencies, too.
20:57:09 <pikhq_> Though it wouldn't be necessary if it weren't for libtool and misusage of pkg-config.
20:57:12 <Vorpal> pikhq_, btw that Pathscale compiler going open source, what license was it?
20:57:32 -!- Phantom_Hoover has joined.
20:57:43 <Vorpal> pikhq_, how does it differ from their other compilers?
20:57:59 <pikhq_> Vorpal: Latest version!
20:58:30 <Vorpal> http://www.pathscale.com/ekopath-compiler-suite <-- this page fails so hard on unless I maximise the browser
20:59:10 <Vorpal> what I can't find the FOSS variant there
21:03:43 <pikhq_> Have they seriously not linked to the source yet? WTF.
21:04:07 <pikhq_> ais523: Oh, and you don't use HAVE_STRTOL; either you should add a work-around for it or you should not test for strtol
21:04:31 <ais523> originally that file was autogenerated, and the autogenerator made a few mistakes
21:04:34 <ais523> that must be one I missed
21:04:37 <pikhq_> Also, no idea why I'm nitpicking. :P
21:04:41 <ais523> thanks for the bug reports
21:04:47 <ais523> I like being nitpicked wrt that
21:05:11 <pikhq_> I figured you wouldn't mind, especially on a project that I know you're being pedantically correct about.
21:05:17 <pikhq_> I'm just not sure why I started doing so. :P
21:05:50 <ais523> pikhq_: note that I'm being pedantically correct about it because no other language is
21:05:56 <ais523> in order to make INTERCAL more unique
21:08:02 <pikhq_> Otherwise, you seem to have *overdone* the autoconf setup, but eh. You at least use autoconf correctly.
21:08:38 <pikhq_> And I'm willing to bet that it builds literally everywhere with a C89 compiler.
21:09:09 <ais523> pikhq_: I was toying with building it with a 16-bit C compiler=
21:09:12 <zzo38> What does -Wl,--as-needed means?
21:09:15 <ais523> I don't think it worked too well
21:09:49 <pikhq_> zzo38: Only link against needed libraries.
21:10:01 <pikhq_> ais523: 8086 C compilers don't generally handle compliant source too well.
21:10:07 <cheater_> ais523, are there any 8-bit c compilers?
21:10:23 <ais523> cheater_: almost certainly, but I don't have access to one
21:10:34 <ais523> although note that 8-bit C compilers still set int=16 bits if compliant
21:11:45 <zzo38> It doesn't seem 4-bit or 7-bit computers are compliant with C, to me.
21:11:51 <zzo38> But I don't know for sure.
21:12:14 <pikhq_> cheater_: char must be at least 8 bits, and all other types must have a size that is an integer multiple of char.
21:12:30 -!- CakeProphet has quit (Ping timeout: 244 seconds).
21:13:12 <zzo38> And a char must be one byte, also, I think. Am I wrong?
21:13:18 <pikhq_> cheater_: C standard says so.
21:13:38 <Sgeo> Hmm, is OFFSystem/Offload as safe as it claims?
21:13:38 <lambdabot> Sgeo: You have 3 new messages. '/msg lambdabot @messages' to read them.
21:14:08 <cheater_> well then presumably if there's no real reason, someone COULD make a char less than 8 bits and get away with it
21:14:16 -!- CakeProphet has joined.
21:14:17 -!- CakeProphet has quit (Changing host).
21:14:17 -!- CakeProphet has joined.
21:14:18 <pikhq_> It saays "CHAR_BIT is the number of bits for the smallest object that is not a bit-field. CHAR_BIT must be at least 8."
21:14:58 <pikhq_> (this is according to C99+TC1+TC2+TC3, dated 2007, but undoubtedly exists in previous standards)
21:16:03 <pikhq_> Also, sizeof(foo) gets you a size_t which is the size of foo, in terms of the size of a char.
21:16:08 <zzo38> pikhq_: Therefore it must be one byte isn't it? So computers with less than 8-bit in one byte is not compatible with C. Computer that is not based on binary, I think also not compatible with C. (Although in both cases probably is compatible with Pascal, though.)
21:16:22 <pikhq_> zzo38: No, it can be more than 8 bits.
21:16:48 <pikhq_> zzo38: char could be 9 bits, 32 bits, 2^32 bits, or whatever else.
21:16:50 <zzo38> pikhq_: Yes it can be more than 8 bits, some computers have 1 byte more than 8 bits
21:16:53 <pikhq_> zzo38: Just so long as it's 8 or larger.
21:17:17 <pikhq_> zzo38: You could have a 2-byte char on x86.
21:18:08 <olsner> or how about 1-byte chars with 16-bit bytes :)
21:18:12 <zzo38> pikhq_: That doesn't seem proper to me to have 2-byte char on x86 (except possibly for some kind of emulation)
21:18:14 <pikhq_> cheater_: Also, SHRT_MAX and INT_MAX must be at least 2^15-1, LONG_MAX 2^31-1, and LLONG_MAX 2^64-1.
21:18:36 <pikhq_> zzo38: It would be perverse, but it could be that way in a conforming C implementation.
21:19:29 <zzo38> pikhq_: Are you sure it could be that way in a conforming C implementation? It doesn't seem correct to me because you get wrong address calculation
21:19:52 <pikhq_> zzo38: There is no requirement that C pointers correspond to real hardware addresses.
21:20:11 <pikhq_> Though they must be castable to an intptr_t.
21:20:26 <pikhq_> There is no requirement that that cast be a trivial mapping.
21:21:18 <pikhq_> There is, indeed, no *requirement* that a C implementation has any simple mapping to hardware functionality.
21:22:07 <zzo38> O, then I suppose it could work. It still wouldn't seem sensible to me, though, except for the purpose of making emulation of something that requires that way.
21:22:18 <pikhq_> I'm not saying it would be sensible.
21:22:21 <pikhq_> I'm saying it could be done.
21:22:32 <pikhq_> Completely different thing.
21:22:37 <zzo38> OK it could be done I guess.
21:22:46 <zzo38> Yes I can see how it can be done.
21:23:25 <zzo38> In this case then you could do it with computer with bytes less than 8-bits too but you would have to do something improper like this, to allow it to work.
21:23:29 <olsner> at least there were back when there were lisp machines
21:23:37 <pikhq_> cheater_: Pretty sure it was actually done.
21:23:52 <ais523> olsner: 1-byte char, 32-bit byte is common on DSPs
21:23:52 <pikhq_> zzo38: True. It would be perverse and nasty, but doable.
21:24:08 <ais523> because they can't easily address less than a 32-bit block
21:24:17 <ais523> and they have char = short = int = long
21:24:43 <zzo38> Also C is not very well for computer that is not based on binary.
21:24:55 <pikhq_> Heck, it's even possible to have char=short=int=long=long long.
21:25:08 <ais523> pikhq_: but who uses 64-bit+ char?
21:25:16 <pikhq_> ais523: Someone who is crazy.
21:25:22 <ais523> zzo38: I think C89 actually insists that computers emulate binary if they don't use it internaly
21:25:40 <olsner> jeez, the point is what is legal and what can be done, not what makes sense :)
21:26:13 <pikhq_> ais523: C99 seems to as well.
21:26:22 -!- CakeProphet has quit (Read error: Operation timed out).
21:26:26 <ais523> pikhq_: that doesn't surprise me
21:26:30 <zzo38> ais523: Yes but it still would not work very well you could get a lot of problems in many cases.
21:26:33 <ais523> no reason why they'd remove that insistence...
21:26:56 <pikhq_> It also mandates either sign and magnitude, two's complement, or one's complement signed integer arithmetic.
21:27:42 <Vorpal> pikhq_, oh it seems they put the code on git, but yeah where is the link to either source or binary download hm
21:28:19 <olsner> pikhq_: I think that's new for C99, except for unsigned numbers that were always defined to work as-if they were two's complement
21:28:20 <zzo38> Many C programs can assume that all sizes have a maximum something like $2^x-1$ and that signed addition/subtraction works the same way as unsigned
21:29:07 <olsner> eh, I mean modulo 2^n for unsigned numbers, two's complement doesn't make sense in that context
21:29:56 <zzo38> Yes and modulo 2^n for unsigned numbers many C programs might assume that and fail to work correctly on computer that do not have that.
21:30:28 <olsner> if the computer doesn't have that, C requires it to emulate it for unsigned numbers
21:30:29 <Vorpal> <ais523> pikhq_: but who uses 64-bit+ char? <-- dsp possibly?
21:30:38 <pikhq_> I think it actually is valid to assume that the integer types are powers of two.
21:30:57 <ais523> 9-bit ints died out in practical use ages ago
21:31:09 <ais523> and I don't think a non-power-of-2 size other than 9 has ever been seriously used
21:31:19 <pikhq_> As it does mandate a binary representation for them with value bits, padding bits, and a sign bit.
21:31:20 <zzo38> Yes of course you can make the C program compiled into the machine code for some other machine which is then emulated, if it is necessary to do so.
21:31:51 <pikhq_> ais523: I'm referring to them being able to store numbers that are one shy of a power of 9.
21:32:00 <pikhq_> 9-bit char would satisfy that.
21:49:02 <augur> Phantom_Hoover: science!
21:50:03 <Phantom_Hoover> augur, I thought your speciality was effectively the maths bits of linguistics.
21:50:39 -!- choochter has quit (Ping timeout: 264 seconds).
21:51:43 <augur> something like that
22:03:56 <Vorpal> pikhq_, ekopath just let me down: "warning: C99 inline functions are not supported; using GNU89"
22:09:30 <pikhq_> solvers({c c99}) apparently does not exist.
22:09:46 <pikhq_> However, solvers({c c99}) exists.
22:10:31 <olsner> pikhq_: I would suspect that there is some kind of bug at play
22:11:34 -!- quintopia has quit (Remote host closed the connection).
22:19:50 <zzo38> Vorpal: What is ekopath and what are you trying to do?
22:20:20 <olsner> ekopath is a compiler that was recently made free and posted on reddit
22:26:46 <zzo38> Can Checkout be used for audio and for graphics?
22:27:37 <ais523> zzo38: "yes", in the same sense that machine code can be
22:28:23 -!- quintopia has joined.
22:28:42 <zzo38> ais523: Not quite what I meant. I mean, is it reasonable to make it used in a GPU with some units used for audio, some for graphics, and some for other calculations.
22:29:13 <ais523> zzo38: I don't know, I'm not an expert on these kinds of things
22:29:22 <ais523> note that Checkout is classified as an esolang not a regular lang for a reason...
22:29:27 <ais523> you're better off using CUDA or something, I expect
22:34:03 <zzo38> ais523: However I want to use one that has Free software/open source, and with low-level access
22:34:19 <ais523> well, Checkout doesn't have any implementations at all
22:34:24 <ais523> so it wouldn't be very useful in that respect
22:34:44 <ais523> try looking at OpenCL, that's open source
22:34:55 <olsner> "the whole reason main goes into the djungle with the monkey is that the monkey should become main in the djungle, since main doesn't even exist in the djungle"
22:38:31 <zzo38> I mean I want to use one requiring no proprietary drivers, no specific kinds of operating systems or motherboards, etc. Such as, having the freely available and usable document for the machine code of the GPU and how to access it.
22:38:48 <ais523> zzo38: it'll be hard enough even to find a GPU like that
22:40:52 -!- fizzie has quit (Ping timeout: 244 seconds).
22:41:27 <olsner> (that was part of a question on how to implement coroutines (or something) in C, that started with "can I do malloc on a function pointer? I want to copy the stack to the heap so I can context switch within a struct")
22:52:27 -!- fizzie has joined.
22:55:37 <Gregor> My flight is delayed two hours, but at least it's the /last/ leg that's delayed :P
22:56:27 <pikhq_> For $185,000, you too can have a TLD.
22:56:42 <pikhq_> Fuck you, ICANN. Fuck you.
22:57:08 -!- Patashu has joined.
22:57:17 <ais523> Gregor: IRCing from the airport?
22:58:25 -!- copumpkin has quit (Ping timeout: 244 seconds).
22:58:55 -!- copumpkin has joined.
23:01:29 <zzo38> I don't need any GPU driver, I don't want a GPU driver, what I want is the freely available and usable documentation for accessing it directly.
23:03:34 <pikhq_> Hmm. A sufficiently large company could buy a TLD, start using it exclusively, and then turn off caching and thereby *bring down DNS*.
23:04:08 <ais523> pikhq_: why would turning off caching do that? people not trying to visit their website wouldn't notice, right?
23:04:14 <zzo38> There is a document about "R600-Family Instruction Set Architecture". How well should that work?
23:04:17 <ais523> so all they'd do would be effectively to indirectly DOS themselves?
23:04:35 <pikhq_> ais523: The resolution would first go to the root server.
23:04:59 <pikhq_> The root servers are not set up to be very beefy, because all they answer for is the TLDs.
23:05:06 <ais523> wouldn't the root server cache the TLD's location, though, regardless of the TLD's wishes?
23:05:17 <ais523> they'd be insane not to
23:05:31 <pikhq_> Presently, they pay attention to the requested caching time.
23:06:27 <pikhq_> Erm. Actually. The root server can't cache anything; it's servers calling to the root server that does the caching.
23:06:48 <pikhq_> You only cache results from your own DNS queries, and the root server does not make any.
23:19:46 <Lymia> If they did that, the root servers would have to do something about it.
23:21:00 <pikhq_> Lymia: Yes, but in the short term DNS would be t3h fucked.
23:21:05 -!- foocraft has quit (Ping timeout: 258 seconds).
23:21:09 -!- foocraft_ has joined.
23:21:22 <Lymia> And that's how $COMPANY killed the internet.
23:22:04 <pikhq_> The DNS root servers are a point of relative weakness for the Internet. Stressing them is a bad idea.
23:23:29 <coppro> The root servers periodically are given updates to the root zone
23:23:36 <coppro> I don't know if it's done manually or automatically
23:24:14 <Gregor> So, how many will Microsoft own by next year?
23:24:28 <Gregor> I'm thinking "microsoft" and "windows", maybe '
23:24:29 <pikhq_> coppro: Not going to be practical for much longer.
23:24:51 <pikhq_> At present, the root zone doesn't change often.
23:24:55 <Gregor> lulz open.office -> MICROSOFT OFFICE DURPADURPADOO
23:25:01 <pikhq_> Soon, the root zone could potentially change every hour.
23:25:32 <Gregor> For the time being it looks like there's a shitload of bureaucracy between initial signup and activation of a new TLD.
23:25:36 <Gregor> So "every hour" is a bit silly.
23:26:06 <pikhq_> Gregor: Still, compared with how much it changes now?
23:26:44 <Gregor> Honestly I can't imagine it increasing to more often than once every several months in the immediate future.
23:26:52 <Gregor> I doubt that the actual /updates/ will be a problem.
23:27:22 <pikhq_> It's still a fucking terrible idea.
23:32:05 <pikhq_> Not to mention that that's a freaking global namespace.
23:32:17 <pikhq_> There's very, very few things that are deserving of that.
23:32:49 <pikhq_> Heck, I'm only willing to excuse the .com, .org, etc. TLDs for being due to hysterical raisins.
23:32:53 <Gregor> Such as museum, cooperatives, the aerospace industry, and the US military.
23:33:18 <pikhq_> .museum is stupid. .coop is stupid. .aero is stupid.
23:33:37 <pikhq_> .nato was removed in '96.
23:34:35 <pikhq_> Just about everything should be a ccTLD.
23:34:46 <Gregor> What's so great about countries?
23:34:51 <Gregor> Why do they deserve that namespace?
23:35:06 <pikhq_> Well, *something* needs to be at the top of the namespace.
23:35:27 <pikhq_> And countries are a somewhat natural top-level for an international hierarchy.
23:35:49 <Gregor> It's not an international hierarchy, it's an extranational hierarchy.
23:36:16 <pikhq_> True, true. So. What hierarchy actually makes sense?
23:36:42 <Gregor> None; but that's my point, so long as it doesn't become the lulsy state of "highest bidder = top level", it's fine, if a bit chaotic.
23:36:59 <Gregor> Of course, since it IS in that lulsy state, whoops
23:37:51 <pikhq_> I'd argue that something like ccTLDs as the primary form of organization makes *more* sense than a general mish-mash. But ultimately, that doesn't matter.
23:38:02 <pikhq_> Because nobody's proposing that we make a TLD organisation that makes sense.
23:38:24 <pikhq_> They're just proposing "highest bidder = top level".
23:40:06 <pikhq_> Fuck ICANN, and fuck the US for insisting on holding onto control over DNS.
23:40:35 <pikhq_> (remember, ICANN controls the registries because the US Department of Commerce says so!)
23:41:35 * Gregor luls at people who take things too seriously :P
23:42:05 <Gregor> pikhq_: RELAAAAAAAAAAX
23:42:18 <Gregor> It's all irrelevant trivium.
23:44:19 <Gregor> Paid TLDs are not the beginning of the collapse of modern civilization; or at least, if they are, they're only a part of greater things well beyond our control. Relax and enjoy the ride, stop fretting about silly decisions by silly people.
23:45:01 <ais523> there are more worrying things to be concerned with
23:45:23 <pikhq_> I'm more upset at the idea that these silly people can make decisions affecting, well, everyone.
23:45:51 <pikhq_> When they seem to be too silly to make decisions affecting themselves.
23:46:17 <Gregor> Bahaha, they delayed my flight again.
23:46:44 <pikhq_> Gregor: Where are you stuck at, anyways?
23:47:45 <pikhq_> Ah, so you're waiting on an ultralong flight, then. "Fun".
23:48:06 <Gregor> Well, it's the last flight in my trip, so it kinda doesn't matter that much for me.
23:48:25 <pikhq_> True, it's not like you're going to be missing any flights.
23:48:53 -!- zzo38 has quit (Quit: Push all function of computer).
23:58:21 -!- newsham has joined.