« first day (1766 days earlier)      last day (3228 days later) » 

user15026
12:33 AM
cracks up those are delightful
 
user55340
1:08 AM
@GlenH7 take a screen shot in 10 reviews.
 
user55340
 
1:48 AM
@MichaelT well, you did say it was fried. no need to repeat yourself
 
user55340
2:37 AM
@Ampt saying "fried bacon is good" would be excessively redundant?
 
2:53 AM
I find that my pragmatic nature dictates minimalism is best in this situation.
 
user55340
3:25 AM
@Snowman It has been many years. I think it was 2003 when I was there last, but I'm not certain... (dig dig dig) - yep, 2003 (found photographic evidence). Prior to that I think it was either '99 or early '00 (october '00 was a trip to reno - and I remember that one - manager lost $1k at the tables, then looked at stocks and realized she lost $20k there in the same period).
 
user55340
Vegas is one of those "yep, been there, done that" things. I stayed at the NY, NY hotel in... November of '97 (they were taping the christmas special then). It was team event with SGI at the time (go go dot com boom!).
 
user55340
Lets just say it was interesting. (see history)
 
 
5 hours later…
9:24 AM
Hello everybody, I've asked a question of the type 'Where to start', I did not read this post (meta.programmers.stackexchange.com/questions/6366/…). So after I read, I realized, it is better to seek help here to formulate better question
I need to learn software development methodologies as part of my career progress, and in a hope I can propose what I learn to the company and they might adopt at least some.

However, I am kind of lost in a sense that I'm not sure where to start. Apparently, there many approaches and techniques. For example should I start learning SCRUM first or Agile? What about TDD and BDD? Is there other methodologies I need to learn?

So my question is, as a beginner in this area, what road map should I follow? Are there any books you recommend to read in specific? and in what order? For its worth, I'm
 
 
2 hours later…
11:51 AM
@Hawk no idea if you're still around, but if so, my first response would be asking how much code you've written, ho wmuch you've released and supported, and whether you've read any books on using your favorite language well (in many cases there's an Effective <Language> book that's really good); imo getting a solid grasp on your particular language and some baseline real-world experience should come before worrying too much about TDD and agile stuff
 
12:37 PM
@Ixrec Thank you for your response. I've written tens of thousands of code, more than 9 live products, ongoing support for most of them. My favorite language is PL/SQL and I have read many books and attended many courses. I'm also holding a master degree in CS. It's where I studied in dept, but theoretically, some of these methodologies.
@Ixrec I'm a senior developer in my team. I feel it is the right time to look for the next step. My aspiration is to be development manager, and I figured out learning these methodologies is essential to move forward.
 
ah, ok
if you're the guy in charge then yeah it's definitely worth knowing about them
but first, the other team-level basics that come before agile: do you use source control? do you use a bug tracker? do you have a schedule? a specification? UX tests?
 
We using VSN, we use JRIA for issue tracking and distribute workload. Our scheduling estimation is where I think the team mostly fails. We are always delivering late, spend long times fixing bugs after delivering
 
sounds like a perfect use case for sprints then
 
Sorry for my ignorance, but what do you mean by sprints?
 
it's part of some types of agile, one second
my two cents on what "agile" really means is that it's a response to the fact that requirements for any real-world software project are constantly in flux, and rarely spelled out comprehensively at any point
the first thing to read is of course the agile manifesto itself
 
12:45 PM
Good
 
"Working software over comprehensive documentation" is the point where sprints come in
the idea of a "sprint" (where I work each one is two weeks) is that at the beginning you commit to a certain set of tickets in the JIRA backlog, you work primarily on those tickets during the sprint, and by the end of the sprint you have a shippable product with at least those tasks done
in particular, each task has a very rough estimate attached to it, so at the end of every sprint you can see how many tasks you actually got done, and that gives you a "velocity" (i.e. how much your team can get done in a sprint) which lets you make more sustainable commitments in future sprints
I forget if Jira supports all this out of the box or if we have an "agile" plugin for it, but we do most of this through Jira
every week or so there's a meeting where our team lead and business manager sit down and simply go through the Jira backlog, making sure the most important stuff is at the top and everyone's clear about what will be in the next sprint
 
There is a plan for agile in JIRA and we purchased it. Funny enough nobody knows how to use it.
 
Jira can be like that sometimes
I know you have to be an admin to do much of the useful stuff with regards to sprint planning
I might be able to help a bit with learning to use Jira, but it might be a different plugin than ours, and online tutorials are probably better for that anyway
 
