-
Notifications
You must be signed in to change notification settings - Fork 0
/
without-a-bunch-of-nonsense.html
executable file
·99 lines (98 loc) · 7.86 KB
/
without-a-bunch-of-nonsense.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<title>Without a Bunch of Nonsense - Without a Bunch of Nonsense</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet" />
<!--<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css" rel="stylesheet" />-->
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" />
<link href="http://mattalhonte.github.io/theme/style.css" rel="stylesheet" />
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="http://mattalhonte.github.io/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Without a Bunch of Nonsense Full Atom Feed" />
<link href="http://mattalhonte.github.io/feeds/misc.atom.xml" type="application/atom+xml" rel="alternate" title="Without a Bunch of Nonsense Categories Atom Feed" />
</head>
<body id="index" class="archive">
<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<nav class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://mattalhonte.github.io">Without a Bunch of Nonsense</a>
</div>
<div class="collapse navbar-collapse navbar-right">
<ul class="nav navbar-nav">
<li><a href="http://mattalhonte.github.io/tags.html">tags</a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
</nav>
<div class="container">
<section id="content" class="article content">
<header>
<h2 class="entry-title">
Without a Bunch of Nonsense
</h2>
<div class="text-muted">Wed 14 March 2018</div>
</header>
<!-- .entry-content -->
<div class="entry-content">
<p>I've picked this title because I thought it was a good balance between being Easy To Remember while also being sufficiently Google-able. Furthermore, I think it encapsulates a concept that's important to me.</p>
<p>So, what do I mean by "Without a Bunch of Nonsense"? Well, here's a non-exhaustive list of related concepts:</p>
<ul>
<li>Batteries included</li>
<li>Sensible defaults</li>
<li>(It) Just works</li>
</ul>
<p>It's about avoiding <strong> Decision Fatigue</strong> by not falling prey to the <strong> Optimizer's Curse</strong>. What does that mean? Imagine if every time you lowered a car window, you had to input how fast you wanted the window to go down. Maybe you <em>do</em> have a preference, but the difference in what you gain by getting your most-preferred option over your least-preferred option is smaller than what you lose by thinking about it, mapping that preference onto the available options, and inputting it. </p>
<p>It's about recognizing that <strong>Task-Switching Costs</strong> can nickel-and-dime your time and attention away. That whatever you're building is going to be a small part of your end-user's life, and so it should detract as possible from their main task. It's about seeing on StackOverflow that you need to install Thing A, and then you <code>sudo apt-get install Thing A -y</code> and then it installs without asking you any questions or otherwise requiring anything of you, and then it works and doesn't break your Postgres config or do anything weird to your terminal.</p>
<p>It's about that moment when you get an error message that then suggests a command to copy-paste in next, which then actually fixes the situation. It's error messages the way Francois Chollet (& team) of Keras writes them - actually, it's pretty much everything in <a href="https://blog.keras.io/user-experience-design-for-apis.html">this blog post</a></p>
<p>It's going from trying to install NumPy on Windows in the pre-Anaconda days (a provably impossible proposition) vs just running <code>conda install numpy -y</code> and taking care of everything.</p>
<p>It's about being mindful of imposing <strong>Cognitive Load</strong>. One flavor of nonsense is what I'll call <strong>Unnecessary Nuance</strong>. A high-resolution picture is not always better than a low-resolution picture. GTA games would be a lot less fun for most people if the in-game driving had the same level of complexity as driving a real car. </p>
<p>It's about
<em> Not forcing you to make decisions before you know what the tradeoffs are
</em> Tweak-friendly environments with quick feedback loops & consequence-free reversibility
* Interactive programming environments (REPLs, Notebooks)</p>
<p>"Nonsense" is not an inherent property of a thing. Something being nonsense is a function of both the thing itself and the user interacting with it. Greek is a language, but if I don't speak it, then it's all Greek to me. Maybe there's a question that gets asked during your installation process that actually is vital - <strong>but if your user doesn't understand the relevant tradeoffs, it's nonsense</strong>. Now for some applications, it might be reasonable to assume that your user is familiar with the relevant jargon - but do be mindful of the possibility that someone might want to get some use out of who doesn't know that jargon.</p>
<p>Sooo, I made this blog to expound on this topic, right? Well, no - I may or may not ever mention it again. Really, I made this blog because I've been doing data science stuff in industry for a while, but want to go back to academic scientific research, which will involve writing, which I haven't really done a lot of in the past few years. We'll see what, if anything, this blog winds up turning into.</p>
</div>
<!-- /.entry-content -->
<footer class="post-info text-muted">
<button type="button" class="btn btn-default">
<a href="http://mattalhonte.github.io/category/misc.html"><div class="fa fa-lg fa-folder-open"></div> misc</a>
</button>
<button type="button" class="btn btn-default">
<a href="http://mattalhonte.github.io/tag/philosophy.html"><div class="fa fa-lg fa-tag"></div> philosophy</a>
</button>
<button type="button" class="btn btn-default">
<a href="http://mattalhonte.github.io/tag/without-a-bunch-of-nonsense.html"><div class="fa fa-lg fa-tag"></div> Without a Bunch of Nonsense</a>
</button>
</footer>
<!-- /.post-info -->
</section>
</div>
<footer class="footer">
<div class="container">
<p class="footer-text">© <a href="http://mattalhonte.github.io">Without a Bunch of Nonsense</a> powered by <a href="http://getpelican.com/">pelican</a> and <a href="http://nodotcom.org">nikhil</a></p>
</div>
</footer>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
</body>
</html>