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, 6:01:32 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

8 sources
I believe most experienced software types would agree that maintaining systems over time is a rather different skillset to building them in the first place. 'Fire and forget' is a great short-term commercial strategy, but usually a terrible operational one. Certain (usually early) stages of a project may be time or resource rich or permit wide-ranging changes with minimal risk (client impact, downtime, live failover requirements, carefully engineered change-overs, etc.). At these times, an experienced person might opt to utilize resources to 'over-engineer' for contemporary requirements in the knowledge that it is a strong and well-reasoned long term play, while to the less experienced, non-technical project managers or stakeholders this may seem questionable. Ultimately, every project is different but there is a 'sliding window' of proje
Read the rest
ct resources (particularly time and the availability of low-risk incremental change) and requirements (expanding, shifting, contracting). A famous quote from a famous figure on migration: Those change-over things are really severe. Really severe problems. - Joseph Henry Condon, Bell Labs.[0] Perhaps ultimately, over-engineering may be inefficient but efficient if considered in light of the alternatives: by parable, eventually including a rewrite in javascript that also reads email. [0] https://github.com/globalcitizen/taoup
In How to Accept Over-Engineering for What It Really Is
starting a new software project can be intimidating: the open green field of endless possibilities can be paralyzing. ... The trick is to just start. This is bad advice unless you are a complete novice. Industry experience seems to weigh in on the side of focused analysis: you need to better understand the problem space and break a potential implementation down to a relatively simplistic first stage goal. Relevant quotes: Any attempt to formulate all possible requirements at the start of a project will fail and would cause considerable delays. - Pahl and Beitz, 'Engineering Design' (2007) Sometimes the problem is to discover what the problem is. - Gordon Glegg, 'The Design of Design' (1969) In practice, designing seems to proceed by oscillating between sub-solution and sub-problem areas, as well as by decomposing the problem and combining
Read the rest
sub-solutions. - Nigel Cross Success really depends on the conception of the problem, the design of the system, not in the details of how it's coded. - Leslie Lamport You're not going 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 ... more @ https://github.com/globalcitizen/taoup (which has a whole section of quotes 'writing with applicability to software')
In How to begin a text
Use the right kind of probe to see the right level of detail. - Mark Burgess Make our comprehension of the world more manageable by limiting the amount of information we have to interact with at any time. Our experience of the world can be made comprehensible, or incomprehensible, by design. - Mark Burgess The effect of limited information is that we perceive and build the world as a collection of containers, patches or environments, separated from one another by limited information flow. These structures define characteristic scales. - Mark Burgess The more details we can see, the less we have a sense of control. - Mark Burgess Separation of concerns ... a necessary consequence of loss of resolution due to scale ... a strategy for staying sane. - Mark Burgess These quotes are all from In Search of Certainty: The Science of Our Informatio
Read the rest
n Infrastructure (2013), via my fortune database https://github.com/globalcitizen/taoup
In Are Cities Too Complicated?
I'm not sure that's a fair summary. Armstrong states that his opinions have changed over time, but mostly because his thesis supervisor pointed out Erlang is perhaps the only truly OO language out there. After he quotes what Alan Kay says... The notion of object oriented programming is completely misunderstood. It's not about objects and classes, it's all about messages. Armstrong then says: Erlang has got all these things. It's got isolation, it's got polymorphism and it's got pure messaging. From that point of view, we might say it's the only object oriented language and perhaps I was a bit premature in saying that object oriented languages are about. You can try it and see it for yourself. If you'd like to read some further other anti-OO ("as practiced") quotes, see my fortune clone @ https://github.com/globalcitizen/taoup
In Goodbye, Object Oriented Programming
The foremost issue with abstract code generation systems based on DSLs (domain specific languages) often seems to be finding programmers (and project managers) who are willing to invest the time learning the syntax and (often obtuse/opaque) tooling. In this case, aside from the security benefits (6.3/p13), the performance graphs at the end of this paper (NailDNS vs. Bind9; 6.4/p14) should be a great motivator. That said, relevant quotes affirm this type of approach aligns well with established wisdom: The benefit of using [a formal specification language] is that it teaches you to think rigorously, to think precisely, and the important point is the precise thinking. So what you need to avoid at all costs is any language that's all syntax and no semantics. - Leslie Lamport One person's data is another person's program. - Guy L. Steele, Jr.
Read the rest
Representation: Fold knowledge into data so program logic can be stupid and robust. - Eric S. Raymond, The Art of Unix Programming (2003) Data Design > Code Design Get your data structures correct first, and the rest of the program will write itself. - David Jones For 80 percent of all data sets, 95 percent of the information can be seen in a good graph. - William S. Cleveland, Bell Labs Less than 10 percent of the code has to do with the ostensible purpose of the system; the rest deals with input-output, data validation, data structure maintenance, and other housekeeping. - Mary Shaw, Carnegie-Mellon University Pike's 4th Rule: Fancy algorithms are buggier than simple ones, and they're much harder to implement. Use simple algorithms as well as simple data structures. - Rob Pike, Notes on C Programming (1989) Pike's 5th Rule: Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming. - Rob Pike, Notes on C Programming (1989) ... from my fortune clone (|grep data) @ https://github.com/globalcitizen/taoup ; I spoke at Code Generation 2010 (Cambridge, UK) but somewhat controversially for that environment do not support UML.
In Nail: A practical tool for parsing and generating data formats (2014) [pdf]
Now that the paper has been posted, it does seem it's not just about power consumption but also parallelism. Although these factors were discussed in the conclusion with reference to their suggestion for future R&D with a hardware-based approach, the reality for implementors now is that commercial availability, cost and solution development time probably do heavily favour usible mobile GPUs. The biggest drawback in the paper seems to be that if the robot's physical configuration changes (for example, an arm is bent or it picks up a large object) the planning circuitry may no longer be accurate. Finally, I couldn't help but think of this quote: 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. - Schwarzkop
Read the rest
f et al, 'The seven deadly sins of cloud computing research' (2014) https://github.com/globalcitizen/taoup
In Robotic Motion Planning in Real-Time
The study likely assumed that people already familiar with working in these methodologies were equally available, equally happy to do so, and equally priced as regular developers, which is unlikely to be case. A certain minimum team size is probably required to make many of these processes viable; many real world systems are written by solo coders. Also, in reality it is relatively trivial to scavenge work like seL4, Linux kernel security toolkits, software HA clustering and/or proxy implementations, hardware watchdogs, ssss and/or distribute infrastructure across disparate locations to provide what probably amounts to magnitude higher redundancy and resilience against real world attacks or component failures without paying those costs. Indeed, the implementation of such is becoming near free many cases due to convergence on SoA/microserv
Read the rest
ices. To put this more plainly, "I can get another if I break it, so a clay cup trumps a grail." - Mirza Asadullah Khan Ghalib, classical Urdu and Persian poet from the Mughal Empire ... quote #1 in my fortune db @ https://github.com/globalcitizen/taoup
In How We Teach Programming, and Where We're Going Wrong

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.