-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathunpredictable-users.html
69 lines (64 loc) · 9.39 KB
/
unpredictable-users.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
<!DOCTYPE html>
<html lang="en" class="light-mode">
<head>
<meta charset="utf-8" />
<link rel="icon" href="./favicon.png" />
<link rel="stylesheet" type="text/css" href="./site.css" />
<meta name="viewport" content="width=device-width" />
<link href="./_app/immutable/assets/3.84abd576.css" rel="stylesheet">
<link href="./_app/immutable/assets/sterling.ba12fde9.css" rel="stylesheet">
<link href="./_app/immutable/assets/Header.9b742ac5.css" rel="stylesheet">
<link href="./_app/immutable/assets/Post.a1c147c5.css" rel="stylesheet">
<link rel="modulepreload" href="./_app/immutable/entry/start.2c55a661.js">
<link rel="modulepreload" href="./_app/immutable/chunks/scheduler.75f5293f.js">
<link rel="modulepreload" href="./_app/immutable/chunks/singletons.74c6a932.js">
<link rel="modulepreload" href="./_app/immutable/chunks/paths.21152387.js">
<link rel="modulepreload" href="./_app/immutable/entry/app.4df5770f.js">
<link rel="modulepreload" href="./_app/immutable/chunks/index.36074062.js">
<link rel="modulepreload" href="./_app/immutable/nodes/0.1375ff03.js">
<link rel="modulepreload" href="./_app/immutable/nodes/3.b744dd68.js">
<link rel="modulepreload" href="./_app/immutable/chunks/each.e59479a4.js">
<link rel="modulepreload" href="./_app/immutable/chunks/spread.8a54911c.js">
<link rel="modulepreload" href="./_app/immutable/chunks/Button.fb729d6d.js">
<link rel="modulepreload" href="./_app/immutable/chunks/Header.5ff96dfd.js">
<link rel="modulepreload" href="./_app/immutable/nodes/14.27da6994.js">
<link rel="modulepreload" href="./_app/immutable/chunks/Post.19bcd7ab.js">
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents"> <div class="root"><div class="header svelte-7d51k5"><a href="/" class="svelte-7d51k5" data-svelte-h="svelte-bk6u5r">geoffcox.github.io</a><span class="logo svelte-7d51k5" role="button" tabindex="-1"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" fill="#000000" width="60px" height="60px" class="rooster"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><path fill="#E7EDF1" d="M256 66.299c-93.73 0-169.713 81.729-169.713 175.459v230.865C92.758 484.747 105.528 493 120.229 493c14.702 0 27.472-8.253 33.943-20.376C160.643 484.747 173.413 493 188.115 493s27.472-8.253 33.943-20.376C228.528 484.747 241.298 493 256 493c14.063 0 26.343-7.561 33.048-18.828C295.754 485.439 308.034 493 322.096 493c14.702 0 27.472-8.253 33.943-20.376h1.789C364.299 484.747 377.069 493 391.77 493c14.702 0 27.472-8.253 33.943-20.376V241.759c0-93.73-75.983-175.46-169.713-175.46z"></path><path fill="#2B3B47" d="M189.904 219.001v33.621h-.05c0 .05.05.068.05.094c0 13.204-10.713 23.916-23.916 23.916c-13.204 0-23.916-10.713-23.916-23.916v-.094h-.102v-33.621h.288c1.067-12.247 11.204-21.884 23.731-21.884c12.492 0 22.629 9.637 23.68 21.884h.235zm179.892 0c-1.052-12.247-11.188-21.884-23.68-21.884c-12.527 0-22.663 9.637-23.731 21.884h-.288v33.621h.102v.094c0 13.204 10.713 23.916 23.916 23.916s23.916-10.713 23.916-23.916c0-.026-.05-.043-.05-.094h.05v-33.621h-.235z"></path><path fill="#FF473E" d="M276.742 335.293l.425 1.208l1.122 3.414l1.607 5.305c.594 2.049 1.245 4.36 1.914 6.881a334.563 334.563 0 0 1 2.068 8.142c.715 2.889 1.394 5.936 2.107 9.087c.672 3.152 1.381 6.408 2.019 9.717c.68 3.309 1.267 6.671 1.895 10.033c.571 3.362 1.17 6.723 1.682 10.033c.501 3.309 1.05 6.566 1.445 9.718c.401 3.152.692 6.198.881 9.087c.167 2.889.274 5.62.263 8.142c.013 2.521-.089 4.833-.215 6.881c-.142 2.049-.319 3.834-.524 5.305c-.385 2.942-.835 4.622-.835 4.622c-5.412 20.212-26.184 32.21-46.396 26.799c-13.529-3.622-23.388-14.187-26.799-26.799c0 0-.45-1.681-.835-4.622c-.205-1.471-.382-3.257-.524-5.305c-.126-2.049-.229-4.36-.215-6.881c-.011-2.521.096-5.253.263-8.142c.189-2.889.48-5.936.881-9.087c.396-3.152.944-6.408 1.445-9.718c.512-3.309 1.111-6.671 1.682-10.033c.627-3.362 1.214-6.723 1.895-10.033c.638-3.309 1.348-6.566 2.019-9.717c.713-3.152 1.392-6.198 2.107-9.087c.687-2.889 1.402-5.62 2.068-8.142a316.832 316.832 0 0 1 1.914-6.881l1.607-5.305l1.122-3.414l.425-1.208c4.026-11.456 16.576-17.478 28.032-13.453c6.51 2.287 11.3 7.427 13.455 13.453zm-25.367-206.252c5.4 2.554 11.848.248 14.402-5.152c0 0 .172-.363.448-1.043c.279-.68.699-1.678 1.159-2.948c.485-1.27 1.049-2.812 1.635-4.581c.589-1.769 1.23-3.765 1.861-5.942a176.902 176.902 0 0 0 1.922-7.03c.638-2.495 1.26-5.125 1.841-7.847c.306-1.361.583-2.744.856-4.144c.286-1.4.555-2.818.8-4.246c.533-2.857.967-5.76 1.443-8.663c.423-2.903.874-5.806 1.229-8.663c.39-2.857.703-5.669 1.01-8.391c.286-2.721.539-5.352.742-7.847c.199-2.495.367-4.853.483-7.03c.242-4.354.32-7.983.318-10.523c-.011-2.54-.078-3.991-.078-3.991c-.638-12.961-11.047-23.666-24.274-24.274c-14.054-.647-25.97 10.221-26.617 24.274c0 0-.067 1.451-.078 3.991c-.002 2.54.076 6.168.318 10.523c.116 2.177.284 4.536.483 7.03c.203 2.495.456 5.125.742 7.847c.307 2.721.62 5.533 1.01 8.391c.355 2.857.807 5.76 1.229 8.663c.476 2.903.91 5.806 1.443 8.663c.245 1.429.514 2.846.8 4.246c.273 1.4.55 2.784.856 4.144a202.112 202.112 0 0 0 1.841 7.847c.63 2.495 1.275 4.853 1.922 7.03a157.515 157.515 0 0 0 1.861 5.942c.586 1.769 1.15 3.311 1.635 4.581c.461 1.27.88 2.268 1.159 2.948c.276.68.448 1.043.448 1.043a10.795 10.795 0 0 0 5.151 5.152z"></path><path fill="#FFB636" d="M176.614 301.21c0-12.324 35.542-11.484 79.386-11.484s79.386-.84 79.386 11.484S282.75 353.441 256 353.441s-79.386-39.907-79.386-52.231z"></path><path fill="#FFD833" d="M335.386 298.438c0 12.391-35.542 17.579-79.386 17.579s-79.386-5.188-79.386-17.579S229.25 247.759 256 247.759s79.386 38.288 79.386 50.679z"></path></g></svg></span> </div> <div class="content-container svelte-5oz901"> <div class="split svelte-5oz901"><div class="nav svelte-5oz901"><div class="nav-header svelte-5oz901" role="separator"></div> <a href="./resume" class="svelte-5oz901">Geoff's Resume</a><div class="nav-header svelte-5oz901" role="separator">Open Source</div> <a href="./binary-search" class="svelte-5oz901">binary-search</a><a href="./recoil-examples" class="svelte-5oz901">recoil-examples</a><a href="./splitters" class="svelte-5oz901">react-splitter / svelte-splitter</a><a href="./sterling-svelte" class="svelte-5oz901">sterling-svelte</a><a href="./trie-search" class="svelte-5oz901">trie-search</a><div class="nav-header svelte-5oz901" role="separator">Opinion</div> <a href="./why-i-love-svelte" class="svelte-5oz901">Why I love Svelte</a><div class="nav-header svelte-5oz901" role="separator">Stories</div> <a href="./unpredictable-users" class="svelte-5oz901">Unpredictable users</a><a href="./speed-estimation" class="svelte-5oz901">Speed Estimation</a><div class="nav-header svelte-5oz901" role="separator">Bookshelf</div> <a href="./software-architecture-books" class="svelte-5oz901">Software Architecture Books</a></div> <div class="content svelte-5oz901"><div class="post svelte-nmvp7s"><div class="category svelte-nmvp7s">Story</div> <div class="headline svelte-nmvp7s"><a href="unpredictable-users" class="svelte-nmvp7s">Users are unpredictable</a></div> <div class="content-section svelte-nmvp7s"><div class="container svelte-nmvp7s"><div class="content"><p data-svelte-h="svelte-1wdsowr">Back in the days of Windows 95, my brother called me in a panic. He reported that his drive
was out of space and he couldn't figure out what to do.</p> <p data-svelte-h="svelte-2t5xhz">I walked him through selecting some files he didn't need anymore. When I told him to drag the
files to the recycle bin in Windows Explorer, he couldn't find it. I asked him to look on his
desktop and he reported it wasn't there either.</p> <p data-svelte-h="svelte-1psaswb">He then told me what he had done the day before while trying to clean up files on his desktop.
He had somehow dragged the recycle bin icon around and ended up creating a shortcut to the
recycle bin. He now had two recycle bins on his desktop. He dragged one on to to the other and
then emptied the recycle bin.</p> <p data-svelte-h="svelte-1u35y1l">Turns out he dragged the real recycle bin to the recycle bin shortcut. This put the recycle
bin control panel app into the recycle bin. When he emptied the recycle bin, the control panel
app deleted itself!</p> <p data-svelte-h="svelte-5tducc">The OS went through the recycle bin app for soft and hard deletes. Ctrl+Del didn't do
anything. We were able to open a command prompt and delete files, but this was too tedious for
him to do regularly without my help. He just kind of lived with a too full drive until he
bought his next computer.</p> <p data-svelte-h="svelte-1el10jq">I doubt any developer or tester could have predicted a user would use a shortcut to the
recycle bin to delete the recycle bin.</p></div></div> </div> </div></div></div></div> </div>
<script>
{
__sveltekit_1cy0fcu = {
base: new URL(".", location).pathname.slice(0, -1),
env: {}
};
const element = document.currentScript.parentElement;
const data = [null,null,null];
Promise.all([
import("./_app/immutable/entry/start.2c55a661.js"),
import("./_app/immutable/entry/app.4df5770f.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 3, 14],
data,
form: null,
error: null
});
});
}
</script>
</div>
</body>
</html>