« first day (1861 days earlier)      last day (3121 days later) » 
01:00 - 20:0020:00 - 00:00

user55340
1:28 AM
@Snowman Time to go looking at those links jmac and I were talking about - shopping fun on Amazon.jp
 
user55340
@Ixrec the way I found that easter egg question was from the related questions on this stinker - programmers.stackexchange.com/questions/299237/… - one you get a very 'meh' questions, Stack Exchange does a good job of linking other 'meh' questions in the related tag on the side.
 
user55340
Just a matter of clicking on the most interesting looking and going "oh, yea... that sucks too."
 
user55340
Part of my 'close and delete' philosophy is "if new users are to have a positive experience on the site, they need to avoid seeing the distracting things that poor questions bring." And while it may make us boring sometimes, and "we hate fun" other times, it allows for those who will be solid contributors to contribute on good material rather than having a "down voted to -4 with a poor answer in a mess of other poor answers on an awful question" experience.
 
user55340
sigh programmers.stackexchange.com/revisions/299214/2 - design pattern hunters make me sad too.
 
user55340
1:48 AM
26
Q: Can I silence ticker feeds in a chat room?

GillesA chat room can have feeds, either posted as regular messages, or appearing as an overlay at the top of the window (“into an extra area of the screen”) — ticker style. When the feed appears in messages, I can mute it by clicking on the feed user's avatar next to one of its messages and selecting ...

 
user55340
And yes...
 
user55340
-2
A: Can I silence ticker feeds in a chat room?

Shog9Steps to mute "ticker" feeds: Open the room's "feeds" tab. Find the ticker feed, and click "edit" Check the "like regular messages" radio button Click "save changes" Return to the room and ignore whatever user is associated with the feed. Yes, this will also change the style for everyone el...

 
user55340
To which...
 
user55340
I don't really like this. The options are to have all users have an annoying overlay or have messages injected into the chat? There should be a middle ground. — Thomas Owens Mar 7 '13 at 16:26
 
@MichaelT I stand by this solution.
 
user55340
1:49 AM
And I'll point out that the opposition lives here.
 
I don't want to hide it, I want it to not be a damn pop-up.
 
user55340
Btw, did you see the 27 oz beer mug?
 
hmm?
 
user55340
23 hours ago, by MichaelT
@jmac search the amazon there for "27oz beer glass"
 
user55340
23 hours ago, by jmac
@MichaelT how do you find these?
 
user55340
1:50 AM
23 hours ago, by jmac
(I don't really want to know)
 
oh...
 
I wonder if Shog has a private chat room that feeds him links of other chats anytime someone posts an answer/question of his or mentions him... :o
 
beer goggles never looked so good
 
user55340
@enderland Are you old enough to remember Kibo?
 
@enderland you realize Michael replied to me, right?
 
1:51 AM
@Shog9 yes. yes, of course...
 
user55340
James Parry (born July 13, 1967), commonly known by his nickname and username Kibo /ˈkaɪboʊ/, is a Usenetter known for his sense of humor, various surrealist net pranks, an absurdly long .signature, and a machine-assisted knack for "kibozing": joining any thread in which "kibo" was mentioned. His exploits have earned him a multitude of enthusiasts, who celebrate him as the head deity of the parody religion kibology, centered on the humor newsgroup alt.religion.kibology. == Background == James Parry grew up and lived in Scotia, New York. He showed early computing skills, such as being able to open...
 
it's late. I blame... that
 
user55340
> He became known on Usenet for grepping all occurrences of the term "Kibo"—whether intended to refer to Kibo himself or not—and replying, often in a fanciful manner. A typical exchange:
 
I mean, I totally gots that room, but in this case chat just through a huge honkin' popup at me
 
user55340
> Mary Rose Campbell wrote:
>At CMU, we also have something called Gray Matter in the center of Skibo
>(our student union substitute). It's a bunch of shapes, walls, holes,
>and steps covered with the same dark gray carpet that's on the floor.
>It looks like a giant cat toy.

Actually, it's a life-size model of S. Kibo himself, my great great
grand-uncle. This was before he evolved past the 'giant metazoic
amoeba' stage a few aeons ago. Now he's a trilobite.

– K.
 
1:52 AM
which was appropriate, given the topic
 
@MichaelT lol
 
user55340
@enderland Grepping the entire usenet feed for his name.
 
user55340
> This practice became known as kibozing. In 2006, Parry estimated that he had posted "an average of 20 articles a week to alt.religion.kibology during the past 15 years, probably about 500 words of original content per article, that's... seven point eight mmmmillion words. Equivalent to about 100 books."
 
I have wondered how many total forum posts I've made in my lifetime
I think quite a few years ago I estimated it as many more than 40,000
 
user55340
As I said though, I was looking for Hello Kitty whiskey glasses.
 
user55340
1:57 AM
Something for @Shog9 to enjoy that expensive whiskey in.
 
user55340
That will remind him its from Japan.
 
if it doesn't taste like kittens and dirty old men, what's the point?
 
user55340
... that kind of sums up Hello Kitty.
 
user55340
volkswagen - a node module to minimize error messages so CI tests pass.
2
 
@MichaelT that's awesome
 
2:17 AM
@MichaelT lmfao
 
user55340
@Shog9 btw, make sure you check that first bullet point for a dose of "WTF"
 
user55340
And lets see how this one boxes...
 
user55340
amazon.co.jpジグ-三つ編みかつらブラック/dp/B000W48VJQ
 
terrifying.
@MichaelT the mind races...
 
user55340
Ok... that, I'm not even going to click on. Partly because its on the american store... and I can read the title.
 
user55340
2:27 AM
That it has 4.5 stars terrifies me.
 
user55340
View or edit browsing history... click... click... click.
 
Non-precise Q&A like this is better done on programmers.stackexchange.comJon Reid 32 secs ago
 
 
4 hours later…
6:51 AM
@MichaelT even my coworkers were linking to that yesterday
 
 
6 hours later…
12:40 PM
Also, I totally don't get why this question is being put on hold and recommended for a move. How is this a better fit for "programmers" (where the Erlanger population is close to 0, compared to SO's active Erlanger population of about 5, by the way) than SO? Looks like I should have made my SO hiatus permanent. — zxq9 42 secs ago
 
