TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The need for tooling and the need for mastering your tools

222 pointsby r4umabout 7 years ago

10 comments

accidentalrebelabout 7 years ago
The tool for me that I have spent a lot of time learning and improving is my Emacs environment.<p>It wasn&#x27;t easy but as soon as I got the hang of things I was able to improve a lot in terms of overall productivity. Knowing how to debug when things go wrong and where to look to solve it was the first step in my learning journey. I eventually started heavily customizing by making scripts and packages to further suit my needs.<p>&gt; After you master a tool, you internalize it and go minimalist, and reduce it to first principles. This line made me feel like I&#x27;m on the right track. Just recently I&#x27;ve cleared up the fluff in my emacs config leaving only simple but effective and essential tools. I realized that I&#x27;ve made a lot of edits to my config and that each one taught me something that eventually led to where i am now. In a way, clearing things out was a learning experience in itself.<p>I still have a lot to learn though. Just recently I&#x27;ve made a jump to reading the enacs source and even took the time to contribute to Remacs, a Rust port of Emacs. I&#x27;ll admit that this one is a bit overwhelming and may even seem overdoing it, but it is still a fun learning experience.<p>I sure do love my tool.
评论 #16696828 未加载
评论 #16695944 未加载
评论 #16697536 未加载
评论 #16698918 未加载
jacobolusabout 7 years ago
This is the main reason I am ambivalent about the typical school (even the best ones I know about, and from first grade up through the undergraduate level). Compared to the amount of time spent, relatively little is focused on mastering all of the metacognitive skills required for expert problem solving in any domain. Almost all work is done at the shallowest surface level with shallow delayed feedback and an overemphasis on punishing minor errors or non-standard output formatting, and on judging&#x2F;ranking the students. There is a parade of &#x27;content&#x27; to get through, but little chance for students to work on problems which are truly difficult (for the student at their current level, e.g. taking more than a few hours to figure out a single problem) or larger-scale projects of personal interest. Very seldom is the work revisited or iterated. Ideas and methods from one discipline are seldom applied to another. Students are systematically discouraged from taking any kind of risk. (This is not primarily the fault of individual educators: scaling close personal attention from experts is just uneconomical given current societal resources available for education, and schools have many difficult constraints on pedagogy.)
评论 #16696011 未加载
评论 #16699918 未加载
评论 #16697715 未加载
评论 #16706116 未加载
jitlabout 7 years ago
I like tools. I like building them, and I like using good ones. I love the feeling of leverage from using my tools together to accomplish in days things that would have taken weeks or months without.<p>As a tools author though I struggle to produce things that are both <i>powerful</i> yet also easy to use. I tend to build things that are too “UNIX-y” - and I end up with blank stares from co-workers (users) when I ask them, “did you read the —-help output?” Or likewise when I suggest that perhaps they can wrap tools in bash scripts or aliases and bolt things together...
评论 #16695900 未加载
评论 #16695637 未加载
评论 #16695673 未加载
评论 #16695712 未加载
评论 #16695660 未加载
taericabout 7 years ago
Mastery of tooling is easily the most successful nerdsnipe you can do in an org. It abounds with metaphors to sharp physical tools that are ironically required to perform tasks safely. And, to an extent, it is obvious to see that people with more mastery over their toolchest will be able to outperform those of lesser mastery.<p>However, it is also easy to find evidence that quality of tooling does <i>not</i> translate to quality products in software. Not the least piece of evidence is Linux and the rise of free as in beer tooling.<p>I think it can easily diverge into navel gazing. It isn&#x27;t that tooling is unimportant. But that it should not become the focus. If you want to make quality products, obsess over the quality of your product. Don&#x27;t get distracted by what you know about what went into it. Focus on the product. Period.<p>Yes, you will at times have to settle for a proxy measure. No, they will not be perfect. Nor can they be. Don&#x27;t fixate on a single metric, but collect many and constantly ask yourself what the metric is telling you about the product. Not about itself.
评论 #16695780 未加载
eeccabout 7 years ago
Speaking of tooling and differential mathematics (mentioned in the article itself,) I also basically flunked “Analisi II” (and quite probably never fully understood Analisi I,) the Italian equivalents of Calculus.<p>Only when I changed Università and retook Analisi II, taught by a different prof, who demonstrated everything using more powerful and meaningful tools did I get it all.<p>Same thing with electromagnetism; couldn’t ever <i>not</i> make a mistake with those pesky Maxwell equations until I bumped into some lecture notes treating them with Diadic Calculus (a kind of tensor) and voila, I passed.<p>My brain is pretty average, particularly when referring to working memory. Give me a strong abstraction and I get it, ask me to wade through the minutiae and I lose it.
评论 #16698838 未加载
edwinyzhabout 7 years ago
I like software tools which is handy. I needed to do mindmapping in my way and I built MindVisualizer (<a href="http:&#x2F;&#x2F;innovationgear.com&#x2F;mind-mapping-software&#x2F;);" rel="nofollow">http:&#x2F;&#x2F;innovationgear.com&#x2F;mind-mapping-software&#x2F;);</a> I needed to edit my web pages in my way and I built LIVEditor (<a href="http:&#x2F;&#x2F;liveditor.com&#x2F;index.php" rel="nofollow">http:&#x2F;&#x2F;liveditor.com&#x2F;index.php</a>).
thriftwyabout 7 years ago
I don&#x27;t like tuning my tools.<p>You spend a few hours tinkering with settings, then two years pass like a breeze, you have reinstalled your system &#x2F; on another employer&#x27;s laptop, and you have to re-configure everything. From memory. That&#x27;s frustrating.<p>Yes, I carry around a .zshrc from the times when I still made the effort.<p>Otherwise I would prefer convention over configuration. Just provide sane defaults. Please.<p>Moreover, when you&#x27;re an infrequent programmer, you would want to invest the least into tuning tools. E.g. I won&#x27;t waste time setting up configs on a zillion servers that I visit. I&#x27;ll use bash. It&#x27;s better today than it was 15 years ago.
评论 #16697289 未加载
评论 #16697096 未加载
评论 #16697107 未加载
评论 #16697600 未加载
montyfabout 7 years ago
I wrote a blog post on tool mastery a few days ago, mostly in response to an egregious article named &quot;You are not your tools&quot;[0], but also to write down some of my recent thoughts on this topic[1].<p>I agree with the OP that internalizing a tool changes your brain for the better. Everyone knows that learning a new language (human language) expands your brain and improves your ability to learn <i>more</i> languages. Let&#x27;s continue this example, just to make things clearer. Mastering foreign languages is not a cakewalk, despite scattered marketing claims that you can do it in a year or even three months. From the OP:<p>&gt; Just having a passing familiarity with the tool doesn&#x27;t empower you.<p>You can&#x27;t learn Korean just by visiting Korea and waiting for osmosis to take effect. Even people who live in foreign countries for decades fail to learn the language if they don&#x27;t put in the appropriate effort -- I&#x27;ve seen it happen. But &quot;You are not your tools&quot; makes the following dim-witted assertion:<p>&gt; Spend your time listening and learning from everyone, whatever tools they use: most skills will transfer just fine.<p>That&#x27;s exactly the opposite of what you should do. You will internalize nothing with this plan, nothing will &quot;transfer&quot; (if anything you will have interference[2]), and you will just end up like so many other mediocre programmers I see. Anyone who&#x27;s learned a foreign language knows this -- you need skillful Practice and Concentration. Trying to learn two languages at once takes more than twice as much effort than if you focused on one, if you don&#x27;t do it with great skill.<p>Quote from my blog post:<p>&gt; There is a huge gap between the average programmer and the real hacker. On one side of the gap is the doe-eyed little boy who goes into every project clueless about how to start, searching for a relevant tutorial on Google while frantically asking questions on StackOverflow. On the other side is the man who plunges into the project with an air of mastery, controlling his environment with a fluid ease which is rare and somewhat dangerous – a man who’s already finishing the task by the time the boy has gotten his first response on StackOverflow. Which side of that gap do you want to be on all your life?<p>Now returning to the OP.<p>&gt; What qualifies as a tool? Does critical reading qualify? How about writing well?<p>These absolutely qualify. These are fundamental tools -- mastering them will improve many other areas of your life. But you would not believe how few programmers take the time to improve these skills, or even care. Sometimes I get the feeling that the average programmer hasn&#x27;t read a single book in his life (apart from maybe some programming or self-improvement books, which are generally poorly written and unimaginative). It shows.<p>&gt; What are the tools that benefited you the most?<p>Emacs, without question. I took the time to learn it during a spell of happy unemployment as I was living abroad. This one decision has paid enormous dividends in my life, but only because I took the time to truly master this tool. It not only has made me more productive at pretty much everything I do on computers (which in itself is valuable -- the more prolific you are, the better you become), but it made me <i>smarter</i> and <i>more confident</i> on account of having mastered something. Men are supposed to be experts. Mastering something silences your inner critic and cues your brain in to your innate self-worth -- it&#x27;s how male brains seem to function.<p>You can learn Vim instead, but please avoid IDEs. Easy-to-use, lowest-common-demoninator, &quot;thoughtless&quot; tools actually seem to be making people dumber. It&#x27;s the path of least resistance versus the path of blood, sweat and tears -- and they go in opposite directions.<p>A question the OP should have asked, but didn&#x27;t:<p>&gt; How do you know when you&#x27;ve mastered a tool?<p>You will know. It changes the way you see the world. New possibilities arise, the horizon broadens, and you begin to see with lucidity how powerful you are and how far your potential truly goes.<p>As J. Peterson says,<p>&gt; People create their worlds with the tools they have directly at hand. Faulty tools produce faulty results. Repeated use of the same faulty tools produces the same faulty results.<p>A quote from Kafka on the Shore:<p>&gt; Pointless thinking is worse than no thinking at all.<p>[0]: <a href="https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2018&#x2F;03&#x2F;23&#x2F;you-are-not-your-tools&#x2F;" rel="nofollow">https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2018&#x2F;03&#x2F;23&#x2F;you-are-not-your-too...</a>. These kinds of articles are not just idiotic, but harmful to society -- the attitude expressed here will make people worse at their jobs and at life, and we should speak out against this pernicious mindset.<p>[1]: I won&#x27;t post my article here, as my blog can be found on my user page. I posted it on Reddit and received a hostile and, well, juvenile response. A lot of people took issue with the idea that certain tools are better than others (seems like Vim&#x2F;Emacs are not liked there) and the idea of someone taking mastery seriously (&quot;You must be fun at parties&quot; was, I kid you not, an upvoted response). It&#x27;s not just about mastering your tools, but mastering your environment by extension. It&#x27;s about power -- the power to change our world -- for the better. Many people embody a mediocrity mindset and go through life without skill or strategy -- they unconsciously know their own inadequacy, and you can see this on their faces.<p>[2]: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Interference_theory" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Interference_theory</a>
评论 #16696501 未加载
评论 #16697055 未加载
评论 #16696301 未加载
评论 #16696480 未加载
camnoraabout 7 years ago
The book The Art of Learning explains these concepts in depth very well.
joesmoabout 7 years ago
Almost every software tool decision I make is one of garbage quality with features vs ok quality with no features. I can choose a text editor that does the basics but nothing else I need or an ide that does everything poorly. From browsers to package managers to debuggers to operations tools, the quality of software tools is absolutely atrocious. Why master any of this garbage when more garbage tools will be required later? It&#x27;s hard to stay sane just using them. Yes, non software tools like reading and writing comprehension are useful, but for the most part, investing heavily in a tool that&#x27;s bound to fail over and over again seems like a terrible idea. Then again, there simply isn&#x27;t enough time to write proper versions of these tools. But amazing things have been built with much less tooling than we use today which leads me to think that the proliferation of software tools partly exists only to make the tool developers happy as they create useless rube Goldberg machines (especially in js land).