« first day (1714 days earlier)      last day (1724 days later) » 

12:00 AM
@LessPop_MoreFizz This is a good example, really. You don't need several different stats for damage. If they all do the exact same thing, just for a different weapon/class, then they're essentially the same stat.
 
@Wipqozn BUT... BUT... BUT... MY IMMERSION
 
iirc Diablo 3 had that. It has several different attributes, but each class only used what, 2 or 3? one was for damage, and then health I think?
The other stats used just for damage didn't even matter. You mine as well just put them all into one new stat.
 
@Wipqozn just call the stat "damage" and be done with it
 
@MattGiltaji Exactly. If you have 4 stats for damage, but each class i onyl using one of them... then those other 3 stats are completely pointless.
 
PoE is actually pretty clever about it. One stat scales raw damage, one scales speed of attacks, another scales accuracy, and another scales AoE area and Buff/Debuff/DoT duration
(They all do other things as well)
 
12:04 AM
@LessPop_MoreFizz That's a smart way to do it.
 
Every class benefits from all of them to some extent, but there are clear synergies and builds where you prioritize.
 
@LessPop_MoreFizz dammit, now i need to play PoE
 
@LessPop_MoreFizz It definitely adds a lot more variety and uniqueness to builds too than just 4 different stats wihch all just add damage.
 
I.E. barbarians want Int and Might, because Int makes their rage last longer and their cleaves (which is their main gimmick) wider and hit more things, and because big two hand weapons work best with said cleaves and scale best with might
But if you want to, you can totally build a Dex barbarian that dual wields daggers to hit everything a whole lot of times.
 
@LessPop_MoreFizz I really like the sound of that system.
I can't believe people are complaining about that.
Well, okay, I can, because people. but still.
 
12:07 AM
The other big thing that has them MAD ABOUT VIDEO GAMES is the Engagement System.
 
@LessPop_MoreFizz does this involve blue feathers?
 
Basically, once a character gets close enough to an enemy, he and that enemy are 'Engaged'. If either one leaves a certain radius, the other one gets a free attack - with a big accuracy/damage bonus.
 
@MattGiltaji I understood that reference.
 
@MattGiltaji facedesk
 
Fighters in particular get all kinds of tools to manipulate engagement and extend it's radius and lock people down and engage multiple enemies at a time
but fundamentally, it's the way that tanking happens in PoE.
And it has the grognards FURIOUS.
 
12:09 AM
@LessPop_MoreFizz So an attack of opportunity, basically, which is a concept that exists in every tabletop RPG.
 
It is above all else, and without question, the single thing about which they are most angry.
 
@LessPop_MoreFizz why, it sounds like attacks of opportunity in dnd
 
@MattGiltaji It is exactly like that.
 
dammit slow internet ><
 
@LessPop_MoreFizz See, to me, that system sounds a lot more interesting than just "tanks draw more aggro".
 
12:10 AM
so now that it is clear that i REALLY MUST PLAY poe... chances are that my comp won't be able to handle it
 
IT's a lot more immerse than just having some aggro value. It makes a lot more sense that the reason enemies are attacking you tank isn't because he's big and strong, but because they just can't let their gaurd down long enough to get away from him without getting their face cleaved off.
 
The trick of engagement versus classic Attacks of Opportunity is that the Disengagement Attack causes the target to stop moving momentarily while a 'hit' animation plays...
which usually provides enough time for the attacker to reestablish engagement if they want to.
 
Also, this conversation has made me add PoE to my steam wishlist. I will be buying this at some point.
Because all of these things sound fantastic.
 
Which is a defense against kiting ranged characters - and gives melee characters many more tools for area denial.
 
1
Q: Using DirectX 11, getting message: Shader model 3.0 or better graphic device required