Yes, I need to spend some more time on the online tutorials before I waste your time with any trivial question. But for now. Do suggest reading any book after the agile manifesto?
 
forgot to mention, imo one fundamental consequence of "agile" is that there is no such thing as a hard deadline, there are only the per-sprint commitments and long-term goals that constantly get re-prioritized
 
12:53 PM
so if the client expects product to go live in three months, how can we manage that if there is no hard deadline?
 
personally, I haven't read any books on this stuff, but I'm the type of person for whom "soft skills" are completely unlearnable via books; whenever I read that stuff I just spend the whole time seeing the potential flaws with everything that's being suggested; I need to try it out in the real world to see whether it works for me
 
I understand. I makes sense
It*
 
lemme rephrase that: there is no such thing as a hard link between a particular deadline and a particular feature set
if you need to release something in three months, then you work out a list of the issues that are most important to resolve in those first three months, and you finish as many as you can
 
I see
now I understand.
 
in theory you always have something that can be released, even if it's still missing features or has some unfixed bugs
at least at the end of each sprint you do
a common term we use in this context is "minimum viable product"
 
12:56 PM
Ok.
I think I will start with the manifesto and try to understand each principle. Then I will try to implement through Jira for start
 
to what extent those first three months of tickets consist of features, bug fixes, or getting the architecture right is a hard decision you'll have to make based on what little you know now
 
user55340
@Ixrec I always like to follow up the agile manifesto with the Manifesto for Software Craftsmanship
 
true, can't go wrong with that one either
 
@MichaelT thanks
 
user55340
> As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value:
Not only working software, but also well-crafted software
Not only responding to change, but also steadily adding value
Not only individuals and interactions, but also a community of professionals
Not only customer collaboration, but also productive partnerships

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.
 
12:59 PM
@Hawk now, the other thing I wanted to respond to was your claim that the main reason you miss deadlines is lots of bugs
 
@Ixrec It is actually what disturb next project, lots of bugs in the previous one
 
this is where things like TDD might help, but SOLID principles or YAGNI or simply getting the architecture right could also be important
do you have any sense for what the most common sources of bugs were?
does it feel like the project just ended up being too complicated overall? did the desired functionality change too drastically? are there specific pieces of the project that most of the bugs came from?
 
It actually when we face many reoccuring bugs, we sit and discuss the source. But at the time, we spent a lot of time from next project
 
user55340
The advantage of agile (and sprints) is that it helps you know early on if you're overly optimistic.
 
Yes, one of the project ended up being too complicated. And one specific area was source of most the bugs, but there were bugs from other pieces too
 
1:02 PM
cool, reoccuring bugs sounds like you want regression testing and possibly TDD
do you have any sort of automated testing already?
 
Is TDD the developer's responsibility or the QA's people
nope
 
that would be the first thing to look into then
 
user55340
Say you're a moving company - you're asked for an estimate for moving offices in buildings on a software campus. You give an estimate. You've got 6 buildings with 5 floors each. After the first building you realize your estimate is off (but you've already spent a month doing it).
 
whether it's specifically TDD or not isn't as important as simply having a test suite that you add to whenever you see a testable bug or feature
 
user55340
Breaking it down to doing estimates by floors rather than buildings or projects you realize that your estimate is wrong having only done 1/30 of it rather than 1/6th of it.
 
user55340
1:05 PM
Faster feedback cycles to either reduce scope or change the expected completion date.
 
@MichaelT So this is TDD approach?
 
he's talking about agile and sprints
 
oh ok.
 
user55340
The thing is you need to make sure you have enough time to actually complete the work.
 
user55340
Completing the work means not moving forward with major bugs.
 
user55340
1:06 PM
If that means you need more time, you need to realize this earlier than later.
 
@MichaelT I see
 
user55340
TDD takes time up front. In theory, it saves time on the end and in future revisions.
 
Is there any resource I can learn TDD as a developer? I guess this should be done closely with testing guys, right?
 
