So I'm running a GL compute shader and trying to use GL_SHADER_STORAGE_BUFFER to write to some buffer and then pass that buffer to the vertex shader of a later draw call
Okay, fine. Except it crashes somewhere in the GL driver if my vertex shader tries to use the buffer, or if it doesn't and I don't explicitly map/unmap the output buffer
It still gets really meander-y, but at least it now understands some basics of harmony(though... not always).
Still only outputs quarter note rhythms, since rhythms are... well I'm not there yet.
It does understand chord progressions now though(in a very strange sort of way). Next step is to have it understand the idea of harmonic "riffs", where it can repeat the harmonic line things, adjusting the notes to fit with the "chord".
Of particular note is that they used people with professional experience (albeit at skewing toward the lesser experienced end of the range), and they were using a statically typed language (Java). They also were looking specifically at test first vs. test last, not TDD vs. no testing at all.
The tl;dr is: "...we confirmed the baseline results: TDD does not affect testing effort, software external quality, and developers' productivity."
I'm still working my way through the study, but a provocative result, given the proliferation of TDD in the last 10 years.
I can't say I'm especially surprised by that. TDD is IMO more a way to get to the point of having tests at all, but I can't see why tests written before would ever be inherently better than tests written after
I can't say I'm especially surprised by that. TDD is IMO more a way to get to the point of having tests at all, but I can't see why tests written before would ever be inherently better than tests written after
My gut instinct has said it doesn't matter, but the doctrine of "tests first!" is almost slavishly repeated most places I read. You're not doing TDD, if you're not doing tests first, and tests first is what makes TDD great! Or something. I dunno.
I can't say I'm especially surprised by that. TDD is IMO more a way to get to the point of having tests at all, but I can't see why tests written before would ever be inherently better than tests written after
My gut instinct has said it doesn't matter, but the doctrine of "tests first!" is almost slavishly repeated most places I read. You're not doing TDD, if you're not doing tests first, and tests first is what makes TDD great! Or something. I dunno.
Right, in my mind the important parts of TDD are not "tests first!", but more writing code from the perspective of making it more easily testable. Focusing on the behavior of what you want your code to do, etc.
I think you could argue that having the discipline to write the tests first may change how you approach writing the code when you get down to it.
This can be a waste of time, ie, I've thought I needed a utility method to do one thing or another, written the tests and the code for the method, then worked on other code more and realized I didn't need the method in the first place. But I think my problem in those cases as I need to be thinking and testing the highest level method (ie, the one that is solving whatever problem I am working on) first.
It was interesting to get an idea of currently leading and newly emerging frameworks and tools. TLDR: React is killin' it, JS development is overly complicated, but it's getting better.
React has won. Everything else is just noise when it comes to the UI part.
TDD has always seemed to me to be a reaction by developers against managers who don't see the value of spending time at the end doing testing.
So we front load the testing portion because then bad managers can't tell us to move on to the next thing before the tests are written.
Steam: Spawnbroker
+1
KakodaimonosCode fondlerHelping the 1% get richerRegistered Userregular
Anyone have some recommendations on intermediate/advanced CUDA programming resources? Don't really need any numerical calc resources, but something that has pointers on how to optimize cache request, data locality, etc.
TDD has always seemed to me to be a reaction by developers against managers who don't see the value of spending time at the end doing testing.
So we front load the testing portion because then bad managers can't tell us to move on to the next thing before the tests are written.
For me the primary function in writing tests first is that it forces you to write code which is testable, by definition. I'm an impulsive person, so doing it in that order is a good way for me to ensure I think about the details I might otherwise pass over.
TDD has always seemed to me to be a reaction by developers against managers who don't see the value of spending time at the end doing testing.
So we front load the testing portion because then bad managers can't tell us to move on to the next thing before the tests are written.
For me the primary function in writing tests first is that it forces you to write code which is testable, by definition. I'm an impulsive person, so doing it in that order is a good way for me to ensure I think about the details I might otherwise pass over.
That's a good way to look at it, yes.
I've always been kind of sad that I haven't ever been able to practice TDD professionally. SharePoint is inherently untestable, so most people I work with don't bother, they don't see the point. The best I can do is extract out everything that doesn't have to do with SharePoint objects and test that, but it still doesn't tell me whether my code will work when I deploy.
Well see...vue has started taking off a bit, particularly in China.
But yeah React is King for near future
There's a few frameworks out there that show a lot of promise. Vue, Aurelia, Angular 2 all have some pretty cool features. I agree, React won this iteration, and probably the next, too, with the momentum they've got.
Anyone have some recommendations on intermediate/advanced CUDA programming resources? Don't really need any numerical calc resources, but something that has pointers on how to optimize cache request, data locality, etc.
I have a collection of GTC presentation links I have used to self learn some of the advanced features:
Also minor update. The recommendations and best patterns for CUDA really come down to being applicable for a given architecture. For example lots of the recommendations for fermi aren't required to get great performance on pascal. For example, un-coalesced costs on pascal are significantly better than fermi, and sm3.5+ has way better texture caching hardware and offers __ldg to allow any read to use texture cache.
So that is a long way to say try to find books / articles that line up with the hardware version you are targeting.
Well see...vue has started taking off a bit, particularly in China.
But yeah React is King for near future
There's a few frameworks out there that show a lot of promise. Vue, Aurelia, Angular 2 all have some pretty cool features. I agree, React won this iteration, and probably the next, too, with the momentum they've got.
Vue is pretty nice as a quick way to get going without too much overhead; you can just drop it into your HTML file and start coding without needing to pick lots of other libraries / build steps, but if you want to have a build chain there's some neat things in there for that. And there's flux/redux/etc layers for Vue if you want to go down that path. I don't know how it scales yet, but it's pretty easy to get started with. On the other hand, Vue is still basically one guy's project, and while he's working on it a lot now and there's a community forming, it's not clear what the long-term future is there.
djmitchella on
0
NogsCrap, crap, mega crap.Crap, crap, mega crap.Registered Userregular
So tangentially programming related, I've been reading the book Peopleware, which is about software management. I honestly wish I read it years ago. It articulates so well how bad management works, and what the warning signs are,
Few choice quotes from the first chapter:
The Spanish Theory, for one, held that only a fixed amount of value existed on earth, and therefore the path to the accumulation of wealth was to learn to extract it more efficiently from the soil or from people’s backs. Then there was the English Theory that held that value could be created through ingenuity and technology.
The Spanish Theory of Value is alive and well among managers everywhere. You see that whenever they talk about productivity. Productivity ought to mean achieving more in an hour of work, but all too often it has come to mean extracting more for an hour of pay.
A schedule that the project could actually meet was of no value to those Spanish Theory managers, because it didn’t put the people under pressure. Better to have a hopelessly impossible schedule to extract more labor from the workers. Chances are, you’ve known one or more Spanish Theory managers
Most organizations don’t even keep statistics on turnover. Virtually none can tell you what replacement of an experienced worker costs. And whenever productivity is considered, it is done as though turnover were nonexistent or cost-free. The Eagle project at Data General was a case in point. The project was a Spanish Theory triumph: Workaholic project members put in endless unpaid overtime hours to push productivity to unheard of levels. At the end of the project, virtually the entire development staff quit. What was the cost of that? No one even figured it into the equation.
Later I imagine it will go into what to do as a manager, but based on just getting through the first part I feel like I already understand better what to watch out for in management.
So after the update to React v15, react-bootstrap, and react-router... The performance on these tablets when running my app is absolutely horrible. Clicking between simple tabs takes a good 5-10 seconds to load anything.
My fucking login page takes 5 seconds to load... And it's two text boxes and a button. What the flying FUCK. How the fuck do you even begin to troubleshoot this???
0
admanbunionize your workplaceSeattle, WARegistered Userregular
Yeah it's an Asus Transformer. Obviously not a powerhouse, but it has windows 10 on it. Using a Chrome browser... It just hangs for no reason. This stuff doesn't show up at all locally with my desktop. I don't even know where to begin... The only things I updated were react, react-router, and react-bootstrap. But I'm not finding much of anything when searching for issues involving performance with either of those packages.
0
NogsCrap, crap, mega crap.Crap, crap, mega crap.Registered Userregular
Yeah it's an Asus Transformer. Obviously not a powerhouse, but it has windows 10 on it. Using a Chrome browser... It just hangs for no reason. This stuff doesn't show up at all locally with my desktop. I don't even know where to begin... The only things I updated were react, react-router, and react-bootstrap. But I'm not finding much of anything when searching for issues involving performance with either of those packages.
What react router update did you go from? React bootstrap from and to?
I feel like it has to be either react, react-dom, or react-bootstrap. I have a page with a Tab, when you click between the tabs it takes a good 5 seconds to register the click, and then another 5 seconds to load the standard Panel behind it.
0
NogsCrap, crap, mega crap.Crap, crap, mega crap.Registered Userregular
Have you reverted just 1 of those and kept the others updated, and tried one by one to see if a particular update is the issue?
Unfortunately all of them would require a significant change if I reverted back. React-router changed how it handed routes. bootstrap changed their entire structure of Inputs/Selects/etc, and changing react wouldn't work because I'd have to revert all of them back. (bootstrap/router require react 15)
Have you reverted just 1 of those and kept the others updated, and tried one by one to see if a particular update is the issue?
Unfortunately all of them would require a significant change if I reverted back. React-router changed how it handed routes. bootstrap changed their entire structure of Inputs/Selects/etc, and changing react wouldn't work because I'd have to revert all of them back. (bootstrap/router require react 15)
Bootstrap requires >=14.0.0.
React router is ^14.0.0 || ^15.0.0
Think you can safely move react down to 14 and see if that fixes it.
So it looks like I'm stuck on 0.14.7 forever then.
Now do research on changelogs, bring up the problem in an issue, see if you can repro on other tablet interfaces. Perhaps it is aa known bug, or a regression they arent aware of.
Could also try updating to 15.0.0, and iterating up each patch and minor release, seeing if there is a particular version of 15 that introduced it.
Posts
Okay, fine. Except it crashes somewhere in the GL driver if my vertex shader tries to use the buffer, or if it doesn't and I don't explicitly map/unmap the output buffer
Sigh
I took one of its outputs through some basic instruments in Live, to hear how it sounds.
It still gets really meander-y, but at least it now understands some basics of harmony(though... not always).
Still only outputs quarter note rhythms, since rhythms are... well I'm not there yet.
It does understand chord progressions now though(in a very strange sort of way). Next step is to have it understand the idea of harmonic "riffs", where it can repeat the harmonic line things, adjusting the notes to fit with the "chord".
http://people.brunel.ac.uk/~csstmms/FucciEtAl_ESEM2016.pdf
Of particular note is that they used people with professional experience (albeit at skewing toward the lesser experienced end of the range), and they were using a statically typed language (Java). They also were looking specifically at test first vs. test last, not TDD vs. no testing at all.
The tl;dr is: "...we confirmed the baseline results: TDD does not affect testing effort, software external quality, and developers' productivity."
I'm still working my way through the study, but a provocative result, given the proliferation of TDD in the last 10 years.
My gut instinct has said it doesn't matter, but the doctrine of "tests first!" is almost slavishly repeated most places I read. You're not doing TDD, if you're not doing tests first, and tests first is what makes TDD great! Or something. I dunno.
Right, in my mind the important parts of TDD are not "tests first!", but more writing code from the perspective of making it more easily testable. Focusing on the behavior of what you want your code to do, etc.
3DS Friend Code: 3110-5393-4113
Steam profile
This can be a waste of time, ie, I've thought I needed a utility method to do one thing or another, written the tests and the code for the method, then worked on other code more and realized I didn't need the method in the first place. But I think my problem in those cases as I need to be thinking and testing the highest level method (ie, the one that is solving whatever problem I am working on) first.
React has won. Everything else is just noise when it comes to the UI part.
I made a game, it has penguins in it. It's pay what you like on Gumroad.
Currently Ebaying Nothing at all but I might do in the future.
But yeah React is King for near future
PARKER, YOU'RE FIRED! <-- My comic book podcast! Satan look here!
So we front load the testing portion because then bad managers can't tell us to move on to the next thing before the tests are written.
For me the primary function in writing tests first is that it forces you to write code which is testable, by definition. I'm an impulsive person, so doing it in that order is a good way for me to ensure I think about the details I might otherwise pass over.
That's a good way to look at it, yes.
I've always been kind of sad that I haven't ever been able to practice TDD professionally. SharePoint is inherently untestable, so most people I work with don't bother, they don't see the point. The best I can do is extract out everything that doesn't have to do with SharePoint objects and test that, but it still doesn't tell me whether my code will work when I deploy.
There's a few frameworks out there that show a lot of promise. Vue, Aurelia, Angular 2 all have some pretty cool features. I agree, React won this iteration, and probably the next, too, with the momentum they've got.
I have a collection of GTC presentation links I have used to self learn some of the advanced features:
Memory Bootcamp
- http://on-demand.gputechconf.com/gtc/2015/presentation/S5376-Tony-Scudiero.pdf
- http://on-demand.gputechconf.com/gtc/2016/presentation/s6181-tony-scudiero-bootcamp-3.pdf
Perf Analysis
- http://on-demand.gputechconf.com/gtc/2016/presentation/s6254-michael-frumkin-perf-analysis-prediction-multi-gpu-mpi-applications.pdf
- http://on-demand.gputechconf.com/gtc/2013/presentations/S3466-Programming-Guidelines-GPU-Architecture.pdf
Profiler
- http://on-demand.gputechconf.com/gtc/2016/presentation/s6111-angerer-cuda-nvidia-nsight.pdf
So that is a long way to say try to find books / articles that line up with the hardware version you are targeting.
Vue is pretty nice as a quick way to get going without too much overhead; you can just drop it into your HTML file and start coding without needing to pick lots of other libraries / build steps, but if you want to have a build chain there's some neat things in there for that. And there's flux/redux/etc layers for Vue if you want to go down that path. I don't know how it scales yet, but it's pretty easy to get started with. On the other hand, Vue is still basically one guy's project, and while he's working on it a lot now and there's a community forming, it's not clear what the long-term future is there.
PARKER, YOU'RE FIRED! <-- My comic book podcast! Satan look here!
Few choice quotes from the first chapter:
Later I imagine it will go into what to do as a manager, but based on just getting through the first part I feel like I already understand better what to watch out for in management.
2 weeks of development, 1 week of 4 people testing constantly... I'm guessing that won't go over well.
Yeah it's an Asus Transformer. Obviously not a powerhouse, but it has windows 10 on it. Using a Chrome browser... It just hangs for no reason. This stuff doesn't show up at all locally with my desktop. I don't even know where to begin... The only things I updated were react, react-router, and react-bootstrap. But I'm not finding much of anything when searching for issues involving performance with either of those packages.
What react router update did you go from? React bootstrap from and to?
It was 14.what.what to 15.what.what?
PARKER, YOU'RE FIRED! <-- My comic book podcast! Satan look here!
react: 0.14.7 -> 15.3.1
react-dom: 0.14.7 -> 15.3.1
react-bootstrap: 0.28.2 -> 0.30.3
react-router: 1.0.3 -> 2.8.1
Have you looked at all the change logs?
Have you reverted just 1 of those and kept the others updated, and tried one by one to see if a particular update is the issue?
PARKER, YOU'RE FIRED! <-- My comic book podcast! Satan look here!
PARKER, YOU'RE FIRED! <-- My comic book podcast! Satan look here!
Unfortunately all of them would require a significant change if I reverted back. React-router changed how it handed routes. bootstrap changed their entire structure of Inputs/Selects/etc, and changing react wouldn't work because I'd have to revert all of them back. (bootstrap/router require react 15)
That's a pretty cool little tool
Bootstrap requires >=14.0.0.
React router is ^14.0.0 || ^15.0.0
Think you can safely move react down to 14 and see if that fixes it.
PARKER, YOU'RE FIRED! <-- My comic book podcast! Satan look here!
It's much faster than it was before.
Now do research on changelogs, bring up the problem in an issue, see if you can repro on other tablet interfaces. Perhaps it is aa known bug, or a regression they arent aware of.
Could also try updating to 15.0.0, and iterating up each patch and minor release, seeing if there is a particular version of 15 that introduced it.
PARKER, YOU'RE FIRED! <-- My comic book podcast! Satan look here!