IRC log of #novawebdev for Monday, 2023-08-21

*** shmohamud has quit (Ping timeout: 480 seconds)01:08
*** shmohamud has quit (Ping timeout: 480 seconds)03:24
*** sysadmin_ has quit (Quit: Leaving)09:34
*** scooper has quit (Ping timeout: 480 seconds)09:34
jelknerGood morning fkoikoi!10:25
jelknerand scooper and tboimah 10:25
scoopergood morning Jeff10:25
tboimahGood morning Jeff10:25
jelkneris fkoikoi nearby?10:26
scooperbefore we continue please view this git link at your less busy time today10:26
scooperyes10:26
scooperhttps://git.mcssliberia.org/python-team/PythonStudy/src/branch/main/Article-Of-Incorp.md10:26
fkoikoiI'm here Jeff10:26
jelknerexcellent start, scooper!10:27
jelknernow i don't see anything about it being a worker cooperative10:27
jelknerwhich is why it is good to start early10:28
jelknerworker coops are a recognized form of business in some places10:28
jelknerand in others they are not10:28
jelknerfor example, in DC, they are10:28
jelknerin Virginia, they are not10:28
jelknerso NOVA Web Development had to use another form, LLC10:28
jelknerLimited Liability Corporation10:29
jelknerand use its Operating Agreement to make it a coop10:29
scooperThis will not be a sole proprietorship but rather a partnership in liberia.10:30
scooperI m sure of that but will do research properly on that10:30
scooperMean while I was advice strongly by a legal person to get a legal advice as it relate to crafting the Article of Incorp for Jetro Web10:32
jelknerHave you seen the operating agreement for NOVA Web Development, scooper?10:32
scooper-110:32
jelknerAh, we should change that10:32
jelkneri am looking for the URL for it10:32
jelkneri can't find it, so i'm calling stefan10:35
jelknerbrb10:35
scooperok10:36
jelknerhttps://novawebdevelopment.org/public/documents/NOVAWebDevelopmentOperatingAgreementRevised_2023-05-01.pdf10:41
jelknerright now, adrian and i are the only worker / owners10:43
jelknerbut the plan is to have Antonio and Kei added next May10:44
jelknerand to try to grow from there10:44
jelknerwe had 4 worker / owners last year10:44
jelknerbut 3 of them are now gone, and i had to be added back to keep the coop running10:44
jelknerwe have not figured out yet how to successfully run a small web development business, but we have learned a lot of lessons10:45
jelknerthat will help us going forward10:45
jelknerwhich we can share with Jetro Web Development as it gets going10:45
jelknerthis will be a long journey, scooper and fkoikoi 10:46
jelknerthat's why i want to start talking about it now10:46
jelknerit will take a long time to learn the concepts of what a worker coop is10:46
jelknerwhat a web development business does10:46
jelknerto develop a business plan10:47
jelkneretc.10:47
jelknerwe will by necessity do a lot of "learning by doing"10:47
jelknerthe good news is that we already have a lot of customers10:48
jelknerby "a lot" i mean about a dozen10:48
jelknerthe problem has been that it is difficult to support most of them10:48
jelknerthey are small non-profit or community organizations that do not have deep pockets10:49
jelknerscooper, fkoikoi are you still here?10:49
scooper+110:49
jelkneri guess i should stop for now10:49
scooperfollowing keenly 10:50
fkoikoi+110:50
jelknerscooper, i am looking forward to the day when you two have more and more questions10:50
jelknersince that will mean you are beginning to understand the problem10:50
jelknerand to think about the solution10:50
scooperconcerning Python???10:50
jelknerLOL10:50
jelknerconcerning the business, now10:51
scooperooh 10:51
scooperok10:51
jelknerwhat have i been writing about?10:51
jelkneranyway, we need to take small steps10:51
scooperI will place my questions in a markdown file and publish it to you since the time we have here i short10:51
jelknerbut we need to start now10:52
jelknerthat's what i hope to do with fkoikoi in our 10 minute meetings10:52
jelknerfkoikoi, are you here?10:52
fkoikoi+110:52
jelknerlet's have our stand-up meeting now10:52
jelkneri saw that you have begun to investigate the ICA10:53
jelknernext step will be to find a contact person there whom you can email with questions10:53
jelknerwe need to reach out to them for help10:53
jelknersince they will be able to provide us with guidance about how to form a worker cooperative in a place that doesn't have them yet10:54
jelknerfkoikoi, also keep asking around10:55
jelknerbecause maybe there are already worker cooperatives in Liberia, and we don't know about them yet10:55
scooperok now we are on a little break I will embark on this journey with fkoikoi10:55
jelknerexcellent10:55
scooperTo help gather all necessary information10:55
jelknersuper!10:55
jelknerok, that's all i have for today10:56
jelkneri'll be here again at 11 am your time tomorrow10:56
scooperok thank for the time10:56
scooperwe are awaiting Shmun 10:56
jelknerthank you, scooper and fkoikoi 10:56
jelkneryes10:56
jelkneri'll look at the logs tomorrow morning to see how that goes10:57
jelknerACTION signs off for today10:57
scooperHe promised to be here Monday, Wednesday and Friday 10:57
*** jelkner has quit (Quit: Leaving)10:57
*** svaye has quit (Remote host closed the connection)12:25
*** svaye has quit (None)12:39
*** tboimah has quit (Remote host closed the connection)12:45
ubuntouristtboimah, mulbah Hi!13:00
mulbahHello Mr. Cole13:01
tboimahGood morning ubuntourist13:01
ubuntouristSo, any questions? Progress? Anything you'd like to talk about before we dive into somethng?13:02
mulbahwell I don't have question now 13:03
tboimah-113:03
ubuntouristI will be honest: I had originally planned to look more at the book and decide what to do next, but I never got around to it.13:03
mulbahMr. Cole did you take a look at the python program that I e-mail you13:04
ubuntouristSo, very briefly (I hope), we'll talk about some of the Chapter 10 topics and them move on.13:04
ubuntouristmulbah, I sent a response to you in e-mail.13:04
ubuntouristmulbah, a few days ago.13:04
mulbahalright let me check it13:05
ubuntouristSo... Let's crank up tmate.13:06
tboimahssh sChP8VAkwPmNdWJxXqENvBUUv@sfo2.tmate.io13:07
mulbahssh LkThfE3z3eBwGVzkTJkqsR7a3@lon1.tmate.io13:08
ubuntouristWe'll be looking at a little more about processes.13:10
ubuntouristSome things I won't be able to see in tmate, because I want you to start up a second terminal and I don't want to ssh into four terminal windows.13:11
ubuntouristBut, before we do that, just type13:11
ubuntouristtop13:11
ubuntourist"top" is like those medical displays you see next to a hospital bed: It is monitoring the "heartbeat and respiration" of your computer.13:13
ubuntouristIt is showing you the "top" of the "ps" process status: It is deciding which processes are the most active, and13:14
ubuntouristshowing you a bunch of "vital statistics" -- updating every second.13:14
ubuntouristSo, for example, I see that on mulbah's computer, firefox is chewing up significant resources, staying near the top of the list.13:15
ubuntouristOn tboimah's computer I see that there's not too much happening. The main activvity was hexchat, but I see firefox is also running.13:16
ubuntouristMy guess: mulbah has more tabs open in firefox, or is on a web site that is constantly sending information -- like a news site or social media site.13:17
ubuntouristSomething is keeping mulbah's firefox a little bit busier than tboimah's firefox.13:17
ubuntouristYou can get "top" to sort the information by different criteria -- You can ask "top" to show you which processes are using up13:18
ubuntouristthe most CPU processing power, which ones are getting more attention / using up more "time" and which ones are using the most13:19
ubuntouristmemory.13:19
ubuntourist"top" is "case-sensitive" so, upper-case means something different from lower-case.13:20
ubuntouristtype "P" (no quotes.13:20
ubuntouristP shows you which processes are using the most CPU processing power.13:21
ubuntourist(the CPU% column is what to pay attention to with the P sorting order.)13:21
ubuntouristT will show you who's chewing up the most TIME and that's the column to pay attention to.13:22
ubuntouristand M will sort by memory (%MEM)13:22
ubuntourist"q" to quit.13:23
ubuntouristps and top are often useful for answering questions like "Why is my computer suddenly very slow?" 13:25
ubuntouristor "Why did this application freeze?"13:25
ubuntouristFor example, with "top" and "P" if you see a process with a very large %CPU then it usually means that the application13:26
ubuntouristis trying to do some mathematical operation that is very difficult or it is stuck doing something very repetitios.13:27
ubuntouristUnless you know that you are trying to do complex mathematics, it usually means something's wrong: The application13:28
ubuntouristis trying to solve a problem that it cannot solve and it is devoting all of its "brainpower" to the problem.13:28
ubuntouristA very high %MEM suggests that an application is loading a lot of data from some file, or downloading a lot into memory. 13:29
ubuntouristThat might be a problem if you are not expecting that -- for example if you go to a web site and suddenly your %MEM spikes high13:30
ubuntouristit coud indicate malware or a virus trying to take control by flooding your computer with too much data.13:31
*** fkoikoi has quit (Ping timeout: 480 seconds)13:31
*** tboimah has quit (Ping timeout: 480 seconds)13:31
*** scooper has quit (Ping timeout: 480 seconds)13:31
ubuntouristUsually you want to watch "top" for several seconds to see if the list changes. If you're only having momentary spikes,13:32
ubuntouristit's usually not something to worry about. firefox might "go high" with %CPU or %MEM for a second or two, but13:32
ubuntouristif it drops down in the list again, it's probably nothing to be conerned about.13:33
ubuntouristI don't use a lot of the informaton from "top" -- So I cannot explain it all. 13:34
ubuntouristBut, PID we've seen before from "ps" -- it's the Process ID which will become important in a minute.13:34
ubuntourist"user" is pretty self-explanatory: Who started this program? Is it "root" or "systemd+" which usually mean13:35
ubuntourista normal user didn't start it and it's part of the operating system running in the background?13:36
ubuntouristOr is it a "normal user" like mulbah07 or "tboimah" which means it's probably something that you started?13:37
ubuntourist"PR" and "NI" are related: If you subtract NI from 20, you get PR... 13:38
ubuntouristPRiority and NIceness.13:38
tboimah_ACTION going to use the bath room please13:39
ubuntouristPriority is "how imortant" is this process? How much attention and love from the CPU should it receeive?13:40
ubuntouristNiceness is funny word: It refers to an adjustment to the priority. Easier to explain with an example.13:41
ubuntouristmulbah, (I killed it because it was making me crazy watching the screen move while I was typing in chat.)13:42
mulbahokay13:42
ubuntouristSuppose you WANT to do something complicated on the server. Something that will chew up a lot of CPU and memory.13:43
ubuntouristBut it's a server. You are not the only one using it.13:43
ubuntouristIf you start up your busy program, it may suck up all the CPU power and memory, and 13:44
ubuntouristmake the computer unusable for other people. It will ignore everyone in favor of your task.13:44
ubuntouristWell, there is a command... "nice" which you use to tell your application to "play nicely with the other children 😉"13:45
ubuntouristYou can set the "niceness level" to say "Even if this application would normally eat up all the resources, slow it down, hold it back,13:46
tboimah_ACTION back13:46
ubuntouristlower the priority."13:47
ubuntouristtboimah_, I'll give you a second to catch up with the reading here.13:47
tboimah_ACTION done13:49
ubuntourist(I don't know anything really about VIRT RES and SHR -- I'm guessing virtual, reserved and shared memory,13:49
ubuntouristbut I never pay much attention to those values. I should probably learn, but I'd rather make music. 😉)13:50
ubuntourist"S" is status. status can be "sleeping", "reading", "writing". and others. It is "what, exactly, is the application doing at this13:51
ubuntouristsecond?"13:51
ubuntouristIt's a long list, and Chapter 10, plus "man ps" will tell you more.13:51
ubuntourist("man top" too.)13:52
mulbahalright13:52
ubuntouristOK... Start a separate terminal, and in that terminal type13:53
ubuntouristfind / -iname "*"13:53
ubuntouristthen, come back to the firstt terminal that you are sharing with me, and type "top"13:54
ubuntouristmulbah, no.13:54
ubuntouristIn a separate terminal type the find command.13:54
mulbahokay13:55
ubuntouristtboimah_, do you have the find command running in a separate terminal?13:55
tboimah_yeah13:55
ubuntouristtboimah_, I see it now.13:55
*** mulbah has quit (Remote host closed the connection)13:56
ubuntouristtboimah_, try P in the top terminal.13:56
tboimah_okay13:57
ubuntouristAnd after a few seconds try M13:57
ubuntouristand then after a few seconds, try T13:57
ubuntouristtboimah_, Is find still working hard in the other terminal?13:57
tboimah_yes13:58
ubuntouristHmmm... I must have done something wrrong. I was trying to create a "spike" in the top list...13:58
ubuntouristThe "find" command should be trying to find all files and directories on the computer, which I thought would make it very busy...13:59
ubuntouristAnyway, we can still work with it.14:00
ubuntouristmulbah, do you have find command running in a separate window?14:00
mulbahIt was running14:01
mulbahbut it stop14:01
mulbahcause it find all the files14:01
ubuntouristmulbah, start it again and we'll try to work faster. I want it running while we do something to it.14:01
ubuntouristtboimah_, if yours stops, restart it too.14:01
tboimah_okay14:02
ubuntouristtboimah_, mulbah in your "top" terminal type q to stop top and then type -- while find is still running:14:02
ubuntouristps auxwww | grep find14:02
ubuntouristps. not pa. and three w's. not two.14:03
ubuntouristmulbah, find stopped again by itself... 14:04
ubuntouristyou typed --- find / -iname "*"14:04
ubuntouristright?14:04
ubuntouristtboimah_, now type:14:04
mulbahdone14:05
ubuntouristkill -9 12784414:05
ubuntouristmulbah, yours will be different14:05
ubuntouristPooh. we're not fast enough....14:05
ubuntouristOK... I have another idea...14:05
ubuntouristin the window where you  typed "find", 14:06
ubuntouristtype "nano qwert"14:06
ubuntourist(We're creating a file with a stupid file name.)14:06
ubuntouristmulbah, No. in the other window.14:07
tboimah_done14:07
mulbahdone14:07
ubuntouristnow, in the "ps" window, type "ps auxwww | grep nano"14:07
mulbahdone14:08
ubuntouristtboimah_, good. Waiting to see the same on mulbah computer before continuing.14:08
tboimah_okay14:09
ubuntouristmulbah, I' not seeing it. One window should be running nano, and the window you are sharing I should see14:10
ubuntouristps auxwww | grep nano14:10
ubuntouristmulbah, good.14:10
ubuntouristNow I can explain:14:10
ubuntouristwe used "ps" to see if any programs were active that have "nano" in the command.14:11
ubuntouristThere are two programs: One was the "grep" command itself. (We asked grep to search the "ps" list to display any line14:12
ubuntouristcontaining nano and it found itself.) 14:12
ubuntouristbut we're interested in the other line. The first line that it returned "nano qwert"14:13
ubuntouristIt tells us that for tboimah_ it is running in a terminal named "pts/2" and has a PID = 12968114:14
ubuntouristIt tells us that for tboimah_ it is running in a terminal named "pts/2" and has a PID = 12968114:15
ubuntouristfor mulbah it's running in "pts/5" (do you have several terminal windows open? more than two?) and a PID = 2723614:15
ubuntouristSo, now, in the same window, type the following and watch the nano window. (DON'T type in the nano window)14:16
ubuntouristTHESE WILL BE DIFFERENT: DON'T TYPE THE SAME THING:14:16
ubuntouristtboimah_, YOU type:  kill -9 12968114:17
tboimah_yeah14:17
ubuntouristmulbah, YOU type kill -9 2723614:17
ubuntouristright.14:17
mulbahenter?14:17
ubuntouristAnd notice what happened in the other window.14:17
ubuntouristYes enter.14:17
mulbahit stop nano14:18
ubuntourist(I wanted to do it with find because I thought find would go crazy for a long time listing lots and lots of files.)14:18
tboimah_The process was kill and this tboimah@tboimah-successful:~$ show up in the nano file 14:19
ubuntouristAs a systems administrator, maybe one of your users will do something that they do not know how to stop. 14:19
tboimah_Mr. Cole can i ask a question?14:20
ubuntouristAnd you will have to stop it for them. But you are not near their computer. So, you ssh and look for whatever has gone wrong14:20
ubuntouristand then "kill" it.14:20
ubuntouristtboimah_, yes. ask.14:20
tboimah_In the command we just type what is the function of the -9 in the command.14:21
ubuntouristGood question: I was just getting to that.14:21
tboimah_Okay now i get it14:22
ubuntouristThere when you "kill" a process you are sending a "signal" to it that says "STOP! INTERRUPT! WAIT!"14:22
ubuntouristthe signal type tells the process why you asked it to interrupt what it was doing.14:23
ubuntourist"kill" is a bad choice for a command name: It doesn't always kill the process. It sometimes just interrupts.14:24
ubuntouristthe two most common kill signals are "kill -15" and "kill -9" (SIGTERM and SIGKILL)14:25
ubuntouristYou should always try -15 first: It says "Please try to stop the program in a way that preserves any work that is being done" TERMinate the program normally.14:26
ubuntouristSometimes -15 doesn't work: The running process ignores the polite request.14:27
ubuntourist-9 is the atom bomb and says "Screw it. You wouldn't surrender quietly and nicely. Die. I don't care if you lose all the work. Just die."14:28
tboimah_hahaha14:29
ubuntouristSome of the others are used for stopping only part of what the process is doing. Some are more of a "tap on the shoulder"14:29
ubuntouristthat say "excuse me. could you briefly pause and then continue?" Or "could you quickly stop and restart without losing anything?"14:30
ubuntouristLike with "ps" status codes, there are too many kill signals for me to remember what each one does. I don't ever need14:31
ubuntouristmost of them. -15 and -9 get used a lot. Once in a while -1 "SIGHUP" but usually, you only use SIGHUP because14:32
ubuntouristsome documentation that you are reading says "for this application, use SIGHUP". 14:33
ubuntouristWe should all read Chapter 10 which I think will talk a lot about "ps", "top", "kill" and maybe "killall" wihich is similar to kill.14:34
mulbahokay the best sysadmin teacher in the whole world14:35
ubuntouristACTION is skimming ahead in the book for a sseccond.14:35
ubuntouristThe book includes "a gentle introduction to vi" later.. I suspect Jeff has already covered a lot of that.14:37
ubuntouristEditors are a very personal choice, and I personally don't like vi or vim. But a lot of smart people do.14:38
ubuntouristA lot of smart people also like emacs as their editor. I like emacs because I learned it a long, long time ago, on a computer14:38
ubuntouristthat did not have vi or vim. 14:39
ubuntouristnano is a good "beginner" editor, because it always provides help at the bottom of the screen, telling you which14:39
ubuntouristcommands are available. So, I prefer it for instruction. I can say "Type Ctrl-X" and you can look at the bottom of your screen to14:40
ubuntouristsee that Ctrl-X is for "eXit".14:40
ubuntouristBut, eventually, you will want a better editor, and you should make every effort to learn as much as14:41
ubuntouristyou can about your editor. Like with the keyboard shortcuts that were in Chapter 8, and the expansions in Chapter 7,14:42
ubuntouristBeing able to edit well will save you a LOT of time.14:42
*** mulbah has quit (Remote host closed the connection)14:44
ubuntouristSuppose you have a file that is a 200-page book when printed. And maybe the original author has misspelled the same word14:44
ubuntouristthousands of times. You need to be able to use your ediitor to correct all of the mistakes quickly. You do not want 14:45
ubuntouristto use your eyes to read every line of the book searching for mistakes.14:45
ubuntouristOr maybe you want to create a file and automatically number each line. Doing it manually will take too much14:46
ubuntouristtime.14:46
ubuntouristSo, practice keyboard shortcuts and whatever editor you choose so that you can quickly jump to the end of the file, the14:47
ubuntouristbeginning of the file, the next paragraph, the previous paragraph, jump to a specific line (line 200 or something like that),14:47
ubuntouristadvance 10 lines,, go backwards 20 lines, search for a specific string, jump to the end of the current line, jump to the beginning of the currrent line,14:48
ubuntouristfind and replace text, etc.14:48
ubuntouristI'm going to leave the Gentie Introduction to VI (Chapter 12) and the Keyboard Shortcuts (Chapter 8) for you to practice a lot.14:50
tboimah_Okay14:50
mulbahokay Mr. Cole14:51
ubuntouristBut the next section of the book Chapter 11, and Chapter 13, talk about some of the stuff we've already done:14:51
ubuntouristEnvironment variables, and configuring our environment.14:51
ubuntouristfor example, we have created an environment variable $PAGER and set the value to "most"14:52
ubuntouristusing "export PAGER=most"14:52
ubuntouristand we made it permanent by putting it into the file ".profile"14:52
ubuntouristChapter 11 will be a "deeper dive" into that, covering the same material but looking at what else is like that.14:53
ubuntourist(We also did some other stuff with environment variables before we played with $PAGER. We looked at $HOME and 14:54
mulbahsure14:54
ubuntouristcreated a few silly environment variables to show how they worked. I know you're both taking notes like I suggested, 14:55
ubuntouristso if you need to, go back and review your notes.14:55
mulbahThanks for the teaching today Mr. Cole14:55
ubuntouristSo, next time, we'll start fooling with the material in chapter 11.14:55
ubuntouristI'll try  to read chapter 10 to see if there's anything super-useful there that we need to talk about, but14:56
ubuntouristthe basics are "ps", "top" and "kill". with details about each one.14:57
ubuntouristOK. See you Friday.14:57
mulbahMr. Cole14:57
tboimah_Okay thank for today14:57
ubuntouristmulbah, question?14:57
tboimah_Have a nice day14:57
ubuntouristtboimah_, you too.14:57
mulbahI and tboimah was thinking to ask you if you will be having chance in the night at your time because we meet Monday and Friday only and you can really teach us in these two days of the week but we relly want to finish the book soon and have all the necessary skills that a sysadmin should have14:57
ubuntouristWell, I'm volunteering. It's already 4 hours a week... Night my time would be REALLY late night your time. 14:59
mulbahwe are available any our14:59
ubuntouristI think we are getting to a stage where we should start using e-mail more.15:00
mulbahwe just want to learn faster15:00
ubuntouristRead the book, try the examples and send me clear e-mail messages with questions and progress.15:01
ubuntouristI will think about trying to make an additional time free for continuing.15:01
tboimah_Okay15:01
ubuntourist(We're already moving through the book pretty quickly. But when I watch you type in the terminal,15:01
mulbahThanks so much Mr. Cole 😉 😉 😉 😉15:02
ubuntouristI can see you need more practice to get your speed up. And those shortcuts and editing will make it much faster to15:02
ubuntouristcommunicate too. So, do practice those. A lot.)15:02
mulbahMy computer keyboard is giving problem15:03
mulbahmostly the shift key15:03
mulbahso that why I take time to type15:03
ubuntouristmulbah, Ah. That's going to slow things down a bit.15:03
ubuntouristStill, knowing when to use TAB, double-TAB, Ctrl-R, Esc-<, Esc-> and stuff... Watch in your tierminal...15:04
ubuntouristMost of that was me just using Ctrl-something to jump to the beginning, jump to the end, delete a word, search for words, etc.15:07
ubuntouristI did not type left-arrow, left-arrow, left-arrow, backspace, backspace, backspace, up arrow, up arrow up arrow.15:07
ubuntouristThat is a very slow way to do things.15:07
ubuntouristtboimah_, I just did the same sort of thing in your terminal window.15:09
tboimah_yeah i saw it15:10
mulbahThanks for today Mr. Cole15:11
ubuntouristBye~~15:11
*** ubuntourist has quit (Quit: Leaving)15:11
mulbahwe really do appreciate all of your effort to was us 15:12
*** tboimah_ has quit (Quit: Leaving)15:12
*** mulbah has quit (Ping timeout: 480 seconds)15:48
*** mulbah07_ has quit (Quit: Leaving)15:50
*** shmohamud has quit (Remote host closed the connection)23:25

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!