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 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 11:56:56 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

61 sources
The DOM, events, CSS, WCAG. If you want to get into TypeScript then just type and interface keywords. If you want to get into Node then it’s the library system in Nodes documentation. That is it. Here is a practical example: https://github.com/prettydiff/wisdom/blob/master/performance... I never mentioned build tools. You can write your own quickly, and you don’t need all the framework bullshit. That stuff is for insecure people and otherwise just slows you down.
In The Frontend Treadmill
Here is a study on performance that I did for JavaScript in the browser: https://github.com/prettydiff/wisdom/blob/master/performance... TLDR; full state restoration of a OS GUI in the browser under 80ms from page request. I was eventually able to get that exact scenario down to 67ms. Not only is the state restoration complete but it covers all interactions and states of the application in a far more durable and complete way than big JavaScript frameworks can provide. Extreme performance showed me two things: 1. Have good test automation. With a combination of good test automation and types/interfaces on everything you can refactor absolutely massive applications in about 2 hours with almost no risk of breaking anything. 2. Tiny performance improvements mean massive performance gains overall. The difference in behavior is extreme. Im
Read the rest
agine pressing a button and what you want is just there before your brain can process screen flicker. This results in a wildly different set of user behaviors than slow software that causes users to wait between interactions. Then there are downstream consequences to massive performance improvements, the second order consequences. If your software is extremely fast across the board then your test automation can be extremely fast across the board. Again, there is a wildly different set of expectations around quality when you can run end-to-end testing across 300 scenarios in under 8 seconds as compared to waiting 30 minutes to fully validate software quality. In the later case nobody runs the tests until they are forced to as some sort of CI step and even then people will debate if a given change is worth the effort. When testing takes less than 8 seconds everybody and their dog, including the completely non-technical people, runs the tests dozens of times a day. I wrote my study of performance just a few months before being laid off from JavaScript land. Now, I will never go back for less than half a million in salary per year. I got tired of people repeating the same mistakes over and over. God forbid you know what the answer is to cure world hunger and bring in world peace, because any suggestion to make things better is ALWAYS met with hostility if it challenges a developer's comfort bubble. So, now I do something else where I can make just as much money without all the stupidity.
In Users don't care about your tech stack
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?

Showing the 15 most recent of 61 sources. Enable JavaScript to search and browse every indexed mention.

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.