Code Monkey home page Code Monkey logo

Total Vanity

Table of Contents

Prolog

Quoth King Soloman at the start of Ecclesiastes:

12 I the Preacher have been king over Israel in Jerusalem. 13 And I applied my heart to seek and to search out by wisdom all that is done under heaven. It is an unhappy business that God has given to the children of man to be busy with. 14 I have seen everything that is done under the sun, and behold, all is vanity and a striving after wind.

    15 What is crooked cannot be made straight,
        and what is lacking cannot be counted.

16 I said in my heart, “I have acquired great wisdom, surpassing all who were over Jerusalem before me, and my heart has had great experience of wisdom and knowledge.” 17 And I applied my heart to know wisdom and to know madness and folly. I perceived that this also is but a striving after wind.

    18 For in much wisdom is much vexation,
        and he who increases knowledge increases sorrow.

Let the Narcissism Begin!

Atomic Jeff MugShot
Dramatic Jeff Green Beard


Early Development of a Developer:

  • I wasn't originally interested in software ... since I'd never heard of it.
  • As a young child, I'd watched my grandfather build a Heathkit television on the kitchen table. So I knew what a soldering iron was for, I'd seen lots of different kinds of components, and I knew that building things using all this was accessible to mortal man.
  • Fast forward a few years, and I'd committed a significant portion of the Radio Shack catalog to memory. I was hooked on breadboarding digital logic (mostly 7400 series stuff) for a while, but I was still pretty young and only had enough math to use Ohm's Law to pull logic levels up or down and to avoid turning my LEDs into tiny little explosive devices. But I was buying components and supplies with a small allowance, and since I wasn't old enough to drive, I got my mom to drop me off at Radio Shack while she did her grocery shopping.
  • Buying a handful of components was way quicker than buying the family groceries for the week, so I always had ample time to browse in Radio Shack. And one day, there sat their display model of TRS-80 Model I. AND there sat the user's manual right beside it. Fortunately for me, it started at step 0 and went on from there. After a few weeks of that, I was writing decreasingly crude BASIC programs in the store while I waited. It pretty quickly became obvious that programming involved the same logic as the digital curcuits I'd been building ... with one huge benefit: In the top, right-hand corner of the keyboard was a miraculous button with the word "BACKSPACE" written on it. Correcting mistakes with circuitry can be expensive, time-consuming, expensive, and sometimes even dangerous. But the backspace key let me simply "fix it" as soon as I realized what I'd done wrong. I was officially hooked (and remain so) on software.
  • I got to know the sales staff a bit. My mom, being a well-manored southern lady, would occasionally thank them for letting me hang out there and, "I hope he's not disturbing you." They, with dollar signs in their eyes, assured her that I was just fine. My folks bought me a TRS-80 that Christmas for what would be an astronomical amount of money for a Christmas present today, much less in the late 70s. 😲 It had no hard drive (whatever that was) or floppy drive (couldn't afford it) or even an operating system. But it did have 4K of RAM (not a typo) and a BASIC interpreter in ROM. It was absolutely wonderful and created one of the major inflection points in my life.
  • If I was hooked before, I was even hookter after that. I took a typing class because I was clearly going to be using a keyboard for the rest of my life. I've been coding in progressively more advanced and powerful environments ever since. I might even have gotten a little better at it.


Education:

  • High school: Eastern Arkansas. Whatever that might bring to mind, it wasn't as fancy as the image in your head.
  • College: Georgia State University. Their Business school was the only way to get any kind of computer degree at that time (from GSU, which I could afford), so I graduated with a BBA with a concentration in ✨ Computer Information Systems. ✨
  • Graduate school: Didn't go. I'd been working fulltime as a programmer for most of my undergraduate years (8 years, if we're counting), and graduation was too much like getting a permanent vacation for me to think about graduate school. (This was short-sighted of me, but that's how it was.)


Work:

  • My first profesisonal programming job was at Georgia State University. I was pulling down $17,500 my first year! (What on earth was I going to do with all that money?! I had not the first clue.) It was great, and I learned a lot there, mostly coding for the computer center's fledgling networking group. I learned to spell "IP address" and had a Bernouli Box (for all the storage I needed) attached to my IBM PC (4.77MHz, baby!).
  • Time marched on and GSU's network team didn't really need a coder anymore. They eventually turned me into an AutoCAD operator because I could automate things using its AutoLISP facility, since I'd had an AI course, and LISP was how that worked back then. LISP was actually amazingly appropriate for wrangling CAD data. After a few months of that, I let my boss know I was looking for other work. He was a great guy, I knew he'd be cool with it, and I didn't want to pull the rug out from under him all of a sudden. A year later, I moved on to ...
  • System Engineering Services: I sucked as a consultant. I don't interview well at all. Being disfunctionally candid, I answer questions like, "what do you see as your greatest weakness" honestly and without any qualms about being judged or rejected. Consultants can not be that way. I did eventually get it gig with a company that managed data in the insurance industry. They needed a competent C++ programmer because they were just coming out of their start-up phase, and the people who wrote the original code could just barely spell Software Engineering.
  • I was finally a good fit for someone as a consultant, so they hired me away from SES, and I started working with them full-time. That lasted about 6 years. The company was bought and sold more times than I could (or cared to) keep track of, and then came 2001. We were just past the chaos of Y2K FUD, the dot-com bubble was in mid-burst, and financial markets were in utter bewilderment following 9/11. The economy wasn't in great shape. It seemed like the whole IT industry just came crashing down. The company's new owners called it downsizing, but I was out of work for six months after that. Which worked out truly and unsarcastically GREAT for me. I met my wife during this downtime.
  • I'd enjoyed my time in "academia," so I started applying at colleges and universities. (Did you ever try looking for work when it seems like most of your whole industry is also looking for work? It's rough.) But I managed to hire on at Georgia Tech as a sysadmin. I suck as a sysadmin, but I somehow got the job and started sucking marginally less. After a few months of suckage, I converted (somehow) to an application developer working for the same group. So I was back to programming and very happily so. I'm still working at Georgia Tech, mostly back-end stuff these days, mostly Python and PL/pgSQL, and hope to retire from there in a few years. It's been a fantastic run, and it would be pathetically laughable if I complained about any of it.
  • I do notice a trend as I look back over my programming career. I've had several titles, but I've also always maintained (mostly in email signatures) informal titles. Early in my career, with the brashness I've come to correlate with youth, my title was "Programmer Extraordinaire." I wasn't bragging. This title seemed to me, at the time, to be entirely accurate since so many others were coming to me with their coding puzzles. Some years later, after reading Edsger Dijkstra's The Humble Programmer, half history and half optimism for the future, I came to admire his perspective and adopted "Humble Programmer" as my unofficial title. Some of the uninformed got the wrong idea from this title, but such are the uninformed. I still have the desk-top nameplate with "Jeff Clough / Humble Programmer" on it, but today I use "Technical Minion" as my title of choice. I do so much customer support, albeit at a tier 3 level, that this title is more eloquently honest than my former characterizations. I've never been interested in chasing promotions, and I remain fairly competent in the technical world I work in, so ... Technical Minion. I can live with that very happily. (Plus, minions have a broad and fairly under-the-radar operational latitude, and that can be fun. <Shh. Keep that under your hat.>)


