Sign in to follow this  
Followers 0

HPR - HPR1499: How I Got Into Computers

1 post in this topic

HPR Episode: How I Got Into Computers

1. Got into computers in 1974 in high school.

- School had a DEC PDP-11/20 minicomputer

* Two ASR-33 Teletype terminals, keypunch, line printer, card sorter

* Ran older operating system RSTS-11 v4a

- Too low-end to run anything more recent.

- 16K words of core memory: point-to-point wired "cores"

- The system was somewhat rudimentary. It's idea of a prompt was:


- A Teletype terminal does not have a screen, so the print head

was the only "cursor" to let you know where you are.


PDP-11/20: Computer Museum

PDP-11/20: Retro Technology

ASR Model 33 Teletype with PDP-11 model computers

Operating System:

RSTS-11 System Managers Guide

RSTS-11 System Users Guide

2. Learned BASIC-Plus to get anywhere, starting with 1/2-year course

DEC BASIC Plus Language Manual

* Course was taught by a math teacher who was not an amazing programmer,

but he was a great teacher. He enabled us to get going with BASIC.

* Anticipated pairs programming by working on programs with a friend as

"Chuck and Duck Enterprises", but we were mainly having fun.

- Started by necessity (1 TTY), but we got satisfying results faster

- Both of us could write code, but we learned about using

complementary strengths to get cool stuff done.

Pairs programming:

Pairs Programming, from XP

Laurie Williams (Her other stuff is good, too)

* Small memory --> innovation

- ASCII Art "Poster" Program:

Create banner with block letters on LP based on terminal input.

- Developed a mini-language to encode characters, white space,

newlines for each supported character.

- This was a special-purpose language used to compress data, rather

than a cool Domain-Specific Language (DSL).

- We just wanted to make cool banners to come off the line printer.

Domain Specific Languages: Why ours wasn't a DSL

Martin Fowler on DSLs

3. Did a math major in college, after switching away from Comp. Sci.

* Math had advantages for me

- More flexible curriculum

- Abstractions of the time were more fun to play with

* I used the University computers on jobs as research assistant, tutor, typist

- Used them in course work, too.

- Planning my code carefully let me use my excess CPU seconds for fun

- Rule of Thumb: 1 hour in library is worth 12 hours at the terminal.

4. Branching out in hardware, systems and programming languages

* We learned FORTRAN in the programming courses

- I resisted the temptation to "think in FORTRAN"

- More general approach felt slower for getting individual jobs done.

- Working from first principles seemed more reliable

- Often gave me better solutions than following my nose in FORTRAN

Quirky FORTRAN Preprocessor for Structured Programming (SF/K)

* Later, I picked up Pascal and TOPS-20 Assembly Language

Pascal: From the source

Pascal User Manual and Report (Springer) Trade paperback (1975)

by Kathleen Jensen, K Jensen, N Wirth

Trade paperback, Springer, 1975. English 2nd ed. 167 pages

ISBN: 0387901442 ISBN-13: 9780387901442

5. Gear and software rundown:

* Xerox/Honeywell Sigma Six (descended from Scientific Data Systems)

(1977 to 1979)

* DEC System 2060 (relabeled PDP-10) running TOPS-20 on a 36-bit machine

(1979 to 1981) DECsystem-10 and -20 Processor Ref.

6. Summer and Night Job

* The Duration Caper:

Friend fixing a Fortran program to compute bond duration on a large portfolio.

- Answers weren't coming out, so he printed out several subtotals in his calculation.

- "Extend the line" to include the last term in the numerator of one big fraction "and you'll have it"

Found a typo in the Jack Clark Francis "bible" of investments theory

- Throwaway question: "What's this duration stuff, anyway?"

- Question got me hired as a research assistant by Finance department in Business school

Investments: Analysis and Management, First Edition Hardcover(1972)

by Jack Clark Francis. McGraw-Hill Book Company

ISBN: 0070217858 ISBN-13: 9780070217850

* The "Sure! I Know Assembly Language" Caper

Offered a job with Finance, conditional on first assignment.

- Take over maintenance of a Fortran program with inline Assembly Language

- Original developer was a senior Computer Science major I knew.

- Gambled that his code was solid. And won in the end.

Got paid 3 times minimum wage ($7.50/hour versus $2.30) to look up and read research papers.

- I'd have done it for free, so this was a sweet gig.

* Other jobs:

- Tutoring math, computer science for food or cash

- Programming jobs

- Teaching assistant jobs for statistics, finance courses

- Security and management of student-run darkroom in Summer months == "reading"

- Typing papers on a typewriter

7. After college, started working in non-life insurance.

* End user computing in actuarial group was in BASIC-Plus on PDP-11s

- Word processing was in DECword or the WPS-8 dedicated machine.

- After first year, moved to department-level PDP-11/44

- For heavy-duty jobs, we also had timesharing access to VAX-11/780

* First project was building a database from mainframe data dump

- EBCDIC data conversion to ASCII led to my education about signed

data fields in COBOL.

- I knew hexadecimal math from my assembly language course

- I'd seen EBCDIC in dumps while writing FORTRAN on CP-V

Data dumps from 9-track to PDP-11/70 led to Overpunch field conversion

* Note: When you have curly braces at the end of a signed number field,

