My IT background and awareness of unix, c and tcp/ip

My first awareness of microcomputers was circa 1981-1983 when I saw students working on an Apple computer with a cassette tape loading various programs.  In 1983, in High School in New York City, appeared the same machine, with a floppy disk system.  That’s where the fascination began, and I started with BASIC programming.

In the same High School (1984-1985), the school integrated what looked like a central server with terminals attached (just looked it up, and it was the: Informex Wicat Multi-User System 150).  It was used for Business Math class, and also included a typing tutor program, which is where I learned to touch-type).  A side-benefit was that the room required consistent air-conditioning, which was a welcome respite from the heat/humidity outside of NYC.

Next stop was undergraduate at Fordham University in the Bronx in Fall of 1985.  While not initially thinking of computer science as a major, I found in Dealy Hall several rooms with VT100 terminals.  These were connected to an array of Servers (DEC VAX-11/785  and DEC PDP-11).  Additional models like the DEC VAX-8700 arrived the following year.  The server names were named after the Mary Tyler Moore Show characters (eg. Murray, Mary, Lars, etc).

The university also had an Academic Microcomputer Lab which initially housed Commodore 64, and then transitioned to IBM PC and some Samna systems.

After taking Intro to Computers, using the DEC VAX-785 (Murray) minicomputer, with its VMS Operating System, and learning DCL (Digital Command Language) and BASIC Programming, I became a student worker (Computer Lab Assistant), with a cast of other fellow student characters.  I think Unix was only available on a specific MicroVax, which I didn’t have access to, so I had to wait until Linux came out before I started seeing what Unix looked like.

I remember an early conversation around 1986 with one of the Systems Programmers who said, “Learn Unix and C programming.  Also, TCP/IP is going to be a really big deal soon”.  His foresight was right on.  At that time, Fordham’s domain names were FordMURH.edu and FordMULC.edu and required a frequent manual uploading of all systems for lists of all systems and networks, worldwide.  Soon after, it standardized with fordham.edu.  That was also the time it was fun to connect with other universities world-wide, and the world became a smaller place.  Various BBS boards; listservs to join and learn from.

The same systems programmer taught “Introduction to C Programming” in the summer of 1986, I think, which was an introduction to a high level programming language, when compiled, that was closest to actual machine language.  You could really create small sized code to do exactly what you wanted.  I understood that C is what Unix is written in, which explains why I still have the First Edition of Kernigan and Ritchie’s book on my shelf.  Somehow, I had a hard time getting it, but it’s likely because I wasn’t being really patient with understanding the fundamentals.  On the same systems, across various courses, I learned (or was introduced to): Pascal, Fortran, COBOL, and Assembly Language.  Assembly was quite something, and I lucked out, because I was roommates with the Lincoln Center Systems Programmer who was uber-smart on all this stuff, and able to get my code working.  Tons of green bar printouts were reviewed over the years.

On the Microcomputer side, we had Turbo C and Turbo Pascal.  Never got into Prolog.  I had a Mac SE-20 (20MB hard-drive) and had a C compiler, but again, didn’t have the full interest or time to get into learning C.

I’m really good at hoarding computer books, so I still have Herb Schildt’s “Teach Yourself C”, which the label says I purchased in 1989.  That’s going to be a good book to go through.  I also have the K&R book and other C related books.  I think I knew that learning C would be a useful skill to have, and just needed to resolve when.  I also believe that learning a programming language is a good brain exercise in many ways (problem solving; patience; logic; reasoning, etc).

Skipping ahead to now (October 2026), I’m making some headways with Raspberry Pi installs, which are fun to work with.  Initial idea is to go through some electronic packages like www.craftingtable.com which include breadboards and resistors, and sensors, and basically make something work, over just programming stuff on the screen.  Early stages, but the system up and working.  Also, a good way of learning electronics.

In hindsight, it’s somewhat surreal that on my desk, I now have access to a Raspberry Pi 5 16GB (Debian Linux) board (with keyboard, monitor, mouse and 128GB SD card!) and am using SSH to connect to a WiFi connected Raspberry Pi 3B+ 1GB system (with a 32GB SD Card!), where I’m now learning CLI by going through www.linuxcommands.com books.  The capacity and the ability to do stuff now, including realtime web searches for answers to things (with AI) is beyond what I could imagine going back to the early days of seeking out air-conditioned rooms.

Many projects to dabble with: command line Linux; C Programming; Python Programming; Electronics Projects towards basic robotics and towards AI systems; my own Weather Station (using WeeWx).  What’s great is that learning one thing, somehow assists something else at some point.

As relates to Linux, I now see the path:

Unix

Bourne SH (Shell)

GNU Project (where GNU is recursive of “GNU is not Unix”)

BASH (Bourne again Shell), which is what I have, I think

Linux (Linus Torvalds)

Ubuntu (which I’ve installed in the past on various laptops, but ended up just using as a GUI desktop for web searches).

I think I now have a: Debian GNU/Linux system that is used by Raspberry Pi.

