code logs -> 2015 -> Thu, 12 Mar 2015< code.20150311.log - code.20150313.log >
--- 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
code logs -> 2015 -> Thu, 12 Mar 2015< code.20150311.log - code.20150313.log >

[ Latest log file ]