ZephyrDirect X 11 is supposed to have Shader 5.0, so why is this happening when I try to run Xenoverse? This is the first part of DxDiag: System Information Time of this report: 3/24/2015, 19:54:31 Machine name: HARSHA-PC Operating System: Windows 8.1 64-bit (6.3, Build 9600) (9600.winbl...

 
12:12 AM
@LessPop_MoreFizz so a ranged character would need to kite while staying out of engagement range?
 
@MattGiltaji Yes, which is difficult because they need to stop moving to reload and shoot
endless kiting is pretty much impossible.
You need to slow down the pursuer in order to do it, either by having an ally engage them, or rooting them or whatever
 
Sounds like they are making it more difficult (and interesting/fun) to kite.
@LessPop_MoreFizz That sure does sound like it encourages tactical and team based play.
But we wouldn't want that.
 
is this human co-op or ai co-op?
 
@MattGiltaji It's human controls a party of up to 6.
 
@LessPop_MoreFizz It looks like people want endless gear grinds where the boss only drops stuff that they'll never use.
 
12:16 AM
@Yuuki Oh, so you've read the WoW forums lately then.
 
@Wipqozn PoE is f2p
 
@Chippies We're not talking about Path of Exile.
 
@Wipqozn Certainly not in Fuck You, Suck My Dick: Josh Sawyer's Personal Dream RPG.
@Chippies It's 45 dollars. (49 Canadian.)
 
@Wipqozn oh, I thought you were, since the conversation involved Diablo 3 at first
 
@LessPop_MoreFizz Gotta be honest, the fact he didn't actually name it that is probably the biggest missed opportunity in the history of everything.
 
12:17 AM
so what is this PoE that you, guys, are talking about?
 
@Wipqozn (He has been calling it that for quite some time over on SA.)
 
@Chippies Pillars of I Can't Believe I'm Actually Considering Buying This When It Launches Eternity.
 
or Pillars of Eternity for short.
@LessPop_MoreFizz haha, that's awesome
 
12:18 AM
ah, I've heard that title mentioned before
 
@LessPop_MoreFizz Honestly, I'd be more inclined to buy it if he makes that the release name.
@LessPop_MoreFizz I want to see this.
 
Okay, so I think my new gaming order will be: MH4U -> Majoras Mask -> Bloodborne -> PoE
 
@Wipqozn it says on the website it's "gone gold", so it has launched? Or does that mean something different nowadays?
 
@LessPop_MoreFizz Ugh... I don't want to make an account...
 
12:19 AM
This sounds a lot more fun than DAI, so I think I'll play that before going back to finish DAI.
 
@Yuuki Oh, is it paywalled? Welp, sorry.
 
@Chippies I can never keep track of what going gold means.
 
@LessPop_MoreFizz Not so much paywalled as accountwalled.
 
(First pages of threads sometimes aren't. I'm never sure when they change it.)
 
oh apparently it means it's ready to launch
but hasn't actually launched
 
12:20 AM
@Yuuki SA Accounts ain't free buddy.
 
@LessPop_MoreFizz They aren't? That's nasty.
 
@Wipqozn gold used to be the original "master copy" of the record used to print other records
 
@Wipqozn last I heard that term used it meant the CDs were shipped to retailers, I think
 
Screenshot?
 
@Yuuki one time lifetime registration fee keeps the riff raff out.
 
12:21 AM
I'd imagine in today's digital era going gold would mean the same as being released/launched
 
> The term "release to manufacturing", also known as "going gold", is a term used when a software product is ready to be delivered or provided to the customer.
 
@LessPop_MoreFizz ♪ Just a little forum post...
 
@Wipqozn doesn't mean it's actually released, just that it is ready to be released
 
That's the very first time the term was ever used.
(Rope Kid == Josh Sawyer, lead dev on Eternity, previously Director and Lead Dev on Fallout New Vegas, Icewind Dale 2 and many other games.)
 
Periodically I think "paying for SA might be interesting" then I am like "eh, too many other things to do"
 
12:24 AM
(Please tell me at least @AshleyNunn got that reference)
 
@Yuuki Which?
 
2 mins ago, by Yuuki
@LessPop_MoreFizz ♪ Just a little forum post...
 
@Yuuki I feel like I should but I am too tired to brain
 
1
Kerbalnauts

Proposed Q&A site for the Kerbal Space Program.

Currently in definition.

 
12:25 AM
@NewlyOpenedProposalsforEntertainment i smell a dupe close
 
This is actually my favorite Aladdin song.
I guess everyone's too shocked that my favorite Aladdin song isn't Friend Like Me or A Whole New World.
 
@Yuuki yeah, i don't think we can be friends if your favorite song isn't friend like me
comply!
 
@Yuuki Prince Ali is my favourite.
 
@Wipqozn Yeah, Be Prepared is the best Lion King song.
 
> stampede, in the gorge, simba's down there!
 
12:33 AM
@MattGiltaji (tears)
 
It seems to be raining inside.
@murgatroid99 I like the in-movie rendition more than the credits version.
Sorry to all Michael Bolton fans.
 
Mulan for best Disney princess.
 
12:36 AM
@Wipqozn nah, jasmine ftw
 
@Wipqozn you win
 
@murgatroid99 I figured I would
 
@Wipqozn If we define "Disney princess" as "female main character in a Disney movie", I think I would actually vote for Lilo.
 
Going out to dinner, I just walked out to my car, unlocked the door, and sat in the back seat, wondering where the steering wheel went.
 
@Yuuki Lilo is my favourite
 
12:38 AM
I should probably just order delivery.
 
@AshleyNunn Pudge controls the weather.
 
@LessPop_MoreFizz uh...yes. I don't think you should be driving.
@Yuuki Mulan is considered a disney princess, iirc.
 
@Wipqozn That's why I put my conditional.
 
@Wipqozn I remember one time that my Brony club in college started singing this for some reason, and we got all the way through without it playing as a reference
 
12:41 AM
@murgatroid99 That's always a great feeling.
 
I can't believe how much time I spent in here. I could have been reading!
Clearly the only solution is to go back to reading right now.
 
But we are awesome!
 
@Chippies Basically teaching application as opposed to theory?
 
@Yuuki The funny thing is that most of us probably know most of the songs from the show pretty well, but that's still probably one of the only songs we could have done that with
 
@Yuuki Seems that way
 
12:42 AM
@AshleyNunn You are, but books.
Okay, I'm off. Toodles all.
If I wind up buying PoE tomorrow it's @LessPop_MoreFizz fault.
I suspect, however, my resolve will hold out.
 
@Wipqozn i thought it came out on the 26th?
 
@Wipqozn FWIW I am sober.
Also, what if I told you I could help you buy Eternity for half price but you have to decide now?
 
@LessPop_MoreFizz i'd take it
 
@MattGiltaji convince @Wipqozn and one more to join in and you can chop another 5 bucks off.
(They haven't removed extra keys from the backer store. 25 each, 60 for 3.)
 
@Wipqozn, i'm going to make an automated script to ping you every $time interval until you agree to get PoE
 
@Wipqozn you know you want to get PoE
 
> That vocal core minority has to keep developers on a tight leash because when they start catering to the silent majority, this is the end result {pictures of Oblivion and Fallout 3 box art}
 
@LessPop_MoreFizz i didn't understand that point, i liked both of those games ...
 
@MattGiltaji because you aren't a CORE RPG FAN.
 
1:08 AM
@LessPop_MoreFizz does core rpg == those old games which seem like a blatant rip off of dnd combat?
 
@MattGiltaji core modifies fan
 
@LessPop_MoreFizz i see
 
@MattGiltaji I feel like that's the point. Unless it wasn't a sarcastic post.
 
@Yuuki it wasn't. Oh God it wasn't
 
@GnomeSlice pillars of eternity
 
1:11 AM
> Developers have to listen to us [crazy people], otherwise we end up with things like [Game of the Year] or [Also Game of the Year].
 
> Too many people like it; it can't be good
 
the ad-hominem attacks in this rpgcodex thread are pretty out there
 
@Wipqozn you know you want to get PoE
 
the word is isometric goddamnit!!!
(Skip to 17:30)
 
1:21 AM
@LessPop_MoreFizz "ISOSCELESIFIC" !
 
1:39 AM
0
Q: i cant play a modpack

Justin Westi cant play a modpack. i have some know how but im stumped. i have re installed minecraft, deleted my .minecraft over and over again but i keep getting this error. Mar 24, 2015 6:28:41 PM net.minecraft.launchwrapper.LogWrapper log INFO: Loading tweak class name cpw.mods.fml.common.launcher.FMLTw...

 
Question: when should I try to use recursion instead of iteration? I get that the answer is "DON'T USE RECURSION", but that doesn't really help me.
inb4 "DON'T USE RECURSION"
 
@yuuki traversing a tree structure
Like doing something to every file in a parent directory and all subdirectories
 
@Yuuki Problems which lend themselves well to recursion
 
@TimStone I knew I should've inb4'd recursion jokes...
 
It's not even a joke!
 
1:53 AM
Man, QC is so depressing right now. I get how we got here, but daaaaaaamn, heavy shit.
 
@AshleyNunn Well. Now I feel better for being lazy and not staying up-to-date on my webcomics.
 
Yeah, its not as fun right now.
 
0
Q: How do I invite my friend to my world

bellaI want to play with my best friend but I don't know how. Please Me and my friend are so close and, I can't build anything without her.

 
I'm sure there's an app or extension for keeping track of where you are on your webcomics, but I'm too lazy to find it.
 
I just have a browser folder that I throw open every day
it helps I don't read many
 
2:04 AM
HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
 
lunarbaboon is my new favourite
 
this was my dessert tonight
it's so beautiful
 
@Yuuki called bookmarks :p
 
and it was so tasty
 
TIL @spugsley likes chocolate rats
 
2:05 AM
@MattGiltaji Too lazy to manually switch out bookmarks.
 
@MattGiltaji chocolate rats filled with chocolate liquor soaked cake and vanilla mousse frosting
 
I meant an app/extension that updates what your current page is whenever you look at a newer page and has a little badge notification when there's an unread page.
 
@spugsley vanilla mouse frosting? i see whjat you did there
 
@MattGiltaji ;p
 
Problem is, webcomic artists aren't the most consistent when it comes to navigation schema.
I'm sure someone's solved it, I'm just too lazy to look.
 
2:10 AM
@Yuuki As you say, it would probably be tough to solve without cataloging the navigation schema of every webcomic site in existence
 
@murgatroid99 Or only support a number of webcomics.
Just update the extension with new schema every time someone wants a new webcomic on the reader.
 
Especially if you want to support something like MSPA, which isn't even internally consistent
 
@murgatroid99 Yeah, that's the other problem.
 
Though, it probably doesn't get worse than Homestuck for something like that
One of the pages was originally hosted on a different website
 
@murgatroid99 ... That sounds terrible.
 
2:13 AM
It was a 13 minute flash video. It was originally hosted on Newgrounds, but was eventually moved back to the site
Even then, some pages use a non-standard URL structure, and the reading order isn't strictly linear
Oh, especially with the recent pages that jump way back, then go to a password page that takes you to a new page if you input the right password.
Multiple instances of this share a single password page
 
This seems more like one of those ARGs than a webcomic.
 
People call it a hypercomic. It's very much like a standard webcomic, but it has a lot of elements that can only be expressed in website form
hypercomic like "hypertext", in case that wasn't obvious
There are flash video pages, flash game pages, side stories in header images, different site design for certain parts of the comic, stuff like that
 
@murgatroid99 so it copies xkcd?
@murgatroid99 flash :S
 
@MattGiltaji not really. That basic concept is the same, but they do the hypercomic concept in very different ways
@MattGiltaji the comic started before HTML5 was a thing. I suspect that switching just isn't worth the cost
xkcd has a few one-shot interactive comics. Homestuck has "hypercomic" built into the structure of how the story is told
At one point, a character gains (limited) retcon powers, and then proceeds to change actual panels earlier in the story
 
2:34 AM
@Wipqozn Yay my frenemy comes through for me again.
 
That sounds like an amazing experience.
One that I do not wish to partake of.
I mean, it seems great. It also seems like a headache.
 
@murgatroid99 Wait, that sounds interesting. Is Homestuck actually something worth getting into?
 
@John well, I think so.
 
@murgatroid99 Well if it's good enough for @murgatroid99 it's good enough for anyone
 
I'll warn you that it's something like 8000 pages long at this point (and almost done), and the first couple of acts can be tough to get through for some people
 
2:37 AM
Hm...read 8000 pages of Homestuck or 8000 pages of textbooks...
 
No, I guess it's closer to 7500
@Yuuki It's not really that bad. It's mostly linear. The plot itself is what's hard to keep track of
 
@LessPop_MoreFizz i don't think @Wipqozn is going to join in. how do i get that half price PoE?
 
I feel like a genius for coming up with this binary-to-decimal conversion in 5 minutes without reference. Please give me my 5 minutes of feeling-good-about-myself before you shoot me down. Also, yes I know it assumes sanitized input.
int toDec(int num, int weight)
    {
        if(num == 0 || num == 1)
            return num * ((Double)(Math.pow(2, weight))).intValue();
        else
            return toDec(num % 10, weight) + toDec(num / 10, weight + 1);
    }
 
@MattGiltaji pretty sure he went to bed right before @LessPop_MoreFizz offered the discounted deal. Coincidence? I think not!
 
@Yuuki if it's a binary to decimal conversion, where is the binary input?
@Chippies i agree
although he mentioned something about "reading"
but if it's not reading the bridge, i wouldn't classify it as "reading"
 
2:50 AM
@MattGiltaji Using it would go along the lines of int decimal = toDec(BinaryNumberYouWantConverted, 0);
> Also, yes I know it assumes sanitized input.
 
@Yuuki How do you represent a binary number as an int?
Oh, I see, actual 1's and 0's in the decimal representation
Why not just use 1's and 0's in the binary representation of the int?
 
@murgatroid99 I'm not exactly sure what you mean.
 
@Yuuki base 10 isn't exactly a natural representation for numbers on a computer
numbers are already in binary
 
@murgatroid99 Ah. Because the professor wanted a function that converted decimal representation of binary to decimal representation of decimal.
Or something along the lines of that that I'm not wording terribly well.
 
@Yuuki oh, yeah, in that case your code looks right.
There are cleaner ways to do it, but it looks correct
 
2:58 AM
@murgatroid99 Do those cleaner ways do it without recursion?
 
@Yuuki I can think of at least one that does
 
@Yuuki I'm not an expert, but wouldn't you be better off taking string as input, rather than int?
 
Was "weight" part of the function signature you had to implement?
 
int would limit the size of your binary number quite a bit, wouldn't it?
 
@murgatroid99 Yeah.
@Chippies int is also required for some reason unknown to me.
Basically, she gave the function header int ToDecimal(int number, int weight) and said "use recursion".
 
3:00 AM
@Yuuki for input? That's silly
 
@Yuuki ok, I think I still know a simpler way, but I probably shouldn't give you homework answers
 
anything above base10 255 would be too big for the input
 
@murgatroid99 Eh, I already have my answer and you telling me a better way isn't going to change it.
 
unless I'm dumb and don't understand how things work, which is possible
 
You can tell me tomorrow if it makes you feel better.
 
3:01 AM
@Yuuki think about what would happen if you had a negative number passed in
i know, input validation and all
 
10 mins ago, by Yuuki
> Also, yes I know it assumes sanitized input.
 
@Yuuki first thing, ((Double)(Math.pow(2, weight))).intValue() is going to get the same thing as 1<<weight
so that whole line could be return num<<weight
 
@murgatroid99 <<?
 
@Yuuki bit shift
its a fun operator
 
@MattGiltaji Ah...
Yeah, I don't think she would enjoy bit shift.
 
3:03 AM
@Yuuki <<n is equivalent to *(2^n)
 
Remember, this is the instructor that said using array.length is "nerdy".
 
@Yuuki lol
 
@Yuuki If a CS instructor is degrading something in a programming language as "nerdy", they shouldn't be teaching CS
 
@murgatroid99 better phrased than what i put
 
@murgatroid99 You can see why I don't particularly enjoy this class, huh?
 
3:06 AM
int toDec(int num, int weight) {
  if (weight > 1) return toDec(num, 1) << weight;
  if (num <=1) return 1;
  return 2 * toDec(num/10, 1) + toDec(num%10, 1)
}
That's what I'd do
I'm pretty sure that's right
 
Going back a bit (on mobile, can't link) - Homestuck is one of those things I wanted to like but I have tried so many times and I just can't stick with it long enough.
 
@AshleyNunn Yeah, I know a lot of people have that reaction. You have to either like the early stuff or be willing to power though a lot of it to enjoy the comic
@Yuuki Without the weight parameter, it would look like this:
int toDec(int num) {
  if (num <=1) return 1;
  return 2 * toDec(num/10) + toDec(num%10)
}
That's why I was asking if you had to use it
 
@murgatroid99 Wouldn't an input of 0 return 1?
 
@Yuuki yeah, that first return should be return num
 
@Yuuki yes, mistake
in both versions
Actually, if I needed the weight parameter, I'd write
int toDec(int num, int weight) {
  return toDec(num) << weight;
}
using the second version
There are times when a more general function can be easier to implement, but this isn't one of them
 
3:22 AM
I find it interesting how you can't even open a new document if you're looking at a Word document in Protected View.
 
@murgatroid99 Yeah I keep wanting to get into it but the beginning is just such a grind that I can't connect with it enough. Which sucks because as art and as a cultural thing, it's fascinating
 
@murgatroid99 I assume this doesn't run toDec in an infinite loop and I'm curious why
 
@Chippies because the input number is assumed to have only 1's and 0's in the decimal representation
so num%10 will always be 0 or 1
 
trying to go through it step by step in my head
okay, I guess I figured it out
first time I ever see an example of recursion and it's scary
 
@Chippies once you understand it, recursion can be a fantastic way of expressing things relatively simply
 
3:30 AM
@murgatroid99 and by "simply" you mean extremely complicated, with very little words
 
@Chippies no, I actually mean simple. Sometimes, recursion can be the expression closest to the actual meaning of the thing you're trying to represent
 
the scary part is that it's very difficult to follow it step by step what it does, because it just repeats itself until it's done
 
Like, each Fibonacci number is the sum of the previous two, so I can write:
int fib(int n) {
  if (n <= 1) return 1;
  else return fib(n-2) + fib(n-1);
}
 
I'm gonna try to remember these examples, and maybe one day I'll use recursion for something
I guess recursion is simple in a way, it's just hard to wrap my head around it
 
Fibonacci is probably one of the best examples, because it's well known, and the recursive function is the simplest way of expressing the definition as a program
 
3:34 AM
trying to follow each step it does basically creates a tree that branches off in multiple directions with every step
 
@murgatroid99 i believe the iterative fibonacci is faster
@Chippies write it down and it gets a bit easier
like run through n = 3 or n =4
 
@MattGiltaji it is. This is an example of expressiveness, not efficiency
 
@MattGiltaji yeah, usually true for all code
with regular code though, usually I can manage to run most in my mind
 
@murgatroid99 oh definitely, i can never remember the iterative fibonacci
 
@MattGiltaji It's this:
a=1, b=1
while(True):
  yield a
  a,b = b, a+b
(in python, as a generator)
 
3:38 AM
thing1, thing2 = anotherthing1, anotherthing2 statements annoy me.
 
And this may even be simpler to follow, the point of the previous example was that the recursive function was a good representation of the definition of the Fibonacci sequence
@Yuuki otherwise, you'd need a temp variable
 
@Yuuki it gets quite awesome when you get used to it
 
I think it's still cleaner than temp = a+b; a=b; b=temp
 
It just looks wrong.
 
@Yuuki I didn't even know you could do that :x
 
3:39 AM
@Yuuki lots of things look wrong if you're not used to the language
that construction is pretty specific to Python (and maybe ruby)
 
@murgatroid99 Yeah, I'm in the process of learning Python.
 
@murgatroid99 that explains why I didn't know you could do that
 
PHP does it stupidly as list(thing1, thing2) = array(otherthing1, otherthing2)
 
@murgatroid99 It has to be list(...) = array(...)?
array(...) = array(...) or list(...) = list(...) doesn't work?
 
@Yuuki list is a special construct that goes on the left side of the = for this purpose. The thing on the right just has to be an array
Let's just ignore PHP. It's always dumb, and it's not a good example of anything
 
3:42 AM
@murgatroid99 Is it a good example of how not to construct a programming language?
 
@Yuuki yeah, I was about to say something like that
 
@murgatroid99 Yes, it works in Ruby.
What doesn't work in Ruby?
Sane looping syntax, I guess.
array.each do |element|
  # loop body
end
 
I recently found out you can do:
x = a > b ? 1 : 5;
 
@Chippies this makes me angry
 
@Chippies How is this better than x = a > b?
 
3:45 AM
@StrixVaria because of this
 
@StrixVaria true : false was just a crappy example
and I see my error now
but that was not the point
 
Ternary operators! I'm not sure how I feel about them!
 
Ternary operators are best avoided.
Ruby doesn't support them! +1 thing it does right I guess.
 
there, I edited it to express what I meant better
 
PHP's ternary operators are left-associative. I didn't even understand that sentence when I first read it, because it didn't make sense to make them do that
 
3:48 AM
well, now I know what that's called...
 
@Chippies yeah, ternary operators can be useful, but the usual effect is to make the code less clear
It's almost always better to have an if/else block
 
Ruby has a really awful thing that makes you double-take every time you see it.
return unless x == 5
 
@murgatroid99 sometimes an if/else block adds a lot of whitespace for something very simple though
 
unless is like an automatically-negated if, and you can use it anywhere you could use if and vice verse. That's fine. But this particular construction has it reversed from the normal order you'd see things.
 
@StrixVaria I hate that, but my coworker insists it's "idiomatic", so it's in our codebase
 
3:51 AM
@murgatroid99 "idiomatic" ruby is unlike any other sane programming.
 
Not that exact thing, but unless at the end of a line to conditionally not execute the statement
 
The loop construction I used before works for any iterator (so it's consistent), but that makes it really easy to miss what KIND of loop you're in.
 
Would unless x = 5 return do the same thing?
 
So you could do something like:
 
@StrixVaria maybe it shouldn't matter
 
3:51 AM
array.map do |element|
  # loop body
end
Which does something completely different from .each
@Yuuki To write it the other (normal) way, you'd need to do:
 
@StrixVaria The worse thing is that that construction is the only possible construction for any possible function that takes a lambda (proc) parameter
 
unless x == 5
  return
end
@murgatroid99 Well you can pass the block in {} instead of using do
 
@StrixVaria I mean the whole "proc as a magical last argument" thing
 
@Yuuki So the "one-liner if statement" has the syntax reversed from usual, essentially.
@murgatroid99 Which makes it super fun trying to pass a Hash as the last argument.
I do not like the fancy stuff ruby tries to do with methods. The automatic array-to-arguments thing is also really strange.
 
@StrixVaria I don't like the fact that a function name with no arguments calls the function, instead of referring to it
 
3:56 AM
@murgatroid99 Parentheses are optional (unless the last argument is an in-line Hash or one of the argument is also a method call (and possibly more exceptions)) :|
 
@StrixVaria I know. My point is that most modern languages let you refer to a function by just having its name, but not Ruby
 
Another awful choice that makes it hard to tell what's happening.
 
I think even C lets you do that
 
That makes sense, since C treats () as an operator.
Well, I know in C++ you can overload it.
I don't think C had operator overloading.
 
@StrixVaria it did not
It just feels like Ruby designers don't think that precedent has any relevance to what's intuitive in a programming language
 
3:58 AM
I remember when I first found out how operator overloading worked in like 10th grade I thought it was the coolest feature ever and used it constantly. Then I read opinions of people who thought it was awful and said never use it and literally couldn't understand how it could be bad. Now, having seen it (and Ruby), I understand.
@murgatroid99 I kind of like the idea that they'd design a language "as it should be" instead of "to be like other languages". I just don't like Ruby.
 

« first day (1714 days earlier)      last day (1724 days later) »