Hacker News new | past | comments | ask | show | jobs | submit login

I think back to my days teaching at a college whose CS labs ran on NetWare 3. For “reasons” the user accounts were things like PASCAL; all the students in a course that used Pascal used this account (and kept their files on floppies). I wanted to move to an environment where students had individual accounts. The IT folks said that was way too much work to implement, and showed me the GUI (or TUI?) app they used to manage accounts; I agreed that this made individual accounts very difficult to manage. I sketched out a solution that used awk to identify adds and drops from the class lists the Registrar's office produced, along with scripts for creating and deactivating accounts as appropriate. This elicited much mystification from the IT folks.

A year or so later, we got individual student accounts. I resolutely refused to discover how they implemented it.

The Unix Philosophy is about building small components that compose well together. The fact that some applications benefit from tight integration in no way derogates from its value.




So absolutely true. I work in an “operational facing” engineering group. We are engineering but process data (daily/monthly data processing for factory and customer requests). Having a composable process using the Unix philosophy makes it trivial to stop processing at any point in the work flow for that one customer request that comes up once a year. There is no ROI to make the work flow support these edge cases, it’s cheaper even after a decade or more just to one-off these special cases. But this would be completely impossible if we didn’t architect the system in smaller components. As you say, it’s not text processing, it is units of processing that can be composed, stopped, reordered or have a custom step in the middle.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: