Two Plus Two Publishing LLC Two Plus Two Publishing LLC
 

Go Back   Two Plus Two Poker Forums > >

Notices

Programming Discussions about computer programming

Reply
 
Thread Tools Display Modes
Old 11-17-2017, 06:28 PM   #30751
goofyballer
 
goofyballer's Avatar
 
Join Date: Jun 2005
Posts: 60,605
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by suzzer99 View Post
Went in to work today for the first time in 3 months. Holy crap how do you people put up with rush hour commuting? Worst 29 minutes of my day.
My commute has been ~30 minutes for the last nine years; for most of that it was driving ~25 miles outside the city, now it's a 20 minute bus ride and 10 minutes walking. I rather enjoyed the drive, but it helped that there wasn't traffic (I imagine 30 minutes of open road is much more enjoyable than 30 minutes of traffic).
goofyballer is offline   Reply With Quote
Old 11-17-2017, 06:44 PM   #30752
Victor
Carpal \'Tunnel
 
Victor's Avatar
 
Join Date: Jul 2003
Posts: 58,092
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by blackize5 View Post
We have a zillion "unit" tests and "integration" tests that would take something like 3 hours to run if we didn't parallelize. As is they take like 30 minutes and fail like 20% of the time due to order of operations or bad cleanup between tests. Still haven't been quite about to track down why this is happening.

A huge chunk of the tests have no value and most tests are poorly written so that they're far slower than they should be.

Several devs I work with just think on the level of you need code coverage and it drives me insane.
Our build scripts run unit tests so if they fail they better get fixed.

And you can't even make a front end pr if they fail.
Victor is offline   Reply With Quote
Old 11-17-2017, 07:27 PM   #30753
blackize5
adept
 
Join Date: Sep 2012
Posts: 1,123
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Yeah we don't have automated deploy but the tests run against prs and people can't merge until they pass. The failures are intermittent so basically 1 in 5 tests fail for some reason that doesn't actually indicate a problem with the correctness of the code.
blackize5 is offline   Reply With Quote
Old 11-17-2017, 08:52 PM   #30754
vento
journeyman
 
Join Date: Mar 2009
Posts: 306
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by jjshabado View Post
I guess my broader point though is that maximizing output at the team level in the long run requires allowing individual developers freedom in a lot of dimensions - including their unix configuration scripts.


Still trying to learn basics and not generally making too many modification since learning and re-creating things constantly , in order to learn.

However more in general level on personal freedom / vs efficiency, I would look first how big problem it is really is. One could have spent even 20 days troubleshooting silly customizing issues, but depends how many devs there are, during how many years it all happened etc. hence difficult to make judgement call when it is too much work to allow certain freedom. Possibly the modifications are improving the efficiency in other areas, keeping devs happy etc.
vento is offline   Reply With Quote
Old 11-17-2017, 08:57 PM   #30755
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: Why didn't I use Clojure instead?
Posts: 21,937
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by candybar View Post
Too early or too late?
too early without fixes. If I was able to have fee reign, I can fix most of it.

Quote:
This sounds nice but this is not how software engineering on planet earth works. Like I said earlier, engineering is about edge cases and testing is about when deductive reasoning does not apply or fails completely despite best efforts. Feel free to attach proofs to your code that prove that your code works but until you're prepared to write actual proofs, you need tests and lots of them.
Let's not kid ourselves.... 90% of programming is basic tasks. This doesn't mean I don't write tests at all; I just think that they are needed much less than people claim.

Quote:
It's possible you're too late. Are you tasked with writing unit tests or just automated tests? It sounds like the system needs end-to-end tests - it's rare that adding unit tests at this point in the development cycle is useful for the purposes of reducing defect rates IME. It's mostly useful for showing that the design is ****ed.
Unit testing.
daveT is offline   Reply With Quote
Old 11-17-2017, 09:43 PM   #30756
vento
journeyman
 
Join Date: Mar 2009
Posts: 306
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by daveT View Post
too early without fixes. If I was able to have fee reign, I can fix most of it.