user55340
If you are giving estimates of "it will be done in 3 months" and at 2.5 months you find yourself rushed (and rushing means you're writing bugs and not fixing them) then your next one will be impacted by those bugs.
 
user55340
TDD is often completely developer centric.
 
1:07 PM
not quite, writing automated tests and doing manual tests are very different things
 
user55340
You write the test for the unit before you write the code.
 
unit tests in particular are definitely something the developers have to do
 
oh Ok
 
user55340
"Here is a function, I haven't written it yet. I expect to get this result when passing in these values" - so you write that now. Then you write the code so that it passes the tests.
 
probably worth mentioning that TDD stands for test-driven development
 
1:09 PM
yes yes correct
 
user55340
Any time you have a bug that you are fixing, you write the test to tickle the bug first. Then you fix the bug (and have the test pass)
 
user55340
If you can't write a test to tickle the bug, you've got problems.
 
so the thing with writing tests in my experience is that, depending on the type of code you're working on, it can be harder to get a good return on investment than the evangelism might have you believe
 
By writing the test you mean write code that automate the testing, or just write general steps?
 
if you have something straightforward like a square root function that takes in a number and outputs a number, you should TDD that, there is absolutely no reason not to because it is so easy to write good tests for
when we say "test", we mean an automated test
 
user55340
1:11 PM
Btw - two of my favorite articles about which bug to fix: Improving Bug Triage with User Pain and PEF/REV: A multi-dimensional bug tracking metric
 
placed somewhere that your test framework/harness/whatever can run it alongside all the other automated tests
 
user55340
Having bugs is one thing. Spending a week on a bug that no one cares about... you shouldn't do that.
 
I understand
 
one thing that really helped me "get" TDD was watching Destroy All Software, since that's basically a guy doing TDD while talking about what he's doing
I'm sure there are many other good resources but that's the one I've personally used that definitely helped
 
Thanks for all these resource guys
 
1:14 PM
back to the last thing I was saying, on the other hand if you have a function that writes text to the screen or manipulates GUI elements, that is way harder to test, and most automated tests you can easily write will be very "brittle" (meaning the test might break for reasons that do not indicate a bug in the thing being tested)
so this gets into "making your code testable"; a typical example would be taking a function void writeDataToScreen(DataStructure) and splitting it into two functions string formatData(DataStructure) and void writeFormattedData(string) where the former is much easier to test and contains most of the interesting logic
 
I see
 
user55340
... which should be broken up into small testable units too
 
user55340
 
user55340
178
A: Is it OK to split long functions and methods into smaller ones even though they won't be called by anything else?

MichaelTTesting code that does lots of things is difficult. Debugging code that does lots of things is difficult. The solution to both of these problems is to write code that doesn't do lots of things. Write each function so that it does one thing and only one thing. This makes them easy to test with...

 
I think I'll stop there since any more probably risks overloading you
but for the testing stuff, the big thing is to get some kind of automated testing framework into your codebase, so that you can at least start writing tests in the first place
 
1:19 PM
@Ixrec hahah many thanks, I think I have something to start with now.
 
only then can you start doing cool things like set up a continuous integration server to automatically run all the tests on every commit to master
or worry about things like how many of your tests are stubbing/mocking too much or which boundaries between which modules should be unit tested and which should be integration tested and whatnot
 
ok
 
as Testivius says, "An imperfect test today is better than a perfect test someday"
 
right
Thanks a lot guys, this gives a kick start. I'm sure I'll have more rigid questions after a while of going through these resources.
 
no problem, there's loads to learn here
frankly I'm still a complete noob at most of it
I've just been around long enough to see the first tests I wrote become so brittle I kicked myself for ever writing them
 
1:24 PM
hahah what can I say about myself then
 
well, you have far more experience with actually writing and supporting software than I do, that's something
I happened to get my first job at a place that was already trying to do agile and TDD, so I was forced to think about this stuff almost immediately
 
I'm voting to close this question as off-topic because it is a verbatim duplicate of programmers.stackexchange.com/questions/288765/…msw 37 secs ago
 
I just realized I never brought up code reviews during that entire discussion
oops
 
 
2 hours later…
3:33 PM
happy belated 4th everyone, Even you gnat! We kicked your asses! Cheers mate!
@gnat why did you? ...went to the pub on Saturday did ya?
 
@JimmyHoffa cried in the corner about lost empire
 
4:14 PM
I think this question should be migrated to programmers.stackexchange.com — Michael Liu 51 secs ago
 
4:37 PM
This sounds like the sort of conceptual question better suited to programmers. — Quentin 49 secs ago
 
5:07 PM
@NolinM. I know, I was thinking about either this site or programmers.stackexchange.com But since I know there are some smart people here with great ideas, I might as well give it a try :) — bvanvelsen 33 secs ago
 
 
1 hour later…
user55340
6:38 PM
@Ixrec testing and automated testing -- chasing the topic links on Codeless Code can be fun too.
 
I'm reading them all in order for now
I liked the one with a hundred squirrels
 
user55340
You do know that many of the images have mouseover texts?
 
