It is time for one of those long update posts.
The summer break is over and so I return to the rhythm of life. That is I get my health back on track with a return to intermittent fasting and a gradual reduction of coffee. The summer creep of increased coffee consumption has happened again.
I pulled google analytics from this site and started to use something called goat counter. A name that could only be chosen by someone who is not interested in marketing. Still it works and for the near zero visitors this site gets it seems more appropriate than google analystics.
Every time I log into google analytics I realise it is not a tool for me. It targets the professional market not the person who logs in once or twice a month. Plus the intrusive tracking is not nice. Now it is gone.
Learning to code.
My other half has been learning a bit of python. It is fascinating watching someone slowly learn to code. She is using a Udemy course, some YouTube and discord chat. Quite similar to how most people would do it these days.
This contrasts sharply with how I learnt. A copy of the Amiga Basic Manual and the Input magazines that a family friend gave me. From memory the Amiga Basic manual was terrible while the Input Magazines where actually quite good but focused on 8 bit computers rather than the 16 bit computer I had, so there was a disconnect.
Later I consumed some articles found in other magazines. Information was scarce. I hear about people during that era being able to go to a library to find computer books with quite some envy. My local library did not contain any such books and was a number of miles away from where I lived.
The internet has certainly made learning to program a more enjoyable social experience compared with the more isolated experience I had.
Recently I decided to start to improve my at home learning, coding and well stuff I do in my free time. I started to do something akin to sprints. These are very short sprints that should be able to be completed in 3 or 4 evenings. The topics cover everything I do, from memory:
- Read 10 pages of fiction book
- Read 5 pages of Amiga development book
- Jupyter Notebook for Perception implementation I am working on
- Read 5 pages of C book
- Pretty printer for AST node in the mini language I am working on
- Play with export images from Aseprite
- 4 tweets
- Write this blog post!
- Next section of pixel art tutorial
The important thing is to cover everything I want to do. I have long thought my life would be a little better if I was a little more social. Twitter is my first attempt at that, usually I do a few tweets and forget about, now it is on my todo list. This might come across as a little force but it puts me out of my comfort zone. I am naturally a private person.
It is also an experiment in tackling a number of non trivial projects at the same time. Frequent visits to the project should keep them in my recent memory avoiding difficult loading the project back into my head. It seems to be working but I don't think I could add many more projects and make it work. Life outside of these tasks takes up significant cognitive power, if that reduced perhaps I could.
With this many projects I am obviously limiting the progress I can make on any individual one. Overall though I am quite happy with how it is working but may eventually introduce deep dive weeks for things I really want to focus on.
To avoid head down mentality I promised myself I would review at the end of the 7Th iteration. Which is now.
This is about identifying changes that might improve things by just 1%.
I don't rate success he by followers/visitors just having fun and creating content.
Social currently consists of this website/blog and tweets. I am developing the habit of both writing posts and tweeting more often. I should probably be looking to interact more on twitter.
Much of my Twitter is filled with people who have more than 100K followers. Interactions with them is unlikely.
- Find more local people to follow
- Maybe make YouTube videos
- Twitch for coding.
At the moment twitch would be weird as I change what I am doing multiple times in an evening but maybe on streaming nights I could avoid doing that.
So I have been practising pixel art and there is definite improvement. I suspect AI generated art is improving faster than me.
In terms of a programming language to use I have initially settled on C. Why because for some of these small games I harbour the idea of porting them to the Amiga platform. I am mixing goals here and that is perhaps slowing down my game dev progress.
Moving to python is one idea, obviously C is compilable to wasm which makes distribution easier but python increases my chance of finishing the first game.
- Consider moving to python.
Little programming language
I am playing with ideas, Writing a few things in C but really trying to formulate a plan. Again my instinct is to get away from C for a while. Consider it an experimentation task and my rule of thumb is if you are exploring use python unless there is a good reason not to.
- Consider using python to improve iteration speeds at least why experimenting.
I have 3 learning tasks in progress.
- Starting the journey of AI
- Read about Amiga development (and perhaps do some)
- Read the Extreme C book and write code to ensure I understand what they present.
I am making gradual continuous progress here. It is going really well.
The view I am taking is not to rush the learning. It is a journey that will take a number of years.
I have been using Doom Emacs for a while but the draw of VS Code is strong. Jupyter Notebooks work well with it and I use it as my debugger. I find myself flipping around between Emacs, VS Code and the command line. Is this time costing me time? Would I gain 1% productivity improvement by just using VS Code?
- Explore just using VS Code (with a Vim plugin) as a way to improve productivity
I will probably continue to use emacs for writing and note taking but the idea of 1% improvements does mean gradually reconsidering everything.
Continue these small iterations but start looking to the shortest route to progress whether that means a learning goal or completing a game. Focus on getting stuff done is what I should be saying to myself everyday.
With that in mind I plan to experiment with
- Python for both gamedev experiments and programming langauge experiments.
- Move over to VS code for programming.