Hugh Sasse's Software Production Related Information Page
Contents
General information |
freecode.com
|
The GNU project |
Language lists |
Finite State Machines |
Top Down Operator Precedence Parsing |
pcre
and regexp info |
Toolkit for Conceptual Modelling |
BASIC |
C |
C++ |
Fantom |
Forth |
Fortran |
Icon |
Io |
Java |
Julia |
Lisp |
Lobster |
Lua |
Lush |
Objective Caml |
Object Orientation Orientation |
Data, Context and Interaction |
Onyx |
Orc |
Pascal |
Pascal to C translator |
Perl |
Pike |
PostScript® |
Python |
Qorum |
Racket |
REBOL |
Ruby |
Tcl, Tk and Expect |
Unicon |
Emacs |
Vi and vim |
Unix (including Shell and GNU/Linux)
- General information
-
- Alex Measday
has an enormous Computing Web Sites page.
- The Pragmatic Programmers.
- See also Dave's Blog
and Andy's blog
which has some of their interesting thoughts on them. (Also of note
is the original
"broken windows" article, housed at http://www.codinghorror.com/.
- How to Prototype [a Game] in Under 7 Days
- is mainly about game development, but talks about creativity, programming
efficiently. As someone who tends to avoid hacks, this is a useful
reminder that satisficing is OK. Found at Coding Horror::Rapid Prototyping Fun.
- Brian Marick's
blog.
- "Silk and
Spinach", Kevin Rutherford on agile software development
...
- ...and life in Macclesfield
- Chad Fowler's Blog.
- Sandi Metz's blog.
- Author of Practical Object Oriented Design in Ruby.
- Accidentally Quadratic.
-
- Much better programmers than myself have made mistakes from
which I can learn. Sometimes trade-offs that are acceptable early in
a project become unacceptable later. These give examples of when
optimisation is not premature.
trend-prof may help with this.
found from this answer on Stack Overflow.
- Redhanded - sneaking
Ruby through the system. Thanks to the much missed Why The Lucky Stiff
- See _Why's Estate.
{|one, step, back|}
;
- Cooper Interaction Design.
- Includes books by Alan Cooper.
See also Extreme
Programming vs Interaction Design.
- Donald Norman's Home
page
- concerned with usability issues.
- John Burkardt's pages.
- An excellent collection of programs and data.
.OBJ file examples
is what
led me here, but the
Fortran 77 software
alone is seriously impressive.
- Creating
Passionate Users.
- Alas discontinued, but still contains good stuff.
- Quantum-Leaps.com.
- This is the web site for the book "Practical Statecharts in
C/C++", which describes how state machines can be effectively
implemented with OO techniques.
- Programming
Pearls.
- Code Generation Network.
- Code
and Personality.
- Different attitudes to "life" and how the impact on code
design.
- Recommended
Links from AI
Horizon.
- An introductory site some students have found helpful. Covers
programming fundamentals, and is geared towards basic AI algorithms.
The site doesn't seem to have been updated in a few years though, so
some links may be stale. (I know that problem. Moving swiftly on!)
- Delta Debugging.
- See also the book Why Programs Fail by Andreas Zeller. The concepts here made it into a chapter in Beautiful Code.
- Teaching Novice Programmers How to Debug Their Code.
- Good points about hidden assumptions well made.
It's all Scientific Method, really.
- Webliography [on] Software Engineering
- Literate Programming - Propaganda and Tools
- Extreme Programming: A gentle introduction (www.extremeprogramming.org)
- See also my software testing page for more on this.
- Patterns Home Page.
- The
c2.com
Patterns WikiWikiWeb.
- Pattern Oriented software Architecture.
- Patterns
for Scripted Applications.
- Ulrich Köthe's Software Engineering Hotlist.
- Joe Yoder's
Adaptive Object Modelling papers.
- Of interest on the same page is The
Selfish Class, by analogy with Richard Dawkins' selfish
gene, how good code gets re-used. See also User-Defined
Product Framework by Ralph E. Johnson and Jeff Oakes. There
are more AOM links at
MetaData and Adaptive Object-Model Pages.
Some of this flexibility would seem to relate to Table Oriented
Programming, although I don't agree with all its
conclusions. For example, some of the refactoring that is claimed
control tables achieve can be achieved in OO with a visitor pattern,
where the object visits the data in the structure, responding
accordingly.
- NIST's Dictionary of Algorithms, data Structures and Problems.
- Titivillus' Software Development page has gone 03-MAY-2013.
- Links to interesting papers and lots of languages
- Esoteric
Programming Wiki.
- I'm not sure how many of these things one would
actually want to use for serious work, but
they are "interesting" (in the mathematical sense of the word!).
- Piriform, Ltd.
- Produce some interesting Free software (utilities) for Windows.
(cclean, recuva, defraggler).
FreeOS.com
.
- A site devoted to free operating systems in general.
osnews.com
.
- Freecode.com
- A site listing recent releases of free software
- TheFreeCounty.com.
- GNU Project of the FSF Home Page
(
English (1),
French,
Irish,
Mirrors)
- This GNU's Not Unix.
The What's New page
(2),
French,
Irish
mirrors) is worth checking regularly.
The Software
Directory.
A list of their
FTP Mirrors is available
French,
Irish
mirrors)
See also:
- The GNU Scientific Library.
- TkInfo: A Browser for Info Files.
- The Ghostscript Home Page.
- See also ghostscript.com.
- Autoconfigure Tutorial.
-
There is a more recent version of this at The AutoToolset
Homepage but it is on sourceforge. (as described in
this page at Washington.edu.) The Autoconf manual is an obvious
source of information.
There is also Autobook a book about autoconf, automake, libtools...
Autotools: a practitioner's guide to Autoconf, Automake and Libtool from Free Software Magazine looks good as well.
The Autotools Mythbuster site is very good as well.
There is a cheat sheet and
a reference card for
GNU Make, useful for the
variable usages in particular.
The packages can be had from
ftp://ftp.warwick.ac.uk/pub/gnu/,
(which has not been updated recently) or
ftp://ftp.mirror.ac.uk/sites/ftp.gnu.org/gnu/.
There is a French mirror ftp://ftp.cs.univ-paris8.fr/mirrors/ftp.gnu.org/
Danish (dotsrc.org)
- Language Lists
-
- Hyperpolyglot.
- The Year In
Scripting Languages.
- A suammary of activity in different scripting languages for
the past calendar year.
- ACM "Hello
World" Page.
- That first example program in many different languages
- Google Directory's
Programming
Languages page.
-
Programming Languages Research.
- Dictionary of Programming Languages.
- Learn X in Y minutes.
- A list of programming language sites.
- Learnable Programming.
- Designing a programming system for understanding programs.
- Keith Waclena's Programming Language Crisis
-
has a very personal
view on a number of languages, but based on a desire
to get practical work done easily (in a Unix environment, mainly).
- PLNews: Programming Language News.
- The
arkadia.com
Programming Langauges page -- link removed by request..
- Lambda the Ultimate.
- The TUNES Project
Wiki.
- The
tunes.org Languages page on the Wiki.
- Free compilers list
- See also info about gcc for the PC (djgpp).
- See also Eli but it is on sourceforge.
- PCCTS
- Andrew W. Appel's
Modern Compiler
Implementation in
C.
-
See also CUP's
page about this book.
- Jack Crenshaw's "Let's
Build a Compiler".
- A recursive descent compiler, but incrementally developed. Note:
these files are in plain text, and the top several lines are blank.i
The code is in Pascal, but a FORTH version is
available and there is a similar series of articles based on
Scheme, available. See this LTU
article.
- Matt Healy's languages page.
- Finite State Machines
-
- Finite State Machines in Cobol has gone (03-MAY-2013 )
- this is really about implementations in COBOL, but it
has good points about the general application for FSMs
to problems.
- Top Down Operator Precedence Parsing
-
An alternative to the BNF based parsers using YACC, etc.
- Vaughn Pratt's paper Top Down Operator Precedence.
- The O'Reilly book Beautiful Code has a chapter on this, by Douglas Crockford.
- Top Down Operator Precedence by Douglas Crockford
- Simple Top-Down Parsing in Python" by Fredrik Lundh
- Top Down Operator Precedence Parsing by Eli Bendersky.
- tinypy, a tiny Python interpreter whose parser uses this technique.
- Pratt Parsers - Expression Parsing Made Easy describes how to do this in Java.
- Extensible, Statically Typed Pratt Parser in C#.
- Philip Hazel's PCRE package
- A regular expression package with Perl-like syntax.
Jeffrey Friedl's Regular Expression page has gone (03-MAY-2013 )
is definitely worth examining.
See also Scriptics'
"New Regexp Features in Tcl 8.1" page has gone
(18-NOV-2005).
- Toolkit for Conceptual Modelling (TCM)
- tools for creating graphics describing a program's purpose, to
aid in maintenance and specification. 03-MAY-2013 - seems to have vanished recently enough to have left broken links on Wikipedia and elsewhere.
- Awk.
- a tutorial from
CyberTechnics.
See also The
Gawk manual,
Awk Tutorial from
The Grymoire.com.
Awk in 20 Minutes (from
[HN:8893302]).
- BASIC.
-
- I know. Don't start. But for quick short jobs, with accessible simple
graphics, for people who "don't really want to program" when Excel doesn't
quire fit, this may be appropriate.
Smallbasic looks pretty good but it is on sourceforge, has a good set of maths functions, and graphics,
has mostly got rid of line numbers and is GPL. It is cross-platform.
It looks like it might be
useful for some engineering quick fixes that can be done properly later.
The Wikipedia page on BBC BASIC refers to clones for windows, BBC BASIC for Windows by Richard Russell, and a GPL clone: Brandy BASIC Interpreter but it is on sourceforge, but it looks like it is Unix only -- a
.deb
and a .tar.gz
file only, and dated 2007, as I write this (14-SEP-2012).
- C
-
The C Book.
C Programming Wikibook.
Learn C Programming with 9 excellent open source books found from
[HN:13579897].
comp.lang.c FAQ.
SEI CERT C Coding Standard found from
[HN:9820364].
GCC is the GNU compiler collection. There is advice on building GCC for Solaris (10), the most unusual part
of which is for Solaris9 GMP must be told to build for Solaris7.
pcc, a C99 compiler under a number of BSD licences.
nwcc is also BSD licenced but it is on sourceforge.
tcc is LGPL but it's development seems to be stopping.
CompCert - a formally verified C compiler. Found via Absint's CompCert page from [HN:9130934].
RECC - The Robert Elder Compiler Collection
found from [HN:9818374].
OpenWatcom C/C++ Compiler and the openwatcom mirror in France.
cdecl.org: C gibberish <-> English.
There is a List of free programming books about C available.
J. Blustein's C Programming Language Resources.
Lysator's Programming in C page in particular see Other Sources.
"Awesome C" -- a list of free software resources for C programming.
- C++
-
There are some good online FAQS, in particular
C++ FAQ Lite
(Dutch mirrors)
)
See also Bjarne Stroustrup's homepage.
There is information on
GCC
which has g++ supports the
Standard C++ library,
with some of the support coming from
libstdc++ v3
(It can be had from ftp://ftp.warwick.ac.uk/pub/gnu/gcc/, for example.)
EGCS merged with GCC in April 1999.
There are others.
The C++ Annotations by Frank B. Brokken
is more than just annotations, it is a good
tutorial/reference.
The Boost C++ Libraries are peer-reviewed
to work with the STL, often by people involved in the STL's design.
The Fast Light Tool Kit Home
Page; FLTK is an LGPL'd C++ graphical user interface toolkit
for X
(UNIX®), OpenGL,
and WIN32 (Microsoft® Windows® NT 4.0, 95, or 98).
See also wxWindows, and The FOX Toolkit (which is
written in C++).
Visual C++ Developer Center.
There is a List of free programming books about C++" available.
- Crystal.
- A compiled language with Ruby-inspired syntax.
- Factor.
- A language clearly descended from Forth.
- Fancy.
- A language which is OO and concurrent. In development.
- Fantom.
- FISh
- A functional language claimed to be very efficient.
- Forth.
-
Forth Web Ring.
FORTH, Inc..
Starting Forth.
(See comments at [HN:9855977], and also
[HN:9842557] for info on
Thinking Forth (CC licence).)
Forth Research at Institut für Computersprachen,
Forth Information on Taygeta.
The Forth Research Page at Bournemouth.
A Forth page from Michael Somos.
The
4tH compiler.
Related to this is And So Forth, a tutorial for Forth.
There is a blog entry on Implementing the primitives in Itsy Forth, which
is instructive, the comments showing how some of these could have been done
without assembler, at the cost of space.
This S.O. item on implementing SWAP in Forth
has some interesting approaches.
Bolo's Forth
page.
Forth Info on c2.com wiki.
FIG UK.
The Annexia Forth page, including a minimal Forth compiler and tutorial,
as discussed on LtU.
See also Onyx and Factor.
Another minimal forth is Boostrapping a Forth in 40 lines of Lua code by Eduardo Ochs.
There is a List of free programming books about Forth available.
Richard W. M. Jones' Forth info., including
JONESFORTH (git repository),
found from [HN:9370979].
- Fortran
-
- The Fortran Market.
- User Notes on
Fortran Programming.
- GFortran the GNU Fortran
for GCC-3.4.0 and later
- has a
wiki which explains that it was born of a fork of
The G95 Project but it is on sourceforge.
- GNU Fortran
(G77) news.
- f2c.
- Introduction to Modern Fortran may be used for personal study and not copied, but is clear and useful.
- Clive Page's List of Fortran Resources will also be useful.
- Alan Miller's Fortran Software including
to_f90.f90
, from Jason Blevins' website.
- Fortran 90 Frequently Asked about News has a lot of links.
- DMOZ Fortran page.
- f2f.
- Introduction to Object-Oriented Concepts using Fortran90.
- Guide to Fortran 90 maintained by NCAR/CISL
Consulting Services Group
.
- PGPLOT.
- PLPLOT but it is on sourceforge.
ftncheck
.
- Stackoverflow: Writing robust and "modern" Fortran code looks useful.
- Fortran Questions
- J. Burkardt's Fortran 77 software.
- USER NOTES ON FORTRAN PROGRAMMING (UNFP)(
German mirror).
- Icon
-
The Icon Home Page
is the main source of information about the language.
UTSA
have some good information about Icon,
particularly a local guide to the language.
There is a good introductory article called
A Glimpse of Icon.
There is a List of free programming books about Icon" available.
See also Unicon.
- Io.
- A small, OO language with simple syntax. Found on the RubyGarden
virtual machines page.
- Java.
- Bruce Eckel's Java site.
Java Beginner's
FAQ, Java
Intermediate FAQ, and the complete list of
FAQs from
javaranch.com
.
Tutorials from Sun.
- Julia.
-
A language for scientific computing inheriting from Python, Ruby and Matlab.
The Julia Language.
The Julia Manual.
The Julia Blog.
Julia source on github.
JuliaOpt: an umbrella group for Julia-based optimization-related projects.
See also Julia for Rubyists: Crunch Those Numbers
(via Ruby Weekly #251. ).
- Lisp.
-
- John McCarthy's Home page.
- The
Common Lisp Hyperspec..
- from lispworks.com.
- Lobster.
- Lua
-
The site has
News and
Recent Changes pages as
well. LuaNews is a
summary of recent happenings on the mailing list and in the world of Lua.
The book "Programming in
Lua" is online, but well worth buying, IMHO.
See also
lua-users.org
.
Rub/Lua allows the
embedding of Lua interpreters in Ruby.
See also Learn Lua in 15 minutes (more or less) for a one page (or thereabouts) tutorial.
There is a List of free programming books about Lua" available.
- Lush but it is on sourceforge.
- A GPL'ed Object Orientated blend of Lisp and C, which is
intended to be fast, flexible, high level, and particularly suited
to engineering applications.
- nim.
- Looks interesting, but I've not explored it yet.
- Objective Caml.
- Formerly Caml Special Light.
The Caml Language
is a functional programming language. The
Objective Caml home page
is the place to look for information. See
The
faq,
the
Caml Quick Reference Guide,
also
The comp.lang.ml FAQ.
I NO LONGER have a
local copy of the manual set, because my copy was way out of data,
and I have not been using the language. A copy can be obtained from
the
Objective Caml Distribution page.
Christophe Raffalli has some Objective Caml stuff.
See also Introduction to Functional Programming (1996-7) from Cambridge University.
There is the book
A Functional Approach to Programming
which is based around Caml. There is a version of Developing
Applications With Objective Caml on-line.
- Object Orientation Orientation
-
- Data, Context and Interaction.
-
This belongs with with OO information. It turns use cases into
Context objects, so that the interrelationships between objects can
be represented more clearly by constructed Interactions. The
participating objects then take on roles in these interactions, when
they receive some kind of trigger for setting off that use case. In
this way the relationships are not scattered about the code as
method calls that must be searched out. This is almost like bringing
Structured Programming to Object level. Instead of having to crawl
through the code base to find the interactions, the method calls,
much like one had to find the
GOTO
s of yore, the
contexts structure what happens between the objects.
- Data Context Interaction: The Evolution of the Object Oriented Paradigm.
- The page where I found out about this, via RubyFlow.
- Data Context Interaction.
- Trygve Reenskaug's home page.
- He invented this design, as well as MVC.
- Onyx
-
Onyx is a language similar to Forth and Postscript, with threads,
and designed to be easily embedded in C code.
- Orc
-
A language for distributed and concurrent programing.
- GNU Pascal
- p2c Pascal to C translator (recovered by someone at Schneider Lab)
- Perl -- Practical Extraction and Report Language.
-
- News and Views of the Perl Community
use Perl;
- Perl Reference page.
- a reference itself, not a page about "
\$thingy
".
- The Perl Mongers site.
- PerlMonks.
- Perlfaq Prime.
- CPAN -- The Comprehensive Perl Archive Network
- This link will actually take you to your mirror.
search.cpan.org
.
- perldoc.
- a UK copy of the comp.lang.perl.misc FAQ.
- a UK copy of the comp.lang.perl.announce FAQ.
- University of Florida Perl archive.
effectiveperl.com
has gone (16-OCT-2013).
- The website to go with the book "Effective Perl Programming".
- The Perl Foundation.
- Perl Mongers.
See also the
comp.lang.perl.misc and
comp.lang.perl.announce newsgroups and
home pages of
Larry Wall,
Randal L Schwartz and
Tom Christiansen (wherever his page is),
for info straight from the horse's ... er, camel's mouth.
M-J. Dominus' Perl Paraphernalia.
See also
ftp://sunsite.doc.ic.ac.uk/pub/computing/programming/languages/perl/ and
Tim Bunce' Module List, or
the UK copy of it which
lives in
ftp://ftp.demon.co.uk/pub/mirrors/perl/CPAN/. Also see
comp.lang.perl.modules.
Also, Jeffrey
Friedl's Perl page has some good utilities on it.
- Pike
-
Another slant on OO, with pretty good string handling...
It is claimed to be fast. I have not tried it yet.
- PostScript
-
See also S. G. Kleinmann's PostScript page which has gone (03-MAY-2013),
the newsgroup
comp.lang.postscript
and the newsgroup's FAQ.
See
http://www.postscript.org/
.
(There is interesting information at
http://www.cappella.demon.co.uk/
about PS as a publishing medium.)
PostScript Command Summary has gone (03-MAY-2013).
Another
Postscript manual has gone (18-NOV-2005).
PostScript
Command Summary.
There is an ftp mirror site at:
ftp://ftp.tex.ac.uk/tex-archive/support/ghostscript/.
psutils can be had from: ftp://ftp.dcs.ed.ac.uk/pub/ajcd/
,
or ftp://ftp.tardis.ed.ac.uk/users/ajcd/
.
- Python
- Quorum but it is on sourceforge.
- Racket.
- REBOL
- An interesting language with web/ftp/email capabilities built in.
See also The OSCAR Project
and FreeBell but it is on sourceforge.
- Ruby
- Tcl, Tk and Expect
-
Info on the Tcl ("Tickle") and Tk languages by
John Ousterhout, . See also
comp.lang.tcl and
comp.lang.tcl.announce newsgroups,
the comp.lang.tcl.announce FAQ (from
faqs.org
).
There is a Wikibook on Tcl.
Neosoft provide a
WWW interface
(which has gone 18-NOV-2005)
to their archive which is available by
ftp.
There is a very well laid out
manual in HTML format.
and a guide to writing Interfaces in Tcl/Tk has gone .
Don Libes' Expect distribution
for automating dialogues with programs is build on top of tcl and tk;
see The Expect Home Page.
See also the Tcl Wiki Expect
page.
Tcl 8.6 now has OO features brought in with
package require TclOO
but at present (Feb 2013) there is little free info on their use.
There is a question about this on the Google mirror of comp.lang.tcl
here, and some examples on Rosetta Code in the Tcl category.
There is a TclOO page on the Wiki.
Useful examples include Rosettacode's classes Tcl example, a class referring to its own instance methods
and variables using Tcl my
, which modifies the scope rules of lookups, and also
the define
page
is useful as well.
Tcllib but it is on sourceforge has
Tcllib documentation online but it is on sourceforge,
also links to Tcllib docs at core.tcl.tk
.
The TCL Sourceforge Project but it is on sourceforge.
Also see the Entropy Liberation Front.
Also, there is Tom Phelps' TkMan but it is on sourceforge,
a GUI interface to Unix Manuals, which allows searching
of the pages, etc. There is a Tcl syntax checker,
Nagelfar, which seems to be
pronounced as it would be in Esperanto, from the description.
Tcl the Misunderstood is a good summary, though Tcl now
has dictionaries, and objects as mentioned above.
- Creating an executable (starpack) from a tcl/tk script
-
-
This is done using the tclkit tools for creating starkits from
https://code.google.com/p/tclkit/.
I used the 8.5.8 versions as at the time of writing (01-APR-2014) the 8.6
versions were not available. So I used
tclkitsh-8.5.8-win32.upx.exe
which is the command-line tool, which I copied as tclkitsh.exe
for short
tclkit-8.5.8-win32.upx.exe
which has a GUI, which I copied as tclkit.exe
for short, into
the directory (folder) where the script was.
I also obtained the
sdx.kit
utility from the same site
(it is listed on the left).
Then then actions to perform are these:
.\tclkitsh.exe sdx.kit qwrap script.tcl
5 updates applied
.\tclkitsh.exe sdx.kit unwrap script.kit
5 updates applied
.\tclkitsh.exe sdx.kit wrap script.exe -runtime tclkit.exe
4 updates applied
Noting that the argument to -runtime
cannot be the same executable
as that used to invoke the sdx.kit utility, and that one needs the tclkit with
the Tk bindings in for the Tk code to work as the runtime and
the sdx.kit invoked from the tclkitsh.exe
in order for that
to run correctly.
If the sdx.kit
is invoked from the
tclkit.exe
with the Tk bindings one gets a wish
window with a prompt and sdx.kit
does not seem to be invoked.
Building the tclkit for 8.6 from the instructions
here and
here failed for me under MinGW32 with errors in Tclwinsock complaining about undefined functions at link time.
I got these building Tcl on MinGW as well. I just found
this post on a Ubuntu forum which recommends adding -lws2_32
to the compilation.
Adding this manually to the Makefile
seems to get past this error.
An alternative, which does support Tcl/Tk 8.6 is
Freewrap but it is on sourceforge which will build an executable from a script or multiple script files (so far I have only tried one script). I found this was much easier in that it includes sqlite
and tklib
already, so picked these requirements up with no effort
on my part, unlike sdx, which I could not persuade to find them.
However, I found out the hard way (by not reading the documentation closely enough)
that paths are hardcoded without drive letters unless you include a
tclIndex
file in the list of files to wrap. That can be built
using:
% auto_mkindex . *.tcl
from inside tcslsh
. If you are wrapping packages, you need the
pkgIndex.tcl
file. Anyway, read the documentation :-) for the details.
There is good information on using SQLite with Tcl,
Tcl/Tk
and SQLite. See also The Tcl interface to
the SQLite library, and SQL As Understood By
SQLite
- Unicon.
-
The Unicon Home Page
describes the project but it is on sourceforge.
The POSIX interface for the Unicon programming language by Shamim Mohamed.
There is a Unicon page
at Rosetta Code.
- Emacs
-
Emacs home page
(
French,
Irish mirrors).
On-line Emacs Manual
(
French,
Irish mirrors).
Emacs FAQ for Windows
(
French,
Irish mirrors).
Emacs FAQ in text
(English
(1),
(
French,
Irish mirrors).
GNU Emacs for Mac OS but it is on sourceforge.
Emacs Reference Materials
from
geek-girl.com
.
Xemacs.
http://www.emacs.org/
.
- VI FAQ
-
See also The VI Pages - All About VI and its clones, and,
of course,
www.vim.org
,
and Vim Online but it is on sourceforge.
For vim there is
matchit
for languages that use if
...end
instead of braces.
See alsoThe Vim
Webring,
The Vim Cookbook.
There is a good list of tips at http://www.rayninfo.co.uk/vimtips.html.
Vim information for Ruby is on
my Ruby page. There is also a Tutorial about
using Vim for XML from pinkjuice.com
- Unix, Shell, GNU/Linux
-
- "Learn
Unix in 10 Minutes".
- Usenix.
- Unix
Sys Admin Resources
- from Stokely Consulting.
- Unix File and Directory Permissions and Modes, explained in some depth.
- Useless use of
cat
award.
- lots of examples of pointless CPU usage in the shell.
- Unix Text
Processing.
- The Art of Unix
Programming by Eric S Raymond
- The Art of Unix Usability by Eric S Raymond, et al.
- The art of command line.
- found from [HN:9720813].
- USAIL Unix System Administration Independent Learning.
- Lex and Yacc page.
- yacc - a compiler compiler.
- The Heirloom Project but it is on sourceforge.
- Traditional Unix tools, including the text processing ones, modernised
to work with UTF8 and modern systems.
- Autotools book website.
-
This is the online version of GNU Autoconf, Automake and Libtool, the print copy of which is not up to date
with the current versions of these tools, according to the main page.
The Autoconf manual is an obvious source of information.
- Lex and Yacc HOWTO.
- ELSOP Unix Resource Center
-
Other Unix information can be found in
the comp.unix.* FAQs,
and an introductory text can be found at
Unix Help for users.
- Unix Sysadmin Aphorisms
- Google Directory's Computers > Software > Editors >
SED page
- Open Directory's Top: Computers: Software: Editors:
SED page.
Sed - An Introduction and Tutorial by Bruce Barnett featured in
[HN:8851124].
- A
file
program, because GNU fileutils doesn't have this.
- (
file
detects file types using
/etc/magic
.)
- The
comp.unix.shell newsgroup's
FAQ
-
"Bourne shell programming"
See also Andrew Arensburger's
Bourne Shell Programming page
and Roger Hempel's BOURNE
Shell Programming which is very comprehensive.
My copy of Jeff's Unix Vault (which he
passed to me when he stopped maintaining it).
The document
"csh programming considered harmful"
(
faqs.org
copy)
contains a lot of good tips for the Bourne Shell programmer.
Solaris comes with the Korn shell.
There is An
introduction to Korn Shell (ksh) Programming by Peter Brown,
which is mirrored
here. There is a guide to ksh at
uoregon.edu
, originally from
ed.ac.uk
.
fish shell.
zsh, an alternative to the Bourne Shell; see also
bash
(English (1),
French,
Irish
mirrors)
-- The Bourne Again Shell, and
its manual
(English (1),
French,
Irish
mirrors).
Advanced Bash-Scripting Guide.
See also Advancing in the Bash Shell Part I and Advancing in the Bash Shell Part II have gone (03-MAY-2013 ).
Heiner's SHELLdorado has gone (03-MAY-2013)
looks like a useful resource.
Open
Directory's Unix Shell page.
Google
Directory Unix Shell page. The Fault Tolerant Shell ftsh has
useful features for handling difficult to predict failures.
[HN:9183012]
has info on
using named pipes
and process substitution, in which
$grep -v '^[[:blank:]]*$" <(gunzip input.gz) >(xz output.xz)
makes the grep take its input from one process and sent it to another. Only works in some shells, particularly bash.
- Find
Command seems to have gone.
- A clear description of the find command with many examples of its use.
See also Finding
things in Unix and Find
part 2.
- GNU/Linux
-
This has moved off this page now.
- DNS resources.
- NTP - The Network Time Protocol
-
See also the
David
Mills's resources page and
NTP Time Services on HP-UX which has gone (03-MAY-2013) but had a number of examples.
There are further links on
NETWORK TIME SYNCHRONIZATION.
There is also
The JANET Network Time Service.
Leap Seconds from
US NEOS.
A Summary of the International Standard Date and Time Notation is a useful document to read.
Of course, The Long Now Foundation deserves mention here, too.
Created:
Created (from existing info on my
home page)
on 16-MAR-2000
Last Modified:
Last Modified 24-MAR-2017 by Hugh Sasse
$Id: index.html,v 1.196 2017/03/01 18:22:33 hsasse00 Exp hsasse00 $