Physical Interface:

The physical organism I've been assigned, my "body," is almost entirely biological. It dietarily processes only carbohydrates, lipids, and amino and nucleic acids, but it also needs copious water and a modicum of cellulose to maintain chemical balances and for the mechanical breakdown of what I "feed" it. Its olfactory system and area postrema, having adequate sensitivity and discrimination, have always been sufficient to prevent or remedy the ingestion of anything intolerably unwholesome to it.

It is equipped both to take in and to expel atmospheric gasses to and from its primary circulatory liquid via a sort of bidirectional molecular exchange manifold in two large, intricately ramified thoracic chambers that operate under the influence of a bellows-like actuating membrane that operates continually and, for the most part, autonomically. The nutrients and oxygen in this "blood" participate in various metabolic reactions which yield carbon dioxide and other byproducts back into the blood. A pump, also autonomic, circulates this blood containing gasses, dietary nutrients, endocrine chemicals, and waste products to all organs and tissues for either use or elimination.

There's an electrochemical, bidirectional, filamentary network connecting all motor and autonomic musculature and secretory, filtering, and sensory organs to a massively parallel, though not very quick, central processor. Most of these filaments connect through a dorsal trunk that leads to the central system protected in the primary cranial cavity. Under the influence of endocrine chemistry and various sensory signals, this processor administers autonomic systems and coordinates control of voluntary actuators.