Let's not kid ourselves.... 90% of programming is basic tasks. This doesn't mean I don't write tests at all; I just think that they are needed much less than people claim.



Unit testing.


If you were in charge of the project with several devs ,what would be your take on testing and QA. Would there be level required on unit testing or just how each of the devs feel or external automated testing on some important values / functionalities etc. or once things been integrated.

This considering that some stakeholders would be asking how things are going and to show some proof. What would be the function of QA?

Just interested of the alternatives.
vento is offline   Reply With Quote
Old 11-17-2017, 11:51 PM   #30757
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: Why didn't I use Clojure instead?
Posts: 21,937
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Mind that I'm mainly a lone wolf. I'm working with a team now, and it's strange to me. As a lone dev, I see it as my job to write good code and to write proper tests.

I think the degree of testing really depends on the quality of the team and the stability of the code base. I'm not entirely sure about automation as a standard operating procedure, as in some cases, it would be easier to simply rewrite the code. I think that, counterintuitively, weak programmers don't benefit from testing as much as middle or strong programmers.

I guess to try an answer, I would expect most code testing to be done by the developers, and most manual testing for IU and functionally to be done by QA. It's one thing to pass a bug, it's a whole nother thing to pitch everything over a wall and expect some one else or a robot to figure it out for you.
daveT is offline   Reply With Quote
Old 11-17-2017, 11:53 PM   #30758
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: Why didn't I use Clojure instead?
Posts: 21,937
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I'll double post since I'm on my phone. Someone once told me that a good QA is a breaker, while a programmer is a builder. The QA is diametrically opposite to a programmer's intuition, and that relationship is very powerful.
daveT is offline   Reply With Quote
Old 11-18-2017, 01:38 AM   #30759
candybar
old hand
 
Join Date: Aug 2011
Posts: 1,756
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by daveT View Post
Let's not kid ourselves.... 90% of programming is basic tasks.
That's the point - it's not like writing a complicated math proof, but taking care of a long list of edge cases. And performing such basic tasks reliably is surprisingly difficult for humans, especially at scale necessary for today's large systems. Tests exist to catch stupid mistakes, not fundamental design errors.

Quote:
This doesn't mean I don't write tests at all; I just think that they are needed much less than people claim.
This depends on your scale, reliability requirements and frequency of changes. The larger your system and the greater your reliability requirements and the more frequently you deploy, the more important it is that you have a reliable automated test suite that covers large portions of the system. It's hard to talk about the importance of automated tests in the abstract without understanding the nature of the system and the business requirements. I will say that I've rarely seen systems that had adequate levels of test coverage.
candybar is offline   Reply With Quote
Old 11-18-2017, 02:03 AM   #30760
suzzer99
Carpal \'Tunnel
 
suzzer99's Avatar
 
Join Date: Nov 2005
Location: on top of the bell curve
Posts: 83,704
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I literally had a hotshot "architect" at one of my first jobs, after us reporting to him that his code didn't work, tell us: "I looked at the code. It works." Well did you run it? No.

Narrator: "The code did not work."

Needless to say - "I looked at the code. It works." - was a running joke on our team for years.

Perfect example of why I love programming. You can only bull**** so far before your **** has to work.
suzzer99 is offline   Reply With Quote
Old 11-18-2017, 02:28 AM   #30761
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: Why didn't I use Clojure instead?
Posts: 21,937
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

In my experience so far, the mass of bugs really comes from a) over engineering and b) writing Language X in Language Y.

I hate the idea of joining the side that seeks a Language X guru, but I'm starting to understand the perspective.
daveT is offline   Reply With Quote
Old 11-18-2017, 03:47 AM   #30762
goofyballer
 
goofyballer's Avatar
 
Join Date: Jun 2005
Posts: 60,605
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by daveT View Post
Mind that I'm mainly a lone wolf.
goofyballer is offline   Reply With Quote
Old 11-18-2017, 01:14 PM   #30763
Barrin6
Carpal \'Tunnel
 
Barrin6's Avatar
 
