TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Bicycles for the mind have to be see-through [pdf]

210 点作者 mkeeter大约 5 年前

8 条评论

chenglou大约 5 年前
No comment about the Mu itself but:<p>&gt; Our approach to keeping software comprehensible is to reduce information hiding and abstraction, and instead encourage curiosity about internals<p>YES! Precisely. Most &quot;bicycle for the mind&quot; or &quot;tool for thought&quot; approaches go the completely opposite direction accidentally. Many programming languages and communities nowadays too.<p>In reality, if you wanna teach, you have to unveil the guts of the system. Sure, it&#x27;s &quot;scary&quot; and all, but still, initial hand-holding &amp; letting newcomers see the internals, rather than presenting an overly polished surface at the expensive of everything else, is a much better designed learning process. Design is &quot;how it works&quot; after all. *<p>Related: a common misconception when folks defend abstractions &amp; encapsulation is to raise the issue that letting newcomers explore the internals causes too much trouble. That&#x27;s an obvious strawman; these methods are not championing everyone writing anything everywhere. They can stay read-only, but public. E.g. an interface can expose its internal data types, without allowing consumers to actually leverage that (enforced through types or something else). This is easily doable, and you don&#x27;t sacrifice learnability in the service of team programming sanity.<p>* This point seems to get dismissed quickly by folks who only care about visual polish nowadays. Imo this is naive. I care about visuals a _lot_, and we should definitely aiming for both learning polish and surface polish. But you can&#x27;t let the latter calcify the former.<p>My advice for all the &quot;tool for thought&quot;&#x2F;&quot;bicycle for the mind&quot; projects: all your opaque designs and small interface flourishes falter in the face of a properly exposed and clean-ed up paradigm, in the long run. This applies on a smaller scope to modern libraries too. That boilerplate generator you mega-fine-tuned to the point you delight yourself in guessing the user&#x27;s mind, ultimately is a roadblock in the learner&#x27;s thought process. Expose the boilerplate and document how you&#x27;re automating it instead. You&#x27;re trying to teach fishing, not to show off your own fish.<p>Another good analogy I&#x27;ve heard elsewhere is to ask whether you&#x27;re teaching people how to cook, or just building a microwave. For a tool for thought product ask yourself if you ended up accidentally making &quot;an appliance&quot;.
评论 #22602515 未加载
评论 #22603035 未加载
评论 #22602699 未加载
评论 #22601459 未加载
评论 #22601063 未加载
ssivark大约 5 年前
I know very little about “mu” specifically, but the title is a highly under-appreciated point. I often notice a tendency to abstract complexity in clean looking interfaces. While that’s convenient for simple projects with pre-envisioned use cases, when using the tool in some novel way often results in bugs due to the abstraction being leaky. For that reason, I personally prefer designs that are transparent, rather than one that attempts to paint a pretty exterior on top of internal complexity. (Obviously correct, rather than not obviously wrong)<p>This leads to a subtle but crucial distinction between software “automating processes” without needing any humans in the loop -vs- amplifying the (expert) humans in the loop to do more stuff.<p>Another subtle (but arguably more important) effect comes from McLuhan’s insight that the medium strongly influences the message. If the medium&#x2F;tool is not transparent, then so are the biases imposed on the tool user. While that doesn’t lead to obvious bugs, it leads to strutting blinders on human thought processes and creativity.<p>BTW, one last point, in case it isn’t obvious: this goal of transparency in software can be seen as underpinning the free software movement.
评论 #22604482 未加载
galaxyLogic大约 5 年前
&quot;Our approach to keeping software comprehensible is to reduce information hiding and abstraction, and instead encourage curiosity about internals.&quot;<p>This sounds rather vague, &quot;encourage curiosity about internals&quot;. If I don&#x27;t need to understand the internals why should I spend time trying to understand them? Isn&#x27;t it better to &quot;hide their details&quot; into another compilation unit or module, which only exposes its API through an interface so I can easily understand WHAT it is doing, without having to understand HOW it does that?<p>It sounds like they suggest instead of sub-routines&#x2F;procedures&#x2F;functions I should have a single big main program, because those sub-routines&#x2F;procedures&#x2F;functions would be hiding information from me.
评论 #22601754 未加载
h0l0cube大约 5 年前
The paper name-drops Ivan Illich and &quot;Tools for Conviviality&quot;. If you are intrigued by his ideas, you might be interested in the blog by L. M. Sacasas, The Convivial Society. His writing holds plenty of insight on the intersection of technology and society.<p><a href="https:&#x2F;&#x2F;theconvivialsociety.substack.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;theconvivialsociety.substack.com&#x2F;</a>
Glench大约 5 年前
I love the effort to make the stack fully transparent and learnable. This seems so important! I wish more people had the ambition to re-invent the basics of our computing platform to see how things could be different.<p>Now my question is does this learnability hold as the code grows? For example, would the transparency enabled by the stack be reflected in the codebase for a word processor built on this stack? I&#x27;d expect <i>not</i>. For one, I&#x27;m thinking about how the original program in my Marilyn Maloney demo (<a href="http:&#x2F;&#x2F;glench.com&#x2F;MarilynMaloney&#x2F;" rel="nofollow">http:&#x2F;&#x2F;glench.com&#x2F;MarilynMaloney&#x2F;</a>) had good primitives, grammar, and a visual representation, yet the code is still hard to understand and can be made much easier to understand with depicting behavior (the interactive UI I made).<p>Secondly, I&#x27;m thinking of the Alan Kay-ism &quot;architecture dominates materials&quot; i.e. the invention of the arch was much more effective than the invention of the brick. Mu seems like it could be a great, transparent material, but more important to how software is understood and modified is the architecture of how the material is organized (and personally I think this has a lot to do with UI design and human communication more than the technical foundation).
评论 #22614092 未加载
muzani大约 5 年前
I&#x27;d like to read this, but it&#x27;s triggering my BS radar by the amount of gobbledygook and sentences like &quot;Creating an entire new stack may seem like tilting at windmills, but the mainstream Software-Industrial Complex suffers from obvious defects even in the eyes of those who don’t share our philosophy.&quot;
评论 #22601997 未加载
评论 #22604899 未加载
评论 #22601896 未加载
评论 #22601865 未加载
Zenst大约 5 年前
I really wished such papers had double spacing, or better still, the ability of adobe reader to allow you to adjust such spacing - that would be an amazing feature as for some layouts, they are easier to read with better spacing between the lines - at least for me.
meesterdude大约 5 年前
My bicycle has been Ruby on Rails for over 10 years and i think it is hard to beat. most all of the underlying framework is easily inspectable and changeable to suit needs, while still providing sharp knives that one could use to cut themselves if not careful.<p>But I think this push for &quot;stimulating curiosity&quot; is academic wank. That&#x27;s not what bicycles of the mind are for - they&#x27;re tools for building, not naval gazing. It sounds like Mu was built more for ego or prestige than to actually do anything meaningful.<p>Show me Mu as a bike I want to ride - not as a philosophical introspection on why Mu is in some way superior. Reading this PDF it&#x27;s clearly more ideal than practical. And while it may be &quot;see through&quot; it&#x27;s shape, interfaces, interactions and surface area are convoluted and poorly presented.<p>Maybe I am wrong to expect humanities out of this, but humans are who have to use this stuff&#x2F;ride these bikes.