--- Log opened Thu Mar 12 00:00:19 2015 |
01:17 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
01:17 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
02:14 | | Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has quit [[NS] Quit: ] |
02:18 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
02:21 | | Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has joined #code |
02:21 | | mode/#code [+o Alek] by ChanServ |
04:04 | | Turaiel[Offline] is now known as Turaiel |
04:09 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code |
04:09 | | mode/#code [+o Vash] by ChanServ |
04:10 | | Derakon is now known as Derakon[AFK] |
04:49 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
05:02 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [Connection closed] |
05:40 | | kourbou|sleeping is now known as kourbou |
05:43 | | Netsplit *.net <-> *.split quits: @abudhabi, @Namegduf, @EvilDarkLord, @gnolam, @Syka, @RchrdB, @[R], @VirusJTG, @Turaiel |
05:44 | | Netsplit *.net <-> *.split quits: @iospace, @Shiz, @Attilla, @Derakon[AFK], grindhold, @Xires, @froztbyte, @PinkFreud, kourbou, @Xon, (+13 more, use /NETSPLIT to show all of them) |
05:44 | | Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has quit [Ping timeout: 121 seconds] |
05:46 | | macdjord|slep [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
--- Log closed Thu Mar 12 05:46:48 2015 |
--- Log opened Thu Mar 12 06:09:26 2015 |
06:09 | | TheWatcher [chris@Nightstar-ksqup0.co.uk] has joined #code |
06:09 | | Irssi: #code: Total of 40 nicks [30 ops, 0 halfops, 0 voices, 10 normal] |
06:09 | | mode/#code [+o TheWatcher] by ChanServ |
06:09 | | Irssi: Join to #code was synced in 34 secs |
06:29 | | kourbou [kourbou@Nightstar-deqg8j.fbx.proxad.net] has quit [[NS] Quit: Cya guys!] |
06:44 | | celticminstrel [celticminst@Nightstar-gmujup.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:52 | | Kindamoody[zZz] is now known as Kindamoody |
07:17 | | Orth [orthianz@Nightstar-2k3.hn6.224.119.IP] has joined #code |
07:20 | | Orthia [orthianz@Nightstar-2k3.hn6.224.119.IP] has quit [Ping timeout: 121 seconds] |
07:20 | | Orth is now known as Orthia |
07:21 | | Orthia is now known as NSGuest24980 |
07:23 | | NSGuest24980 is now known as Orthia |
07:23 | | mode/#code [+o Orthia] by ChanServ |
07:30 | | Netsplit *.net <-> *.split quits: @iospace, @abudhabi, @RchrdB, @Wizard, @Shiz, Derakon[AFK], jeroud, @Attilla, @froztbyte, @Orthia, (+24 more, use /NETSPLIT to show all of them) |
--- Log closed Thu Mar 12 07:31:37 2015 |
--- Log opened Thu Mar 12 07:36:53 2015 |
07:36 | | TheWatcher [chris@Nightstar-ksqup0.co.uk] has joined #code |
07:36 | | Irssi: #code: Total of 38 nicks [29 ops, 0 halfops, 0 voices, 9 normal] |
07:36 | | mode/#code [+o TheWatcher] by ChanServ |
07:37 | | Irssi: Join to #code was synced in 35 secs |
07:48 | | Turaiel is now known as Turaiel[Offline] |
08:31 | | Netsplit *.net <-> *.split quits: @Orthia, @abudhabi, @EvilDarkLord, @gnolam, @Syka, @RchrdB, @[R], @VirusJTG, @Turaiel[Offline] |
--- Log closed Thu Mar 12 08:31:54 2015 |
--- Log opened Thu Mar 12 08:38:06 2015 |
08:38 | | TheWatcher [chris@Nightstar-ksqup0.co.uk] has joined #code |
08:38 | | Irssi: #code: Total of 37 nicks [28 ops, 0 halfops, 0 voices, 9 normal] |
08:38 | | mode/#code [+o TheWatcher] by ChanServ |
08:38 | | Irssi: Join to #code was synced in 36 secs |
08:39 | | Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has joined #code |
08:39 | | mode/#code [+o Alek] by ChanServ |
08:52 | | mac is now known as macdjord|slep |
09:14 | | jeroud [sid10043@Nightstar-6br85t.irccloud.com] has quit [Ping timeout: 121 seconds] |
09:16 | | jeroud [sid10043@Nightstar-6br85t.irccloud.com] has joined #code |
09:16 | | mode/#code [+ao jeroud jeroud] by ChanServ |
09:20 | | NSGuest3123 is now known as JustBob |
09:20 | | mode/#code [+o JustBob] by ChanServ |
09:56 | | AverageJoe [evil1@Nightstar-2ofrtr.ph.cox.net] has joined #code |
10:09 | <@Tarinaky_> | The Panini projection is getting some love on /r/programming the past week. |
10:09 | <@Tarinaky_> | *has been |
10:09 | <@Tarinaky_> | I think I might have to try to find the time to have a go implementing it. |
10:26 | | AverageJoe [evil1@Nightstar-2ofrtr.ph.cox.net] has quit [[NS] Quit: Leaving] |
10:27 | <@RchrdB> | Tarinaky_: I hadn't heard of that. That looks really cool. |
10:29 | <@TheWatcher> | Wait, shouldn't that be "Pannini Projection"? |
10:31 | <@TheWatcher> | Otherwise, I'm wondering whether it's the name given to the projectile upchuck after eating a particularly gone-off grilled sandwich... |
10:45 | <@Tarinaky_> | TheWatcher: Smartie pants. |
11:12 | <@Tarinaky_> | Anyone know if it's been used for anything serious in game graphics before? |
11:12 | <@Tarinaky_> | Or computer graphics I should say. |
11:22 | <@RchrdB> | Tarinaky_: you've now got me wondering how well it'd work to play games in Pannini. |
11:23 | <@simon> | Tarinaky_, is it because of that quake demo? |
11:24 | <@Tarinaky_> | simon: I think so. |
11:24 | <@abudhabi> | Pants made out of Smarties? What will they think of next... |
11:25 | <@simon> | Smartie Property, i.e. Smarties on the Bitcoin blockchain. |
11:25 | <@Tarinaky_> | RchrdB: There's a demo for Quake out there. |
11:25 | <@simon> | there's a youtube video of a guy testing it, too. |
11:25 | <@Tarinaky_> | Not sure if it's playable though. |
11:26 | <@Tarinaky_> | I think the youtube video was made from rerendering a err... game recording. |
11:26 | <@Tarinaky_> | Not sure the right word |
11:26 | <@Tarinaky_> | Since the demo also includes playing the game when it's unplayable |
11:27 | <@Tarinaky_> | So not sure it's implemented in realtime |
11:29 | <@Tarinaky_> | RchrdB: https://github.com/shaunlebron/blinky |
11:31 | <@simon> | Tarinaky_, ohh... I definitely had the impression that the projections were rendered in realtime. that'd be disappointing if it weren't the case. |
11:33 | <@RchrdB> | Tarinaky_: thanks! |
11:34 | <@RchrdB> | I think mostly I'm interested in "does this induce motion sickness in more or fewer people than the 'standard' perspective projection everybody uses at the moment?" |
11:34 | <@simon> | RchrdB, at how wide a FOV angle? |
11:35 | <@simon> | I think the 360 view is really cool. it'd be cool to get a pair of VR goggles that did this with a webcam. |
11:38 | <@RchrdB> | simon: yes, that's a good question, too. |
11:39 | <@RchrdB> | The standard perspective projection that every game uses at the moment gives different sets of people motion sickness at different FOV settings, hence games starting to add FOV sliders because it's an accessibility issue. |
11:39 | <@Tarinaky_> | Not just different FOV settings |
11:40 | <@Tarinaky_> | Different FOV settings for different screen sizes for different distance-to-screen |
11:41 | <@Tarinaky_> | Also: games have been removing FOV sliders for the last 3 or so years because it gives PC gamers and advantage or something. |
11:41 | <@Tarinaky_> | *an |
11:44 | <@Tarinaky_> | http://bet2015.co.uk/ |
11:44 | <@Tarinaky_> | Interesting idea. |
11:47 | <@RchrdB> | ... |
11:47 | <@Tarinaky_> | It's a map of how people /think/ the election will turn out, based on the predictions they made at the bookies |
11:47 | <@RchrdB> | "Not throwing up is an advantage now"? |
11:47 | <@Tarinaky_> | RchrdB: Having more stuff on the screen without throwing up is an advantage. |
11:48 | <@Tarinaky_> | PC gamers have the screen closer to their face (typically) |
11:48 | <@Tarinaky_> | Which means they can have a higher FOV. |
11:48 | <@RchrdB> | I still don't see the issue; nobody does mixes (PC vs console) multiplayer anyway because mice are an advantage in shooters |
11:49 | <@RchrdB> | I would like to beat people with their own shinbones for taking FOV sliders out because that's an accessibility feature and skimping on a11y is immoral. |
11:51 | <@Tarinaky_> | Well, then I don't know why but none of the multiplayer AAA or even AA FPS games from the last 3 years have had an FOV slider. |
11:52 | <@Tarinaky_> | The only first-person games I can think with them aren't what I'd class as FPS games. |
11:54 | <@Tarinaky_> | It's as likely to be a cost cutting measure as much as anything else. |
11:54 | <@Tarinaky_> | Because the games industry is kinda terrible atm. |
11:54 | <@Tarinaky_> | Even by games industry standards. |
11:57 | <@RchrdB> | Borderlands gets this right. |
11:57 | <@RchrdB> | Maybe I've just started caring less about shooters that aren't Borderlands. |
11:58 | <@RchrdB> | I don't think I've played any AA FPS made from 2012 onwards now that wasn't Borderlands. |
12:02 | | * TheWatcher sighs |
12:02 | <@TheWatcher> | Oh, the conflict |
12:03 | <@TheWatcher> | On the one hand, having someone ask "It'd be great if the system could do X" and being able to tell them "It does, just do Y and it's there" is good; it means I correctly anticipated the need |
12:04 | <@TheWatcher> | On the other hand, they'd have known that if they'd read the fucking documentation |
12:07 | | * Tarinaky_ goes searching for the relevant codelesscode |
12:08 | <@Tarinaky_> | http://thecodelesscode.com/case/169?topic=documentation |
12:08 | <@RchrdB> | http://thecodelesscode.com/case/66 |
12:08 | <@RchrdB> | oh, a different one! |
12:11 | <@RchrdB> | also, on a different but opposite note: https://twitter.com/mplappert/status/575957042466320384 |
12:12 | <@TheWatcher> | ahahahahaohgodwat |
12:12 | <@RchrdB> | The scariest thing is the idea that it happened more than once. :x |
12:18 | <@Shiz> | https://github.com/wishstudio/flinux |
12:18 | <@Tarinaky_> | I probably only needed to happen twice... |
12:21 | <@gnolam> | RchrdB: :D |
12:21 | <@TheWatcher> | "Some major missing functions are file permissions, process management, signals, multi-threading, and more. Applications depending on these technologies will not work properly." - I'm surprised anything works, then |
12:24 | <@Tarinaky_> | Apparently xeyes works |
12:25 | <@Tarinaky_> | Which is the height of Linux's gaming catalogue :P |
12:32 | | * TheWatcher had apparently missed http://thecodelesscode.com/case/178 , fallsover laughing |
12:35 | <@Tarinaky_> | http://thecodelesscode.com/case/179 |
12:59 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
12:59 | | mode/#code [+o Checkmate] by ChanServ |
13:00 | <@Tarinaky_> | http://www.gamedev.net/topic/666419-what-are-your-opinions-on-dx12vulkanmantle/# entry5215019 |
13:14 | <@Shiz> | Segfaulting a GPU isn't a fun experience. You can't trap that in a (user space) debugger. |
13:14 | <@Shiz> | :3 |
13:16 | <@Checkmate> | That's a pretty good post. |
13:17 | | gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [[NS] Quit: Gone] |
13:23 | <@Tarinaky_> | YouGov: "Our latest voting intention figures for The Sun this morning are CON 34%, LAB 35%, LDEM 7%, UKIP 14%, GRN 5%." |
13:27 | | * TheWatcher is bloody shocked that the libdems are getting any votes at all, frankly |
13:30 | <@iospace> | TheWatcher: are they more or less crazy than UKIP? |
13:33 | <@Tarinaky_> | iospace: Libdems are center-left neoliberal conservatives. |
13:33 | <@Tarinaky_> | The same as Labour and the Conservatives. |
13:34 | <@Tarinaky_> | Well, conservatives are arguably center-right neoliberal conservatives |
13:34 | <@Tarinaky_> | And labour arguably centerist neoliberal conservatives. |
13:35 | <@Tarinaky_> | UKIP are right-wing neoconservative liberals. |
13:35 | <@TheWatcher> | iospace: considerably less crazy than UKIP. But then, that isn't actually difficult. |
13:35 | <@Tarinaky_> | With a Euroskeptic, antimigration platform |
13:36 | <@TheWatcher> | that's a very diplomatic way to put it |
13:37 | <@Tarinaky_> | And Greens are far left social-democrat experiment into croud-sourcing a political manifesto that is less coherent than the MRLP |
13:37 | <@iospace> | MRLP? |
13:37 | <@Tarinaky_> | Monster Raving Loony Party. |
13:38 | <@Tarinaky_> | Also notable; the Greens goal in the next election is to get the number of seats held into the double digits... in base 2. |
13:41 | <@Tarinaky_> | MRLP are like... a satirical party that aims to come up with the silliest manifesto possible and dress like a clown. |
13:43 | <@TheWatcher> | iospace: see, the thing about the libdems is that they ended up in a coalition with the conservatives. A roughly equivalent situation would be a bunch of overenthusiastic and naive sheep deciding to try and run with a wolf pack. |
13:43 | <@iospace> | heh |
13:44 | <@iospace> | TheWatcher: so the greens want all of two seats? :P |
13:44 | <@Tarinaky_> | This was to push through a referrendum on electoral reform that was unpopular amongst the two major parties because turkeys don't vote for christmas. |
13:44 | <@Tarinaky_> | But the Tories shafted them on this by dumping a ton of money into campaigning against it. |
13:45 | <@Tarinaky_> | And they were able to use the austerity as smoke and mirrors to convince a bunch of people that no meant 'now right now' |
13:45 | <@Tarinaky_> | Rather than "not for the next 20 years" |
13:46 | <@Tarinaky_> | Lots of lies, damn lies and statistics. |
13:46 | <@Tarinaky_> | But I'm not bitter. |
13:47 | <@TheWatcher> | and 20 years is, coincidentally, just about the amount of time it'll be before the libdems manage to rebuild even a scrap of the support they had before the last election... |
13:48 | <@Tarinaky_> | Well, to be fair, the SNP taking scotland would hurt them far more than the student thing will. |
13:48 | <@Tarinaky_> | The scottish referrendum was one of the key things that stopped people voting SNP, ironically. |
13:48 | <@Tarinaky_> | Now that's off the table the SNP are going to get more votes. |
13:49 | <@Tarinaky_> | Which is going to really hurt the LibDems and labour. |
13:51 | <@Tarinaky_> | Looking at the stats my prediction is Labour take just enough seats from the conservatives for a working minority. |
13:51 | <@Tarinaky_> | Or are just shy of a majority. |
13:53 | | * iospace yawns |
13:53 | <@Tarinaky_> | For the foreigners: a majority is when one house has more than 50% of all available seats... Guarenteeing they can get legislation through. However, a few of the parties don't take up their seats and opposition parties aren't guarenteed to vote against you. |
13:53 | <@Tarinaky_> | So a working minority is when they have over 50% of MPs actually present at a vote. |
13:55 | <@Tarinaky_> | Coalition governments are actually incredibly rare: until the last election the last time it happened was the war. |
13:56 | | * iospace stabs this codebase repeatedly |
13:56 | <@Shiz> | coalition governments are the norm here |
14:00 | <@TheWatcher> | You'd think it was the End of Civilisation they way they carried on about it here. |
14:00 | <@TheWatcher> | Actually.... |
14:01 | <@Tarinaky_> | The fear atm is a Labour+SNP coalition looks likely. |
14:02 | <@Tarinaky_> | Which would give the core Tory voter a heart attack. |
14:02 | <@TheWatcher> | Yes, yes it would |
14:02 | <@TheWatcher> | It would be hilarious |
14:02 | <@Tarinaky_> | So they've been trying to convince everyone else that it should give them a heart attack to. |
14:03 | <@Tarinaky_> | Because devolution, the hollyrood problem, the Barnett Equation and Trident are key issues everyone in England doesn't really care about. |
14:03 | <@Tarinaky_> | One way or the other. |
14:04 | <@Tarinaky_> | (Because of the quirk of devolved policy: Scottish MPs can vote on laws that don't actually apply to their constituents) |
14:05 | <@TheWatcher> | (which reminds me, I really should start looking for jobs in scotland...) |
14:07 | <@Tarinaky_> | Sadly that'd require leaving behind the life I've started to build for myself here. |
14:36 | <@RchrdB> | I wonder if this will be the last generation of GPU APIs ever. |
14:36 | <@RchrdB> | (looking at 13:00:02 @Tarinaky_ | http://www.gamedev.net/topic/666419-what-are-your-opinions-on-dx12vulkanmantle/# entry5215019) |
14:36 | <@Shiz> | no |
14:36 | <@Shiz> | there'sy our answer |
14:37 | <@RchrdB> | Why? What else could you possibly need to add once the GPU is all compute-based? |
14:39 | <@Tarinaky_> | What does compute mean in this context anyway? |
14:39 | <@Tarinaky_> | Userspace? |
14:39 | <@TheWatcher> | RchrdB: APIS to make compute easier to do~ |
14:39 | <@RchrdB> | GPGPU APIs already exist and don't need to be tackled separately. |
14:41 | <@TheWatcher> | How long have you been programming? |
14:42 | <@Tarinaky_> | Who is that aimed at? |
14:42 | <@TheWatcher> | RchrdB |
14:43 | <@RchrdB> | TheWatcher: I find the question pretty insulting and will not answer it. |
14:45 | <@TheWatcher> | Fair enough, I'll put it this way then: someone woulc produce the most perfect, amazing set of hardware and software imaginable, and there will always be someone - probably multiple someones - who think they can do it better, and will produce multiple, usually incompatible, ways of doing it. Nothing in the new generation of GPUs, APIs, and other TLAs is going to change this |
14:45 | <@TheWatcher> | s/woulc/could/ |
14:46 | <@TheWatcher> | I can guaratnee you there will be new GPU APIs, there will be APIs to sit on top of thsoe APIs, there will be incompatibilities, and stupidities, and working-at-cross-purposes |
14:47 | <@Tarinaky_> | And probably APIs to simulate the old hardware on the new hardware that wants to do everything differently. |
14:47 | <@TheWatcher> | because sturgeon is the law, and programming is full of egos, and hardware is full of magness and spiders. |
14:47 | <@TheWatcher> | *madness |
14:49 | <@TheWatcher> | And I've seen, time and again, people wondering whether <insert computing subject here> is the last generation/best it can ever be/lease broken/most usable/whatever and it never is. |
14:54 | <@TheWatcher> | So no, it won't be the last, it'll last as long as it takes for another sea change in the way the hardware works, or until demand for a different way of talking to the hardware emerges, or until some bright-spark comes up with a new way to do things, or until it all starts to groan and split at the seams from unwieldy kludges and hacks to keep it working |
14:56 | <@RchrdB> | So, counterexample: superscalar CPUs. |
14:59 | <@RchrdB> | The rough overview of common CPU ISAs hasn't changed in any way that's interesting sinceā¦ about 1998? |
15:00 | <@RchrdB> | Intel took a run at changing that with Itanic and ran into a giant iceberg made out of customer apathy because the design didn't actually improve anything enough for everybody to rewrite their software from scratch to run well on it. |
15:00 | <@RchrdB> | Another counterexample: Unix and OpenVMS (commonly referred to as "Windows NTā¢" but we'll forgive them that, they ran out of money and all the engineers got bought by Microsoft) ;P |
15:01 | <@RchrdB> | essentially neither of those designs show any particular sign of going away any time soon, and both are decades old |
15:01 | <@iospace> | code snip of the day: "switch (doWhat)" |
15:02 | <@RchrdB> | things stay around "forever" if the cost of switching away from them vastly exceeds the marginal gains of doing so |
15:02 | <@Tarinaky_> | 'Forever' in this context is at most 30 years. |
15:02 | <@Tarinaky_> | maybe 60 |
15:04 | <@Tarinaky_> | If we're just going on case studies. |
15:04 | <@RchrdB> | The field itself is only about 120 years old. :P |
15:04 | <@Tarinaky_> | The lack of data is not permission to make up anything you like. |
15:05 | <@Tarinaky_> | And it's not necessary to think of 'the field' as being a new field, you can break it up into its applications and origins and then it has a history as long as those applications. |
15:06 | <@Tarinaky_> | Art has been around since 'forever', Computer Art isn't any less Art than Ogg fingerpainting his cave. |
15:06 | <@RchrdB> | We're... not talking about art. |
15:06 | <@Tarinaky_> | We... kindof are. |
15:06 | <@Tarinaky_> | Computer Graphics are art. |
15:07 | <@Tarinaky_> | And video games are an extension of non-video games which're as old as agriculture. |
15:08 | <@TheWatcher> | RchrdB: yeah, but for everything that has managed to hang around there are many things that haven't, many things that were held up as being the last/best/finished whatever, only to end up in obscurity and redundancy a few years later because the wind changed. |
15:08 | <@Tarinaky_> | Putting a stake in the ground and declaring that because we use a transistor we can pretend nothing existed before the UNIX epoch is a bit silly. |
15:09 | <@TheWatcher> | And pretty much nowhere has this happened more than in graphics |
15:10 | <@RchrdB> | I haven't claimed that it definitely has. I have claimed that it's not implausible that it might be settling soon. |
15:10 | <@TheWatcher> | It would be nice. |
15:11 | <@Tarinaky_> | And our argument is that it is highly implausible. |
15:11 | <@RchrdB> | Look at RenderMan's language specification: that hasn't changed since 2007. |
15:11 | <@RchrdB> | (coincidentally, RM is the thing that inspired fragment shaders on GPUs and let to the current state of the art) |
15:11 | <@Tarinaky_> | 2007 is not that long ago. |
15:11 | <@Tarinaky_> | It's not even a full decade. |
15:12 | | celticminstrel [celticminst@Nightstar-gmujup.dsl.bell.ca] has joined #code |
15:12 | | mode/#code [+o celticminstrel] by ChanServ |
15:13 | <@Tarinaky_> | 2007 is closer to now than it is to the Clinton administration |
15:18 | <@Tarinaky_> | On an unrelated note: I just heard a rumour that Terry Pratchett has died. |
15:19 | <@Wizard> | Yep |
15:19 | <@Wizard> | BBC is reporting it |
15:19 | <@TheWatcher> | Well, fuck |
16:00 | | RchrdB [RichardB@Nightstar-v5j366.understood.systems] has left #code ["WeeChat 1.0.1"] |
16:07 | | thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code |
16:07 | | mode/#code [+o thalass] by ChanServ |
17:31 | <@iospace> | oh gods this code is using bad gotos |
17:34 | <@celticminstrel> | What sort of bad gotos? |
17:36 | | thalass [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Ping timeout: 121 seconds] |
18:53 | | Turaiel[Offline] is now known as Turaiel |
19:09 | | Kindamoody|afk is now known as Kindamoody |
19:09 | | thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code |
19:09 | | mode/#code [+o thalass] by ChanServ |
19:19 | | Syka_ [the@Nightstar-c409v3.vividwireless.net.au] has joined #code |
19:19 | | Syka [the@Nightstar-c409v3.vividwireless.net.au] has quit [Connection closed] |
19:25 | | thalass [thalass@Nightstar-h1qmno.eastlink.ca] has quit [[NS] Quit: Leaving] |
19:28 | | Vorntastic [Vorn@Nightstar-k70f1n.ct.comcast.net] has joined #code |
19:28 | < Vorntastic> | Oh god. Client needs Ruby help |
19:32 | | Turaiel is now known as Turaiel[Offline] |
19:33 | | thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code |
19:33 | | mode/#code [+o thalass] by ChanServ |
19:41 | <&ToxicFrog> | Vorntastic: don't get poisoned |
19:48 | <@iospace> | ewwww ruby |
19:48 | <@iospace> | Ruby on Fails is worse thoguh |
19:49 | < Vorntastic> | Yeah, they're using something else |
19:50 | < Vorntastic> | Honestly, meh, stacking paper |
20:02 | <@TheWatcher> | Hey TF, Vorn? Do you know which services package nightstar uses? |
20:05 | <&ToxicFrog> | TheWatcher: Anope 2.x |
20:05 | <@TheWatcher> | Danke. |
20:08 | < Vorntastic> | I kept thinking "zope? Node? Uh..." |
20:11 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code |
20:11 | | mode/#code [+o Vash] by ChanServ |
20:42 | | gnolam [lenin@Nightstar-afpphi.tbcn.telia.com] has joined #code |
20:42 | | mode/#code [+o gnolam] by ChanServ |
20:46 | | kourbou_ [kourbou@Nightstar-deqg8j.fbx.proxad.net] has joined #code |
20:50 | | kourbou_ [kourbou@Nightstar-deqg8j.fbx.proxad.net] has quit [Connection closed] |
21:31 | < Vorntastic> | Ruby is strange. This I remembered. What I had forgotten was precisely *how* strange. |
21:37 | | gnolam [lenin@Nightstar-afpphi.tbcn.telia.com] has quit [[NS] Quit: Reboot] |
21:38 | <@Reiv> | Wasn't that chalains baby at some point |
21:39 | <@Reiv> | He kept going on about syntactic sugar like he was in a sweets shop |
21:41 | < Vorntastic> | Slightly. |
21:41 | < Vorntastic> | He wrote, like, a rails load tester |
21:44 | | * TheWatcher hates all over Ruby, possibly more than Java and that takes some >.> |
21:45 | <&ToxicFrog> | Ruby strikes me as an ugly mess but one that could at least be enjoyable to use |
21:45 | <&ToxicFrog> | Much like perl |
21:46 | | gnolam [lenin@Nightstar-afpphi.tbcn.telia.com] has joined #code |
21:46 | | mode/#code [+o gnolam] by ChanServ |
21:47 | | kourbou [kourbou@Nightstar-deqg8j.fbx.proxad.net] has joined #code |
21:52 | | Kindamoody [Kindamoody@Nightstar-180u8i.tbcn.telia.com] has quit [Connection closed] |
21:52 | | Vorntastic [Vorn@Nightstar-k70f1n.ct.comcast.net] has quit [[NS] Quit: Bye] |
21:53 | | thalass is now known as Thalass|afk |
21:53 | | Kindamoody|autojoin [Kindamoody@Nightstar-180u8i.tbcn.telia.com] has joined #code |
21:53 | | mode/#code [+o Kindamoody|autojoin] by ChanServ |
21:53 | | Kindamoody|autojoin is now known as Kindamoody |
21:54 | | gnolam [lenin@Nightstar-afpphi.tbcn.telia.com] has quit [Ping timeout: 121 seconds] |
21:54 | | gnolam [lenin@Nightstar-afpphi.tbcn.telia.com] has joined #code |
21:54 | | mode/#code [+o gnolam] by ChanServ |
21:56 | | Thalass|afk [thalass@Nightstar-h1qmno.eastlink.ca] has quit [[NS] Quit: printyprint] |
21:57 | <@Wizard> | Ruby is my current favourite language, I think |
22:12 | <@Shiz> | agree with ToxicFrog |
22:13 | <@Wizard> | How is it an ugly mess, though? |
22:14 | <&McMartin> | My memory of Ruby is that there are generally multiple syntactic ways to get the same semantic effect |
22:15 | <&McMartin> | Blocks vs. callables (vs lambdas? I forget), calling methods on integers vs using them as arguments to traditional iteration constructs, etc. |
22:16 | <&McMartin> | That sort of multiplication is I think the most direct metric of "clutter" |
22:16 | <&McMartin> | And since the direct reference here was Perl, which is chock-full of that and, indeed, brags about it... |
22:18 | <@Namegduf> | Perl doesn't do the weird sort of half-English-looking thing, though. |
22:19 | <&ToxicFrog> | No, but it's the same sort of design philosphy of "for any given task, include as many different ways of accomplishing it as we can think of, ideally at the syntax level" |
22:20 | <@Wizard> | IME lambdas and such aren't used very much anyway, nor are callables as such ('course, someone coming from a pure ruby POV might see differently) |
22:20 | <@Wizard> | Generally things are just done with block yielding if needed |
22:24 | <&McMartin> | Namegduf: Sure it does. the if/or suffixes pioneered it. |
22:24 | <&McMartin> | Wizard: That's true of all such languages, though perhaps the Ruby community is small enough that basically everybody uses the same subset |
22:25 | <&McMartin> | Perl and C++ both rather infamously are not intended to be used entire, but rather for devs to subset it as needed and work in that |
22:25 | <&McMartin> | Which is great until you have, oh, two developers working on the same project and they have different subsets. |
22:26 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
22:26 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
22:28 | | * McMartin reads way back |
22:28 | <@Wizard> | McMartin: KISS works pretty well in that regard |
22:28 | <&McMartin> | KISS and TMTOWTDI are not incompatible. |
22:29 | <@Wizard> | My general opinion of Ruby is along the lines of "sure it LETS you do stupid things" |
22:29 | <&McMartin> | In fact, proponents will claim the latter *enables* the former |
22:29 | <@Wizard> | McMartin: It is when there is a fairly clear idea of when something is too intricate or verbose to justify |
22:29 | <@Wizard> | Oh |
22:29 | <@Wizard> | Sorry |
22:29 | <@Wizard> | I thought you said not compatible |
22:29 | <&McMartin> | Right |
22:30 | <@Wizard> | I have not come across a Ruby lambda in the wild yet |
22:30 | <&McMartin> | I mean, at the end of the day, the question is whether being able to write "3.times(f)" makes your code more or less simple. |
22:30 | <@Wizard> | And the amount of procs I have seen can be counted on one hand |
22:30 | <&McMartin> | You're going to have to define "proc" here |
22:30 | <&McMartin> | It clearly is not "function that returns no value" |
22:30 | <@Wizard> | http://apidock.com/ruby/Proc |
22:31 | <&McMartin> | OK, that is formally "doing it wrong" by the standards I use |
22:31 | <@Wizard> | I mean they have a small bit of benefit but yes, they seem to be generally avoided |
22:31 | <&McMartin> | Right |
22:31 | <@Wizard> | Again, someone like Tarinaky might come from a different place |
22:31 | <@Wizard> | I'm doing basically full time Rails |
22:31 | <&McMartin> | The thing is, it's also a strictly inferior version of what local function definitions are supposed to be |
22:32 | <&McMartin> | As in "JavaScript got this one right and most other commonly used languages don't" |
22:32 | <&McMartin> | "Because JavaScript stole its semantics directly from Scheme" |
22:32 | <~Vornicus> | THe last time I used ruby I was left basically hating it, but not for any of the features |
22:32 | <~Vornicus> | It was the marketing, vs what I actually had to do to get what I needed done |
22:33 | <&McMartin> | (define (gen-times factor) (lambda (n) (* n factor)) |
22:33 | <&McMartin> | If you've done functions right, this should Just Work and require no special syntax or library support. |
22:34 | <~Vornicus> | Specifically: I wanted to implement mathematical vectors, and the following three operations: vector * number, number * vector, vector / number; however, number / vector still had to be illegal |
22:34 | <&McMartin> | And indeed IIRC the JS is simply function gen_times(factor) { return function(n) { return n * factor; };} |
22:43 | | Kindamoody is now known as Kindamoody[zZz] |
22:43 | <~Vornicus> | In Python you do this by implementing vector.__mul__, vector.__rmul__, and vector.__div__; in Lua you do this by implementing vector.mul and vector.div such that the former also accepts its parameters in backwards order and the latter does not. In Ruby, neither of these work: a op b *always* calls a.op(b), and *never* calls anything on b... |
22:45 | <~Vornicus> | So you implement it on Numeric or whatever the base class is and discover that it never gets called because all the numeric types implement * in such a way that it never checks whether its parent knows how to handle it; then you try coercion but discover that, since Ruby's coercion system doesn't find out what operator you're using you can't simply swap the operands because that would make non-commutative operators explode |
22:46 | <~Vornicus> | So you have to implement int.mul (and move aside the existing one) and float.mul (and move aside the existing one) and complex.mul (and move aside the existing one) and rational.mul (and move aside the existing one) and so forth |
22:47 | <~Vornicus> | And this prospect, as you may imagine, made me quite grumpy, because I thought Ruby was supposed to be Don't Repeat Yourself and this is four versions of the same code. |
22:48 | <~Vornicus> | Plus however many other ones I need to get types I hadn't yet contemplated |
23:33 | | gnolam [lenin@Nightstar-afpphi.tbcn.telia.com] has quit [[NS] Quit: Z?] |
--- Log closed Fri Mar 13 00:00:35 2015 |