That’s my short-story of going down a memory lane from early 80’s thru 2026.  Wow, that’s more than 40 year span!   Just learned some commands: date, uptime, df, free

 

 

 

 

 

 

Posted in Background | Leave a comment

Powering up RP 3B+ for first time – for weather station

The Raspberry Pi Imager process went well

When I unplugged the USB Adapter, it complained, saying that I should have ejected first.  But…  the light was red on the adapter, and the Imager app said safe to eject, so who knows.

Flipping the Pi 3B+ over, it’s not obvious how to insert the MicroSD card

I have the Pi 3B+ upside down, with the SD card slot on the right side.  The card goes in, label up, with the numbering effectively upside down.  The thumbnail raised part is visible.  Appears weird, as it doesn’t fully go in.

Powercable has been attached to APC UPS box.  I got an adapter so I go to the Micro USB size port.

Plugged it in.  I see a solid red light and a, every so often, flickering green light.  Something tells me it booted up, and now waiting for me to connect.  This is headerless, so now to doing SSH

Phew!  Glad I documented as I went.  The hostname I created was weather-3b and not weather_3b

ssh with my username @ weather-3b worked.  It knows it’s 192.168.12.149.  Some message about the key fingerprint can’t be established for authenticity, but giving me the go ahead to connect.

ssh again.  This time it wants the passphrase for key.  Entered that.

Success!!  I was able to SSH in to the Pi 3B+.  For the now the new Pi is just resting on top of its cardboard box.

I’m still a bit unclear about needing the passphrase, and what the prior message was.  I thought that by creating the keys on the RP5, and that being the machine doing the SSH, it would not need to be as authenticated.

It’s also giving a message about “Your environment specifies an invalid locale.”  That’s next to be addressed.  Something about future issues with ability to manage packages.

I can install the locales by running:

sudo dpkg-reconfigure locales (and then select the missing language)

Note: Not sure how I would have managed this without on-demand web searches (with AI), but I’m looking for:

The correct locale for a Raspberry Pi 3B+ when using English in California is en_US.UTF-8

I scrolled down and pressed spacebar on: en_US.UTF-8 UTF-8, and clicked OK

Now it asks me for a default language for the default locale for the system environment. It’s only me, and I speak English, so I selected: en_US.UTF-8

Not sure if that did anything, as there is a message about it falling back to en_GB.UTF-8, which I think its Great Britain.  But, they speak English over there.

There are some open loops in my mind/thinking regarding security (SSH) and the language locale, but I think it’s up and running.  Obviously the WiFi connection worked, as that’s how my wired Raspberry Pi 5 was able to connect to the RP 3B+, as it only has power cable connected to it.

clear is the way you clear the screen to just it showing the prompt

Next up, I think is resolving the basic weather sensor that I have in one of my kits.  I’m envisioning a breadboard connected to the Pi 3B+ with the sensor on it, and a reading of it as output.  This is before installing WeeWx

A part of me wants to get a bit more comfortable at the command line first, though.

 

Posted in Raspberry Pi, Weather | Leave a comment

Building SD card for Raspberry Pi 3B+ weather station

I’m using a Raspberry Pi 5 (16GB) to create the SD card for Pi 3B+D

Version  of RP OS I’m running is:

cat /etc/os-release

Which returned: Debian version 13.7 (Trixie)

Version of RP Imager on the RP 5:

I spent a bunch of time working on possibly upgrading this, and documented on another post.

sudo apt policy rpi-imager

Which returned: Installed: 2.0.11-1 (NOTE: As of 20260927, version 2.0.11.1 is ready for download, including when you load the app on desktop, but this version – 2.0.11-1 is currently installed).

For now, when I run PI Imager, I’m going to ignore the update request to the 2.0.11.1 version

Version of RP OS for the RP 3B+:

This model of Raspberry Pi only has 1GB RAM and is relatively limited.  My plan is to install Raspberry OS Lite, and just work the command line (CLI).  Within WeeWx, there is a web interface, so something will be needed for installation.

I’m going out of my way on the board to run Docker and HomeAssistant

I just do a web-search (with AI) and now see that Raspberry Pi OS Lite 32-bit is recommended (over 64-bit) for purposes of making the OS even leaner with minimal RAM needed.  In my case, I’m not going to be installing any AI HAT or Weather HAT, and just using this system for capturing and displaying weather.  I suppose there may be a slowdown when getting it to display data on it’s web-browser, but I can live with that.  If it really is not great, then I do a do-over later to 64-bit.

Consideration for RP 3B+ config:

Raspberry Pi OS Lite with everything at the CLI.  My plan is to also learn Linux command line with this project, so it will Raspberry Pi OS 32-bit Lite for a headless setup.

I’m going to configure for WiFi.  I suppose I could make it wired, but want to leave that port open for  the future EcoWitt device that is plugged in inside.

Because of the SD card, when I get to capturing weather using WeeWx, I read somewhere you can trim back the frequency of the updates, to extend the life of the SD card.  Goal is to integrate an external SSD drive at some point.

Because it’s a headless setup, I’ll need to be able to SSH in to the system from another Pi – likely the RP 5, which I have connected to a monitor, keyboard, mouse.

