« first day (2006 days earlier)      last day (2987 days later) » 

user41796
7:00 PM
No kidding...
 
grumbles
 
@gnat @MichaelT Scala is good stuff, yeah? Any particular resources to start poking at it with? Relevant points to know before starting (big version changes coming? only works on mac os, turns out to be terrible?)
It has seemed worth picking up if a bit bulky as languages go.
 
Maybe don't abuse the system then, maaaaaaaan
 
lol
 
<- Can't help himself today.
 
user55340
7:05 PM
@JimmyHoffa it's a nice language. Play framework seems dominant for web stuff.
 
@Ampt hey, I've never been super pro-MS or anti-Java. I like various things about MS but I like things about it's competitors too... .NET has just been something I've been unable to escape ever since falling in. as time goes by it becomes clearer and clearer any shop that goes the .NET route is terrified of the idea of trying anything different
 
thats what happens when you invest tens of thousands into one stack and all you get is some IDEs and a compiler
 
@enderland re: your question, I've had similar problems on large changes to established changes as well. My personal experience is that the most effective solution so far is for everyone working on the inter-related features to do each other's code reviews as that gives everyone an incentive to review promptly, stay aware of the other PRs and deal with conflicts preemptively.
 
@Ampt it's not even that, when you have the stack paid for, using others too is free.. it's just the culture, people are terrified of having to pick up new stuff when they have such a friendly ecosystem at their fingertips. Bleh, better solutions for many problems exist.
 
posting here since that doesn't feel appropriate as an answer or a comment
 
7:16 PM
SUPERGIRL SO GOOD
 
I missed another Supergirl episode didn't I
 
yes
SO GOOD
also in the "so good" category:
proven success. thanks to Jimmy for the first 50%
 
I've never been a fan of DC, except for Vertigo.
 
Funny, it was Indigo this week
 
user41796
And now we know who starred Ampt's comment...
 
7:21 PM
@PreferenceBean you.... have way too much free time today
@PreferenceBean RUN! THEY'RE ON TO YOU!
 
@PreferenceBean how do you do this "user script" thinger?
 
145
Q: Negative question scores should be prefixed with a − (minus sign) instead of a - (hyphen)

FUZxxlRight now, a negative question/answer score is prefixed with a dash (U+002D). It should be prefixed with a minus sign (U+2212) instead, which is the typographically correct character. The minus sign has the HTML4 named entity &minus;, so its availability should be good. Here is a visual compariso...

 
If you're on Chrome and you want Feeds shown above the starboard rather than in a dismissible pop-up, install this extension! (or in userscript form) (screenshot)
 
@PreferenceBean what is a userscript?
 
@JimmyHoffa basically dump it in a name.user.js, write a manifest.json and load "unpacked" from Chrome extensions page. I think the format is the same for Greasemonkey. Chrome also lets you pack it into an actual extension which is much easier to deploy. I'd put it on the extension store but they charge for submission powers -.-
but that's what it is - basically a browser extension
the code runs on page load rather than you having to execute a bookmarklet
 
7:24 PM
gotcha, I've unpackaged extensions before and meddled with them then loaded them as unpacked before so I get it
never knew doing that was how people used the so called "userscript"s I've seen
 
:thumbsup:
@JimmyHoffa I dunno; it may not be. that's what I call 'em though
I suspect many people use Greasemonkey instead
so can you pin my msg :D
 
don't know what greasemonkey is, just know they change oil and had lots of beer in the office upstairs with an awesome computer for playing classic links
 
oh wow and it works with the dynamically-sized starboard too
like, it works properly
 
@JimmyHoffa Scala would be my favourite language except for the problem that dense code can take amazingly long to compile, and that tooling is a bit meh. But the object model and type system is superb. Also, Scala as a JVM language must always compete against Java, and Java8 is a lot more attractive than earlier versions. “It has lambdas” or “it has Play and Akka” is not a valid reason to choose Scala, while “omg static typing” probably is.
 
user41796
@RobertHarvey Talk about folk who need something else to do...
 
7:26 PM
I used the online tutorials on the Scala site for learning, and they are a bit crappy – superficial spotlights rather than a comprehensive tour. This is insufficient because the semantics do get non-trivial. Perhaps there's a good book by now.
 