These systems that comprise this body aren't as effective as they once were, but they still provide a sufficient, if not always entirely satisfactory, interface to the physical world. The initial awkwardness of operating this body, e.g. walking, grasping, speaking, and learning to properly manage its excretory requirements, has largely been overcome, though my understanding is these challenges will return as its systems continue to degrade. Maybe something more abruptly catastrophic will happen to it before then. We'll see! More information is available to the curious.


Hobbies:

  • Hiking/Backpaking
    • My wife and I go backpacking with a group of friends every month or so during the warmer months. It's usually just an over-night, but we try to stretch that out if we get a holiday weekend.
    • We also enjoy this just as a couple. It's good to get away from everything except each other from time to time. 👫 And it's good to be married to someone who feels the same way.
  • Cycling
    • Mountain biking: In my younger days. I don't bounce very well anymore.
    • Road biking: Only occasionally now. I still enjoy it, but I don't have a group or a great place to ride. Sometimes my wife and I pick an ajacent town and do an out-and-back day trip. It's great exercise, and at my age, a zero-impact (when done properly) way to do that is a good thing.
  • Small Programming Projects: I'd enumerate them, but ... you're already looking at my stuff on GitHub.
  • Electronics (yes, again): No more 7400 series digital logic, building flip flops from discrete gates, or any of that stuff. Now we have microcontrollers, which are actually a lot like that TRS-80 I cut my teeth on. There's no operating system, so the whole computer is focused entirely on what I tell it (for better or worse). And debugging is very primitive. It's great. With the advent of IoT, I can merge electronics back into my programming. Two great tastes that taste great together!
  • Photography: This is mostly a hobby, but I do occasionally get paid for stuff. It's a lot of fun. Mostly travel, landscape, and wildlife, but I also really enjoy portrait and event work. You can see some of my portrait and livestyle stuff if you'd like, but I don't really keep it up to date very well. <sigh> ... the cobbler's children ...

Epilog

Quoth King Soloman at the end of Ecclesiastes:

13 The end of the matter; all has been heard. Fear God and keep his commandments, for this is the whole duty of man. 14 For God will bring every deed into judgment, with every secret thing, whether good or evil.

Jeff Clough's Projects

exiftool icon exiftool

This package provides a fairly clumsy Python interface to Phil Harvey's most excellent exiftool command.

handy icon handy

Python packages that make my life easier.

handy-legacy icon handy-legacy

Home-grown commands that make me more efficient wherever I do command line work

j2p icon j2p

Convert Java to Python. Right now, this is limited to extracting const definitions from Java.

lightshow icon lightshow

This is a "lightshow" web service implemented for an Arduino Nano 33 IoT

microblog icon microblog

I'm working through Miguel Grinberg's Flask Mega-Tutorial.

podserver icon podserver

A simple podcast service for distributing content from Google Drive.

profile icon profile

Z shell profile files that help me get by on many diverse hosts

setup icon setup

Step-by-step notes for setting up a new computer for my use.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.