News for hackers. Stuff that matters.
Re:You Can’t Do Data Science in a GUI by joe_the_user on Sunday April 15, 2018 @11:00PM (#16846390)
I thought the argument that a command line gives you reproducibility in a way that a GUI doesn't was good.

Most of the things someone does in Photoshop don't have to be redone repeatedly. For system administration or I'd guess data science, a lot of things need to be redone regularly. Using the command is good for both doing that and getting in the mindset of doing that.

Re:You Can’t Do Data Science in a GUI by makmanalp on Sunday April 15, 2018 @11:11PM (#16846431)
It needn't be this way: we /could/ have a well defined set of actions encompassed by an API and the GUI just allows one to tinker with the API, and we could have a detailed audit history of every API call that was made, and with which parameters, regardless of whether it originated from the GUI or from a script. This also means scripting support, of course. Finally you should be able to re-play a portion of history. This is approximately how photoshop works, as far as I remember. Perhaps it's slightly worse.
Re:You Can’t Do Data Science in a GUI by Twisell on Monday April 16, 2018 @04:24AM (#16847481)
Recently I made a photoshop macro to crop border some documents in a standard way for our graphic designers.

It took me 5 minutes to produce a working proof of concept with an approximate workflow...

But it took me 2 more hours to figure out how to change numericals parameters to precisely set the initial selection box instead of defining it imprecisely by hand. The most frustrating part being that the GUI displayed perfectly theses parameters but offer no f..ing way to edit them. Export/re-import the macro to plain text for edition was not an easy option because of proprietary binary format.

GUI are nice but when it obfuscate scripting capabilities it’s just another way to bind you to a plateform by making you learn plateform specific skills to work around limitations instead of learning universal coding principles.

There are good GUI around however. Just have a look at QGIS project for instance, it can be used purely as a GUI but offer a lot of opportunities to input custom formulas when needed for small adjustment. Heavy scripting extensibility is also possible but more hidden from basic user.

(NB: for Photoshop macro, I wasn’t using the latest CC release so I don’t know if it’s still the case)

Re:You Can’t Do Data Science in a GUI by joe_the_user on Monday April 16, 2018 @02:49PM (#16851639)
Sure but I think you example shows that even a gui that produces the nicest possible text file for an exported macro is going to leave one with two activities; using the gui to accomplish the task and editing the output macro to create a batch for a repeated activity.

The command line allows these two activities to be closer to one activity and so when you base your skill set on using the command line, you get both things and get easy switch between them. It seem clear that for the automating of little tasks, this is kind of necessary.

Re:You Can’t Do Data Science in a GUI by Twisell on Tuesday April 17, 2018 @12:40PM (#16859942)
Have a look at QGIS if you can. For me they really achieved the perfect balance. Some task are a hundred time easier with GUI like refining layout and trying out graphical style. But you can use variable and formulaes pretty much everywhere to override manual control using data defined attributes.

And when you need to you can run the application without GUI for heavy scripting. But still the two approach are fully compatible so you can easily define a layout with the GUI and reuse it via CLI for instance.

Maybe it’s common and I’m just a goof but this software workflow really impress me.

Re:You Can’t Do Data Science in a GUI by bradknowles on Sunday April 15, 2018 @11:43PM (#16846528)
It doesn't have to actually be CLI. It does need to be repeatable (by you) and reproducible (by others), and it does need to go through a known API.

Those requirements will tend to drive you towards a CLI solution as the easiest/best available, but if you could get those requirements satisfied in any other programmatic way, then I think you'd probably be okay.

But then the problem becomes, can you do programming from the GUI? I think that's actually a lot harder to do.

Re:You Can’t Do Data Science in a GUI by joe_the_user on Monday April 16, 2018 @03:49PM (#16852108)
Those requirements will tend to drive you towards a CLI solution as the easiest/best available, but if you could get those requirements satisfied in any other programmatic way, then I think you'd probably be okay.

Theoretically you can do these some other way. In practice, the CLI is the only way that's remained. The thing with the CLI is it is quite easy to a new component to it whereas someone creating a little app for a little task as a GUI tends to create a "cul-de-sac", stovepipe, a program with not relation to any other program.

So third approach would be great but it doesn't seem to be getting any closer.

Re:You Can’t Do Data Science in a GUI by CyberDildonics on Monday April 16, 2018 @10:18PM (#16854906)
Programs like Nuke, Houdini and Touch Designer have been doing this for years specific to graphics - this is trying to be more generalized:

https://github.com/LiveAsynchronousVisualizedArchitecture/la...

Re:You Can’t Do Data Science in a GUI by Izkata on Monday April 16, 2018 @08:12PM (#16854221)
Re:You Can’t Do Data Science in a GUI by Jommi on Monday April 16, 2018 @06:54AM (#16848044)
This is basically what I kinda like about STATA. It's a Data Science tool for researchers.

The thing is that all its menu commands are stored in history, in ".do" file that you can send to anyone to reproduce your steps.

You can also just use the CL "shortcut" to address these same commands. It's pretty nifty.

Re:You Can’t Do Data Science in a GUI by m1k1 on Monday April 16, 2018 @07:08AM (#16848090)
There is also a package for R called rcmdr that provides GUI for basic statistical analysis. All your actions, performed in GUI, are stored as an actual .R script. However, I don't personally use it so I can't elaborate more.
Re:You Can’t Do Data Science in a GUI by dagw on Monday April 16, 2018 @07:24AM (#16848168)
I thought the argument that a command line gives you reproducibility in a way that a GUI doesn't was good.

I fundamentally disagree with that. I work mainly we geo-data analysis and use programming, command line tools and GUI tools. And honestly setting up a data processing pipe line in a GUI like FME is much easier and more reproducible out of the box than whatever happens to be left over after I've been screwing around with a bunch of random command line tools for a couple of hours. The main thing you lose is some flexibility.

Re:You Can’t Do Data Science in a GUI by commandlinefan on Monday April 16, 2018 @10:14AM (#16849117)
I did some remote desktop support work in the early 90's, around the time that everybody started shifting from command-prompt DOS to GUI windows. We went from saying "type in ipconfig and tell me what you see" to "ok, do you see a start button? Click on the start button. Do you see where it says 'control panel'? It's about two-thirds of the way up. Yes, click on that. With the left button. No, the left button. Ok, do you see something that says 'network'? Click on that." It became obvious that it was impossible to do this over the phone, so we ended up installing what would probably be called "spyware" today so that we could remote-access everybody's machines (I can't remember what the software was called, but it rarely worked as it was supposed to). I see the same problem surrounding documentation around GUIs vs. command-line/text-oriented tools; the documentation spends pages to describe what a simple command would spend one line to cover. Although there are some things that do make some sense in a graphical interface, I still believe that _most_ things are orders of magnitude more efficient if you strip away the graphics and boil them down to some minimal commands.
Re:You Can’t Do Data Science in a GUI by ryandrake on Monday April 16, 2018 @10:33AM (#16849237)
Whenever I start a new software project, one of the first things I insist on is that the design include a command line tool with the same functionality as the GUI. This usually begets a sensible API between the business logic and the shiny parts, which ends up allowing for a great deal of flexibility for the GUI.

I’ve been burned too often by the GUI first, top-down approach, where the software architecture evolves from the GUI. V1 gets shipped, then the UX designer gets bored and v2 has to have a totally different look and feel and you’re screwed because your software design is permanently tied to the original UI.

Re:You Can’t Do Data Science in a GUI by nailer on Monday April 16, 2018 @07:47AM (#16848277)
Text is a way to build an AST.

GUIs are a way to build an AST.

You can add, remove, transform those changes, and track that history. Music software, Unreal Engine's blueprints, and other node-based programming environments have been doing this, in some cases, for decades.

Saying that 'you can't do data science is a GUI' explains more about the speakers lack of understanding of GUIs than it does about their knowledge of data science.

Re:You Can’t Do Data Science in a GUI by flukus on Monday April 16, 2018 @01:14AM (#16846787)
Depending on the tools it also gives you composability that you don't get from GUI programs. GUI's don't have their pipe equivalent so the aim to let the user do as much as possible within a single tool.
Re:You Can’t Do Data Science in a GUI by e12e on Monday April 16, 2018 @02:21AM (#16847016)
Depends on your definition of "Gui". See my other comment for an example of "science" in Smalltalk.
Re:You Can’t Do Data Science in a GUI by TheAceOfHearts on Sunday April 15, 2018 @11:25PM (#16846479)
Doesn't Photoshop have a macro system for reproducible commands, though? I'm not an expert user, but I've definitely seen they have some form of automation available.
Re:You Can’t Do Data Science in a GUI by e12e on Monday April 16, 2018 @02:19AM (#16847008)
And a history api - with a few settings, and making the psd file (not a flattened jpeg etc export) - photoshop gives similar information to a series of high frequency vcs commits.

Granted, since Photoshop itself is closed source (and on a subscription model) there's some very strong limits to scientific replication of a process.

But one could do something similar with gimp, additionally aided by python scripts.

So yeah, Photoshop bad; cli good isn't as clever as all that as a blanket statement (not implying anyone said exactly that; just making an observation).

I see the talk/article is about "data" science ; but the headline reminded me about an Alan Kay talk about teaching - where there's a clip of kids filming a fallen object and then juxtapositioning the video with a rendered sequence based on (v=at etc): whole video worth watching, but see the "16:17" link in the transcript ("Now, what if we want to look at this more closely?"):

https://www.ted.com/talks/alan_kay_shares_a_powerful_idea_ab...

Re:You Can’t Do Data Science in a GUI by matlaber on Monday April 16, 2018 @04:31AM (#16847516)
Yes, Photoshop has macros (they call them “Actions”).

These days, Photoshop even has (multiple) JavaScript interpreters (including an instance of node.js they call “Generator”) built in to enable automation using an API that provides access to most (but not all) actions that can be executed via the GUI.

I have been working with these for a side project and the documentation isn’t great, but I have been able to get up and running relatively quickly.

Re:You Can’t Do Data Science in a GUI by chickenfries on Monday April 16, 2018 @12:49AM (#16846732)
Yes.
Re:You Can’t Do Data Science in a GUI by jhbadger on Monday April 16, 2018 @07:24AM (#16848171)
That's definitely a problem for science in general (not necessarily "data science" although all science uses data). There are people who analyze biomedical science with R and those who use GUI tools like Prism and Partek. Not only are the GUI tools limited, but the results are basically unreproducible -- if somebody clicked on a button incorrectly or set some setting in a different way, it would be impossible to tell.
Re:You Can’t Do Data Science in a GUI by fiatjaf on Sunday April 15, 2018 @11:03PM (#16846410)
I had this discussion today, and that was my conclusion: repeatability is the great advantage of CLIs and text files over GUIs.
Re:You Can’t Do Data Science in a GUI by mattmanser on Monday April 16, 2018 @04:57AM (#16847604)
What nonsense is this? Loads of GUI tools have it built in

'save report settings'

Re:You Can’t Do Data Science in a GUI by icc97 on Monday April 16, 2018 @05:27AM (#16847724)
This is a benefit of using Vim (versus GUI editors) - you have a full history of all the commands you did
Re:You Can’t Do Data Science in a GUI by mattmanser on Monday April 16, 2018 @04:57AM (#16847608)
What nonsense is this? Loads of GUI tools have it built in.

'save report settings'