also highly recommend: "More Stars" StackApp
oh hey, congrats:
 
@KitZ.Fox Well, it was a carryover from my personal blog. I hadn't planned on seeing it animate in chatrooms. (I personally could watch Perot all day long, but I know animations are pretty dang annoying.)
 
@amon yeah, I'm a reference learner typically because most materials spotlight certain things without giving the depth of really looking at an outright listing of what's possible does... LYAH did a great job covering top to bottom where RWH spotlighted what is needed to actually do the needful
Haskell being the first language I needed a book to pick up in forever
 
Does everyone in the Whiteboard get Programmers.SE swag now that we've reached 10,000 stars?
 
@JonEricson OK. I forgive you.
 
user41796
7:28 PM
@JonEricson I nearly literally laughed out loud because that's what brought you into our room today.
 
user41796
sed s/our/this/
 
user114359
@MichaelT I hitched my wagon to a HNQ and I'm riding the wave to 20k, 100 rep at a time just like you told me to: programmers.stackexchange.com/q/311507
 
@PreferenceBean I don't know about swag, but I just gave you all a virtual gold star.
 
@JonEricson sick and fierce thanks
 
@JonEricson aw man, I wanted a mug
 
7:29 PM
@amon eclipse, intellij, or emacs? or other? What do you encourage for getting setup to meddle with it?
 
@JimmyHoffa you know the true answer to this. Search your feelings.
 
user41796
@Ampt Your swag hasn't shown up yet?
 
