4 ms·
I wish this article focused on how to apply these techniques to actual problems a typical developer would have as opposed to, "Here are some ways of visualizing
by tieTYT 12y ago
I wish this article focused on how to apply these techniques to actual problems a typical developer would have as opposed to, "Here are some ways of visualizing data".
It felt like my typical high school class. They'd teach us how to calculate the circumference of a circle, but they never told us what we'd use it for. "Programming" is not specific enough.
- NamTaf 12y agoYou know that friction between programmers and management in getting managers to understand what you're wanting to do? That's a visualisation problem. The ability to sell your ideas usually boils down to how you present your case to management. One of the things I've picked up more recently is to take a presentation or whatnot and mentally block all but the top 10-20%. If I can't get the bird's eye summary of what each slide needs to say there, then my manager won't understand the story. They're {busy|lazy} and don't care to read the entire slide - that's all chaff for the underlings to digest so they know the finer details. So for a programmer, one of the biggest uses of good visualisation skills is the selling of ideas. A good plot goes a long way in convincing someone of something.
- vehementi 12y agoI've succumbed to this way of thinking too (permit the manager to underperform) but I feel it's a lowering of standards and the manager is not doing her job. I wish there was push back against this, like there is push back against developers not writing unit tests or fixing bugs, rather than acceptance with a sigh.
- c0de517e 12y agoGood suggestion, I'll maybe write a follow up with a specific example. Thanks! I've included a few pictures of stuff I recently used, maybe it can help to give more context. - http://1.bp.blogspot.com/-YA10ftXFFQ0/U6-iAdAUtGI/AAAAAAAAAnc/V15ILAHpUsE/s1600/Screen+Shot+2014-06-28+at+10.15.51+PM.png http://1.bp.blogspot.com/-YA10ftXFFQ0/U6-iAdAUtGI/AAAAAAAAAn... This one was done for debugging, as I do often. The code that I was debugging took some geometry and generated some texturemaps from it, it's really hard to debug why the maps are wrong when they are, what happened to the geometrical calculations. So I just added a std::vector<float> debugStuff and pushed values from various locations, then wrote it as a CSV. In processing I load this bunch of floats I know the meaning of and plot them in 3d as a point cloud. Each point in the cloud is clickable to show more of what happened at that position. - http://1.bp.blogspot.com/-EFgdBffKEU0/U6-h9QweujI/AAAAAAAAAnI/v0oFcrP4WSw/s1600/Screen+Shot+2014-06-28+at+10.15.36+PM.png http://1.bp.blogspot.com/-EFgdBffKEU0/U6-h9QweujI/AAAAAAAAAn... This was for performance. A particular system computes tens of thousands of generated code snippets according to some rules, that will then used in runtime in various ways. Testing in runtime is hard because it's hard to cover all of them and it would take a long time. So I rigged the system to extract statistics about the generated code and save them to a CSV. Then in Mathematica I categorize and plot these datapoints and I can compare what changed between two different runs of the system. When I see in the data that a given change seems promising enough, I do the expensive test in runtime