IRC log of #novawebdev for Monday, 2023-07-17

*** shmohamud has quit (Ping timeout: 480 seconds)00:48
*** shmohamud has quit (Ping timeout: 480 seconds)05:49
*** fkoikoi has quit (Ping timeout: 480 seconds)10:37
*** scooper has quit (Ping timeout: 480 seconds)10:37
svayeGood morning scooper10:52
scooperGood morning svaye10:52
scooperhow are  you doing today???10:52
svayeI am good, but I won't be able to come today10:53
dcammueGood morning scooper10:53
scooperok10:53
dcammueTboimah10:54
dcammuehow are you10:54
scooperWill Jeff be here today???10:54
svayeno one is at my house so I have to stay home and take care of my younger siblings10:54
jelknerGood morning, scooper10:54
dcammueGood morning Jeff10:54
jelknerjeff is already here10:54
scooperGood morning dcammue10:54
jelknerbut only for a few minutes10:54
svayeGood morning Jeff10:54
scooperGood morning Jeff10:54
jelknerlet's talk about the schedule10:54
scooperoh welcome Jeff10:54
dcammuealright10:55
scoopermy schedule10:55
scooperor you referring to the other??10:55
jelkneri will be here tomorrow and thursday from 11 am to 12 noon your time10:55
jelkneri won't be here wednesday10:55
jelknerand i'll be here today only to get svaye and dcammue started on there quiz10:55
dcammueonly for this week?10:55
jelkneronly what for this week, dcammue?10:56
scooperok, that mean you don't need any interruption from team python today right????10:56
dcammueyou said that you will not be here10:56
dcammueon wednesday10:57
dcammuethat's why I ask, only for this week?10:58
jelkneryes, dcammue 10:58
dcammueok10:58
jelknerwe can talk about next week next week10:58
janetGood morning Jeff10:59
jelknerbut i won't be here wednesday this week10:59
jelknerdcammue and svaye, are you ready for the quiz?11:00
dcammue+111:00
svaye+111:00
jelknerok the password i made for the quiz is web4mcss11:01
jelknersee if you can start it11:01
jelkneri can only stay a few minutes today11:01
dcammueok11:01
fkoikoiGood morning Jeff11:02
jelknergood morning janet and fkoikoi 11:03
jelknersvaye, dcammue let me know as soon as you can access the quiz11:03
jelknerwe can talk about the results tomorrow11:03
jelkneri need to leave in 20 minutes11:03
svayeMine said the password is incorrect 11:04
jelknerand i want to be sure you are can access the quiz before i go11:04
jelknerfor lesson 1?11:04
dcammueI access the quiz Jeff11:04
jelknergreat, dcammue!11:04
jelknerplease help svaye 11:04
jelknerthere are 32 items11:05
jelknerfinish the quiz this morning11:05
jelknerand we can talk about the results tomorrow11:05
svayeI can't access the quiz11:05
jelknerif dcammue can, you are not doing something svaye 11:05
jelkneri don't know what11:05
jelknerso maybe he can help you11:05
svayethe password is incorrect11:05
jelknerno11:06
jelknerit's the same password11:06
jelknerif it worked for dcammue 11:06
jelknerit won't be different for you11:06
jelkneri only set one password on the quiz11:06
svayedcammue already help me with the password11:06
jelknerand?11:06
svayeI can access it11:07
jelknergreat!11:07
jelknerok you two11:07
jelknerdo your best11:07
jelknerlet's talk tomorrow11:07
jelknernow go take the quiz11:07
jelknerfocus11:07
jelkneryou should sign off here11:07
jelknerand focus on the quiz11:07
jelknersee you tomorrow11:07
jelknerscooper, we have a fantastic meeting of the Secosol board yesterday11:08
svayehave a nice day Jeff11:08
dcammueok11:08
dcammuehave a nice day Jeff11:08
jelknerwe voted to take on Jetro Web Development as our project11:08
jelkneryou too dcammue, get quizzing!11:08
jelknerso we need to move forward with this11:08
jelknerscooper, i want you to find out how to register a business as a worker cooperative in Liberia11:09
scooperOk11:09
jelknerby August, I want the $800 monthly payment to come from Secosol to Jetro Web Development11:09
scooperI even contacted a lawyer 11:09
*** dcammue has quit (Quit: Leaving)11:09
jelknerawesome11:09
jelkneri don't know how things work there11:10
svayeACTION signs off11:10
jelknerbut we will need to learn quickly11:10
*** svaye has quit (Quit: Leaving)11:10
scooperI brief before saturday or duing our saturday meeting..11:10
jelkneryes, saturday would be the perfect time to talk about this11:11
scooperI m sorry for some delay here been busy with family issue......11:11
jelkneri want to move forward with the meeting with Kamal Foundation too11:11
scooperBut is it over now... I m back to regular duty......11:11
jelkneri'm going to schedule another meeting with the Kamal Foundation, and pay the $150 to "buy a brick" with the name "Jetro Web Development"11:12
jelknerscooper, you are really becoming a team11:12
jelknerfkoikoi, svaye, and the rest of the team really stepped up on saturday11:13
scooperI went through the log already.....11:13
jelknerwhen we are were we want to be, our success will depend on all of us working together, and not be blocked by any one of us11:13
jelknerwe are getting closer to that goal11:14
scooperI appreciated for them for the step they took...11:14
jelkneri am very happy about that!11:14
jelknerme too11:14
scoopersecondly supporting me during my daughter program as well....11:14
jelknersupporting each other is what we do, comrade! ;-)11:14
jelknerok, i got to go11:15
jelkneri'm walking to the college11:15
jelknerwhich takes me about an hour11:15
scooperOK see you soon11:15
jelknerbut it's good exercise for my old body ;-)11:15
scoopersafe journey......11:15
jelknertomorrow i don't go in11:15
fkoikoisafe journey Jeff11:15
jelknerso i can stay here the whole hour11:15
jelknerthanks all11:15
jelknerfkoikoi, scooper, can we talk about your python progress tomorrow?11:15
fkoikoisure11:16
scooper+111:16
jelknerand let me know what happens with Jallah11:16
jelknerhe should be coming in today11:16
jelknerACTION logs off11:16
scooperok11:16
fkoikoiAlight Jeff11:16
*** jelkner has quit (Quit: Leaving)11:16
*** janet has quit (Quit: Leaving)11:20
*** tboimah has quit (Quit: Leaving)11:23
*** Gap has quit (Ping timeout: 480 seconds)11:43
*** fkoikoi has quit (Ping timeout: 480 seconds)11:43
*** janet has quit (Ping timeout: 480 seconds)11:43
*** scooper has quit (Ping timeout: 480 seconds)11:43
*** dcammue has quit (None)11:46
*** mulbah has quit (Remote host closed the connection)11:57
*** mulbah has quit (Remote host closed the connection)12:46
*** mulbah has quit (None)12:57
mulbahGood morning Mr. Cole12:59
tboimahGood morning ubuntourist12:59
ubuntouristHi, mulbah tboimah - I need to make take a quick break and I will be back in a few seconds...13:00
mulbahokay13:01
mulbahACTION waiting13:01
ubuntouristACTION is back13:03
mulbahokay13:03
ubuntouristHi again. Or, as oooold IRC users sometimes say "ReHi"13:03
mulbahhahah13:04
tboimahHow are you doing this morning?13:04
ubuntouristOK. So crank up a tmate.13:04
ubuntouristtboimah, now that I've emptied the caffeine from my body, better. ;-)13:05
ubuntouristHow are you both?13:05
tboimahtrying to be good13:05
ubuntouristHaha.13:05
mulbahssh uqsDWgjFTLsK3KJ6r8ReS9bqN@lon1.tmate.io13:05
ubuntouristtboimah, Are you caught up with tbe SSH config file for making your SSH command easier?13:08
tboimahyes i did that13:08
ubuntouristOK, good. 13:08
ubuntouristmulbah, ssh into the server13:08
tboimahi can now ssh the sever with out password13:08
mulbahMr. Cole13:09
ubuntouristToday, I want to look at configuration files and how to make them smaller.13:09
ubuntouristtboimah, did you see what mulbah just typed to login to the server?13:10
tboimahyeah13:10
ubuntouristtboimah, what did he type? Show me here. And does the same command work from your computer?13:10
tboimahhe just type ssh mcss13:11
mulbahwill you make me as sysadmin on the server to day13:11
ubuntouristAnd does that work for you, tboimah 13:11
ubuntouristmulbah, Already taken care of. I did it yesterday.13:11
mulbahokay thanks13:12
ubuntouristtboimah, (If you have set up the config file shown in the logs from Friday, you should also be able to type "ssh mcss" to connect to the server.13:13
ubuntouristtboimah, If you cannot, go back to Friday's log later and study.13:13
ubuntouristMoving forward.13:13
tboimahokay 13:14
tboimahi will do that later13:14
ubuntouristThe /etc/ directory has configuration files that apply to all users. So, on the MCSS server is a good example to work with,13:15
tboimahokay13:15
ubuntouristbecausse we all login to it. It is not our personal computer.. It is a shared resource.13:15
mulbahMr. Cole have you install tmate on the server13:16
ubuntouristmulbah, do you know how to check (without typing the tmate command)?13:16
mulbahI'm not understanding what you mean13:17
ubuntouristOK. Then that's today's first lesson. <grin>13:17
ubuntouristType:13:17
ubuntouristdpkg -l13:18
mulbahin the mcss server13:18
ubuntouristYep.13:18
mulbahokay13:18
tboimahokay13:18
mulbahdone13:19
ubuntouristI'll start explaining what we see here:13:19
mulbahAlright13:19
ubuntouristAre you familiar with ZIP files?13:19
mulbahyeah13:20
tboimahnot really13:20
ubuntouristmulbah, can you provide a short. simple explanation for tboimah?13:21
mulbahokay13:21
mulbahZIP file are file that come close like for example if you download a file you to install something 13:23
mulbahif you download a zip file to install something you have to unzip it first before installing it13:25
*** janet has quit (None)13:25
mulbahACTION done13:26
ubuntouristOK. That's a good start to the story. A little more detail:13:27
ubuntouristOften, several files "belong together". For example, if you have a web page, sometimes you will have images that you want to appear on the page.13:28
mulbahor it's a file that is used to compress one or more files together into a single location13:28
ubuntouristThe HTML text file that you  create with vim, or nano, or Visual Studio, is just text. The PNG or JPG or GIF is an image file that you13:29
ubuntouristwant to be kept with the HTML file. 13:29
ubuntouristWhen you want to provide other people with the same files, you can "zip them together" into a single file, and,13:30
ubuntouristvery imprtant, as mulbah said, it compresses the files.13:30
ubuntouristthe zip program analyzes the contents of each file, and finds a mathematical way to reduce the file size.13:31
ubuntouristA simple -- but wrong -- example, just to give you an idea: Imagine that I have a file that has the contents:13:32
ubuntourist"The quick brown fox jumped over the lazy dog's back."13:32
ubuntouristOops. Let me change tiat a little:13:33
ubuntourist"the quick brown fox jumped over the lazy dog's back."13:33
*** Gap has quit (Read error: Connection reset by peer)13:33
mulbah07_hello13:33
mulbah07_our internet connection drop13:34
ubuntouristWhat's the last thing you saw before it cut you off?13:35
*** tboimah has quit (Remote host closed the connection)13:35
mulbah07_want to be kept with the HTML file13:35
ubuntouristFooey. This makes me crazy.13:36
*** mulbah has quit (Ping timeout: 480 seconds)13:37
mulbah07_it was "want to be kept with the HTML file"13:37
ubuntouristCan you call up a web browser and look at the IRC log for today? Or should I just retype everything?13:37
mulbah07_okay I will13:39
ubuntouristOK. Let me know when you are caught up with the latest. I will wait.13:39
mulbahdone13:42
ubuntouristThe line has "the " twice. But there is no "/" in it. Imagine how the file size would change if you could replace every "the " with "/".13:43
ubuntouristNow the file is "/brown fox jumped over /dog's back"13:44
ubuntouristIf it was a REALLY big text file, words like "the" and "of" and many others would probably appear multiple times.13:44
ubuntouristWith careful analysis, maybe "the" would get replaced with "/", and "of" with "}" or something like that. (Remember: This s a BAD13:45
ubuntouristexample. It is just to show a very simple way of compressing the file. 13:46
ubuntouristThe file will also need information that tells unzip how to change "/" back to "the " and "}" back to "of ".13:46
ubuntouristSo, zip files are files that can contain other files, and are compressed.13:47
ubuntouristNow, on Linux systems, there is a different kind of compressed file, originally for saving data to magnetic tapes.13:48
ubuntouristThese are "Tape ARchive" (tar) files. As a joke, everyone calls them "tarballs".13:49
*** mulbah has quit (Read error: Connection reset by peer)13:50
ubuntouristNow, suppose you add a little more information to a tarball or zip file: Something that says how the files are intended to be13:51
ubuntouristused, when they were created, which directories they should be kept in, a version or revision identification, etc.13:52
ubuntouristThat is what a "package" file is: It's a compressed file that holds lots of other files, and information that says:13:53
ubuntourist"This package is for the application xxxxxxx and it was created yyyy/mm/dd. It is version #####. "13:54
ubuntourist(Keep refreshing your web browser IRC log, if you miss stuff.)13:54
ubuntouristWe are using a variety of Linux known as Debian Linux. The package files are in a Debian package format, and 13:55
ubuntouristsometimes just called "deb files".13:55
ubuntouristWhen you type "apt"  you are using the "Advanced Package (or Packaging) Tool" APT.13:56
ubuntouristapt13:56
ubuntouristapt13:56
ubuntouristSorry. typo.13:56
ubuntouristapt's companion program is "dpkg" for "Debian Package" 13:57
ubuntourist"dpkg -l" lists all of the Debian packages that someone has installed on a computer..13:58
ubuntouristACTION waits for everyone to catch up. Let him know when you are ready.13:58
tboimahACTION done14:00
mulbahACTION done14:00
ubuntouristOK. Back to "ssh mcss" again.14:00
ubuntouristACTION waits.14:00
ubuntouristexport PAGER=most14:01
ubuntouristdpkg -l14:01
mulbahdone14:02
ubuntouristOK. The top four lines are a little hard to explain: The | and / on the left are meant to be14:03
tboimahyou will see the name of the install pakages there version and Architecture14:03
ubuntouristsimple "lines" that point to information. So "Desired" is suppoed to point to the "desired status"14:04
ubuntouristin the first column: "u" for "unknown" "i" for Install. "r" for remove. etc.14:04
ubuntouristThe second column is status wich is "n" for "not", "i" for "installed", etc.14:05
ubuntouristSo, all of the lines start with "ii" = This package should be installed (We desiire it) and it is installed (status).14:06
ubuntouristIf you scroll right you will see a very, very short description of each package.14:06
ubuntouristACTION waits14:07
ubuntouristYep.14:07
ubuntouristOK. mulbah, our question was "Is tmate installed?"14:08
tboimahyeah i am see that14:08
ubuntouristType:14:08
ubuntouristslash tmate (like this "/tmate" without quotes)14:09
ubuntouristNo...14:09
tboimahyes tmate is install14:10
ubuntouristI can't type a / at the beginning of a line in IRC, because IRC thinks I want to type "/me" or "/help".14:10
ubuntouristScrolll left to show14:11
ubuntouristYou are in the search, You have to tell it to search for something first.14:11
ubuntouristOK14:11
ubuntouristNOW scroll left14:11
ubuntouristType14:12
ubuntouristT14:12
ubuntourist(T goes to the TOP of the file. Now do the /tmate again.14:12
ubuntouristNope. That was a colon. /tmate14:13
ubuntouristOnly type the / once. When it says "search" type tmate14:13
ubuntouristDon't put the slash  in the search.14:13
ubuntouristSlash means "search" If you type //tmate you are searching for "/tmate".14:14
ubuntouristRight!14:14
mulbahso tmate is install14:14
ubuntouristSo we can see that tmate is "desired to be installed (i)" and its status is "installed" (i again) "ii" at the start of the line.14:15
ubuntouristBut there's a "better way"14:16
ubuntourist"q" to quit most. and we'll do a better search14:16
ubuntouristACTION waits...14:16
ubuntouristdpkg -l | grep tmate14:17
ubuntouristThat sent the whole list of all installed packages to "grep" which searches files for patterns. We told grep to search the14:18
ubuntouristoutput of "dpkg -l" for the string "tmate".14:18
ubuntouristIt found one match and printed it.14:18
ubuntouristtry14:19
ubuntouristdpkg -l | grep python | most14:19
tboimahit list only the install pakage for python14:20
mulbahI think it's to check all the stuff that is install in python14:20
ubuntouristI added "| most" because I knew your server would have lots of packages that were related to python14:21
mulbahright?14:21
ubuntouristand I did not want them to fly off the screen very fast.14:21
ubuntouristIf "t" means "go to the top of a file, what do you guess would go to the other extreme?14:22
tboimahI think it will be "E"14:22
ubuntouristNot a bad guess, but "e" will mean "edit" instead of "end". Think of another word that might be the opposite of "top"14:23
mulbahb14:23
ubuntouristTry it.14:23
tboimahd14:23
tboimahI think it will be "d"14:24
ubuntouristTry one or the other..14:24
ubuntouristACTION waits...14:24
ubuntouristACTION is not seeing anything in the terminal. Is the connection dropping again?14:25
mulbahno14:25
tboimahIt is "b" to go the end.14:26
ubuntouristSo, mulbah why did you like "b" and tboimah why did you like "d"? 14:26
mulbahhaha14:27
ubuntouristIt was a real question. You each chose a letter.. Explain your choices. 14:28
ubuntourist(short explanation. What words did you think of?)14:29
tboimahbecause i think of down14:29
ubuntouristtboimah, and it does. It means "go down one screen length" on your current screen that's something like 22 lines down.14:30
mulbahbecause "b" is the abbreviation for bottom14:31
ubuntouristtboimah, If the file was 200 lines long, you could type ddddd... to go down 22 lines at a time.14:31
tboimahokay14:32
ubuntouristmulbah, And correct. "b" is "bottom" and jumps directly to the bottom or end of the file.14:32
ubuntouristAnd I bet you can guess what "u" will do.... <grin>14:32
ubuntouristOK. I want to move on to a fancier topic and I hope the connection stays up.14:33
ubuntouristOnly 30 minutes left.14:33
ubuntouristSo try to be quick with typing.14:33
ubuntouristq to quit most.14:33
ubuntouristcd /etc14:34
tboimahit change directory to /etc14:34
ubuntouristNow. I want to find a very large file to use as an example. First, we will use a fancier version of grep called "egrep"14:34
ubuntouristThis is complex so type carefully but quickly if you can.14:35
ubuntouristegrep -cr "^[[:space:]]*#" * 2> /dev/null14:35
tboimahACTION done14:36
ubuntouristNo space before the "*"14:37
ubuntourist And after the 2, a ">" not a "."14:37
mulbahdone14:39
ubuntouristThe egrep searches for "fancier" patterns.14:39
ubuntourist-cr is a quick way to type "-c -r" the "-r" means "recursive: Search the current directory "/etc" and all subdirectories in /etc14:40
ubuntouristwithout the -r it will not search subdirectories.14:40
ubuntouristthe "-c" says "don't show me the lines that match, show me the "count". Give me the NUMBER of lines that mached.14:41
ubuntouristThe pattern "^[[:space:]]*#" is what we are searching for. This is the hardest part.14:42
ubuntourist"^" means "search for the pattern at the beginning of a line. The rest of the pattern MUST be the first thing on a line."14:42
ubuntourist"[[:space:]]" means search for any kind of empty "whitespace". That means search for SPACE characters or TAB characters14:43
ubuntouristthe "*" means "zero or more". So, starting at the beginning of a line, any  number of "whitespace characters"14:44
ubuntouristthe "#" is not special. It means search for a "#"14:45
ubuntouristSo the whole command so far means:14:45
ubuntouristSearch all files in /etc/ and subdirectories for lines that start with zero or more spaces followed by a # and return the filename and the number of lines that match.14:46
ubuntouristActually the second "*" means search all files that have any filename: The first * is part of the search pattern. The second is the14:47
ubuntouristwildcard we talked about before meaning "all filenames".14:48
ubuntouristThe final part "2> /dev/null" says "If there are any errors, I don't care. I don't want to see them in the list. I want you to send14:48
ubuntouristall error messages to a "rubbish bin". "14:49
ubuntourist(/dev/null is the "null device" and is a rubbish bin. "2>" is "error messages should be redirected"14:49
ubuntouristSo, if we look at what we see on the screen now, we can see near the bottom that the file "rgb.txt" in the directory "X11" has no lines14:50
ubuntouristmatching the pattern14:50
ubuntouristX11/rgb.txt:014:51
ubuntouristBut, the file "wgetrc" in the /etc directory (not in a subdirectory of etc) has 109 lines that match.14:52
ubuntouristwgetrc:10914:52
ubuntouristACTION waits for you to drink all that information in from my firehose. <grin>14:52
ubuntourist(I wanted to find all of the /etc files that had comment lines: Lines that start with "#" or "     #" or "           #"14:55
ubuntouristor any number of spaces, followed by "#" these liines are only for a human being's benefit. The applications that use the 14:56
ubuntouristconfiguration files ignore the comment lines.)14:56
ubuntouristNext time we'll continue with this example. I hope.14:58
mulbahokay14:59
ubuntouristTwo minutes left but I'll wait for a few questions about this because it was a big topic. (I was hoping to spend the entire two hours on it, instead of only 30 minutes.)14:59
ubuntouristACTION waits for tboimah to finish and for questions about the command we just explored.15:01
tboimahACTION there is no question15:01
ubuntourist(We won't get into all of the different ways to make a regular expression pattern. It's too big.)15:01
ubuntouristA preview for friday: We're going to search for the file with the largest number of comments,15:02
ubuntouristand then view the file with all of its comments. But then, we'll view the same file without the comments so that we15:03
ubuntouristcan see only the lines that are important to the computer, not the lines that are information for a human reader.15:03
ubuntouristIt is a VERY useful skill for a systems administrator to know which lines are doing work and which lines are just information.15:05
ubuntouristAnd now, I will say good-bye for the day. 15:05
ubuntouristSee you on Friday15:05
tboimahokay good bye15:06
tboimahhave a nice day15:06
ubuntouristACTION waves farewell.15:06
mulbahokay Mr. Cole15:06
*** ubuntourist has quit (Quit: Leaving)15:06
mulbahThanks for the day15:06
*** mulbah has quit (Remote host closed the connection)15:09
*** tboimah has quit (Ping timeout: 480 seconds)15:15
*** mulbah has quit (Read error: Connection reset by peer)15:32
*** mulbah07_ has quit (Ping timeout: 480 seconds)15:48
*** shmohamud has quit (Remote host closed the connection)17:05
*** shmohamud has quit (Remote host closed the connection)18:04
*** shmohamud has quit (Ping timeout: 480 seconds)20:13

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