@GlenH7 Quit rubbing it in :(
 
user41796
Mine only showed up yesterday. I'd suspect yours will be there today
 
@Ampt I already gave y'all an animated GIF and a gold star. Isn't that enough?
 
7:30 PM
@Ampt somebody is really dried up on work and opened the bottle early today I see
 
@JimmyHoffa nah I ran out yesterday ;(
 
user41796
@JonEricson We may not have been properly appreciative about the animated GIF...
 
user114359
Animated GIFs are the STDs of the web
 
@GlenH7 I put whole minute into finding it. :-(
 
@JonEricson you're just mad Perot lost. Give it up, EDS was a nightmare to work for according to many coders I knew who worked there.
 
7:34 PM
animated gifs are glorious
 
(yeah! this is how to argue politics; with tangential and meaningless attacks on politicians who weren't even relevant almost 30 years ago :D)
 
user41796
@JonEricson Once again, this room has let you down. I'm exceptionally sorry about that.
 
@JimmyHoffa Eclipse is horrible. I'd use Intellij if I'd pick up Scala again – I used IDEA for last semester's Java project, and it was very nice. Emacs is just straight out wrong. Last time I touched Scala, that was probably with Vim. If you don't use an IDE, taking the time to set up SBT and a compiler daemon is definitively worth it.
 
Does everyone in the Whiteboard get Programmers.SE swag now that we've reached 10,001 stars?
 
user41796
@amon Woah, woah, woah now youngin. "Emacs is just straight out wrong" Really?
 
user41796
7:35 PM
Or did you mean only in the case of Scala?
 
Notepad++ or bust. Rest of ya, git oot.
 
user41796
@PreferenceBean Continental US only, sorry
 
@amon I've used Eclipse and IDEA and use emacs in spaaaace for web development and any non-debugging-code. I agree about IDEA being awesome and Eclipse being garbage...
 
you're all talking so much I haven't even found the time yet to read the blog post with the allegedly terrible gif
 
@GlenH7 u srs
 
7:35 PM
and yes Notepad++ ftw
 
user114359
@whatsisname I expected that from a muppet who lives in a garbage can
 
Does everyone in the Whiteboard get...... yeah ok
 
user41796
@PreferenceBean Yeah, the swag budget was blown with the 10M Q swag. Nothing left for overseas shipping.
 
@PreferenceBean notepad-- more like. That piece of shit always reopens extra files when I want to open 1 file, and it automatically attaches itself as the defacto editor to so many things. I hate when people install it on servers; I go to edit a config file and instead I get a window with 40 config files because nobody closes the tabs, and I just wanted notepad, but it decided I really wanted it instead when it was installed..
 
@PreferenceBean Come talk to me when it's -1.
 
7:36 PM
@GlenH7 Put it on a plane then
 
I like Notepad++.
It doesn't mess with my stuff.
 
I guess we just have a different sort of relationship.
 
@JimmyHoffa ...it never does that for me. Unless you mean it remembers what files you had open last time you ran it, which is objectively a good thing which every app on the planet does these days.
 
@PreferenceBean
 
7:38 PM
I also like notepad++
 
the one big problem with Notepad++ is that it has this rare crash bug that erases the file you were editing before it finishes crashing, so you have to know how to naviate to its internal cache folders and copy the non-erased version out before you let it die completely
 
I'd rather deal with 40 extra nonsense tabs than actual notepads terribleness
 
@Ixrec nonsense. When I'm trying to carefully edit some production config file, and it opens up a window with 40 versions of that file I get uncertain which one it's editing and what it's going to do when I'm done. Then I go to close it and it bitches some other tab has edits I'm supposed to save when I didn't make them or even know what file it is! Eff that.
 
@JimmyHoffa
 
@JonEricson :(
 
7:39 PM
I'm going to read this blog post now
 
If I want more than just "edit this snippet of text" great, I'll use a real editor. If I want to edit 2 characters in a 50 line text file, I want notepad
 
@GlenH7 personal preference. And one day, you too will embrace by the light of Vim.
 
@JimmyHoffa wtf? how do you so often manage to take simple and awesome tools and monumentally spaz them up
 
@Ixrec Now it's certain to disappoint.
 
Notepad++ is the bare minimum for me because so many of the text files I work with at home contain Japanese and non-Windows line breaks, which Notepad is far too out of date to handle even remotely close to properly
 
user41796
7:40 PM
@amon Okay, at least you're resorting to that argument.
 
I hate how everyone everywhere has agreed it's the greatest thing such that it get's installed on every server I ever deal with, and trying to edit any text documents on them always results in that confusing damned app loading
 
user41796
Vim is just a submode of emacs anyway
 
@amon isn't that a bathroom cleaner?
 
whatever you're talking about, it ain't Notepad++
 
@Ixrec I think he might be trolling, at this point
 
7:41 PM
@Ixrec 'tis.
 
it is a possibility
 
@PreferenceBean no, I really am the only person who has decided that app is a piece of complete junk.
everyone everywhere installs it on every machine they touch. And I absolutely hate it.
 
I can't take seriously anyone who calls desktop programs "apps" :P
 
it's shorter, that's the only reason I use it
 
@GlenH7 If that were so (not just a keybinding layer), that would get me to give Emacs another chance. I liked org-mode, and the overall design.
 
user41796
7:42 PM
@PreferenceBean WUT? You were taking him seriously before?
 
@amon intrue; emacs in spaace will enlighten the hearts of all some day.
 
also the Japanese shortening is "appli" which is adorable
 
@JimmyHoffa close tabs when you're done with them. don't associate every single file extension with the program when you install it. problem solved....
@GlenH7 I assume good faith
 
@PreferenceBean I'm not the one who installs it or leaves tabs open!
 
btw your msg was #27943000 congrats
 
user41796
7:43 PM
@PreferenceBean Quit it. Coworkers are wondering why I'm laughing out loud.
 
@JimmyHoffa then it seems to me that your problem is not with "a piece of complete junk" editor, but "a piece of complete junk" load of teammates
 
It's default install is to attach as the default program for a ton of files for all users
 
@JimmyHoffa It's 2016. Who installs a program with its default settings?
 
@PreferenceBean ...everyone
 
I use the default settings for everything because only I use my machine
 
7:44 PM
Gah; I'm always stuck with the B team. Sue me.
 
@JimmyHoffa Yes, correct, where "everyone" = "just you"
lol
 
@PreferenceBean I never do that. Everyone everywhere else does. Just like how they're afraid of branches (scary!)
 
if anything I'm mildly annoyed at how many text file types with no program bound to them are not picked up automagically by Notepad++ and force me to go through five extra clicks to read them
 
oooo
the only thing that's really annoyed me about Notepad++, actually three things:
 
Migrate to code review:
0
Q: Can this be simplified?

Eric ShobergI have an extremely large function for turning my database output of menu links into a multidimensional array that nests each of the links in a menu fashion. I'm wondering if anyone sees a way this class function can be shortened or simplified in some way. I start with this array from the DB: ...

 
7:46 PM
1. No built-in hex editor and the plugins system has broken on me a few times (distant past, mind you)
2. Upgrades seem to break my styles so I don't bother any more (distant past again)
3. Poor handling of huge files (you may say this is to be expected, but editors exist that can handle gigabyte-sized files perfectly well and it would be convenient were Notepad++ to become one of them)
 
finally finished the blog post, now to watch Supergirl quickly flies to the US
 
otherwise no problem and I love the ability to define syntax highlighting for my own DSLs :D
@Ixrec I really enjoyed it this week. No spoilers for now, because I love the show too much, but don't forget I owe you one.
 
user114359
@JimmyHoffa flag it
 
@Snowman did
 
for the record my accidental spoiler the other day was a very mild one as it's revealed almost immediately in the game, and I was deliberately using wording that did not reveal any of the real spoilers
 
7:48 PM
just pushing for people to notice and see about getting it pushed over... CR is no longer in beta, why don't we have a migrate-to-CR option in our migration path?
 
user41796
@Ixrec Sorry, but we still have to drag you in front of the full tribunal.
 
@JimmyHoffa there were meta posts about it where we decided no, iirc the argument was not enough volume
 
user41796
^^^ That
 
@PreferenceBean I just never want a "notepad" that does any one of the things notepad++ does... I'll use emacs or another IDE or editor if I want to do something specialized
 
user41796
Not enough volume to justify the effort. And there's been enough false positives on migrating there that we're better off having a mod handle it
 
7:49 PM
@JimmyHoffa I'd be rather cautious to migrate to CR since there are a few unusual rules. E.g. answers don't necessarily solve a stated problem, instead the asker should be open to suggestions regarding all aspects of the code. Code must be written by the asker, not code they maintain. This can be confusing. A link “consider deleting and reposting to CR, see their on-topic guidance” might be better.
 
@JimmyHoffa Then use emacs or another IDE or editor and quit whining
 
the CBS website is really unhappy today
 
@Ixrec agghhhhhh that's another spoiler!!!!!!
now I know something about the structure of the plot
dude
 
user114359
Looks like the only meta questions on the topic is Jimmy's own from a few years ago and one that is a dupe of it:
 
user114359
2
Q: Migration path to Code Review please?

Jimmy HoffaI know we don't want too many migration paths, and we definitely don't want ones that are likely to leech away our good questions, but I think of all the technology related websites, the scope of Code Review actually has likely the least overlap with us of any others. No part of our site scope i...

 
7:50 PM
@amon yeah, the unusual rules was the main thing that came to mind for me... otherwise I'd be all for it but yes - they do have to maintain things a certain way for their site to function properly being that it's a bit of an odd site to begin with.
 
...I'm gonna have to disagree on that being a spoiler
 
@Ixrec yeah. that's what we've been doing, basically I ping the required people for featureA while working on featureB :P
 
user114359
@JimmyHoffa if you think there should be a migration path, ask the question again now that CR.SE is out of beta. But I think Glen already gave you the answer, although it might be helpful to have it in a more permanent form on meta anyway.
 
@Ixrec and I'm going to have to banish you to the Phantom Zone
 
@amon is there leg work involved in getting Scala stood up and working properly? You mention installing the tools is a good exercise- is it a bit tricky such that it's worth doing by hand so you know how it all fits together?
 
user114359
7:51 PM
Plus we can ping CR to chime in on a meta question and get their perspective
 
@enderland I told you the other day, I only got a shirt
I had to change my address because I moved across the country and I never got it
 
user41796
@durron597 Did you send an email to jnat?
 
maybe my old landlord has it?
 
user41796
@durron597 likely
 
@GlenH7 i did and that's why i got a shirt
well, not jnat, i emailed tim post
gotta run
 
user41796
7:53 PM
From the MSE "summarize all swag contests" post, I got the impression jnat was in charge of that one
 
obviously Tim Post is in charge of shipping all swag
... in the post ...
 
@JimmyHoffa Not more complicated than a Java toolchain, except that scala-related packages on Ubuntu are a bit few. Installation by extracting archives, then meddling with your PATH works fine since it's all just .jar files. Windows has an installer, I think.
 
user41796
@PreferenceBean That pun is so horrifically bad...
 
0
Q: CR isn't in beta - migration path to them now?

Jimmy HoffaThis was previously declined as CR.SE was in beta and migrations to beta sites are not allowed. CR is no longer in beta! Congratulations to CR! I know we don't want too many migration paths, and we definitely don't want ones that are likely to leech away our good questions, but I think of all th...

 
I don't think that was the reason the consensus was "no" last time
 
7:57 PM
@Ixrec 'twas
5
A: Migration path to Code Review please?

Thomas OwensAs discussed here, there are never migration paths to Beta sites. This seems like a reasonable idea, assuming that Code Review gets out of Beta, and we should revisit this then. In the mean time, if there's an exceptional post that you feel belongs on Code Review, flag it for moderator attention ...

 
2
Q: CR isn't in beta - migration path to them now?

Jimmy HoffaThis was previously declined as CR.SE was in beta and migrations to beta sites are not allowed. CR is no longer in beta! Congratulations to CR! I know we don't want too many migration paths, and we definitely don't want ones that are likely to leech away our good questions, but I think of all th...

 
@GlenH7 thanks Glen
@StackExchange omg y dis in chat not in feeds nooooooo
 
user41796
@PreferenceBean because people wanted things inline in chat.
 
user41796
And that's a meta post, not a main post.
 
@GlenH7 but that got undone i thought
 
7:58 PM
ah sorry I was remembering a post about a different migration path we turned down
 
so it's half and half? great
 
user41796
Just for main
 
good way to keep everyone unhappy :)
 
@PreferenceBean meta's very quiet...
 
@JimmyHoffa it had meta be
 
7:59 PM
that said, I'm going to change it's feed to ticker
@PreferenceBean this is worse than my puns
 
user41796
@JimmyHoffa I prefer it there too
 
@JimmyHoffa that's punlikely
 
user114359
@Ixrec CompSci.SE
 
anybody who takes issue with the ticker now has side-bar ticker options, end of story
 
user114359
@Ixrec I think it was about Big-Oh questions
 
8:00 PM
that was yet another post
 
Big-Uh-Oh questions amirite
 
Jimmy Hoffa has made a change to the feeds posted into this room
 
it would be nice if someone asked a big-O question that wasn't just "here's a for loop, how do I big-O it?"
 
"here's a big-O, how do I for loop it?"?
(kept the comma splice in just for you)
 
user114359
15
Q: Should questions on Big-Oh be on-topic here?

SnowmanCurrently, questions on Big-Oh are on-topic on the Programmers main site because they fall under "algorithm and data structure concepts." Does the community feel that these questions should continue to be on-topic, or should we change them to be off-topic? Arguments for being on-topic These qu...

 
8:01 PM
@enderland now that you dropped your CR.SE rep I have to see if anybody here is beating me in CR.SE .... maybe just after more people leave the room. As some of you have probably got a lot more than me. :o
 
@JimmyHoffa why did he drop his repuntation on CR.SE?
 
user41796
@JNat - Ok, this is bizarre
 
when you're expecting an important call at work and it ends up being a spam call
-.-
 
user41796
Do SE employees have a feed that calls out whenever they get mentioned even without an '@' symbol?
 
@GlenH7 just pretend it didn't happen. Act casual everybody. TheSkyIsNotListeningTheSkyIsNotListeningTheSkyIsNotListening
 
8:03 PM
yes
I wrote them a userscript
 
@GlenH7 No. I was just pointed to the above exchange
 
Jimmy helped but couldn't finish because Notepad++ was working too well
and enderland was too busy quitting his job :)
 
user41796
@JNat Fair enough. Then I suspect I know who the mole is. :-)
 
damnit @amon you kicking my ass on CR.SE :/
 
And wanted to make it clear that yeah, I'm the one in charge of the swags
 
user41796
8:04 PM
I hope my email from last night made sense?
 
@GlenH7 It did, yes. I'll reply back tomorrow: today was a busy day
 
user41796
@durron597 - See JNat's comment above as to who to write.
 
@JNat so what I'm hearing is; if anybody contacts Tim Post directly, you get shit from somebody else, instead of being able to file the request away without anybody noticing it came in... ;D high-five
 
user41796
Cool, thanks. I can relate to having busy days lately.
 
@Ixrec Don't forget it's mother's day on Sunday
 
user41796
8:05 PM
@JimmyHoffa Have another round of scotch...
 
^^ don't have to tell me twice
@PreferenceBean tell me you're joking
 
user41796
23 secs ago, by GlenH7
@JimmyHoffa Have another round of scotch...
 
@JimmyHoffa I don't know much sorry. It has an interesting compiler that tries to infer anything that can be inferred and squeeze out of JVM anything it can (Odersky is an ex javac lead). It's JVM, meaning cross-platform (very early versions also worked on .Net but this time has passed long ago). It uses typical Java infrastructure - build tools, dependency management, IDE, libraries and frameworks. Of books, I've read only 3 or 4, one I liked most was Pollack's Beginning Scala
 
not cool. I started getting pretty scared there when it said May and I was totally uncertain what month this is...
 
@JimmyHoffa not for you
 
8:06 PM
@GlenH7 I also had planned on coming here anyway, to tell you what I just told you :P
 
@JimmyHoffa you guys have it in the wrong month
 
user41796
@JNat Shog has an uncanny habit of dropping in at opportune times too
 
@PreferenceBean thank god. Also appreciate the early warning, I'll see if I can't get a flower order in shortly..
 
user41796
Where you'd swear he's got a bot analyzing all references to his name and bubbling up the more important ones
 
@JimmyHoffa I'd wait a bit. Or they'll rot by the time the day comes around
@GlenH7 It's a Shogspiracy
 
8:08 PM
@gnat thanks! I remember you speaking about Scala in the past... I'll peek at that book perhaps
@MichaelT @GlenH7 Have you guy ever come up with any explanation for the significant number of idlers who sit in here lately?
I wonder if we pinged some of them if they'd respond...
 
user55340
@JimmyHoffa we're interesting.
 
user41796
^^^ That
 
user41796
And we're generally civil
 
I would hope that means they like watching us blather on all day
 
user41796
except for some of the horrific puns as of late...
 
8:11 PM
not sure what else it could mean tbh
 
@Ixrec exactly; and I doubt they actually watch... even the passive watcher would wa-sheeng every now and then..
 
user41796
@JimmyHoffa Just add more scotch and it all makes sense
 
user41796
Doesn't make sense yet? Add more scotch.
 
@GlenH7 one might say that the puns lately have been ...... punbearable
 
maybe they're storing our discourse and tokenizing it into fragments for markov chains to generate their fake-SE-bot-constructed-site
 
8:13 PM
@JimmyHoffa they could probably just reproduce it verbatim tbqh
 
who knows. Just seems strange that there's always 3-5 icons in the user list that have never said a single word
Heslacher has Nothing to say according to his profile, so I guess that checks out
 
@JimmyHoffa funny, there appears to be a Markov chain bot active in DMZ right now
 
user55340
@Snowman eval is also the inner platform problem. Just happens to use the same language as its container.
 
whoopsie daisy
 
user114359
@MichaelT that's not what I think of when I think inner platform
 
user55340
8:22 PM
@Snowman it's another language / library / platform within the application that requires its own debugging and care.
 
user114359
@MichaelT "inner platform" is when someone creates another layer needlessly. An eval access a lower layer that already exists such as an OS shell
 
@Ixrec So I think that went well
 
I remain confused
 
Strange place
Strange people
Let's get back to the pun and games
(/cc @GlenH7)
 
user114359
"hey let's make this program super customizable so it can do anything" instead of "give the ability to call into the OS to do whatever it can already do"
 
user114359
8:24 PM
I would call "eval" and "inner platform" cousins, not siblings
 
I suppose it's more of a "recursive platform"
 
I thought you guys were referring to eval in JavaScript, which is a little different than the eval to call out to the OS
 
hap evalentine's day!
 
like when people write SQL that construct dynamic SQL and then sp_execs it
 
user114359
@JimmyHoffa the HNQ we are talking about wasn't language-specific, it actually referred to the general idea of an eval common to multiple languages
 
8:25 PM
is that inner platform? I don't know..
gotcha
 
user55340
eval(str) is a tool. Just as is Pattern.compile(regex) It launches an appropriate interpreter and runs it. It's often hard to debug this.
 
user114359
@JimmyHoffa See the Daily WTF article I linked above - that's what I think of when I hear "inner platform"
 
user114359
Opinions may vary
 
user55340
There are lots of problems with eval. For me, the lack of testing gets fairly high on the list.
 
user114359
@MichaelT from a theoretical perspective, a regex is call into a separate FSA
 
user114359
8:27 PM
@MichaelT depending on how it is invoked, it could be equivalent to testing two programs: the one making the call, and the one being called.
 
user114359
Every time I have used it, it was a hard-coded call into a specific utility e.g. something that converts to PDF in a language that lacked the ability
 
user55340
Regex. Lua. Embedded Python. Eval. All the same at the end of the day. Evil? No. Troublesome? Yes.
 
user55340
The issue being where you got your script from.
 
user55340
Here is a regex from user input - lets compile it! Just as bad as eval.
 
user114359
@MichaelT difference is, regex is generally safer than eval. match("pattern", "rm -rf /") is unlikely to hurt anything.
 
8:30 PM
I'm BORED. Entertain me!
 
not just as bad, a regex is far more likely to be read-only, or to be write-one-variable-only
 
you guys chat so much lolol
 
user55340
22
Q: Perl Regex 'e' (eval) modifier with s///

Pete171I'm having a little trouble comprehending this simple use of the /e regex modifier. my $var = 'testing'; $_ = 'In this string we are $var the "e" modifier.'; s/(\$\w+)/$1/ee; print; Returns: "In this string we are testing the "e" modifier." I cannot see why two 'e' modifiers are required. ...

 
user55340
Its got eval too.
 
@enderland I'm barely keeping up myself
 
8:32 PM
@MichaelT the /e modifier isn't really eval, just code-as-replacement – you don't construct the source code from a string. /ee on the other hand is weird.
 
user114359
@MichaelT that is a dangerous combination right there, especially given what goes into the second string.
 
user114359
@amon that is just as dangerous in interpreted languages
 
user55340
The thing is I can trivially construct a regex that will either crash the program or won't end before the sun burns out - and you can't know that I did until you try.
 
user55340
12
Q: For every 'evil' regex, does there exist a non-evil alternative, or is the devil in the grammar?

David BullockApparently, ReDos attacks exploit characteristics of some (otherwise useful) regular expressions ... essentially causing an explosion of possible paths through the graph defined by the NFA. Is it possible to avoid such problems by writing an equivalent 'non-evil' regex? If not (thus, the gramma...

 
user55340
This really does boil down to: This is a tool. Use it with care. You really shouldn't be trusting user supplied data ever.
 
user114359
8:36 PM
@MichaelT regex, or input? I would never trust a user-supplied regex, but a hard-coded regex to test user input can be a way to sanitize it.
 
user55340
@Snowman I have no problems with a hard coded eval, or a hard coded lua script, or a hard coded embedded python script either.
 
as a random example of the user input thing, our Excel-like app has an equivalent of formulas, and one time our business manager found he could freeze the app completely by entering certain formulas with "@" in the right place
 
user55340
The thing is its another language embedded within your application that some component is launching, evaluating, and running. Some are less powerful than others.
 
because "@" was the name of one of our secret internal non-user-visible columns that shouldn't be referenceable by formulas but for some reason it was so the @ resolved to an array of several thousand numbers or whatever and caused a ridiculously long but utterly pointless computation
 
user55340
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval("print('Hello, World')");
 
user55340
8:38 PM
Some nice Java code for you there.
 
you mean ..... utterly pointless compuntation
 
we have since fixed the logic that resolves references to not do that
 
or is it an utterly puntless computation... hmmmm
 
puntterly?
 
user55340
8:40 PM
> We will not cover implementation of JSR-223 compliant script engines in detail. Minimally, you need to implement the javax.script.ScriptEngine and javax.script.ScriptEngineFactory interfaces. The abstract class javax.script.AbstractScriptEngine provides useful defaults for a few methods of the ScriptEngine interface.
 
user55340
Oh... that looks like FUN!
 
user55340
But again, its a matter of eval isn't evil. It is a very powerful tool that allows you to do some rather neat things... but you have to be careful about what it is doing and where you got the code you are running in it.
 
my impression is most people who use eval use it for very silly an unnecessary reasons, which is part of the problem
personally I've almost never seen any legit reasons to eval anything
 
user55340
@Ixrec once had code that loaded regexen from a database and ran them all against some data. The regexen that matched were then used to key certain rules as specified in the db.
 
regex requires eval?
 
8:46 PM
@Ixrec regex is recursive; it requires regex
 
@Ixrec it is eval, in the sense of someRegexEngine.eval("expression goes here")
you're shipping the task off to another piece of technology with its own parsing and interpretation and execution engine
 
I meant eval as in eval(<arbitrary code>)
 
the only difference is that you're not doing theSameEngineAsImUsingNow.eval("user input goes here")
and I don't actually know what you guys are talking about but if you're bringing regex into it then I suspect that difference is not relevant in context
 
I asked when is eval ever the right choice and MichaelT said something about regex
 
user55340
RegexEngine.eval(regex); vs JavaScriptEngine.eval(javascript); -- its not really any different.
 
8:49 PM
@Ixrec I see
@Ixrec well it's the right choice when you need it
querying a regex engine for a result being one of those times ;)
 
let's agree to disagree on that one, I understand the argument that they're "the same thing" even though I find it totally unconvincing
 
when do you need to "recursive" eval? very, very rarely.
I can't think of any compelling example scenarios off the top of my head but I'm not naive enough to dictate outright that none exist
my hope, though, would be that all such scenarios are hacks with better approaches possible
 
user55340
@Ixrec the only difference is the power of the language. If you trust the regex/code you're passing in, then the problem is its lack of testability. If it is user supplied regex/code, its a Pandora's box of problems.
 
I can imagine that if you're doing eval because you really have to then it's because your language is insufficiently powerful for what you're doing and should use a different one. like when people complain they really really need reflection. I complain that they really really need to write better code.
 
regex is pretty easy to test by virtue of it's simplicity (relative to eval I mean)
 
user55340
8:51 PM
5
Q: Mail::RFC822::Address Regex

revoAccording to the RFC-822 of mail address validation, there is a monster PERL-based Regular Expression with actually so many errors when I tried to use it in online regex testers: (?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[...

 
I mean the tests are essentially a big list of strings that should match and another big list of strings that shouldn't match
 
I think you should stop saying "eval" and start saying "<the language you're talking about>" because that's what you're really saying
 
no mocks or teardowns or other weirdness, just input and referentially transparent output
 
you "eval" your way into both contexts
what you're saying is that it's trivially easy to test regex because it's simple input and output with no "side effects" or event loops or GUIs to throw things off
with which I would of course agree
what was the question again?
 
not sure there's still a question
 
8:53 PM
:D
great; glad we cleared that up
next
 
though I agree that reflection and eval() are usually a sign of poor code
 
apparently someone thought it would be a great idea to set the cooler with all the soda in it to freeze
 
oh dear
 
now we have soda icicles from when they exploded
whoooooooooops
 
scooping up slushies?
 
8:54 PM
pretty much, yeah.
 
only one thing for it
 
go home?
 
quit your job
 
add alcohol?
 
user55340
Regex(🌹) vs eval(💩)
4
 
8:55 PM
Fuck, you Workplacers are everywhere!
2
 
@PreferenceBean Perl/PCRE regexes have amazing features, including a kind of go to, context-sensitive matching, and recursion.
 
@amon I concede there's actually nothing "simple" about many regex flavours
 
@MichaelT look at you capitalizing on your mobile emojis
 
@amon at the end of the day though they still only have one input source and one output sink
that was the relevant point I was trying to get at
 
user55340
@Ampt yep. Annoying.
 
8:56 PM
regex definitely has a readability problem, and when it gets that messy you're probably better off using a parser
 
yeah you could implement it with a regex
 
user55340
@Ixrec written in JavaScript invoked via eval!
 
indeed, some peg.js-generated stuff is one of the few legit eval uses in our codebase
 
Can you actually get what does he speak about bulkhead patterns? What are the granularities of appserver and clusters that he exemplifies as extremely expensive bad tradition? Can you refer some simple examples of such "traditional" system that would have cascading breakdown in case of failure in one of its components?
I am not familiar with enterprise crap but I am curious to know if this guy makes sense or just threatens us with unexisting threat?
 
...... hi?
 

« first day (2006 days earlier)      last day (2987 days later) »