> What are your favorite methodologies for
organizing digital life
My guess is that my answer will not be
common or popular with the Hacker News
audience!
(1) Emphasize simple text. For handling
the text, use my favorite text editor
KEdit with 100+ macros in the editor's
macro language Kexx.
(2) Keep data in files in directories, and
use the hierarchical file system to
construct a taxonomic hierarchy of the
contents of the files. I have no files in
any cloud. I'm shopping for a smart
phone but so far don't have one.
(3) Use text windows with command line
scripts written in the interpretive
language Rexx. In each text window, run a
simple Rexx program that acts like a
shell. The editor's macro language Kexx
is a version of Rexx.
So, to do some piece of work, I start with
a text window, use some tree walking
scripts to get to the relevant directory,
start KEdit with that directory the
current one, and then get to work.
Each directory has a special file that has
some basic documentation of the contents
of the directory.
(4) Have a file FACTS open in KEdit and
with some useful macros. When I see a
fact I want to remember, I put an entry
in that file with some appropriate
keywords. Since my use of the
hierarchical file system does not always
have an obvious, unique directory for each
file, for an important file I put its tree
name in an entry in FACTS.
Over the last 8 years, have put on average
3.66 entries a day in FACTS, and on
average an entry has 566 bytes. So
currently FACTS has 4,414,649 bytes, and
KEdit finds things in the file very
quickly, even without using the key words.
(5) As a last resort I run a little Rexx
program that puts all the tree names in my
most important drive letter into a file.
That file has 230,159,949 bytes with 6232
lines. KEdit can read and search this
file quickly.
(6) I do file system backups using
carefully selected options of ROBOCOPY.
(7) My most important directory is DATA05.
That name is reserved so that my scripts
and macros can work with the tree rooted
there independent of the drive letter.
So, drive letters can change, and I can
essentially ignore the change and still
just keep on working.
(8) Due to a disaster, I had to rush out
and buy a laptop. It runs Windows 10 Home
Edition. I'm working to get back to the
desktop I built with an 8 core AMD
processor and running Windows 7
Professional. I like that version of
Windows and see no reason to change, but I
do intend to plug together a server and
there run Windows Server 2019.
(9) For writing important letters, math,
other technical material I use Knuth's
word processing software TeX. I have
about 100 macros I've written in TeX,
e.g., for verbatim content,
cross-references, putting annotation on
figures, .... I do not use LaTeX. The
TeX distribution I use came with a spell
checking program Aspell -- I like it a
lot; it's my main means of spell checking.
(10) For Windows and Linux, I wanted to
emphasize exactly 1 and selected Windows.
For software development for my startup, I
program almost entirely in the Microsoft
Visual Basic .NET (VB.NET) with ASP.NET,
ADO.NET, etc.
From my imperfect memory, the book by
Kernighan and Ritchie claimed that the
programming language C had an
"idiosyncratic" syntax. And, then,
similarly for C++ and C#.
Supposedly at one time there was a source
code translator to go, either direction,
between C# and VB.NET. So, the
semantics were the same and the only
difference was syntactic sugar.
E.g., I wanted something like Redis so
wrote it quickly in VB.NET using two
instances of a collection class. The
Microsoft documentation for the class seemed
to be essentially the same for C#, VB.NET,
etc. So, I guessed that, really, C# and
VB.NET were, at least in practice,
essentially equally powerful.
To me VB.NET has more traditional syntax,
more like the original Basic, Fortran,
Algol, PL/I, Pascal and is easier to
teach, learn, read, and write. So, I like
VB.NET.
If I have to write some C#, then I will.
Similarly for C, C++, Python, etc.
(11) To write software, e.g., in VB.NET, I
just type it into my favorite text editor
KEdit. I've never used an IDE (Integrated
Development Environment). Once I tried
but gave up in a few minutes.
The software I write has a lot of
documentation, and some of that is in the
same file as the code. So, to me, in the
file there is the documentation and the
code; given one of these two, with some
work, can try to reconstruct the other;
and the easier direction is to read the
documentation and reconstruct the code --
that is, having just the code and then
trying to reconstruct the documentation is
harder. Then, writing the documentation
is more like other writing in a natural
language that I do with a text editor.
So, I just use a text editor, not an IDE.
One final point: Sure, early in my
career, I eagerly learned all the
algorithms, program languages, etc. I
could so that I could do the work of
employers. Now that I'm doing my own
startup, the technical tools I use are the
ones I need for my startup. Then, so far,
for my startup, I see VB.NET as just fine
and see no reason to spend time learning
other languages.