A Fresh Start

Tiffany-Morrigan Henebury 983 words 5 minutes

I am having to think back now, more than a week ago. I can do so via various notes taken; yet given the acute likeness between mind and seive, I shall simply try to keep this blog up-to-date.

I began a software apprenticeship this week. I hope it will lead to good places. I am not inexperienced with software - but it is the first time in many years I have had to work with others. Being a guitarist was a lonely job. I had become accustomed to the loneliness.

Over the prior weekend, I had been hoping a small laptop might magically arrive - but it was not to be. Instead I took a punt on perhaps my 5th or 6th Linux install - and this time, I would do it properly. Properly-ish...

Following this video courtesy of TitusTechTips:

Why did I try the above? My last Linux install was a Void install where I bit off a little more than I can chew. The system was me and a command line. I kind of like it. Is it useful to me? Not in the slightest.

This however seemed more appealing. Multiple windows, a small clean install without using Arch and the instability that might bring to the apprenticeship I will need to pass. A base distro, Debian instead of Ubuntu or Pop. That said, I am already pining for the AUR.

The first mistake I made was overwriting the vulkan drivers with proprietary NVidia drivers - took me about a day to understand and fix. The Snap store has joined me here on debian, providing easier access to slack, vscode ( mostly for live-share, vim is king ), glow, zola, discord.

Something isn't working however. Zoom never truly closes. Neither does Discord or a few other apps. I think they're the Snap apps. I need to find time to fix these. It's frustrating, and brings about some awkward situations.

What did I learn last week? Mostly, teamwork, and teambuilding. Sharing in knowledge and problem solving together. I was a teacher, and I find it difficult to not be a teacher. I have to unlearn some of this.

I did discover the wonderful jpegotim tool, and its' -S flag:

jpegotim -S 'n' to compress a jpeg to n kilobytes

at the command line. very handy.

A tutor mentioned that we are emotional animals masquerading as emotional beings. They are a wise Hoom'n.

Day two wasn't so bad. "Learn the command line", which essentially amounted to move around the command line, create and remove files and directories. I learned a few new commands, but I've been living in terminals for a while now.

git push and git pull - which I'm fairly familiar with. I need to look further into the complex commands available to seasoned git users.

Despite all of the above, I still failed to create multiple ssh logins for github using the ssh-agent. whoops. that will be remedied in time. I have successfully done so before hand, but I spent far too much time fiddling with the git config.

I learned also of gits core.autocrlf and core.safecrlf options - which I think are related to those odd copy and pastes from github, where everything is horribly staggered.


Ruby

Truth be told, I was a little frustrated to be learning Ruby. It's not my first rodeo learning a new language, far from it. Indeed, I was one of those who would jump ship to the latest and greatest language acclaimed by hackernews and The Ilk. Recently however I had a moment of clarity - dare I say - maturity? Go. Go is the language of the future. Why? Is it fast? Sometimes. Is it flexible? Somewhat. Is it simple, sensible, legible and powerful? YES.

So to look at Ruby as my next language - acclaimed but nonetheless, a language well past its heyday ( or so I thought ) - well, I was a little dissapointed. But I can't complain - I'm getting paid for this.

Ruby it was. At first, it seemed like another Python. But I'm coming round. I began to see a few sparks. Lots of mentions of Ruby sending messages (ala Smalltalk), and then Ruby modifying it's own base classes, simply? ala Lisp?

Hmmmm. My interest is piqued.

The arrays bother me. They're not arrays at all! - arrays contain a sequence of variables of a fixed size, all of a homogenous type! I still need to look into this. I'm aware that Ruby is C beneath it all, and essentially reinitializes the array when it changes size ( with some clever stuff happening )- but I'm unaware of why they aren't homogenous. My gut tells me that, like a Python list, they're an array of pointers, which would make the most sense.

Symbols? Ruby Symbols I don't entirely get. They're strings, but smol and fast.

Again, I'm need to understand more - if I were to do it I might create an alogrithm to endcode a series of characters, rather than a string - but I'm uncertain.

I then had an issue with the multiple GitHub accounts; despite using account B at the CLI, GitHub was still registering all activity from account A. This of course was due to GitHub registering the config email of account A as the primary user, despite logging into GitHub as account B. Took me an evening to figure that one out!

Then admin happened. I tried to be a professional artist, which basically means I bounced around a lot. Most normal people decide on a job and stick at that for a while. Being obtuse and abnormal, I opted for musicianship which led me all over the country, sans stable income. Wonderful. There's a lot of paperwork for that kind of thing, and admin is my achilles heel. Gah! That took most of my weekend also. I managed to get ahead in the course relatively quickly. Enough that by the beginning of Week 2, I was feeling quietly confident once again.