the brace opens in the direction of the positive or negative end of

the number line.

- Open brace ({): Value ends in zero and has positive sign. Zero < X

- Closing brace (}): Value ends in zero and is negative. Zero > X

* If field ends in A, the value's final digit is 1, and it's positive

- B means positive value that ends with a 2, C is 3, ... I is 9.

- So "00003757D" is $ +375.74.

* If the field ends in J-R, the value is negative and ends in 1-9.

- So "00000255R" is the value $ -25.59.

8. Irony: I was asked to help troubleshoot a program that was crashing

as it was automatically converting the rates and rules manuals away

from Unix with 'nroff' to DECword on RSTS in 1982.

- This may have delayed my adoption of Linux

- Used Unix (Ultrix) in early 1990s to preprocess data for use in OS/2

- Had to move to Win 95 and Win NT for work

****** Skipping the Dark Period of DOS/Windows and OS/2 Computing ******

- Turbo Pascal, APL, PICK, QuickBasic, Visual Basic, Excel with VBA

- Learned SQL dialects, COM, .Net, and scripting languages

More from Dark Period: Less Slackware

8. Gave Linux a try with Quantian Live CD in 2006 (Thanks, Dirk!) (PDF description)

* Used Live CDs to try Debian packages, repair PCs, and do math stuff

- Liked Gnumeric, Python, R, and educational software

- Wiped my Vista laptop in April, 2008 to install Ubuntu full-time

- Music, checking, and photo editing kept me from switching other PCs

9. Tried Ubuntu "Feisty" using WUBI on Windows XP on Racing Cow

* Trouble-free install, mainly because I was on an Ethernet cable

- Tried out Linux software in a risk-free environment to find what I liked

- GNOME 2 was close enough to Windows and Mac, so no problems with UI

- Command line was similar to Ultrix and even to DOS, so not so bad.

* WUBI let me try Ubuntu without having to dual boot or use Live CDs

- Easy to install and remove, like a Windows application

- No messy virtualization setup

- Linux could see and use files on my Windows partition seamlessly

* Ubuntu "Hardy" on "Titanic" (retired Dell Latitude D820 laptop)

- Install was easy, except for wireless networking

- Had to use NDISWRAPPER at first, but everything worked.

* Switched my main home desktop (Racing Cow) in April, 2011

- Just in time for Unity, which would not run on my gear.

- Gnome 2 ran well on my computers, and they choked on Unity and Gnome 3.

- Taste and older machines led me to go distro hopping.

- Dan Lynch of Linux Outlaws pointed me to CrunchBang. Try it.

9. Other distros I've tried:

* Gentoo (June 2011):

Note: It is not as super-hard as you've been told.

Installed it in three 4-hour sessions after reading docs on train

- Compiled kernel on first shot

- Added modules for devices I liked, and that recompile worked

- Got X working enough to use a browser and a window manager

- Gave up only because I had not decided on my workflows

- Was afraid to mix GTK and QT or KDE packages at that stage

- Unsure about reversing wrong choices

- Unfamiliar toolkits scared me, although I had no real problems

Conclusion: My problem with Gentoo? Between keyboard and chair.

* Slackware (several times):

Always installs on first try for me, with huge kernel

- Knowing what to do after initial install was the problem here, too

- To remove fear, I updated my 13.37 with all patches by hand

- Manual updates after install took 2 hours, including learning pkgtool

- Using generic or custom kernels is only hard when I'm stupid

* Be sure the drivers to operate your boot disk are compiled in

Conclusion: After hating older versions, it's KDE 4 for the win!

* SlackerMedia book:

Helpful tips on designing workstation around workflows

- Uses SlackBuilds and SlackBuild queues for repeatable configuration

- Gave me idea for groups working on math software-in-progress

- Slackware package format is simple, easy to grasp (for binaries)

- SlackBuilds: close to a universal format for sharing program source

Why Slackware?

- There are SlackBuild scripts for Sage and other packages I like

- Slackware comes with support for TeX for math writing

- SlackerMedia has queues for audio, video, web editing, publishing

Conclusion: SlackerMath is born. Still needs to be fleshed out.

- Slackware distribution-from-scratch based on SlackBuilds

- Set it up as you wish using your own custom queues

- Suggested packages would include Sage, R, Octave, GSL, QuantLib,

Grass GIS, kile, gretl, Tux Racer, euler, gnucap, and others

- Languages: Python with NumPy/SciPy/matplotlib and bindings to

other languages/libraries, Scheme, Perl, Lua, C and Fortran

* Also tried the following, but didn't stay with them

- Slax (


11. Right now:

* Five of our six former Windows computers have switched to Linux.

- "Surfing Cow" decommissioned with CrunchBang as its final O/S.

- "Racing Cow" still going strong with CrunchBang

- Sony FE laptop "White Cloud" running Ubuntu 13.04

- Derringer is my audio editing machine, because it's under 3 lbs.

- Laptop "Titanic" died after a baptism in red wine

Back to life with new keyboard, disk, and name -- "Lazarus"

* Number six ("Dawn Pixie") about to go to a Linux "granny" distro

- Linux Mint or PCLinuxOS (KDE version)

- Need a "granny" distros for generic use by all comers

Go to this episode


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
Followers 0