HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
prettydiff
wisdom
Developer Tools2016–2025
prettydiff / wisdom

wisdom

Building better developers by specifying criteria of success

8Distinct people
61Mentions
0Explicit recommenders
578GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Building better developers by specifying criteria of success

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

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

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 5:58:02 AM 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 year61 dated mentions

Observed mentions: 2016-02-25 22:29:49 UTC to 2025-09-14 09:03:09 UTC.

0510152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 7 mentions; 2 submissions, 5 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 15 mentions; 2 submissions, 13 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2025

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
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC211
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC110
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC404
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC615
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC505
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC725
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC606
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC15213
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC10010
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC505

What Hacker News says

10 sources
The problem expressed is fundamentally correct, but the proposed solution is a band-aid, which is worse than not solving the problem at all. The fix provides a long term change with short term benefits. Reliance on tooling will continue to make code instances are the progressively larger and slower until we arrive at this problem again. At some point JavaScript must become a professional language written by adults, people capable of self-organization and measurement, and not be the subject of fashion by people who aren't qualified to program in the first place. If performance and complexity really are the primary concerns then the language must stop pandering to children. We already know what high performance looks like. I wrote about it here: https://github.com/prettydiff/wisdom/blob/master/performance... If the goal really is highe
Read the rest
r performance and lower complexity the most desirable solution is to create a new language with forced simplicity directly in the image of JavaScript, where simple means less and not easy, and transition to that new language slowly over time. Yes, I understand Google went down this road in the past with Dart, but Dart solved for all the wrong problems and thus was dead on arrival. Instead the idea is to take something that works well and shave off all the bullshit reducing it down to the smallest possible thing. Forced simplicity means absolutely ignoring all vanity/stylistic concerns and instead only focusing on fewer ways of doing things. As an example consider a language that requires strong typing like TypeScript and thus thereby eliminates type coercion. Another example is operators that have a single purpose (not overloaded), single character, and no redundant operators. Will there be a lot of crying about vanity bullshit... yes, absolutely. Just ignore it because, you cannot reasonably expect to drive above 120mph on a child's tricycle. If people wish to offer their own stylistic considerations they should include performance metrics and explanations how their suggestions reduce quantity of operations without unnecessary abstraction.
In Should JavaScript be split into two languages?
In my experience developer productivity comes down to only three qualities: * Platform. If the given software platform or tech stack is slow then your developers will be slow. There is absolutely nothing you can do to motivate them to become faster. For example the longer it takes to run any automated task, whether a build or test automation, the more distracted your developers will become. Try to get builds down to about 30 seconds. * Initiative. If the platform is fast you then need to focus on encouraging your developers to write and release faster software. The faster the software executes the less time it will take to test both manually and with test automation. The less time it will take to debug issues and the more rapidly developers can experiment with other improvements. Reward increases to execution performance, operating cost r
Read the rest
eductions, and refactors that yield smaller code. * Competence. Finally, if your developers aren’t competent then no amount of platform improvements or rewards will matter. Set extremely high standards for code quality and give your developers the time and support to rise to the challenge. By code quality I do not mean superficial or vanity nonsense. By code quality I mean writing original code that achieves desired business objectives with fewer dependencies and is absent identified bad practices. Don’t let the children run the daycare. If there are developers that cannot rise to the challenge them fire them and provide them a wonderful recommendation for their next opportunity. Code quality must be determined by evidence, not preference. Here is an example: https://github.com/prettydiff/wisdom/blob/master/performance... That’s really it. As the manager you set the standards, but you must understand there is not so magical switch that makes your developers deliver code faster. If you are serious about this you have a lot of work to do. You absolutely have to understand rapid delivery can only occur after your leadership sets the right conditions, using evidence, and doesn’t waver.
In Ask HN: As a manager, how to increase the sense of urgency of the team?
Try looking at my prior personal project: https://github.com/prettydiff/share-file-systems Imagine loading a large dynamically populated page in the browser with state restoration fully executed as faster than 80ms. I describe that in great detail here: https://github.com/prettydiff/wisdom I built an original test automation engine for that application because I needed something that supported command and control across multiple computers in the browser for a peer-to-peer environment. On just a single computer it achieved 300 points of evaluation in less that 8 seconds with full file system execution from the browser. The application also demonstrated an OS-like GUI in the browser that achieved accessibility with full file system display. Here are the key insights I employed: * Less is more. Focus on architecture with an obsession on simp
Read the rest
licity and reuse even if greatly inconvenient. That often required an irrationally high level of refactoring. * Speed is an understanding of tree models and transmission and nothing more. Always navigate tree models where they are available, such as the file system and the DOM, in preference to string parsing. String parsing, in any form, is a performance killer. Binary payloads and bidirectional communication are vastly superior to HTTP in every conceivable scenario. * Other UI developers are cowardly. Don’t let that limit your ambition. Don’t listen to a bunch of bullshit cliches. Measure things and execute according to evidence. Reinvent absolute everything you see fit, and yes it will make other UI developers cry. Real world users don’t care about the sad tears of your peers.
In Ask HN: How can I improve UI dev skills? Looking for real-world examples
Stop the madness. Its stupendously simple. As the user, not you the author of some code, make changes to the UI it will be via events. In the respective event handlers just update a big state object with the identity of the node and how it is changed. When the page loads simply read from that state object to recreate the respective node exactly how they were when the user modified them. That's it. Nothing more. Its how I wrote a full OS gui for the browser. It does far more than SPA framework, does it substantially faster, and requires only a tiny fraction of the code. Yes, yes, here come all the excuses, like: I can't code or it wont work in a team, because other people cant code. Stop with the foolishness. Provide some governance, preferably fully automated, around event handling and you have complete obsoleted your giant nightm
Read the rest
In VanillaJSX.com
Test automation helps with this. When I wrote a test automation application I had each step output the time difference since the application started and I could look at the difference between steps to see something was taking too long. Now, keep in mind your test automation application cannot limited in performance to the thing it is testing. Nonetheless I was still able to get to about 300 tests in 8 seconds. I would also recommend a perf tool that measures performance of a given operation as number of operations per second. Also measure transmission speed. In HTTP that is easily measured as HTTP round trip, but I am bigger fan of WebSocket which requires some amount of tooling to really master. Here is something I wrote about performance measuring just before I stopped doing JS work: https://github.com/prettydiff/wisdom/blob/master/
Read the rest
In Ask HN: Have you developed any habits to be more productive?

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.