HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
globalcitizen
taoup
Ruby2014–2026
globalcitizen / taoup

taoup

The Tao of Unix Programming (Ruby-powered ANSI colored fortunes)

4Distinct people
228Mentions
1Explicit recommenders
445GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The Tao of Unix Programming (Ruby-powered ANSI colored fortunes)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

This made me think of my favorite quote attributed to Einstein: Nationalismus ist eine Kinderkrankheit. Er ist die Masern der Menschheit. "Nationalism is an infantile disease.…

contingencies used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 10:49:33 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year228 dated mentions

Observed mentions: 2014-05-29 07:10:05 UTC to 2026-09-29 19:05:04 UTC.

0102030402014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 13 mentions; 0 submissions, 13 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 31 mentions; 0 submissions, 31 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 20 mentions; 0 submissions, 20 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 29 mentions; 0 submissions, 29 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 24 mentions; 0 submissions, 24 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 21 mentions; 1 submissions, 20 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 39 mentions; 0 submissions, 39 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 11 mentions; 1 submissions, 10 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC1019
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC13013
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC808
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC31031
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC20020
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC29029
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC24024
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC21120
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC39039
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC12012
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC808
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC11110

What Hacker News says

10 sources
I went through each quote carefully while adding some missing ones to my fortune clone/database at https://github.com/globalcitizen/taoup and noticed two things versus modern sources: (1) The weight lent to optimization related concerns seems higher than today. (2) Comprehension of the non-electronic context of programming seems higher than today. I think these are probably valid cultural reflections, potentially ascribable in part to the (edited, time-lapse) nature of paper-publishing versus electronic.
In Bumper-Sticker Computer Science (1985) [pdf]
TLDR - added to https://github.com/globalcitizen/taoup ... Sin #1 - Unnecessary distributed parallelism: It does not always make sense to parallelize a computation. Doing so almost inevitably comes with an additional overhead, both in runtime performance and in engineering time. When designing a parallel implementation, its performance should always be compared to an optimized serial implementation in order to understand the overheads involved. If we satisfy ourselves that parallel processing is necessary, it is also worth considering whether distribution over multiple machines is required. The rapid increase in RAM and CPU cores can make local parallelism economical and worthwhile. Establish the need for distributed parallelism on a case by case basis. Sin #2 - Assuming performance homogeneity: Virtualized cloud environments exhibit high
Read the rest
ly variable and sometimes unpredictable performance. Base reported results on multiple benchmark runs, and report the variance. Sin #3 - Picking the low-hanging fruit: It is unsurprising that it is easy to beat a general system by specializing it. Few researchers comment on the composability of their solutions. Sin #4 - Forcing the abstraction: In some application domains, it is unclear if a MapReduce-like approach can offer any benefits, and indeed, some have argued that it is fruitless as a research direction. Ideally, future research should build on [iterative processing, stream processing and graph processing], rather than on the MapReduce paradigm. Sin #5 - Unrepresentative workloads: The common assumption in academic research systems is that the cluster workload is relatively homogenous. Most research evaluations measure performance by running a single job on an otherwise idle cluster. Sin #6 - Assuming perfect elasticity: The cloud paradigm [...] its promise of an unlimited supply of computation. This is, of course, a fallacy. Workloads do not exhibit infinite parallel speedup. The scalability and supply of compute resources are not infinite. There are limits to the scalability of data center communication infrastructure. Another reason for diminishing returns from parallelization is the increasing likelihood of failures and vulnerability to "straggler" tasks. Sin #7 - Ignoring fault tolerance: Many recent systems neglect to account for the performance implications of fault tolerance, or indeed of faults occuring. For each system, we should ask whether fault tolerance is relevant or required. If it is, it makes sense to check precisely what level is required, and what faults are to be protected against; consider and ideally quantify the cost.
In The Seven Deadly Sins of Cloud Computing Research (2012)
Agreed: conceptual simplicity and therefore intelligibility at any given level of detail is a result of carefully designed and layered abstraction. An important single-FP-language-codeball weakness is perhaps that of encouraging people to avoid clearly segregating these layers. Unix, by contrast, encourages a philosophy 'do one thing and do it well' for each smaller program, connecting them with simple interfaces, which arguably results in greater intelligibility. Some relevant quotes from my fortune clone @ https://github.com/globalcitizen/taoup ... You're not to come up with a simple design through any kind of coding techniques or any kind of programming language concepts. Simplicity has to be achieved above the code level before you get to the point which you worry about how you actually implement this thing in code. - Leslie Lamport L
Read the rest
aw of Communications: The inevitable result of improved and enlarged communications between different levels in a hierarchy is a vastly increased area of misunderstanding.
In Leslie Lamport on Distributed Systems and Precise Thinking
The article is essentially discussing frustration at the hiding - by abstraction - of technical debt incurred in adopting poor software architecture and/or development process. Some potentially relevant quotes[1]: Zymurgy's First Law of Evolving Systems Dynamics: Once you open a can of worms, the only way to recan them is to use a larger can. Ducharm's Axiom: If you view your problem closely enough you will recognize yourself as part of the problem. The organization of the software and the organization of the software team will be congruent. (paraphrasing of Conway's Law) Separation of concerns ... a necessary consequence of loss of resolution due to scale ... a strategy for staying sane. (Mark Burgess, In Search of Certainty: The Science of Our Information Infrastructure, 2013) [1] Taken from my fortune clone https://github.com/globalcit
Read the rest
In Quit Covering Up Your Toxic Hellstew with Docker

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.