-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBlog.html
More file actions
205 lines (196 loc) · 9.16 KB
/
Blog.html
File metadata and controls
205 lines (196 loc) · 9.16 KB
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<!DOCTYPE html>
<html>
<!--
Blog.html
Blog introduction
-->
<head>
<title>Blog First Things</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- <link rel="icon" type="image/x-icon" href="./images/favicon.ico" /> -->
<link rel="stylesheet" href="css/StylesPhoto.css" />
<link rel="stylesheet" href="css/StylesSizerComp.css" />
<!-- PageFrame infrastructure -->
<link rel="stylesheet" href="css/StylesPageFrameDefaults.css" />
<link rel="stylesheet" href="css/StylesPageFrameStructure.css" />
<link rel="stylesheet" href="css/StylesPageFrameMenus.css" />
<link rel="stylesheet" href="css/StylesPageFrameThemePython.css" />
<link rel="stylesheet" href="css/StylesWebComponents.css" />
<script src="js/ScriptsWebComponents.js"></script>
<!--<script src="js/ScriptsPageFrameDefaults.js"></script>-->
<script src="js/ScriptsPageFramePosts.js"></script>
<script src="js/ScriptsPageFramePagesPosts.js"></script>
<script src="js/ScriptsPageFrameKeyboard.js"></script>
<!-- No need for Pages script for pages with no next or prev pages -->
<!--<script src="js/ScriptsPageFramePages.js"></script>-->
<style>
h3 {
margin-top: 1.5em;
}
#subtitle {
margin-top: 0.4em;
margin-bottom: 0.3em;
}
#github header summary {
border: 1px solid var(--light);
}
#github summary {
padding-right: 2em;
}
/* #github .menuHead {
margin:0em -0.25em 0.0em -0.25em;
padding:0.25em 0.5em;
} */
</style>
<script>
function load() {
initialize();
//loadif();
}
</script>
<style>
#github note {
display: block;
width:max-content;
border:1px solid red;
padding:0.5em 1.0em;
margin:0.5em 0em;
}
#github .bargraph {
border: 1px solid var(--dark);
/* background-color: #bbb; */
padding: 0.1em 0.5em;
font-size:0.9em;
}
#github table {
border:2px solid var(--dark);
}
#github table td {
padding:0.25em 1.0em;
border:none;
}
body {
user-select:none;
}
</style>
<script>
function clickstat() {
// prevent parent click event handling
event.stopImmediatePropagation();
}
</script>
</head>
<body id="github" onload="load()" style="position:relative;">
<a id="Next" href="BlogDesign.html">Next</a>
<a id="Prev" href="Post_CommCompare.html">Prev</a>
<page-frame>
<frame-header>
<nav id="navbar"></nav>
</frame-header>
<main id="main">
<div id="about" onclick="this.style.display = 'none'">about</div>
<div id="page">Blog: First Things`</div>
<div id="modified">11/22/2024</div>
<div id="hlp"></div>
<a id="top"></a>
<content style="height:100vh; position:relative;">
<header onclick="loadif()" style="cursor:pointer;">
<!-- <a target="_blank" class="repoLink" href="https://github.com/JimFawcett">github Repositories</a> -->
<hgroup id="pagetitle" style="border: 2px solid var(--dark);">
<h1 id="title">Blog: First Things</h1>
<h3 class="indent" id="subtitle">
opinions, ideas, language features.<br />
</h3>
</hgroup>
<!-- <img style="width:100%; margin:-0.1em 0em; border:2px solid var(--dark); padding:0.5em; background-color:var(--light);" src="Pictures/officestrip3a.svg" /> -->
<div class="darkItem" onclick="loadif()" style="cursor:pointer; position:relative; padding:0.0em 0em 0.25em 0em; margin-top:-0.50em; border:2px solid var(--dark);">
<a class="repoLinks" target="_blank" href="https://github.com/JimFawcett" style="color:var(--atten); margin-left:1.5em;">About</a>
<div style="font-size:0.9em; position:absolute; top:0.1em; right:1.5em;">click to toggle Site Explorer</div>
<div style="height:0.5em;"></div>
</div>
</header>
<!-- <img style="width:100%; margin:0em 0em; border:1px solid var(--dark); padding:0.5em; background-color:var(--light);" src="Pictures/officestrip3a.svg" /> -->
<div>
<img class="strip-photo" src="Pictures/studentstrip3.jpg" alt="Software Studio Project Team" style="margin-left:0em; width:100%;" />
<spacer-15></spacer-15>
<blockquote style="text-align:center;">
"This page is dedicated to the many graduate students I've had the good fortune to know. Thank you all, every one."
<br />
- Jim Fawcett
</blockquote>
<h2>Initial Thoughts:</h2>
<t-b>
I believe that "Software Developer" is a great job description!
</t-b>
<t-b>
Developers are engineers.
We use interesting technology to build great products. We're scientists, finding new ways to build and
think about software artifacts in provably better ways.
</t-b>
<t-b>
Developers work in communities. Almost all professional software is built by teams of developers who work together on
products, many of which may have millions of lines of code. That means that several hundred people
collaborate on common construction goals. So software developers need to have the skills to communicate
their specifications, designs, implementations, test results, issues they think are important, and to report
progress and results.
</t-b>
<t-b>
Developers are creative craftsmen and artists. Most programming languages give us great freedom in how we express our design ideas and implement them
in working programs. We can use that freedom to structure code for our fellows as well as for the translators
and machines on which it runs. We want to make our programs elegant and simple, make their intents clear,
and make them quick and reliable.
</t-b>
<t-b>
There is a lot of similarity between software source code and literature. Both are created out of mind stuff,
both are constrainded by syntax and convention and the realities of their context, and both capture a specific implementation of some concept.
For a program that is an operational concept the program follows to define it's tasks and operations. For literature that is the plot
line its narrative follows to construct a story. Both literature and software source code benefit greatly from well-formed concept and a swift editorial
red pencil.
</t-b>
<t-b>
Software technology is gloriously chaotic - constantly growing, shedding old idioms, adopting new ideas and paradigms.
It concerns itself with: the artifacts of machines, languages and their translation, tools for packaging
and maintaining big complex systems, and other tools to abstract and visualize meaning hidden within clusters of files and
machines.
Much of the functionality of modern life is driven by software, and as we learn to succeed building complex products
to support that, we're asked to accept ever larger construction tasks that tax our abilities to understand and create
these things.
</t-b>
<t-b>
In these pages I intend to engage, with you, thoughts about all of these aspects of our job description: the technology and science of
building software, the affects and affectations of community, and most often comment on examples of the art and craftsmanship of our profession.
</t-b>
<spacer-15></spacer-15>
</div>
<img class="strip-photo" src="Pictures/campusAtNight.jpg" alt="campus at night" style="width:100%; position:relative; bottom:0em; left:0em; margin-top:1.5em;"/>
</content>
<a id="bottom"></a>
<page-TOC id="pages" style="display:none;">
</page-TOC>
<page-sections id="sections" style="display:none;">
<menu-elem style="width:0.0em"> </menu-elem>
<menu-elem class="secElem"><a href="#bottom">bottom</a></menu-elem>
<menu-elem class="secElem"><a href="#top">top</a></menu-elem>
<div class='darkItem popupHeader' style="padding:0.25em 2.0em;" onclick="this.parentElement.style.display='none'">Sections</div>
</page-sections>
</main>
<frame-footer>
<menu-item style="width:2.0em;"> </menu-item>
<menu-elem id="nextLink2" onclick="bottomMenu.next()">Next</menu-elem>
<menu-elem id="prevLink2" onclick="bottomMenu.prev()">Prev</menu-elem>
<menu-elem id="pgbtn" onclick="bottomMenu.pages()">Pages</menu-elem>
<menu-elem onclick="bottomMenu.sections()">Sections</menu-elem>
<menu-elem onclick="bottomMenu.about()">About</menu-elem>
<menu-elem id="kysbtn" onclick="storyHlpMenu.keys()">Keys</menu-elem>
<menu-elem style="margin-right:1em">
<span id="loc" style="display:inline-block; font-weight:normal"></span>
</menu-elem>
</frame-footer>
</page-frame>
<script>
let loc = document.getElementById("loc");
let fn = window.location.href.split(/\/|\\/).pop();
loc.innerHTML = fn + ":";
</script>
</body>
</html>