Join Date: Dec 2005
Location: beyond legal blindness
Posts: 6,657
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I do backend development so there are no need for front end tests. So in my opinion high coverage should be achievable. If this was iOS app or something front end heavy, then yea I see very little value in tests.
Barrin6 is offline   Reply With Quote
Old 11-18-2017, 01:21 PM   #30764
candybar
old hand
 
Join Date: Aug 2011
Posts: 1,756
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by daveT View Post
In my experience so far, the mass of bugs really comes from a) over engineering and b) writing Language X in Language Y.
I'm not sure what you're trying to say but if you have, say, a 100-person engineering organization, your engineers will do lots of things, including above, that will produce lots of bugs. Unless they are caught and reported back. The only question is whether they are caught during development, testing or in production. "Let's write bug-free code by doing all the right things" is not a methodology.
candybar is offline   Reply With Quote
Old 11-18-2017, 01:28 PM   #30765
kerowo
lolcat
 
kerowo's Avatar
 
Join Date: Nov 2005
Posts: 33,812
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by suzzer99 View Post
I literally had a hotshot "architect" at one of my first jobs, after us reporting to him that his code didn't work, tell us: "I looked at the code. It works." Well did you run it? No.

Narrator: "The code did not work."

Needless to say - "I looked at the code. It works." - was a running joke on our team for years.

Perfect example of why I love programming. You can only bull**** so far before your **** has to work.
That's like doubling down on the standard "does it work?" "it compiles" conversation.
kerowo is offline   Reply With Quote
Old 11-18-2017, 01:57 PM   #30766
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: Why didn't I use Clojure instead?
Posts: 21,937
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by candybar View Post
I'm not sure what you're trying to say but if you have, say, a 100-person engineering organization, your engineers will do lots of things, including above, that will produce lots of bugs. Unless they are caught and reported back. The only question is whether they are caught during development, testing or in production. "Let's write bug-free code by doing all the right things" is not a methodology.
Obviously I'm not talking about 100-person orgs. I don't know and don't want to know what that is like. I'm sure finding gurus doesn't scale, so it sounds logical to me that you would need many more stop-gaps in place.
daveT is offline   Reply With Quote
Old 11-18-2017, 03:22 PM   #30767
candybar
old hand
 
Join Date: Aug 2011
Posts: 1,756
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by daveT View Post
Obviously I'm not talking about 100-person orgs. I don't know and don't want to know what that is like. I'm sure finding gurus doesn't scale, so it sounds logical to me that you would need many more stop-gaps in place.
A 100-person organization is a fairly small company and large-scale software engineering is what matters and is hard - the majority of useful software (weighted by usefulness) are large systems and the majority of well-paid software developers work on small parts of large systems. Writing high-quality, low-defect, self-contained small programs that are measured in thousands of lines of code is mostly a solved problem. Lots of things work very well at that scale. This is not what we're worried about.

The problem is also not that small companies with small code bases can find gurus to work on and large companies can't - from what I can tell, most actual gurus work at large tech companies. The problem is that the quality bar that is acceptable when you're dealing with small programs is absolutely unacceptable when you're dealing with large systems. As a very simplistic example, let's say you're a great individual programmer that ships a critical bug 0.1% of the time. Each change you ship basically has 99.9% chances of not having a critical bug. This is pretty good if you own a small web application with a few clients. If there are a thousand such programmers working independently to ship features in the same release, 0.999 ^ 1000 = 0.367 - you will get a critical bug 63% of the time. This is completely unacceptable.
candybar is offline   Reply With Quote
Old 11-18-2017, 03:42 PM   #30768
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: Why didn't I use Clojure instead?
Posts: 21,937
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I think that scoots back to what I said about testing being less useful for weak devs. My observation / experience is far worse than 0.01%. At some point, the tests are effectively rewriting the program,so the trade off gets closer to why bother?
daveT is offline   Reply With Quote
Old 11-18-2017, 03:52 PM   #30769
RustyBrooks
Carpal \'Tunnel
 
RustyBrooks's Avatar
 
Join Date: Feb 2006
Location: Austin, TX
Posts: 23,265
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