user55340
(... and now you have to go back and read them all again)
 
yes I noticed that
 
user55340
Have you picked up on the names of the various departments?
 
6:42 PM
the links explained them
 
user55340
There's also names which gives you all the stories for a particular entity.
 
7:45 PM
folks, do we have an ? do we ever need it?
 
7:55 PM
looks to me like it's being used as a subset of
 
8:13 PM
This question belongs to programmers.stackexchange.com as you ask for an algorithm — WorldSEnder 12 secs ago
 
I registered just to downvote this garbage
5
A: How shall we deal with demotivation from non-core activities?

David EspinaYou are creating a cause and effect between a lowering morale and motivation with doing certain tasks. My first reaction is you are creating a cause and effect that does not exist. Every job in the world has tasks no one likes, or tasks with which one might feel less competent, or tasks that cau...

 
8:28 PM
@Ixrec I dropped this tag from questions where it made too little sense, and looks like you're right, remaining 4 questions indeed appear to be software recommendations. I'll probably cast some close / delete votes on these tomorrow, after my voting limits recharge
 
9:17 PM
@gnat I removed it from the one open question
Can some 10ks toss delete votes on this beaut? programmers.stackexchange.com/questions/6556/…
 
@durron597 time to retire it
 
@gnat I removed and from the other question with that tag
@gnat oy. only one open question.
 
@durron597 good edit, I was willing to retag but couldn't figure how (your other edit with detagging that "alternative" question was also good)
 
we're never going to run out of bad tags to clean up, are we?
 
9:24 PM
@Ixrec Well fortunately if basically all the questions are closed it's pretty easy
I have a bunch of CVs left today but all the ones in the STCI list are really hard to close right now
 
@durron597 not anymore, that question was tagged wrong (tag wiki for are luckily quite instructive:)
 
@durron597 trends for STCI? 19 questions
 
I'm just gonna edit out all four of the bad tags on that one and call it a day
 
9:28 PM
Actually wait a minute, if the three of us (me, @Ixrec and @gnat) downvote the one answer in the question I pinned, it will Roomba away
 
@durron597 there is an accepted answer, roomba won't touch it
 
The javafx script retirement one?
 
I think we all got confused there, too many bad uestions getting linked
 
@durron597 ah that one, I see, that can be roomba'ed
 
down to 0 now, that's low enough right?
 
9:30 PM
@Ixrec correct
 
yeah. so, that one is handled, now this one needs an edit to kill all those tags and we're good
 
done
 
@Ixrec is a bad tag?
 
now that you mention it maybe not
it's a closed question anyway so no big deal
 
@gnat only has two open questions now
 
9:31 PM
cross-platform was just the only one that jumped out as obviously useful
 
@durron597 I'd still add trends to STCI, for maybe it needs to be burninated
 
@durron597 VTC'd both
 
We should probably have an aggregator for tags that are already all closed, but should be burninated but maybe not blacklisted
@Ixrec Me too. And now I'm out.
 
same, back to watching Marvel flicks
huh...that self-answer we just got feels a little odd
 
Can we get the word "thoughts" banned as a word in question titles the same way Stack Overflow bans "problem" in question titles
 
@durron597 hmm to me would feel unfair, it looks like a solid attempt to address the question asked (I plan to cast delete vote on the question though)
 
@gnat Yeah, since I don't have 10k rep I need to think of other solutions to problems ;)
 
Robert self-deleting that answer would act as a binding (roomba) delete vote for the question, wouldn't it? (without wasting his real DVs)
 
@durron597 been there done that. :) How many flag declines have you got so far? ever "touched" on that warning about declined flags? (I once had it at SO, it was... not quite comfortable)
 
@gnat I don't flag stuff for things the community can do
Which basically means, my flags are only on comments and requests for historical lock and then obvious stuff like spam
 
9:45 PM
@durron597 oh, you're safe then
 
