Jim's
Tutorials

Fall 2019
course
site

Jim

asides :

You asked: what does a stack that's more modern than LAMP look like?

Here are a few examples.

Me: mostly node.js based. Think react and things like it. Google "deploy react".

issues:

mentioned:

Alex

Read chapters 7 and 8.

Powershell has been very nice. I've gone ahead and switched from PuTTY over to powershell. I simply didn't realize it existed. It is far more similar to the standard interface I was looking for. There were quite a few limitations with PuTTY (such as SCP) that I am happy to be done with.

However, something odd happened with my Linode. According to Linode support, my Linode was used for Brute Force attempts. Obviously, that wasn't me as I only understand what brute force is but not how to do it, nor do I have any interest in doing so outside of security practice.

Due to this, they limited use of my Linode which is being quite a pain. I'm trying to work it out with support now.

Perhaps we can go through the logs together to see if we can determine what is actually going on. It should be some good practice for me with seeing where to check for such logs. I don't even know where a brute force on my Linode would be originating from. Also, I suppose there is the possibility that their support is mistaken. I'd like to confirm that to be the case before I tell them as much. Or, I'd like to be able to tell them I found and solved the issue. This should make for an interesting problem to solve I think.

The logs they posted in the support ticket are:

sshd[22548]: User root from 45.79.134.85 not allowed because none of user's groups are listed in AllowGroups
Oct 19 00:05:23 host sshd[22548]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=45.79.134.85  user=root
Oct 19 00:05:26 host sshd[22548]: Failed password for invalid user root from 45.79.134.85 port 34762 ssh2
Oct 19 00:05:26 host sshd[22548]: Received disconnect from 45.79.134.85 port 34762:11: Bye Bye [preauth]
Oct 19 00:05:26 host sshd[22548]: Disconnected from invalid user root 45.79.134.85 port 34762 [preauth]

Have actually spent a couple hours trying to get Powershell to work with the server. I had it working over my LAN but I imagine I need to set something up serverside to make it work. Currently have about 10 browser tabs open looking into doing so properly (with SSH).

Following this guide:

https://docs.microsoft.com/en-us/powershell/scripting/learn/remoting/ssh-remoting-in-powershell-core?view=powershell-6

sudo apt install openssh-client

sudo apt install openssh-server

cd /etc/ssh -> ls

nano sshd_config to check for password auth as well as key auth. Both are commented out (unless the configuration file isn't using # for comments). My idea to enable them would be by deleting #. Specifically, deleting the # from passwordAuthentication yes and pubkeyauthentication. However... due to how nearly everything in the config file uses a # before hand.. not sure if that's actually commenting it out or part of the syntax for the config file. Will test without deleting the # for now, then delete the # if I run into issues.

Add a PowerShell subsystem entry: Subsystem powershell /usr/bin/pwsh -sshs -NoLogo -NoProfile [THIS DID NOT WORK]. Output: Subsytem: command not found.

restarted sshd: sudo service sshd restart

Yeah, having a few problems getting powershell to work. Going to keep working at it.

Woo! Got it:

ssh@root 45.79.134.85 is now working!

Reading the article your posted.

I can definitely understand how the vast majority of programming would be to solve specific businesses issues. I've seen it myself with game development and companies such as Blizzard. Blizzard released a game millions of people connected to simultaneously and due to this they ran into many issues that no other gaming company had ever had to solve before. Over years, they implemented many systems that would help manage their monstrously large community. You won't find these systems in any other game. Some examples they come up with that I found interesting over the years would be:

A grace period. For example, if you login to their game and disconnect due to a server crash you would have 5-10 minutes to log back in before dealing with a queue (which, at times, could be hours).

'Phasing'. The game would lag when too many people were in a certain area. They solved this by creating multiple 'versions' of the same area and when too many people were in one of those instances of an area players would be 'phased' into the other version. So, despite having 100 people in an area you may only see 10. The server lag was reduced dramatically thanks to this system. Previous games had made a 'channel' system for instances but nothing like this.

Along with a multitude of other systems that were implemented to solve various problems with a game of this scale. I always found it interesting to see them deal with issues no other company had solved, even if it did take them quite some time to do so. I don't even play the game and thought their work was fantastic in that regard.

An interesting note in the article I found was how the company doesn't care if the software is quite simplistic and crude as long as it does the job it needs to do well.

Above all else "Add revenue. Reduce costs. Those are your only goals." Seems to be fairly on point for most businesses.

In general, the article almost reinforces my idea that being a Sysadmin would be more enjoyable to me than programming for a living.

"You really want to be attached to Profit Centers because it will bring you higher wages, more respect, and greater opportunities for everything of value to you. It isn’t hard: a bright high schooler, given a paragraph-long description of a business, can usually identify where the Profit Center is. If you want to work there, work for that. If you can’t, either a) work elsewhere or b) engineer your transfer after joining the company."

Was good to read as well. Makes sense.

This in particular is something I'll take to heart: "describe yourself by what you have accomplished for previously employers vis-a-vis increasing revenues or reducing costs. If you have not had the opportunity to do this yet, describe things which suggest you have the ability to increase revenue or reduce costs, or ideas to do so."

This line on the other hand was rather reassuring, and I could see how it would be the case: "You radically overestimate the average skill of the competition because of the crowd you hang around with: Many people already successfully employed as senior engineers cannot actually implement FizzBuzz. Just read it and weep. Key takeaway: you probably are good enough to work at that company you think you’re not good enough for. They hire better mortals, but they still hire mortals."

Was also interesting to see FizzBuzz mentioned again so soon after seeing it in Python.

I also found this to be quite true: "The only time to ever discuss salary is after you have reached agreement in principle that they will hire you if you can strike a mutually beneficial deal. This is late in the process after they have invested a lot of time and money in you, specifically, not at the interview" As I've heard of people being a bit shocked when someone being interviewed almost immediately brings up pay and vacation time.

Also, not to overestimate a startup. Most startups fail. I'll be sure to be paid properly if working at one opposed to taking some other deal such as a lower salary but share of the company kind of thing.

This was quite interesting to me as well. I hadn't really considered how a large corporation would be better for future job prospects than a startup to this degree. Would be curious to hear if you agree with that. The argument seems sound, at least. "Working at a startup, you tend to meet people doing startups. Most of them will not be able to hire you in two years. Working at a large corporation, you tend to meet other people in large corporations in your area. Many of them either will be able to hire you or will have the ear of someone able to hire you in two years."

Made a personal note about this line.. With interviews I do tend to be modest but I will consider this other approach of being restrained yet not modest. "If you are part of a team effort and the team effort succeeds, the right note to hit is not “I owe it all to my team” unless your position is such that everyone will understand you are lying to be modest. Try for “It was a privilege to assist my team by leading their efforts with regards to $YOUR_SPECIALTY.”"

Overall, this article and the discussion posted in the thread about it has been some of the most interesting reading I've done regarding a career path rather similar to my own. I enjoyed the perspective and wisdom.

https://cs.marlboro.college /cours /fall2019 /jims_tutorials /arome /oct24
last modified Fri April 26 2024 11:16 pm