Making a note of things that shook me to the core (as in, lightly unexpected details that I might forget in the future).
I’ll be organizing this in no apparent order, under 2 categories: technical discoveries and non-technical learnings. I really should’ve kept track of all this as the term went on.
technical shooks !
All things development related. For my findings about go, refer to my previous post about Go quirks and common mistakes.
id -Gn to list current groups. Some files belonging to certain groups don’t appear when you ls, nor is in Nautilus. But if you believe it to be there, just
ls away and it’ll appear.
Docker will sometimes complain about a lack of SANs (Subject Alternative Name), so that needs to be created with openssl. But this one time, scp-ing certificates from one instance to another didn’t carry over the SAN. I ended up solving it by scp-ing the certificates to another interim machine, before scp-ing back between the OpenStack instances, which surprisingly solved the issue.
All in all, certificates with vanishing SAN was the weirdest problem I’ve ever encountered…
Running commands as sudo actually refers to a completely different set of environment variables. Unsurprising, considering how sudo really just means superuser do… Wish I spent less time before discovering this though.
Ways to bypass that include
sudo su and then exporting all your environment variables again, or simply
sudo -s, which is a non-login style shell that gains root access as the current user without reading new environment files (and hence, added security benefits).
sudo -i is virtually the same as sudo su: it gets the root’s environment, but without having to know the root account password like the
-s option. Seems to be the most practical option to get the root environment.
dockerfiles and building a docker image
the process of building a docker images is as such:
- build binaries from source
- build and run Docker image from binaries using a Dockerfile
- tag the docker image as something more friendly
- commit/push to Docker registry
non-technical shooks !
Soft skills, and other learnings and experiences that shook me a bit.
(courtesy of my manager)
Saying things like “I don’t know what I don’t know” is actually a idea from the Johari Window, a model with gives you insight on your behavior and of those around you, leading to better communication.
There are 4 categories:
known to self and known to others
This is the openspace. Anything in here can be communicated properly. The goal is to broaden openspace and increase mutual trust.
unknown to self and known to others
This is the blind spot. It’s seen by others, but the self is not aware. To point out someone else’s blind spot, start your phrasing with “I noticed that…“ to be less accusatory and frame it more as an observation. This’ll effectively shift things to the open space, to be more openly discussed and improved.
known to self and unknown to others
This is the hidden area. Secrets or intentionally omitted knowledge.
unknown to self and unknown to others
This is the unknown area. There is no communication about this, and both parties are unaware of this information.
Openly asking questions and engaging with each other will help resolve conflicts, misunderstandings, and reach better negotiation and results.
On another note, I was able to pay for my tuition and still have a bit leftover for living expenses! This is a first, feels good to be self-sufficient. Currently waiting for OSAP to roll in, ahaha.
Not too shook, per se, but still a pleasant surprise and perk for being in the Waterloo co-op program.
That’s all, until I think of more.