Site Map - skip to main content

Hacker Public Radio

Your ideas, projects, opinions - podcasted.

New episodes every weekday Monday through Friday.
This page was generated by The HPR Robot at


hpr1499 :: How I Got Into Computers

linux, computing, minicomputers, Fortran, COBOL, Pascal, Basic

<< First, < Previous, , Latest >>

Thumbnail of Charles in NJ
Hosted by Charles in NJ on 2014-05-01 is flagged as Clean and is released under a CC-BY-SA license.
DEC, PDP-11/20, ASR-33, RSTS-11, BASIC, FORTRAN, Pascal, VAX-11/780, Ultrix, Linux, Ubuntu, Gentoo, Slackware. 1.
The show is available on the Internet Archive at: https://archive.org/details/hpr1499

Listen in ogg, spx, or mp3 format. Play now:

Duration: 00:59:57

How I got into tech.

Started by monsterb, this series invites people to share with us how they found Linux. It has become traditional for first time hosts to share with us their journey to Linux. Indeed it has morphed to be way to share your journey in tech right up to your first contribution to HPR.

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:
 
 READY
 
 - A Teletype terminal does not have a screen, so the print head 
     was the only "cursor" to let you know where you are. 
 
Hardware:
PDP-11/20: Computer Museum 
  https://www.computerhistory.org/revolution/minicomputers/11/366/1946
  
PDP-11/20: Retro Technology
  https://www.retrotechnology.com/pdp11/exhibit/PDP_11_infoage_1.htm

ASR Model 33 Teletype with PDP-11 model computers
  https://www.retrotechnology.com/pdp11/
  
Operating System:
RSTS-11 System Managers Guide
  https://bitsavers.trailing-edge.com/pdf/dec/pdp11/rsts/V04/DEC-11-ORSMA-B-D_RSTSmgr_73.pdf
  
RSTS-11 System Users Guide
  https://bitsavers.trailing-edge.com/pdf/dec/pdp11/rsts/V06/DEC-11-ORSUA-D-D_RSTS_SystemUserGuide_Jul75.pdf



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

DEC BASIC Plus Language Manual
  https://bitsavers.trailing-edge.com/pdf/dec/pdp11/rsts/V04/DEC-11-ORBPA-A-D_BASIC-PLUS_LangMan_Oct72.pdf  

 * 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
  https://www.extremeprogramming.org/rules/pair.html
  
  Laurie Williams (Her other stuff is good, too)
  https://collaboration.csc.ncsu.edu/laurie/publications.html

   
 * 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
  https://martinfowler.com/tags/domain%20specific%20language.html
  


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)
   https://www.worldcat.org/title/fundamentals-of-structured-programming-using-fortran-with-sfk-and-watfiv-s/oclc/301094243

 * 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)
     https://en.wikipedia.org/wiki/CP-V_operating_system
     https://en.wikipedia.org/wiki/SDS_Sigma_series

 * DEC System 2060 (relabeled PDP-10) running TOPS-20 on a 36-bit machine
    (1979 to 1981)
     https://bitsavers.trailing-edge.com/pdf/dec/pdp10/TOPS20/DECnet-20/AA-5091B-TM_TOPS-20_DECnet-20_Programmers_Guide_Jan80.pdf
     https://pdp10.nocrew.org/docs/ad-h391at1.pdf  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
      https://www.3480-3590-data-conversion.com/article-signed-fields.html

 * 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!)
   https://dirk.eddelbuettel.com/quantian.html 
   https://dirk.eddelbuettel.com/quantian-tmp.pdf (PDF description)
   https://dirk.eddelbuettel.com/quantian/quantian_0.7.9.2.quantian.packages.txt
   
 * 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.
      https://crunchbang.org


9. Other distros I've tried:

 * Gentoo (June 2011):  https://www.gentoo.org 
 
   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):  https://www.slackware.org
   
   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:  https://slackermedia.info
   
   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 (www.slax.org)
   - 
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


Comments

Subscribe to the comments RSS feed.

Comment #1 posted on 2014-05-26 15:58:00 by Dave Morriss

I enjoyed the history in your show

Thanks for this, I found it quite fascinating. My career in IT covered a number of the points you mentioned in your show, so it was good to reminisce.

Leave Comment

Note to Verbose Commenters
If you can't fit everything you want to say in the comment below then you really should record a response show instead.

Note to Spammers
All comments are moderated. All links are checked by humans. We strip out all html. Feel free to record a show about yourself, or your industry, or any other topic we may find interesting. We also check shows for spam :).

Provide feedback
Your Name/Handle:
Title:
Comment:
Anti Spam Question: What does the letter P in HPR stand for?
Are you a spammer?
What is the HOST_ID for the host of this show?
What does HPR mean to you?