12:52 PM
Happy Coffee Day... sort of..
 
1:10 PM
@JimmyHoffa It's either not coffee day (highly unlikely) or it's not a good day.
 
1:40 PM
This site is also about the tools that programmers use. The MSDN site is a pretty important tool for programmers. — Bradley Uffner 5 secs ago
 
user41796
I think it's a tea day for me, today. I'll just ban myself now....
 
1:59 PM
@GlenH7 One good thing about quitting this job is that I won't have to listen to my boss slurp tea 5 feet away from me anymore
 
user55340
Ramen is popular in Seattle.
 
I should explain to him that it's sacrilege and that he should slurp coffee instead.
 
user55340
podiobooks.com/title/trader-tales-1-quarter-share - seriously. Coffee is important.
 
@durron597 Slurping tea is unacceptable. It must be savored silently and with great reverence.
 
user41796
@durron597 There's a guy who clips his fingernails at work... :-(
 
2:09 PM
@GlenH7 A friend of mine has posted statuses about people who...uh...#2 on the floor and toilet seats at his job. Worst coworkers ever?
 
user41796
Wow. Never been in that bad of an environment....
 
To be clear, it is the bathroom floor, and not like the office floor.
But still.
At least...I'm 90% sure it's the bathroom floor.
 
user41796
I'm just going to pretend to believe in the best case....
 
2
Q: Lean or agile SaaS: deployment / release features during or after sprint

WillFor SaaS (software as a service), when using a lean or agile development process with short sprints/iterations (e.g. 1 to 3 weeks), which approach produces better quality: deploying/releasing features... during the sprint in which they are developed, or after the sprint (possibly much later if ...

That's an interesting question. I think it's the difference between rapid iteration and continuous release.
 
user41796
2:12 PM
@MichaelT Wonder if they ever caught that person
 
user41796
apropos of nothing, I repcapped today off of the law of demeter question from yesterday
 
user55340
Given that article was a month ago... Only 1% of the time reported since it began... Probably not.
 
I think Lean would advocate continuous release - steady flow.
 
user41796
and I pulled down a bronze design-patterns badge
 
I think that other Agile methods would advocate for releases after an iteration.
 
user41796
2:14 PM
mid-iteration releases are generally a bad idea as they divert attention away from the development.
 
user41796
(in Agile)
 
user41796
And part of Agile is setting expectations with stakeholders to be patient and wait for the iteration to complete
 
@GlenH7 What if you did away with iteration entirely?
Just constant flow.
 
user41796
sounds more like kanban. :-)
 
@GlenH7 Kanban is a Lean tool.
 
user41796
2:15 PM
some projects could work with constant iteration, many cannot
 
I think it means "signal".
 
user41796
constant iteration means your devs have to constantly verify their projects weren't borked by the latest release
 
user41796
so it's an issue when you have multiple similar but different projects all being worked at the same time
 
