I learned about computers mainly on my own and from the CP/M user's group meetings. I have had many different types of computers and have used many different types of lanugages (they all begin to look the same after a while, with the exception of smalltalk, LISP, and APL). I don't remember APL much and I can't do LISP.
I learned more about C/C++, Modula-II, Pascal programming, and compiler-writing at Portland Community College where I got my AS in Software Engineering - I had a really good but tough set of instructors. more C/C++ at OIT Metro campus (essentially some of the same classes) where I got my BS in Computer Systems Engineering (now they call it Embedded Systems Engineering, but they threw out the degree title after I got it).
I got interested in Computer Music when I learned about it in Dr. Dobb's Journal of Computer Calisthenics and Orthodontia (I had a few volumes). then I got some issues of old Computer Music Journal (which I heard about in DDJCCO and the mavellous work that was being done with the Fairlight). I was hooked on synthesized music. Which brings up Jean Michael Jarre's music. All synthsized, and 'the Well-tempered Clavier' and "switched-on Bach', of which I had a recording and enjoyed immensely.
after I got saved though, this music seemed hollow.
I used to go to the Pro music shop and examine the mixers, and play with the synthesizers and make interesting sounds (made a helicopter once).
I composed my own music cd's on our keyboard. I was thankful we were able to get it. I have not made any music since 2005. Once really neat sound I cannot reproduce as hard as I try.
College got me going as a "polyglot". I got maybe a B, and an occasional A, but mostly C's. I was spending all my time playing with the new ideas I was learning and imagining all the wonderful things I could do with it.
my dad fixes radio, clocks, watches, grandfather clocks, furniture, and resells them. he also fixes police radios. My mother was an architectural draftsman who worked for the Army Corps of Engineers and would have taken mainframe computer classes in college, but someone switched her around. So my mother was an Engineer, and my dad was a electronics and mechanical fixit guy.
my mother tells me I used to stick my fist in the light socket when I was little.
I was always taking things apart. I wanted to see how they worked. I just wasn't any good at putting them back together again. until later when I was a teen. I got a lionel train set. I took apart the engine. I got an erector set once. I took apart the motor. never got those back together. I took apart my mother's (or was it my stepdad's) camera. I remember I got a spanking for that...
I started working with computers back in middle school. decwriters and teletypes, playing games like mugwump and doing the Occupational Outlook thingy on the Decwriter (which had a keyboard and a dot matrix printer - fun).
when I went to high school, a friend introduced me to an Apple II in the library... He showed me a program that drew random colored lines all over the screen. I asked him how he did that. He showed me, and I didn't understand it all yet. I thought it was cool. then he showed me a program that shot colored ramdom lines out of the center of the screen out to a circle pattern. he showed me how to do that too.
I was barely learning algebra. He was teaching me trig functions. cool. so I started to get comfortable with sin() and cos() and learned early how they worked long before I got to trig class "elementary functions" in college.
I was on a roll. I was writing programs on the library computer like crazy. and I met other kids who were writing programs too. I started learning assembler and more basic. I learned to optimize my programs, and did sound and graphics. I grabbed the chance at 3d stuff. I learned to use floppy disks and the Apple II DOS file system.
I started attending the CP/M Users Group meetings. Since CP/M was going out of style, they changed the meaning of the acronym of the meeting every so often. Jim Willing, Bill Maxwell?, and Will Gallant, and Don Taylor were people I remember at the meetings on a regular basis, and people whom I learned a lot from. I traded a lot to get CP/M computers such as some S100 bus machines and other machines. but before that, I got a terminal and a 300 baud accoustic coupler modem. and I was on the BBS's all the time posting messages until I got tired.
I was always going into Showcase Music and Sound and admiring and playing with the Pro Audio equipment, hoping to buy someday.
I also spent a lot of time at the computer stores eyeing the Lisa and the Atari ST, which was the new kind of Mac with a graphical interface and a cool look.
I spent a lot of time at a friend's house playing games and running other programs on my friend's Amiga. Do you know some news stations were still (probably just up until the switch to HD broadcasting) using those for broadcasting newscasts using the famous Video Toaster? In fact, you can still buy Video Toaster software from NewTek along with a whole slew of switcher equipment and make different types of studios, from live news to post production. I had to do some video research for someone.
You will find I am good at doing research, if I am not feeling bogged down with tasks.
Later I got my first PC clone in 1986 for college purposes after I got out of high school. I had been wasting my time away. Ross had suggested I do something useful with my time. go to college. A friend helped me out (Ross Tuininga). I had no printer, so for college I got a Burroughs Lineprinter - Big Huge 500Pound all-metal 16-gauge steel thing. I had to haul it up in pieces to my bedroom (the only place my mother would allow it in the house). lotsa metal. FAST! I have an interesting repair story about that if you have a few minutes sometime where the Lord helped me in a bind in college. And later when I got work at Sequent I got a laptop (lasted for 8 hours and had 2 floppies - real workhorse!), and a Mac ProForma 630 (only for a little while, couldn't do anything with it, only had a floppy).
I have had a LOT of PC's come through my hands. At one time We had a lot of 8 or so compaq luggables with 20GB MFM hard drives. those were passed on.
where I am at now
Currently I have what I call a development box. it is what I do all my development on, and it is also my general work/home PC. my do everything PC. it is a Dell 4600 running XP Pro SP3 which I have kept alive through thick and thin, many bluescreens, disk upgrades, backups, and I think a restore, and a very difficult SP3 upgrade experience.
I have tried to avoid reinstalling the OS at all costs and to keep it running well for 6 years without reinstalling the OS (and I have learned things in the process). I have learned a lot in the process about how device drivers are installed - and removed in some cases.
I know about ActiveX controls to some degree, such as how to remove them, install them the right way, and manually. I used to write them a long time ago (1990). I am also familiar with GUIDs. I also used to write multithreaded server applications, and I used to do testing on some pretty big servers in my heyday. I also worked on automated tape libraries (DLT), and I wrote a web-based SAP legacy server monitoring application. now SAP folk make $40/hr. But I don't want to move out of my spot, and I can't drive...
I took Software Engineering in college, but turned it into what they call today an Embedded Systems Engineering degree (they tossed the degree after I got it - it was called Computer Systems Engineering).
I like to discuss Pro Audio equipment. I get the Sweetwater catalog. when you order from them they put candy in the order. I like that. And the prices are nice.
I know how to do TCP/IP and NETBEUI networking I have used older versions of File and Printer Sharing (9x/XP).
I just got to try out a vista box and a a 32-bit and a 64-bit 7 box. 64-bit does not have command.com for running DOS apps. still has cmd.exe, but 7 does have Windows XP Mode virtual machine (32-bit OS, even on 64-bit 7), which DOES have command.com and can run DOS apps. I am not talking windows console apps, I am talking DOS apps (very different). You must enable virtualization on your modern CPU to install it or make it work.
I like to help people solve computer problems.
to be truthful, sometimes I can do it and sometimes I do a lot of praying. In any case, God gave me my skills and abilities (I had to learn that the hard way!), so to God be the glory.
I also repair computers as a ministry/service to people more than as a business. As a result, I don't usually make much money, but that isn't my intent. My only problem is I am slower than Geek Squad at solving problems. It usually takes me an evening to do something because I like to do something right and do a complete job.
I am also heavier on the software side (I do that all day) than I am on the hardware side, but I can do both. I can build a pc from scratch, take a PC apart and put it back together. I order parts or get them from a computer store.
I became an OEM and a Community Distributor for OpenOffice.org so I could both distribute it online or on cd's and install it on people's PC's. It is a free alternative to Microoft Office - great for students and families with a low budget!
- computers (programming them, building them when I can, repairing them, writing software)
- web design and web programming
- collecting interesting calculators (especially the HP 50g if I can get it)
- collecting well made bright LED flashlights that don't use multiple CR-123A batteries
- researching LED lighting systems, especially flat lighting panels
- finding wireless-N routers that are dd-wrt-able. (hard to do - any help appreciated). dd-wrt is an enterprise-class router firmware that you can flash your router with. If you don't brick your router, you will end up with a rock solid router that gets better signal in some cases (I got 1 more bar) and you will never have to turn off your router except in emergencies (storms).
languages I write or have written in
- C/C++ (intermediate - full lanuguage standard is growing beyond my ability to comprehend). I used to have/read the language specification.
- Auto-it3 (good wrapper for command-line apps and good for small windows apps, generates 32-bit and 64-bit code)
- CSound (sound generation language and sequencer, VERY flexible)
- Microsoft BASIC, BASICA, BASIC, GWBASIC, QBasic, QuickBasic, some Visual Basic. lots of kinds of BASIC.
- Assembler (6800, 6502, 8088, 8080, z80, 8086, 386) using nasm, tasm, and masm assemblers
- Python (slight intro to language - it is the scripting language of Paint Shop Pro)
- OpenMPT and screamtracker (uses sampled musical instruments and patterns instead of a staff or MIDI to make music - screamtracker is no longer sold, capability has been merged into OpenMPT)
- PHP (web server scripting lanugage, very popular - free)
- ColdFusion (web server scripting language, not very popular, VERY cost prohibitive, for people who can't write scripts, but I usually wrote scripts with it anyway)
- XML/XHTML/HTML/DHTML/CSS/SVG (hoping for CSS3 and using HTML5)
- SQL: PostgresSQL, MySQL, MSSQL, MS Access (I have written Embedded SQL applications, which means I have written client applications that use a server. I have also used the Visual Studio for Office SDK to make a full Access application.)
- VBScript/VBA (Visual Basic for Applications, which is a scripting language for Microsoft Office and OpenOffice. used VBA once to automate handling of 600 Word documents at work so I wouldn't have to do it by hand.)
- Tcl/TK [have worked with large test rigs for this, although I admittedly could have done better in hindsight for the message processing. I think I still need to learn incrTCL (object oriented programming for Tcl). but I have dropped TCL/TK for now.]
- Dia (at least an attempt at making my own SVG shapes)
- I am sure there is something I have forgotten over the years... :-)
- postscript (I didn't have a manual at the time - hey - the code was in Computer Shopper and I was learning)
- flex+bison, lex+yacc (for writing computer languages - recent work is a GPL3'd autocad DXF-to-POV-RAY translator skeleton)
- Bourne Shell Scripts, Korn Shell Scripts, C Shell Scripts. need a book on BASH. Anybody got a link to one?
- NSIS installer scripts
- POV-Ray Ray Tracer (though I could be a lot better at it I admit, still can't get nice highly reflective shiny gold like people expect)
- interest in setting up mail servers (Apache James)
BTW, Tiny Basic doesn't seem to be available anymore except through Dr. Dobb's Journal of Computer Calisthenics and Orthodontia, and volumes/issues are hard to get and aging. Plus, the processors it ran on (6502) are no longer currently sold. the 6502 was a microcontroller that got popularized by the Apple II computer, and consequently how I got introduced into programming.
- ASIC and FPGA chip design (years ago in college I took a class and enjoyed it immensely)
- Digital Logic Design - started basic design architecture for my own cpu years ago, still have the papers.
- I have having designed, wire-wrapped or point-to-point-soldered a number of prototype circuit boards and specified and acquired the chips I needed for one of my own designs and was usually interested at looking at thermal design characteristics (typically, most commercial chips are made to handle up to 85°C(185°F) Absolute Maximum at which point they burn out.
- partially build a compiler skeleton
- write small utilities (0-6000 lines of code)
- reverse-engineer and wrap head around large software projects and learn how they work (2 million lines of code, with proper reverse-engineering tools), and sort out documentation, but don't know if I can do it again.
- sorting out different versions of documentation in a box
- intermediate or beginner web design skills - there are many people who make much flashier sites than I
- interest in Embedded Systems, but have no toys
- digital and some analog Electronics, enough analog to interface the digital and build simple power supplies
- interest in Computers
- interest in Technology
- interest in Web Design, and related programming, DHTML, and online web apps since 1990 or so, when I wondered "What would I ever do with a web page?".
- some work with revision/change control (intro to CVS, mostly RCS work)
- music, interest in Pro Audio and Pro Video equipment, Cinema Video equipment, sequencers, video editing, Working with Video Cameras
- Research on the internet, finding things
- automating repetetive processes - I don't like repetetive work.
- I don't know whether I am an Software Engineer or a Programmer. But I am definitely software-oriented.
- multi-threaded SAP/web server programming was one of my tasks. Done. fun. in my head was the design of a soon-to-be popular application - team communication over a web browser using Java - not IRC chat, but like news posts.
- I like to work on servers, especially big iron with lots of processors. If you want me to keep it busy, I will find a way. If required, can find ways to bring it to its knees for testing purposes.
- I like to report bugs in products. I did software testing for several companies, and now it is in my blood I guess. You will find me active in the bug trackers on a number of projects in SourceForge.net, the major source of Open Source software.
- interest in LED lighting products, and in certain cases, the brighter the better. diffusers are important too.
- interest in motion control products, have done some experiments on my own
- trained in ESD awareness/safety, I think I still have my certificate somewhere.
- interest in ways to get on the internet
- used to have an interest in Digital Signal Processing
- computer repair. keep a collection of very useful software tools handy for travel purposes, I have my computer "Doctor bag". I have a business for this.
- some knowledge left about ActiveX/OLE controls (and how to remove them)
- knowledge about how to remove "dead" Windows Services.
- keep an eye out on good Open Source or free software
- interest in writing programs to solve problems