@gnat I have 123 helpful flags with 1 decline on programmers.
145 helpful flags, 9 decline 7 disputed on SO.
(which reminds me... what's the difference between a declined and a disputed flag?)
 
@durron597 123:1 is a damn good rate, mine at Programmers is only slightly better than 50:1
 
Most of my SO declines are requests for historical lock and spam flags that are people whoring themselves in questions which their product actually does answer the question... technically.
 
39
Q: Disputed vs. helpful/declined flags

La-comadrejaWhat does it mean when a flag is disputed? How is that different from being declined? I don't see a clear explanation for this in my flagging history, so just asking it here. Ironically, the first explanation I've seen was in the tag description for this post. It seems like a surprisingly sim...

 
Disputed ought to be "Rendered obsolete", then.
I flagged some of these comments as obsolete and got declined, inexplicably: meta.stackexchange.com/questions/44101/…
 
9:52 PM
@durron597 comments flagging at meta is a risky business, I think there was even post about that
 
@durron597 at 80K views on that question, your flag seems to have good chances to go through
 
I made sure to get it closed first before flagging
 
@durron597 Not much to see there. Historical locks are only used when question are contentious (i.e. multiple close/reopen cycles) and there's enough value in a question and its answers to merit preservation.
Historical locks are (and should be) quite rare.
 
@RobertHarvey So you think the question should be left closed and nothing else?
The question is blatantly off topic.
 
10:02 PM
It's gotten 80,000 views; deletion doesn't make much sense. Nor does reopening it. There's no other activity that requires a lock, unless people start bumping it for no good reason, or it gets reopened and closed again.
 
@durron597 I'd cast a delete vote, to show to moderator reviewing my flag that I am really serious. At Programmers, probably half of my flags for hist lock are accompanied by delete votes (and flag messages usually go close to size limit, to cover the issues in question / answers, but that goes on all my flags for lock, not only those I VtD)
 
@gnat Nah, I'm spending all my delete votes on questions that ought to be roombaed but aren't.
 
@RobertHarvey almost 2,500 locked questions at SO don't quite sound rare
 
@gnat such gems as this one
 
19
Q: Voting stats for "desperate accept" answers

gnatI am looking for voting statistics on the answers to questions that are: Quickly closed (within 1 hour after posting) Have single answer Aren't eligible for "roomba deletion" only because of having an accepted answer side note this excludes dupe-closed questions, as roomba ignores these I wou...

@RobertHarvey I explained why I want this: how much of a "measurable" value is provided by these answers for users (other than asker and answerer, who apparently benefit from accept by getting +2 and +15 rep).gnat May 14 '14 at 17:02
 
10:17 PM
> My take-away here is that the Roomba can be substantially improved by careful targeting of duplicates, but going after answered (in a sense, upvoted or accepted) questions is probably not worth the risk.
It "can" be improved, but it hasn't been.
 
@durron597 well. Shog's take-away on desperate-accepts stats looks quite compelling. Still doesn't stop me from raising eyebrows every time I see a particularly blatant example of this happening (and your example with for-loops looks like one). As for targeting dupes, yeah that looks like yet another 6-8 weeks plan. Granted it's probably indeed complicated
 
Any question with exactly one answer and both the question and answer are negatively voted seems to override, to me, the checkmark.
 
@durron597 as of now, yes. But if roomba was extended to handle these, this would open a door for... shall we say, slippery voting manipulations. Q&A both under -2 / -3, maybe - that's a fairly solid indication - but then, these are probably infrequent enough to be handled by 10Kers
 
@gnat Yeah, I agree with inviting the manipulation.
That's the main reason I haven't made a meta post about it.
 
10:40 PM
@durron597 I think this is sort of "equation" SE folks have to deal regularly. ((additional power for community cleanup) - (additional efforts to keep that power under control)) * (severity of the need to cleanup) - when it's not severe enough, additional efforts to control stuff can be too much to make it worth messing with
 
@durron597 can't help here - already voted all of them long time ago :)
 
haha ok
 
@durron597 there was a time when I voted without even thinking of roomba. Actually, I pretty much don't think of it when voting now :)
 
11:22 PM
counting partitions problem: The number of partitions of a positive integer n, using parts upto size m, is the number of ways in which n can be expressed as the sum of positive integer parts up to m in increasing order. using tree resursion - python
count_partitions(6, 4)
2 + 4 / 1 + 1 + 4 / 3 + 3 is fine 1 + 5 is not fine
how can we think using recursion?
 
well, obviously you can start with all the "size 2 partitions" of 6, then split those into size 3s by using the partitions of the left element, and so on like that
how to do that while avoiding duplicates I have no clue, and it honestly seems like recursion is not the most natural way of approaching that problem (I'd expect there to be a simple formula for this)
but I have to go to bed now
 
this approach actually helps learn mergesort/quicksort, right?
I have the code with me, but am unable to digest the conceptual idea
ok good night Ixrec
 
I can see a vague resemblance to some parts of mergesort/quicksort, but this particular problem doesn't look like an element of any sort algorithm to me
night
 

« first day (1766 days earlier)      last day (3228 days later) »