True, it does depend on your project setup.
It would be an interesting thought experiment, at least, though, to see how continuous flow in software development would look like
 
@GlenH7 good, you can bounty one of my answers now
 
user41796
2:19 PM
TBH, I think I would hate it. But I'm stuck in a quagmire of poor requirements and daily questioning of "why isn't this done yet?"
 
@GlenH7 I think it's more problematic than it's worth, likely.
 
user41796
<rant> Too many shops rely upon agile or lean or ... whatever today's new trend is instead of dealing with the core, underlying problems within the development process. IMO, it starts with solid requirements and a proper level of expectations from stake holders.
2
 
@GlenH7 Relying on a process is the problem. You don't rely on a process.
 
@GlenH7 and not simultaneously having fixed scope and fixed deadlines
 
You have a process.
Before I forget, as a sidebar:
13
Q: Additional RSS feeds

Thomas OwensThis is based on a few other posts here, such as 1, 2, 3, and 4. User Answers: A particular user's newly posted answers to questions. Every answer posted by the user gets published. Edits to answers would be published as well. Ideally, it would be nice to differentiate somehow between new answe...

 
user41796
2:24 PM
@durron597 Oh, we likes that one too!
 
user41796
"We told the stakeholder this would only take one sprint. Why isn't this done yet?"
 
@ThomasOwens @GlenH7 @gnat is there a post already proposing more information for moderators about question blocked users
for example, what if an SO q-blocked user raised an automatic flag on programmers
 
@durron597 Maybe?
But I doubt that would get implemented. It impacts so few sites.
 
yeah true.
 
There's this tight-knit bundle of software development sites and then...everyone else. Maybe the science sites could benefit from this, too.
But, for example, someone getting blocked on The Workplace may not affect SO or a block on Gaming may not matter on Programmers.
 
2:36 PM
it wouldn't be every site to every site, it would be something you have to turn on "we get lots of q blocks from this other site"
 
@durron597 True. But considering how few sites would have it turned on, I don't think they'll do it.
 
@ThomasOwens agree
 
Honestly, I don't mind. If they are blocked on SO and come here, they tend to be blocked very quickly here, too.
 
user41796
It matters inasmuch as the guidance we can provide them
 
user41796
If I know someone is blocked elsewhere, I can give a different "Stop! Look! Listen!" message and explain more clearly that they're on their way to being banned again
 
user41796
2:40 PM
Whereas if someone just picked the wrong site, it's a different explanation
 
There is a proposal somewhere to let diamond mods on at least one site have full read access to a user's status on another site.
 
user41796
related requests came up in the 30k tools question
 
12
Q: Perform automatic checks for cross-posting and question block at SO when post enters close queue, not only at attempt to migrate

gnatSuggest to perform automatic checks for cross-posting (including deleted SO cross-posts, like this one for example) and question block / warning at Stack Overflow when post enters close queue, not only when it is attempted to migrate. If check detects a problem, system would raise automatic flag...

 
user114359
@MichaelT what links?
 
For... reasons I was curious about the leaderboard of "programmers rep multiplied by stack overflow rep"
I think my first guess about who is on the top of that list was wrong, Robert Harvey... I think it's actually Oded
 
