From: jon@fourwinds.com (Jon Steinhart)
Subject: [TUHS] X and NeWS history (long) [ really systemd, student access to real code ]
Date: Wed, 13 Sep 2017 08:42:31 -0700 [thread overview]
Message-ID: <201709131542.v8DFgVWp020181@darkstar.fourwinds.com> (raw)
In-Reply-To: <165792c1-50b3-c6d3-4719-9f744a3da4aa@kilonet.net>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 6000 bytes --]
Arthur Krewat writes:
> For today's kids, well, it's a much different story. My son has a CS
> degree, but has almost no experience really peaking under the hood of
> any OS - some small ventures into kernels, but nothing huge like UNIX.
> Which brings me to another thing. Linux sources are freely available,
> and yet I don't see anyone really looking at them as an educational
> thing. I might be wrong, my experience in higher education is NONE.
I know kids who have poked at this stuff in college. But, it opens a
whole 'nother can of worms.
UNIX was small. One could actually understand it pretty easily.
Linux is huge. I hate to say it, but it's gotten bloated. And it
suffers from a problem with open source. Don't get me wrong, I love
open source, but it's not perfect.
I'm worried that I'm going to come across as flogging my in-process book
too much on this list. Not my intent, it's just that I've already
written stuff that addresses this topic. Here's what I have to say on
it (this part hasn't been attacked by my editor yet).
It's way cool to me that I can run it through nroff and have it work!
A Young Programmer’s Computer Primer
Open Source Software
Open source software is widely successful despite alarmist propaganda
by some established closed‐source companies.1 A main advantage of open
source software is that many more eyeballs are available to look at
the code which translates into benefits such as greater security.
Even if you used a closed source computer system there is a pretty
good chance that you’re still using some open source components.
The development of open source software was greatly enhanced by the
Internet and ‘‘cloud’’ services. It’s trivial to find open source
projects and to start your own. But, and this is a big but, the
majority of open source projects out there are garbage.
A lot of open source software comes from student projects. Since
they’re often first projects, the authors haven’t yet mastered the art
of writing good code. And, much of this software is unfinished as the
student finished their class or graduated or just moved on. It’s
often easier to rewrite something than it is to decipher someone
else’s poorly written and documented code. This is a viscous cycle
because the rewrite often doesn’t get done so there are multiple ver‐
sions which don’t work in different ways.2 It’s often difficult to
determine whether or not there is a good working version of something
because there is so much litter.
There is a belief that one of the advantages of open source software
is that you can fix bugs that you find. Unfortunately, much of this
software is so poorly written and completely undocumented making the
amount of effort required too great for a casual user.
Just because something is open source doesn’t mean that it’s a great
example of the craft. But, you can learn what not to do just as well
as you can learn what to do from looking at other’s code.
There are two indicators, one positive and one negative, that you can
use to help determine the quality of a piece of code.
The positive indicator is whether or not a project is under active
development3 with more than one contributor. It often helps if a
project is supported by some organization. Many of the major open
source projects originated at companies4 who still support their
development. Others have been donated by companies to foundations
that support their development. This often yields a consistent vision
which keeps the project on track. This indicator is not completely
reliable5 so take it with a grain of salt.
The negative indicator is the type and quantity of dialog that you’ll
see at various programmer ‘‘self‐help’’ web sites. If you see lots of
‘‘I can’t figure out how to make this work?’’ and ‘‘Where do I start
to make this change?’’ questions then it’s probably not a great piece
of code. Furthermore, if the responses are mostly useless non‐answers
or snarky and unhelpful then the project probably lacks good develop‐
ers. Developers who blame the questioner for their own lack of qual‐
ity work are not good role models. Of course, it’s also a bad sign if
there are no comments or questions as it means that the code is proba‐
bly not used.
Cautionary tales aside, open source is a great thing. Make your code
open source when it makes sense to do so. But first, learn how to do
a good job so that your code becomes a good example to others.
__________________________
1 For example, Microsoft claimed that ‘‘Open source is an intel‐
lectual property destroyer. I can’t imagine something that
could be worse than this for the software business and the in‐
tellectual‐property business’’ despite the fact that they were
secretly using open source tools in‐house.
2 I recently needed to extract tags from mp3 files and tried six
different open‐source programs each of which failed in a differ‐
ent way.
3 This doesn’t apply to projects that have been around for a long
time and are actually ‘‘done’’.
4 One must be careful of open source projects created at companies
who are later acquired by companies with different philosophies.
For example, Sun Microsystems was a prodigious developer of open
source software including OpenOffice, Java, and VirtualBox.
However, Sun was acquired by Oracle who ended support for some
of these projects and tried to find ways to control and monetize
others; see the Oracle versus Google lawsuit for details.
5 For example, the code base for the firefox web browser is a
poorly documented complete mess.
Copyright © 2001‐2017 Jonathan E. Steinhart. All Rights Reserved - Page 2
next prev parent reply other threads:[~2017-09-13 15:42 UTC|newest]
Thread overview: 200+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-08 20:54 [TUHS] Happy birthday, Dennis Ritchie! Dave Horsfall
2017-09-08 21:04 ` Noel Chiappa
2017-09-08 21:09 ` Michael Kjörling
2017-09-09 1:16 ` Wesley Parish
2017-09-09 1:30 ` [TUHS] File-as-record (was: Happy birthday, Dennis Ritchie!) Greg 'groggy' Lehey
2017-09-09 1:43 ` Warner Losh
2017-09-09 1:50 ` Wesley Parish
2017-09-09 13:59 ` [TUHS] File-as-record Arthur Krewat
2017-09-11 17:26 ` [TUHS] File-as-record (was: Happy birthday, Dennis Ritchie!) Paul Winalski
2017-09-09 4:34 ` [TUHS] Happy birthday, Dennis Ritchie! Steve Johnson
2017-09-09 13:04 ` William Cheswick
2017-09-09 17:26 ` Steve Nickolas
2017-09-09 17:49 ` Arthur Krewat
2017-09-09 19:40 ` Steve Nickolas
2017-09-09 20:33 ` Lawrence Stewart
2017-09-09 21:56 ` Steve Johnson
2017-09-10 1:27 ` Dave Horsfall
2017-09-11 16:20 ` Paul Winalski
2017-09-09 15:55 ` Clem Cole
2017-09-08 22:28 ` Steve Nickolas
2017-09-09 11:04 ` Michael Kjörling
2017-09-09 11:19 ` Steve Nickolas
2017-09-08 21:05 ` Arthur Krewat
2017-09-08 21:14 ` William Pechter
2017-09-08 22:13 ` Angus Robinson
2017-09-08 23:11 ` William Pechter
2017-09-09 5:13 ` Dave Horsfall
2017-09-09 15:41 ` Larry McVoy
2017-09-09 4:20 ` Dave Horsfall
2017-09-11 16:30 ` Paul Winalski
2017-09-11 16:49 ` [TUHS] Happy birthday, Dennis Ritchie! [ really sun vs dec/apollo ] Jon Steinhart
2017-09-11 17:37 ` Paul Winalski
2017-09-11 23:09 ` Larry McVoy
2017-09-12 7:38 ` arnold
2017-09-12 14:12 ` Ronald Natalie
2017-09-12 14:51 ` Toby Thain
2017-09-12 15:33 ` arnold
2017-09-12 15:35 ` [TUHS] Happy birthday, Dennis Ritchie! [ really sun vs dec/apollo --> X and NeWS ] Jon Steinhart
2017-09-12 16:57 ` Larry McVoy
2017-09-12 17:04 ` Arthur Krewat
2017-09-12 17:07 ` Larry McVoy
2017-09-12 22:11 ` [TUHS] X and NeWS history (long) Jon Steinhart
2017-09-12 22:58 ` Larry McVoy
2017-09-12 23:22 ` Jon Steinhart
2017-09-12 23:44 ` Chris Torek
2017-09-12 23:41 ` Adam Sampson
2017-09-13 0:14 ` Jon Steinhart
2017-09-13 16:38 ` [TUHS] old X versions (was:X and NeWS history) Christian Groessler
2017-09-13 19:10 ` Kurt H Maier
2017-09-13 19:13 ` Henry Bent
2017-09-19 0:44 ` Random832
2017-09-19 10:30 ` Nigel Williams
2017-09-19 14:05 ` Jon Steinhart
2017-09-19 15:16 ` Gregg Levine
2017-09-19 15:39 ` [TUHS] old X versions Chet Ramey
2017-09-19 18:23 ` Nemo
2017-09-19 18:32 ` Clem Cole
2017-09-19 18:32 ` Chet Ramey
2017-09-19 18:34 ` Jon Steinhart
2017-09-19 18:43 ` Chet Ramey
2017-09-19 19:19 ` Stephen Kitt
2017-09-19 15:40 ` [TUHS] old X versions (was:X and NeWS history) Clem Cole
2017-09-19 17:01 ` Steve Nickolas
2017-09-19 17:15 ` Gregg Levine
2017-09-19 18:56 ` Derek Fawcus
2017-09-19 19:22 ` [TUHS] old X versions Arthur Krewat
2017-09-19 20:15 ` [TUHS] old X versions (was:X and NeWS history) Gregg Levine
2017-09-19 18:30 ` Nemo
2017-09-19 23:40 ` Wesley Parish
2017-09-19 23:46 ` [TUHS] old X versions Grant Taylor
2017-09-20 0:06 ` Arthur Krewat
2017-09-13 0:29 ` [TUHS] X and NeWS history (long) Bakul Shah
2017-09-13 0:52 ` ron minnich
2017-09-13 0:54 ` Warner Losh
2017-09-13 0:56 ` ron minnich
2017-09-13 0:57 ` Warner Losh
2017-09-13 2:06 ` Kurt H Maier
2017-09-13 3:34 ` ron minnich
2017-09-13 3:55 ` Jon Steinhart
2017-09-13 15:16 ` Arthur Krewat
2017-09-13 15:42 ` Jon Steinhart [this message]
2017-09-13 1:42 ` Arthur Krewat
2017-09-13 2:27 ` Grant Taylor
2017-09-13 16:14 ` Lawrence Stewart
2017-09-13 0:56 ` Jon Steinhart
2017-09-13 1:34 ` Bakul Shah
2017-09-13 2:43 ` Grant Taylor
2017-09-13 3:01 ` Jon Steinhart
2017-09-13 3:25 ` Grant Taylor
2017-09-13 3:27 ` Jon Steinhart
2017-09-13 15:09 ` Tony Finch
2017-09-13 15:19 ` Jon Steinhart
2017-09-12 23:33 ` [TUHS] Happy birthday, Dennis Ritchie! [ really sun vs dec/apollo --> X and NeWS ] Dave Horsfall
2017-09-12 20:15 ` Steve Johnson
2017-09-13 2:23 ` Larry McVoy
2017-09-14 0:53 ` Nemo
2017-09-14 1:18 ` Henry Bent
2017-09-14 3:15 ` Larry McVoy
2017-09-14 9:35 ` Rico Pajarola
2017-09-14 11:11 ` arnold
2017-09-14 12:13 ` Rico Pajarola
2017-09-14 12:50 ` Chet Ramey
2017-09-14 13:27 ` Rico Pajarola
2017-09-14 14:30 ` Chet Ramey
2017-09-14 13:21 ` Steffen Nurpmeso
2017-09-14 19:44 ` arnold
2017-09-14 20:22 ` [TUHS] Tools and building: libtool, autoconf, etc. [ trying to have a relevant subject line ] Jon Steinhart
2017-09-14 20:32 ` Ron Natalie
2017-09-14 21:00 ` Chris Torek
2017-09-14 21:03 ` Ron Natalie
2017-09-14 22:26 ` Grant Taylor
2017-09-16 3:34 ` Larry McVoy
2017-09-16 4:16 ` Warner Losh
2017-09-16 5:08 ` Dave Horsfall
2017-09-16 3:33 ` Larry McVoy
2017-09-14 20:41 ` Bakul Shah
2017-09-14 21:00 ` Noel Hunt
2017-09-15 17:42 ` [TUHS] Happy birthday, Dennis Ritchie! [ really sun vs dec/apollo --> X and NeWS ] Steffen Nurpmeso
2017-09-14 20:31 ` Ian Zimmerman
2017-09-15 3:16 ` Dave Horsfall
2017-09-15 3:33 ` Warner Losh
2017-09-15 8:32 ` Ron Natalie
2017-09-15 12:42 ` Arthur Krewat
2017-09-15 18:20 ` Steffen Nurpmeso
2017-09-15 18:37 ` Paul Winalski
2017-09-13 7:30 ` arnold
2017-09-13 13:35 ` Larry McVoy
2017-09-13 23:55 ` Dave Horsfall
2017-09-14 0:18 ` Henry Bent
2017-09-14 2:10 ` Larry McVoy
2017-09-14 19:37 ` Steve Johnson
2017-09-14 19:54 ` Steve Nickolas
2017-09-14 20:50 ` Ian Zimmerman
2017-09-14 21:00 ` Ron Natalie
2017-09-14 20:11 ` Ron Natalie
2017-09-14 20:26 ` Jon Steinhart
2017-09-19 0:52 ` Random832
2017-09-19 2:50 ` Larry McVoy
2017-09-19 2:56 ` Gregg Levine
2017-09-19 3:37 ` Larry McVoy
2017-09-19 6:52 ` Lars Brinkhoff
2017-09-19 7:22 ` Ian Zimmerman
2017-09-19 13:22 ` Larry McVoy
2017-09-19 13:53 ` Steffen Nurpmeso
2017-09-19 13:56 ` Larry McVoy
2017-09-19 17:56 ` Random832
2017-09-19 18:31 ` Steffen Nurpmeso
2017-09-19 18:34 ` Larry McVoy
2017-09-19 19:31 ` Lawrence Stewart
2017-09-20 3:13 ` Larry McVoy
2017-09-23 22:24 ` Ralph Corderoy
2017-09-19 14:32 ` Clem Cole
2017-09-19 14:42 ` Larry McVoy
2017-09-19 15:12 ` Clem Cole
2017-09-19 18:03 ` Random832
2017-09-10 9:44 ` [TUHS] Happy birthday, Dennis Ritchie! arnold
2017-09-13 23:22 ` Dave Horsfall
2017-09-14 16:11 ` Ian Zimmerman
2017-09-14 16:15 ` Steve Nickolas
2017-09-14 19:30 ` Theodore Ts'o
2017-09-14 19:52 ` Steve Nickolas
2017-09-14 22:03 ` Christian Groessler
2017-09-14 22:39 ` Erik Berls
2017-09-14 22:52 ` ron minnich
2017-09-14 23:04 ` Warner Losh
2017-09-14 23:14 ` Bakul Shah
2017-09-15 19:01 ` Chris Torek
2017-09-15 19:50 ` Lyndon Nerenberg
2017-09-15 19:56 ` ron minnich
2017-09-15 20:34 ` Chris Torek
2017-09-14 23:06 ` Bakul Shah
2017-09-15 0:47 ` ron minnich
2017-09-14 19:39 ` Kurt H Maier
2017-09-14 20:09 ` [TUHS] Happy birthday, Dennis Ritchie! [ really Pottering vs UNIX ] Jon Steinhart
2017-09-14 21:35 ` [TUHS] Happy birthday, Dennis Ritchie! Theodore Ts'o
2017-09-15 1:40 ` Ron Natalie
2017-09-15 14:04 ` Larry McVoy
2017-09-16 3:40 ` Larry McVoy
2017-09-16 7:45 ` Steve Nickolas
2017-09-16 12:59 ` Ron Natalie
2017-09-16 18:19 ` Andy Kosela
2017-09-17 18:37 ` Chet Ramey
2017-09-18 15:11 ` Steve Johnson
2017-09-16 19:20 ` arnold
2017-09-17 1:43 ` Larry McVoy
2017-09-17 1:55 ` Jon Steinhart
2017-09-17 2:14 ` Warner Losh
2017-09-17 2:18 ` Larry McVoy
2017-09-17 14:27 ` Warner Losh
2017-09-17 5:13 ` Ian Zimmerman
2017-09-17 5:19 ` arnold
2017-09-17 18:49 ` Chet Ramey
2017-09-17 18:57 ` Kurt H Maier
2017-09-17 19:08 ` Warner Losh
2017-09-17 19:33 ` Bakul Shah
2017-09-17 19:22 ` Chet Ramey
2017-09-17 18:43 ` Chet Ramey
2017-09-18 0:12 ` Larry McVoy
2017-09-18 0:51 ` Clem Cole
2017-09-17 18:25 ` Chet Ramey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201709131542.v8DFgVWp020181@darkstar.fourwinds.com \
--to=jon@fourwinds.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).