If you let weak devs write their tests you'll *probably* get weak tests too, unless the reason they're a weak dev is that they were born to QA instead (see break vs fix above, which I 100% agree with, an actual good QA person tries all kinds of devilish things to break your stuff)

In an ideal world I think there would be a department or group that mostly writes tests. Big companies have these, I have several friends who started by writing and running tests suites for IBM AIX. They might spend weeks or months trying to break some video driver or something.

A lot of the pushback for testing comes from the fact that it is really common to want to make a simple 1 line change - it'll take 5 minutes max. Writing a good test for that change might take 2 hours. It's tempting to think that this means you'll spend 95% of your time writing tests, but it's also usually the case that if you add a feature and it takes 2 hours, or 4 hours, or 8 hours, writing tests will probably only be 2 hours. That is, testing difficulty often does not really scale with coding difficulty.
RustyBrooks is offline   Reply With Quote
Old 11-18-2017, 04:07 PM   #30770
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: Why didn't I use Clojure instead?
Posts: 21,937
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I'm also saying that an external tester loses value when you are dealing with weak devs. You need a code reviewer or someone to go through and rewrite everything.
daveT is offline   Reply With Quote
Old 11-18-2017, 05:52 PM   #30771
RustyBrooks
Carpal \'Tunnel
 
RustyBrooks's Avatar
 
Join Date: Feb 2006
Location: Austin, TX
Posts: 23,265
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by daveT View Post
I'm also saying that an external tester loses value when you are dealing with weak devs. You need a code reviewer or someone to go through and rewrite everything.
Yes and no. If the tests are good and the code passes tests, then it's at least functional. If/when it gets rewritten by someone better, the tests are an invaluable time saver to the rewriter.

I actually think people put too high of an emphasis on code quality. If it produces the right answer and it's fast enough, well, that's a pretty good start. A huge percentage of code is thrown away in a year or two, let's not pretend we're building the Taj Mahal.
RustyBrooks is offline   Reply With Quote
Old 11-18-2017, 06:58 PM   #30772
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: Why didn't I use Clojure instead?
Posts: 21,937
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I think code quality is very important. I don't mean that you have to be writing e=mc^2, but you should be following the languages semantics. That makes it easier for the next person, and following semantics makes the code much more readable.

In the current contract, we are using Python. This is great and all, but nearly every single loop and string manipulation involves an index or counter. This is incredibly non-pythonic, and only made worse because Python's style of indexes and results of many functions is counter-intuitive. This not only makes things hard on the person writing the code, but makes things very difficult on the person who has to both write tests and clean up the code. Good code is both functional and has an obvious intent.
daveT is offline   Reply With Quote
Old 11-18-2017, 08:24 PM   #30773
kerowo
lolcat
 
kerowo's Avatar
 
Join Date: Nov 2005
Posts: 33,812
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

A working definition of code quality would be a good start...
kerowo is offline   Reply With Quote
Old 11-18-2017, 10:02 PM   #30774
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: Why didn't I use Clojure instead?
Posts: 21,937
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Bad: 6 hours writing a 25 line function

Good: copy / paste a 3 line solution from StackOverflow.
daveT is offline   Reply With Quote
Old 11-18-2017, 10:34 PM   #30775
suzzer99
Carpal \'Tunnel
 
suzzer99's Avatar
 
Join Date: Nov 2005
Location: on top of the bell curve
Posts: 83,704
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Nah that's cheating. If it's too simple then clearly you put in little effort and deserve little credit.

/everyone at my work

Better: write a multi-headed hydra 500-line function that attempts to anticipate every possible need the function might have for the next 5 years. Then create a wiki page for it.

Best: pay a vendor $5M to supply an all-in-one solution that does the work of 100s of other similar functions you can think of. Except for your original function. But they assure you it can be customized to handle that.
suzzer99 is offline   Reply With Quote

Reply
      

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Forum Jump


All times are GMT -4. The time now is 03:48 AM.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © 2008-2017, Two Plus Two Interactive
 
 
Poker Players - Streaming Live Online