For the database, I’m going with the vanilla SQLite database.

For storage, I’m going with the Gigastone 32GB microSDHC UHS-1 U1 A1 Memory card.  This is what was recommended by Radio Shack.  I have the adapter where you can insert the microSD card into the adapter and then it goes in to the USB port.

Creating the SD card for the RP 3B+:

-Raspberry Pi Imager; entered the sudo password

-Ignored the Imager version 2.0.11.1 is available message.

-Select your Raspberry Pi device.  Q: Does that mean the one I’m currently running on, or the one that I’m wanting to a build a new OS for?  I entered Raspberry Pi 5.

-OK.  That’s not right.  When it says select your Raspberry Pi device, it’s only focusing on the new setup you want to create.  It was asking for OS specifics.

-Select your Raspberry Pi device.  I chose Raspberry Pi 3 (and the subtext included Model B+)

-This is annoying.  I’m looking for Raspberry Pi OS Lite, and somehow I have to know that’s within “Raspberry Pi OS (Other)”

-Raspberry Pi OS (Other); Raspberry Pi OS Lite (32-bit).  A port of Debian Trxie with no desktop environment.  Online 531.7 MB download.  Released 2026-09-15

-Storage: I’m getting ahead of myself, as I should have already had the SD card plugged in to the USB port of the RP 5.  I have Vilros MicroSD to USB Adapter.  I am holding the adapter with the silver metal toward me.  From top to bottom, in layers, is: where the SD card would slide in; a white plastic piece; an empty slot.  Of course thing with the white piece and the empty slot matches up with the USB port so you can only insert it one way.  Back to the MicroSD Card:  I gently insert the card (in and out until I know it’s going in smooth and straight, with the label facing up (in my case I can see 32 GB.  “IF” I rotated 90 degrees to the right, the I would be able to easily read the numbers.  I then gently push the SC card until it stops. If you look closely there’s an engineered portion of the metal where you will able able to remove the card (gently) with a finger nail.

-Now I insert the adapter into the RP 5.  Confirming that plastic piece in the port is on top, so the adapter with white piece goes on bottom.  Slides in well the first time. It mounts as removal media within /media/paul/32 GB Volume

OK.  Back to the install

I already made a mistake, where I quit out of the file manager window, and therefore shutdown the 32 GB drive. Used a small screwdriver to grab the metal loop; pull the USB adapter out; back in again.  It mounts and the Pi Imager app saying “Mass Storage Drive 29.8GB – close enough to 32 GB.  There’s something about “Exclude System drives”, so I’ll leave that checked.  Continue on.

-Choose Hostname.  Something obvious and not too long.  weather-3b (I kept it all lower case.  This means I know it’s for the weather station and that I configured with a RP 3B+.

-Localisation (Capital City = Washington, D.C. United States).  This makes no sense.  It’s asking me to select my location for suggested time-zone.  I’m in California.  I’m not in DC.  Sacramento is the Capital City of California. But…  that’s not there, so I’m going with Washington, DC (United States).  For time-zone, I entered America/Los Angeles.  For keyboard layout, I’ll go with us (which I assume is United States).

-Choose username for create a user account.  I’m assuming this is not root: I’ll enter my standard and basic username and password, as it’s only me accessing this system.

-Choose Wi-Fi (SSID, password): I entered that.  I left the Hidden SSID unchecked.  I think that’s OK for now.

-SSH authentication.  I want to enable SSH (as this is headless, and I need to connect in to it).  Authentication mechanism (Use Password or Use Public Key). I looked it up, and for several reasons (remote access; security) I’m going with Public Key.  But…  I’m half way in to Raspberry Pi Imager process.  I looked it up and it’s OK.

-Goal is to generate a key pair on the machine I’m currently using (to run the Pi Imager) and pass the result to the app.

-Open a terminal window

ssh-keygen -t ed25519

Note: This is a modern, highly secure standard

So far so good.  It came back saying it’s going to create a key pair for ed25519 and then asked me enter a file in which to save the key.  I think it gave a default location and name.  I pressed enter to save it with the default folder and name.

Now it wants a passphrase.

Now I have a private and a public key

The info I need for the Pi Imager can be found by entering:

cat ~/.ssh/id_ed25519.pub

I select the entire line from left to right, everything, copy and paste it into Pi Imager.

It came back with 1 SSH key configured.  Looks like I could enter another one, but good for now.

Raspberry Pi Connect:

The AI response, I think, was quite helpful.  Goal is to keep this as a minimalist system.  Don’t really need to be connecting in from outside, and if I did it would load up on a lot of resources.  Things can always be tweaked and added in later, so, for now…  No to Enable Raspberry Pi Connect.

In to the final stages now.  Confirmed everything.  Said OK to hosing the 32GB SD card.  Now I wait for the download and the upload to the SD card.

Cool!  It came back with the storage device was ejected automatically.  You can now remove it safely.

Next post is connecting RP 3B+ and powering up

 

 

 

 

 

 

 

 

 

Posted in Raspberry Pi, Weather | Leave a comment