user41796
3:01 PM
And I won't see jack for repz out of this answer because I'm repcapped. :-(
 
user55340
Tag badge... And I could reverse my up vote if you want.
 
user55340
@Snowman trying for a bad pun with links course on previous news article...
 
user55340
Ahh... Those links. Actually kind of related.
 
user55340
 
user55340
And then you could search for 27 oz beer. Not work safe results - but that's half the fun.
 
user41796
3:08 PM
I'll fish for upvotes:
 
user41796
@DavidArno - Consider yourself fortunate that you've never worked on a project that was forced down this path then. Not all of us have been so lucky. — GlenH7 1 min ago
 
user55340
And then there is the search on the US Amazon that made me question humanity and their culinary choices.... And delete viewing history.
 
user41796
Someone on the internet can't conceive of things existing outside of their preconceived notions.
 
user41796
^^^ 1st time eva! of course
 
user55340
The reason to close old open questions: so new users giving ok (not great, not awful) don't try answering them and have a bad experience.
 
user55340
3:14 PM
0
A: When to use JavaScript instead of Ruby in web development?

AliInvestorI think you're asking about things like: should I use a lightbox to display an internal link or should I use a _path to another page. Example: click on a person's profile. When you click on it, does a profile pop up via a lightbox with JavaScript or does that link redirect to its own actual p...

 
user55340
It's better than the worst answer in the question.
 
This question is not appropriate for StackOverflow. It should be moved to programmers.stackexchange.com. — Kent Hawkings 15 secs ago
@KentHawkings - This question is not appropriate for Programmers either. Career advice (like this question) is explicitly off-topic there. — GlenH7 57 secs ago
 
@durron597 Multiplied by?
That's...a weird idea. Why not just added?
 
3:30 PM
Maybe ask on programmers.stackexchange.com ? I don't know if it belongs there, but I do know it doesn't belong here. — Halcyon 31 secs ago
 
user41796
@MichaelT Just what exactly did you search for on the US Amazon? The same as on the JPN Amazon?
 
@ThomasOwens Because Skeet always wins that one, Stack Overflow dominates the score
Whereas with multiplied, you are competitive with Skeet. It shows high commitment to both sites.
 
@GlenH7 I agree completely except I go one step further in where I think it starts; it starts with competent experienced personnel guiding the SDLC and competent if not always experienced staff participating in it. What title or template you use for your SDLC is a trifling matter in comparison.
 
user41796
Can't argue with that
 
user41796
Has anyone here written custom Excel workbooks?
 
3:45 PM
@GlenH7 what's a "custom" Excel workbook?
@GlenH7 I once opened Excel and made a workbook where every worksheet was named after a member of The Beatles, is that custom enough?
 
user41796
VStudio allows you to create an Excel workbook project. And instead of using VB for the code-behind, you're allowed to use C#
 
@JimmyHoffa I agree, and I think that the "competent experienced personnel guiding the SDLC" should be someone who is familiar with the work being done (and preferably still does the work), the environment in which the work is done, and the context of the business, in addition to knowing about and being interested in process models and methodologies. More organizations need a small organization built around this. It doesn't need to be a separate part of the org-chart, either.
 
@GlenH7 shush! You're giving me hives saying things like that!
 
user41796
You can even give an excel workbook it's own config (app.config) file
 
@ThomasOwens I've seen SDLC work perfectly well only in orgs that had a small leadership team around the SDLC. 3-5 people who keep a close eye on it and have authority to decide on and implement changes by committee. The key point being these people all have an understanding of what they're responsible for and are in the majority of their time participants in the process. These are the people the rest of the participants go to when the process causes them troubles or confuses them et al.
 
3:52 PM
@JimmyHoffa It depends on your organization. But I think it works best when the people doing the work are involved in defining and improving the process.
 
Though I've only seen anyone with any experience and understanding of the process make it into such group in more organically organized places; where the majority of the people are just doing their job and a small section with interest and understanding of the process self-organize to participate in these important things.
 
@JimmyHoffa The lack of interest concerns me. It's a problem here. A lot of people see it as a burden. Some things really do need attention, but a lot of people don't actually understand where some of the steps come from, like different industry standards or regulatory sources that we must comply with or we can't sell products.
 
@ThomasOwens yes- the 3-5 people I refer to always are, and in the best case they're self-selected. The authority to alter the process is the hard part to achieve; you basically need to have some manner of tech lead, or architect, or whatever with organizational authority either as an interested active party in the SDLC leadership or delegating his authority to others in it
 
@JimmyHoffa Oh, yeah. Here, there's a formal engineering process team with a manager that reports to the engineering director. You do need that management buy-in to implement it, but I do think that management needs more of a hands-off approach to implementing it.
 
@ThomasOwens yeah, if you don't have the people with an understanding of what SDLC is / can be, and why it matters, coupled with the authority to construct and alter said process you're already screwed. One of the two isn't enough. Sounds like you refer to lacking the people with the interest / understanding.
 
3:57 PM
@JimmyHoffa We have some people with interest. One representative from every engineering group, since we have an integrated process.
But until I stepped up and volunteered like 3 or 4 years ago, people were assigned to it.
 
@ThomasOwens yeah; like I said, self-organizing groups for these things are always the best... if you don't have enough people with genuine interest and understanding on it, then you end up with people assigned at best, and nobody at worst. Neither scenario will end in well-thought out, beneficial decisions. Like I said to start with: The people are the most important part of your SDLC, not the process itself. Not the right ones or not enough of them and the best SDLC can't save you.
 
@JimmyHoffa And even the people who aren't involved in managing SDLC still need to understand it. That's the hard part - some people just like to sit down and develop software. I don't think you can build large, complex systems without some kind of process that defines how you go about your work.
And not just understand, but participate in it. Just because they aren't involved regularly doesn't mean that they shouldn't be pointing out problems.
 
@ThomasOwens sure you can! For a time... but things degrade quickly when you do, and pretty soon you'll find you can only manage to maintain (or barely maintain) the software and the maintenance cost is constantly increasing. I've worked in companies that took this approach; purely capital motivated with a very myopic view on technology (I'm looking at you, financial sector).
It makes them money and then loses them money, but by the time the second phase has started the people who started the whole thing with phase one making all the bad decisions have been promoted away.
 
woot minitab installed.
 
user55340
Don't say I didn't warn you. It came from a WTF Amazon blog.
 
4:08 PM
The real fip side everyone misses isn't about whether you can or can't create large complex systems, or really any systems without an SDLC. The point people are constantly missing is that a good SDLC will actually make the whole act of creating and implementing software easier, it will have less overhead and less crap work.
When you have lots of automation and have done the leg work to make the whole process have a quick feedback loop, devs spend less time troubleshooting shit they coded 6 months ago, they will refer to old documentation less and spend less time generating documentation because of it.
 
user41796
@MichaelT MY EYES!!!
 
@JimmyHoffa Indeed.
 
user55340
@GlenH7 hey it's almost lunch time. Hungry?
 
user41796
not. any. more.
 
user55340
Time to make sure that doesn't come up in a "you searched for things like this before "
 
4:10 PM
The code a dev writes in a sub-system they have been working on for the past couple weeks will be significantly more cohesive and less error-prone than the code a dev writes in a system they haven't seen for 3 months but is only now being tested. And then they have to context switch between maintenance on something 3 months old and whatever they've been working on sense then.
@MichaelT I'm not searching for that. I won't do it. But not doing it almost makes it worse because the number of terrible ... terrible things that can come to mind from the phrasing. Wow. You're a bastard. I would have preferred a link I didn't click than a phrase I'll have to wonder about..
 
user55340
@GlenH7 just think of all those poor organic food connoisseurs trying to find some natural food cookbooks.
 
Oh. Is that the book about cooking with...uh...bodily fluids?
 
user41796
@MichaelT It'll be eye opening, that's for sure.
 
user41796
@ThomasOwens yes
 
user41796
@JimmyHoffa There's a SFW title in there of "Unicorns are jerks"
 
4:14 PM
@GlenH7 everyone already knows that.
 
user41796
Everyone is fooled by their good looks and single horn.
 
@GlenH7 Unicorns are just cows that were damaged driving drunk.
 
2
Q: How far should I abstract my pseudo-database?

ZakI'm building a [Process-Tracker] thing In Excel. I would use Access but I can't guarantee that the End-Users will all have it. So there will be a list of open cases, with a history of the previous steps in the process, the next step to be completed, key information etc. In a nice tabulated lay...

this guy is going to hate his life soon if he does what he is planning
 
user55340
@GlenH7 what I was looking for was some good Japanese wtf items like a hello kitty whiskey glass.
 
user41796
@MichaelT And then you see things that cannot be unseen....
 
user55340
4:23 PM
 
@MichaelT flags as offensive
:)
 
user41796
@enderland positively benign in comparison...
 
I didn't see the previous convo, but am not too sad to have missed it ;)
 
user55340
just go find my previous deleted comment. Read it. Debate if you want to search Amazon for it or not.
 
user55340
I advise against it.
 
psr
4:26 PM
So, people are have a hard time with the (angular version of) the $q promise library. I thought I'd try to do a simpler API for our common situation, in which we make a bunch of calls to the server upon route change, then render a page. I thought we could just explicitly mark dependencies {asynch1:{d:["asynch2","asynch4"],a:?},asynch2:{d:["asynch3"],a:?},asynch3:{d:[]‌​,a:?},asynch4:{d:[],a:?}}.
Then my library would make sure that asynch1 didn't get called until after the others, and the value it gets passed for the success handler would be {"asynch2":resultOfAsynch2,"asynch4":resultOfAsynch4} The problem is that ? can't, AFAIK, be a promise. Or a deferred. We are working with callback based APIs so currently we use deferreds, but for this I would need them to be lazy, so deferreds aren't quite right. So the question is, what should the "?" be?
 
user41796
I consider myself fairly liberal when it comes to social norms. That search left me sputtering with a "WHAt?!"
 
psr
A lazy promise, created by wrapping the promise in a function that basically overrides the then method to be lazy? Just something that holds the variables to create a deferred later (in which case it won't work with any of the promises API)? I'm not sure what will lose flexibility down the road.
 
user41796
@psr .then chaining doesn't work / is too ugly?
 
psr
Ugh, meeting. I probably can't elaborate on what I just posted, for a while.
@GlenH7 Is harder for a lot of complex dependencies, and devs are having a hard time getting it right.
 
user41796
can't argue there. We have similar problems, but the dependencies are fairly simple
 
user41796
4:29 PM
@MichaelT - Almost had that starred...
 
user55340
Don't want to give trolls any unneeded ideas.
 
user41796
TIL: new phrase: deadSQL referring to legacy bits in your SQL database that aren't used anymore but you can't find or can't remove.
 
@GlenH7 Can we pronounce that "dead squirrel"?
 
user41796
sure
 
user41796
I thought it was a hilariously apt term
 
5:08 PM
Everyone knows that sequels aren't as good as the original.
 
@MichaelT ....
 
user41796
5:29 PM
@Ampt You were warned...
 
user41796
This definitely qualifies as one of my longer answers in quite some time. Too bad I repcapped early in the day.
 
I think this question is a bit too subjective to be a good fit for SO - ProgrammersSE is a better place to ask questions about programming style. — ali_m 51 secs ago
 
psr
5:49 PM
@GlenH7 Also want to maximize parallelism, so we would want to do promise.all as much as possible if we hand-code the thing.
 
@psr honestly, I'm sticking with jQuery deferred's over the newer "promise" functionality. IMO they broke promises with the newer semantics in ecmascript 6 and "bluebird" promises and all that stuff. People complain about jQuery deferred's but they offer an appropriate consistent and simplistic DSL for handling asynchrony. ecmascript 6 loses a lot of the simplicity and such that I recall, when I tried using them I found their semantics broke the monad laws so I couldn't compose them
I don't recall the details of how - it was ~6 months ago or some such when I tried using them and worked with them a good bit before deciding some of the slight semantic alterations broke their ability to be composed as you'd expect
 
@JimmyHoffa I've only ever used the bluebird promises and haven't had any difficulty composing them yet (unless you count the annihilation of stack traces, which is not really an issue with promises per se)
dammit, I was about to ask for details
 
psr
@JimmyHoffa Do you think it's reasonable to explicitly declare dependencies and have a library resolve the order? I know I can write the library.
 
:) I could be wrong about them, but I seem to recall things like nesting them got weird and out of order, and failures wouldn't propagate how I'd expect
@psr I do precisely this. One second...
 
psr
(Note: if your solution involves monad transformer stacks the other developers might have a wee bit of trouble maintaining it).
 
6:01 PM
@JimmyHoffa "ecmascript 6 loses a lot of the simplicity..." That's exactly what Crockford says.
Despite Javascript's warts.
 
psr
@JimmyHoffa We're using angular version of $q library promises.
 
@RobertHarvey was he commenting on promises specifically or on the language's general feature creep?
 
@psr no, it's really simple. One resolution algorithm that's a bit funny but small; and then otherwise you define modules akin to requireJS (You could use requireJS, but my experience is it's more complex and conventions based than strictly necessary for a client side piece)
 
user55340
@Ampt you saw the second result was a mixed drink recipes? You'll never trust a White Russian again.
 
@Ixrec He didn't like the fact that they were turning it into Object-Oriented Javascript so that the Java programmers could understand it.
He felt that the fundamental language principles were fine just the way they were.
 
6:04 PM
oh, that part I knew already, that's a really easy one to argue
 
For or against?
 
honestly, both
 
I don't have a problem with it, so long as you can continue to use the original Javascript paradigms.
Object-Oriented Javascript, in the balance, is probably a good thing.
 
yep, very little harm is done by a feature that's entirely optional
meanwhile, I'm using fewer and fewer class-like constructs in my JS as time goes on, so by the time we actually get ES6 I dunno if I'll even use the class keyword at all
 
Did you remove that to make sure we read it?
 
user41796
6:07 PM
@RobertHarvey Keep in mind that Crockford has switched to using javascript in a functional manner and wants to continue down that path. So it's understandable that he wouldn't like it being moved more towards an OO style language
 
that makes it sound like he "switched" recently
 
He's been doing functional stuff in Javascript for awhile now.
 
Javascript has always had functions as first-class objects so the functional style has been a valid option from the beginning
I think both functional JS and OOP JS are about equally improved by ES6
 
@psr there's my module container. I just make my modules with window.modules.push({name: 'foo', deps: ['otherModNameA'] ctor: function(otherModNameA) { blar blar blar })
if my modules are loaded before that script, once that script executes it will compose them then. If after, it will compose them when they try to push themselves.
result is a window.modules object with the result of each ctor and a sources that holds the original modules ctor
@Ixrec there are some nice things for functional stuff. Thing you have to remember about Crockford is he was a LISPer before anything else, and it shows clearly in the way he does JS
 
user41796
@Ixrec He's continued to evolve his thoughts about the language
 
user41796
6:13 PM
And openly states that he's moved past some of the more radical stuff within "The good parts" on towards even more radical thoughts. :-)
 
user41796
So you'll see things that would have aligned with what he said in "The good parts" but that he no longer advocates as he's switched to a different approach
 
Oy.
> If you want your software to be adopted by Americans, good tests scores from the CI server are very important. Volkswagen uses a defeat device to detect when it's being tested in a CI server and will automatically reduce errors to an acceptable level for the tests to pass. This will allow you to spend less time worrying about testing and more time enjoying the good life as a trustful software developer.
 
user41796
And a lot of that has been driven by his iterative evolution towards a more functional approach
 
I think we've been linked the VW parodies enough
 
user41796
@RobertHarvey epic and hilarious
 
6:15 PM
> more correct approach.
FTFY :)
 
user41796
For the record - VWs emissions failed European standards too
 
@JimmyHoffa you might be pleased to hear that my main task right now is swapping out a lot of complex stateful methods for pure functions, because that will allow us to nuke a particularly slow implementation of classes that we want to ditch for performance reasons
 
user41796
@JimmyHoffa It was understood, amirite?
 
@Ixrec do bluebird promises pass failure down the layers? So if I attach one promise to another, and the first one fails, will the second one's failure be executed as well? And a promise chained to the second one?
 
@JimmyHoffa yes
getStuff().then(...).then(...).then(...).catch(allErrorsGetHandledHere())
nice and simple
 
6:18 PM
@Ixrec when I put promises in the thens, will their catch be executed if one of the thens up the chain fails?
 
@JimmyHoffa define "put"
is one of the ...'s returning a promise?
the answers is probably "yes" though
 
getAccts = callServer('accounts').then(parseAccts).catch(handleAcctsFailure)
getInventoryForAcct = callServer('inventory').then(parseInventory).catch(handleInventoryFailure)

getAccountsInventory = getAccts.then(getInventory);
if I call getAccountsInventory and getAccounts fails, will getInventoryForAccts catch execute?
if getAccountsInventory has a catch, will its? Which catches will/won't execute?
 
psr
@JimmyHoffa I take it that you want getInventoryForAccts catch to also execute?
 
generally it's best not to compose with "caught promises", but if handleAcctsFailure threw a new error instead of returning I believe that error would end up in handleInventoryFailure
it depends heavily on which of those functions is returning values versus throwing values
 
@Ixrec so if getAccts handles an error, I can't attach another error handler for special scenarios that are calling getAccts
 
6:27 PM
what is a "scenario calling getAccts"?
in principle this is the same as try{}catch() {} in any other language, if the code you're calling chooses to swallow an error or replace it with a non-error value, you can't go inside and pull it back out
 
@Ixrec Billing processes vs. public web UI vs internal admin UI vs .. whatever
 
I'm still not understanding the question; are you asking how to do a catch() that only catches specific types of errors?
 
@Ixrec yeah; that breaks monadic composition. with a jquery deferred, you can never tell consumers that can't attach to a deferred's fail
@Ixrec no, additional activities for the catch. One catch bombs the process, one catch silently logs and moves on, one catch sends an e-mail paging IT, lots of possible things you want to do in a catch, depending on the scenario
You're right then - it acts like try/catch which makes sense now why they did it the way they did
 
so...you're saying you want the ability to append arbitrarily many error handlers to a promise that can handle any errors that occur inside the promise regardless of whether they've already been handled or not?
 
@Ixrec yep!
either shortcircuit and do no more, or do all failures ahead in the promise-graph
 
6:32 PM
I'm missing something big here; to me that sounds as absurd as "I want access to everyone's private methods"
 
Just like swallowing in a try-catch - you really should never be doing that
 
yes, absolutely, no one should ever do that
normally the catch() is best done at the "top" level, while everything intended for composition is just then()s, and errors are only handled internally if they actually can be sensibly converted to non-error values
 
psr
@Ixrec - Never break monadic composition. There are monad laws, you know.
 
user41796
Because no one would ever try to swallow an exception in a try-catch block. < Ignores the code he ran across the other day />
 
@psr :P did that snippet of coffeescript make sense? It's a bit busted without the spacing it looks like history doesn't show it correct but whatever
 
6:33 PM
@psr I am aware of them but my brain could not process them
 
@Ixrec I struggle with them as well; but you can feel it when you try to use something that breaks them because you start getting inconsistent behaviours like: I attached an error handler, and there was an error, but only one handler executed and not the others; or only 3, executed and then no more.
To maintain the laws, you would need the consistency in the composition: On failure, nothing else in the composition is executed, or everything else in the composition is executed
so either all or no failures should execute really. That's why in the maybe monad nothing just means "We aren't going to execute your methods now, bugger off."
 
I'm just not getting how that's inconsistent
and I thought monads often did a lot of "short-circuiting" behavior too
yeah that kind
 
I'm voting to close this question as off-topic because it should be migrated to Programmers.SE. — Laf 54 secs ago
 
wait I think something clicked, gimme a minute to stare at the monad laws
 
Yep- it's consistent. if you get Nothing - no more pieces of the composition will execute. Not one or some, none. That's the consistency. In a monadic promise that has failures - the consistency should be all failures are executed.
 
6:38 PM
While this is a good question, I don't think it belongs on StackOverflow. Programmers.SE would be a better place to ask for such kind of problems. You might have to edit your question so that it follows their guidelines though. — Laf 9 secs ago
 
psr
@JimmyHoffa Yes. My situation is slightly different but the idea is the same.
 
@psr I've been using it for a while now. Works like a charm, handles the asynchrony of "I don't know when this module will load" nicely so I don't have to think about when dependencies are made available, and I don't have to worry about if some of them are made available before the loader itself.
 
Changing a naming convention doesn't rip a hole in the fabric of space-time, so I would imagine it comes down to preference. Have you asked the folks at Foundation 5 why they embarked on this heresy? — Robert Harvey 1 min ago
 
I suppose if you require all of your catch() handlers to throw rather than return then you get that effect
 
Sometimes I think these kinds of questions are really mini-rants in disguise. Otherwise, one could simply ask the source.
 
6:43 PM
@Ixrec yeah, that's how jquery deferreds work, and it confused me when I went to bluebird promises that the semantic changed there
@psr the only downside is the constructor is executed once - and then the member on window.modules is a singleton henceforth. So if you want lazy execution of bits to it, make the object the ctor returns have methods for those. I actually do some lazy-caching bits too like so: ctor: function(someDepA) { accts = undefined; getAccts = function() { if (accts) return accts; /* actually get accts and set accts to the resultant value */ return accts; } return { getAccts: getAccts }; }
 
psr
@JimmyHoffa Good. I was hoping I wasn't missing some issue down the road.
 
my brain is still failing to parse the monad laws
 
psr
@JimmyHoffa My situation is slightly different. I'll probably pass a JSON object whose keys are strings, with values of a JSON object which contains a (string) array of dependencies, plus a function that takes no parameters and returns a deferred. Then I can run the promises for anything without dependencies, and wrap their handlers in my own handlers that update dependencies and fire off any deferreds that have their dependencies fulfilled yet, before calling the wrapped deferred handler.
I believe the function that creates the deferred will get {dependency1:value1,dependency2:value2} passed to it.
 
user20683
7:06 PM
@RobertHarvey Foundation 5 could get a Team and then you could totally use the SE model to go ask them #unnecessarythings
 
psr
7:17 PM
@Ixrec - Purescript by Example has very good explanations of this stuff for non-academic programmers. It states the monad laws in terms of do notation, and the associativity law just means that nesting do blocks shouldn't alter their meaning. Which is the problem with not calling all failure handlers for promises- handlers in outer blocks would be treated differently than handlers in the same block.
 
@psr thankyou! That's why the bluebird promises semantics felt broke to me. And 100% agree that Purescript By Example has some of the best explanations of the type classes
@psr an earlier version of that dependency container I used relied on promise behaviour (which is when I found out I didn't like bluebird promises) instead of doing the push approach I went with this time. I think this push approach feels simpler. When I did it with promises, every modules definition had to beware of the modules handed to it being promises or not, and deal with their success or failure. The push approach - the things your ctor gets are complete.
If you want modules to be added later when a promise completes, just attach the module push to the promises completion.
The only place I have promises in my current setup is I have a domainController module that handles all of the server communication/logic/etc, and most of it's methods return promises, and most of my modules depend on it and attach to it's promises for when data and things are received from the server
 
user114359
7:50 PM
@MichaelT interesting. And there is no such thing as NSFW when unemployed!
 
F*ck you, pay me.
@psr Sounds like I need to learn Purescript
[files for later reference]
 
@Snowman I'm guessing it doesn't matter where you are or what you're doing, that amazon search term is likely NSF*
@RobertHarvey nah, just learn Haskell By Purescript By Example
 
user41796
@JimmyHoffa This.
 
@RobertHarvey also, I've seen you file a lot of shit in the time I've been in here. I suspect your main filing cabinet is labeled /dev/null and you haven't noticed.
 
01:00 - 20:0020:00 - 00:00

« first day (1861 days earlier)      last day (3121 days later) »