Linked by Thom Holwerda on Mon 3rd Dec 2012 22:51 UTC
General Unix "Few tools are more indispensable to my work than Unix. Manipulating data into different formats, performing transformations, and conducting exploratory data analysis (EDA) is the lingua franca of data science.1 The coffers of Unix hold many simple tools, which by themselves are powerful, but when chained together facilitate complex data manipulations. Unix's use of functional composition eliminates much of the tedious boilerplate of I/0 and text parsing found in scripting languages. This design creates a simple and succinct interface for manipulating data and a foundation upon which custom tools can be built. Although languages like R and Python are invaluable for data analysis, I find Unix to be superior in many scenarios for quick and simple data cleaning, idea prototyping, and understanding data. This post is about how I use Unix for EDA."
Thread beginning with comment 544213
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[7]: But ....
by Delgarde on Tue 4th Dec 2012 20:31 UTC in reply to "RE[6]: But ...."
Member since:

I can see how this is useful for corporate deployments with many, many machines. But it's overkill to incude by default for 99% of Linux users. It should at most be a plugin.

Why not the other way around? The systemd binary logging approach by default, and the ability to install a traditional text logger (i.e a plugin) for those that want it?

Reply Parent Score: 3

RE[8]: But ....
by Hypnos on Wed 5th Dec 2012 00:36 in reply to "RE[7]: But ...."
Hypnos Member since:

It's better software design for tools to be simpler by default, not more complex by default. This gives better maintainability and fork-ability, as well as fewer bugs and security problems.

Reply Parent Score: 3

RE[9]: But ....
by Alfman on Wed 5th Dec 2012 05:49 in reply to "RE[8]: But ...."
Alfman Member since:


"It's better software design for tools to be simpler by default, not more complex by default."

I'm on the fence. Text is more open. There's no need to reverse engineer anything or be dependent upon binary parsers, which makes using standard command line tools very practical.

On the other hand, I almost wish all data were stored in a database where we can easily build complex indexes and queries to our hearts content, all while maintaining relational & transactional integrity as needed. So, if they replace the text files with a real database such as sqlite or mysql, I wouldn't object much to that.

SQL is so second nature to me, it's much easier than trying to build scripts using bash/sed/grep/etc for anything complex. I hate escaping command line arguments for bash scripts. Searching indexed tables is so much faster than searching text files too.

This is not a defence for syslogd's proprietary tools, but I can see lots of benefits in using structured databases over text files.

Reply Parent Score: 2