A big hobby of mine is programming. Here I'll share some of the things relating to programming that interest me, and some background to how that came about.
In the early 80s, I think around '84, our school started a computer lab at school. We got ZX Spectrum computers, and learned basic. I didn't really take to school much. The only subject I really, really loved was math, something I am still interested in to this day. But these little computers were something I fell in love with very quickly.
I remember that I had a friend, and him and I were constantly way ahead of the class work we were set to do, so we spent most of our time making spinning patterns on the screen. The programming language on these machines was BASIC, and it was a really amazing language to learn for a kid.
I later got my own (a ZX Spectrum+), though it was stolen at some point. But friends of mine in Nairobi had a Commodore 64. We would spend days typing in programs, and then spend days debugging our typing. But it was a wonderful world.
In high school I also did some programming, still mostly in BASIC, though we did learn some other stuff. But by that time my life started to revolve around sports, and slowly my interest in computing faded away.
It wasn't until I bought my own laptop, probably around 2005 that I started getting back into programming. At first I had almost zero connection to the internet (I was working at a lodge at the time), and so I started out with an HTML book my wife had.
In 2008 I left the lodge I was working at, and had a regular internet connection for the first time. From there I've been programming ever since. I also had time on my hands, something I hadn't had in years, due in part to the lack of guiding work during the 2008.
Below I'll list most of what interests me in programming.
Python: I think it was 2008, towards the end of the year, I went to do a stint as the guest astronomer at the lodge I'd worked at before and for the first time, ended up being there, but with lots of time on my hands. I had no internet connection, but I'd downloaded a book, "Dive Into Python" onto my laptop, and I worked right through the book over a period of a week or two. I've been using Python ever since. I haven't touched PHP since.
Linux: Also in 2008 I ended up wiping off my Windows installation while playing around with an Ubuntu install, and I've never run Windows on my own machines ever since. For a couple years I stayed with Ubuntu, but then got into playing around with different distros. For a while I had Debian on an old machine, running Ratpoison window manager. Then, just progressing down the rabbit hole, I went on to install Arch Linux, which I've used on several machines since then.
Somewhere along the line I also did a Linux From Scratch install, which was lots of fun, but I never got it working well. It's fun to put your own system together, but time consuming to keep things up to date, and easy to mess things up. But, if you have time on your hands and want to do a deep dive into Linux, it's a fun project to take on.
On servers I'm used Arch often, including when I ran my own company, but gradually I've moved back to Debian for my server, and currently run Ubuntu again (after years of not using it). I think my main reason for going back to Ubuntu has been the idea that if I end up working in a programming environment, it would be either Ubuntu or Debian (off which Ubuntu is based). I have played around with Fedora and Centos, and for work they could be equally good, but right now I don't want to put in the work to learn their package managers, etc.
Vim: I don't really remember what I was using for programming back when I was getting back into it. Probably just the text editor for the system I was on. But at some point I started playing around with Emacs. After being a full time user of Emacs for a while, I had a website on a server that only had nano or vim on, and I didn't have access to root on that machine, so I thought, let me give Vim a try.
That was in 2011, and since then I've only used Vim. I currently use Vim with Tmux. I guess that it's a rather common setup, but I love it, and would be hard-pressed to change to something different at this point, at least for my own development.
I use Git, and you can see my Github repo in the link at the top of the page.
C: For a good while I was really interested in getting into lowlevel programming, and so I learned a little assembly language (just enough to understand some Linux system calls, etc), but spent a couple years learning C. I was so busy with work at that point in my life that my C skills are still very basic. For now it's something I've put on the sidelines, but I'd like to one day come back to it.
React: This has been my newest interest, and it's something I'm working learning right now, mainly as something to use with Django.
At school math was a passion right the way through. I felt rather bad that I never carried on with it in any collage setting. Over the last few years I've been learning math again, and hope to get myself to the point where I can teach myself Calculus.
Along with learning math, I'd like to get to the point where I can use my math in programming, and I've already learned a little Numpy, etc. But this is an area I'd like to pick up on eventually much more.
My biggest long term interest is to be able to combine my interest in ecology and computer science to work, in some way, on something that involves ecological systems.