IRC log of #novawebdev for Monday, 2026-08-24

zOnny has quit (Remote host closed the connection)02:24
dcammue has quit (Remote host closed the connection)02:32
smohamud has quit (None)05:12
smohamudHi resl :)05:13
smohamud has quit (Ping timeout: 480 seconds)06:15
smohamud has quit (Remote host closed the connection)07:00
smohamud has quit (Remote host closed the connection)07:53
smohamud has quit (Remote host closed the connection)09:02
smohamud has quit (Remote host closed the connection)09:29
smohamud has quit (Remote host closed the connection)10:01
dcammue has quit (Quit: Quit)10:54
jelknerToday I'll attend my back to school staff meeting and begin setting up my classroom. I'll also follow up with Nikita on Decidim set up. No blockers.11:00
thomasboimahI started learning JavaScript and React with the help of smohamud, after the dev team decided to use the existing codebase for the Dr. Hubbard project . I also attended Our Saturday and Sunday work sessions with zOnny. Today I will be meeting with smohamud. No blocker.11:00
jelknerACTION done11:00
thomasboimahACTION done11:00
mulbahGood morning everyone11:01
thomasboimahGood morning jelkner11:01
thomasboimahdcammue, and mulbah 11:01
dcammueGood morning jelkner mulbah and resl 11:01
dcammueyes thomasboimah 11:01
dcammueI started working with smohamud on java script tutorial and i am not feeling well today, i will not stay11:03
dcammueACTION done11:04
jelknerhi all11:04
smohamudmorning all, apologies as I get used to the schedule.11:05
thomasboimahGood morning smohamud 11:05
jelknercan we decide together what we are going to do with stand up meetings?11:05
dcammueGood morning jelkner 11:05
jelknerare we going to have them?11:05
dcammueGood morning smohamud 11:05
jelknerdcammue, i have 10 minutes11:05
jelknerso let's focus so i can go11:06
smohamudStandup: Stephen wants an App that's built in React/Next JS. To complete the App we could either have me do the whole thing, or, we could train Jetro on it.11:06
smohamudThe App is already mostly built, hence why we pivoted to just picking the stack up11:06
jelknerfirst, can we decide on the stand up meetings?11:06
smohamudMy standup is today I spent the morning getting the CJS app running locally, continued writing the CJS requiremetns Doc which is on May First. Met with Tony and Zonny last night to make estimates.11:06
dcammueJetro folks you are talking about jelkner ?11:07
jelknerdo i show up here on wednesday?11:07
thomasboimahwe should keep on having the standup meeting11:07
dcammue+1 you do11:07
smohamudDaily standup works for me at this time.11:07
jelknerok, then can i expect that the other principles will be here too?11:07
jelknersince this will be my only chance to check-in11:08
dcammueokay11:08
jelknerokay, what, dcammue 11:08
smohamudWho are the other principals?11:08
jelkneryou tell me what you want me to do11:08
jelknersmohamud, thomasboimah dcammue 11:08
smohamud+111:08
jelknerthen we need to grow that11:08
dcammuei will try to get to Jetro folk to remind them to attend11:08
jelknerbut for now11:09
jelknerok, we'll try again wednesday11:09
jelknerremember, i'm under a lot of time pressure11:09
smohamud+111:09
jelknerif we take 10 minutes to even start the meeting11:09
jelkneri can't attend11:09
smohamudJeff I'm not sure who's missing11:09
jelknerok, next item11:09
jelknernow no one11:09
jelkner;-)11:09
smohamud+111:09
jelknerok, next item11:09
smohamudIs there a next item?11:10
jelknerthe question of django vs. react11:10
smohamud+111:10
jelkneri understand that y'all decided on react11:10
jelknerso i'm going to voice some concerns and then just watch11:11
smohamud+111:11
jelknerwe need to learn from our mistakes and successes11:11
jelknerwe will eventually need to learn React and JS11:11
jelknerbut here are my concerns:11:11
jelkner1. the current code base is vibe coded AI slop (according to what Stephen basically told me)11:12
jelkner2. it involves learning a new tech stack for thomasboimah and mulbah i guess11:12
jelknerso as a teacher, there are some red flags there11:12
jelknerbut i'll leave it up to y'all to address that11:13
jelkneri keep hoping NWD will right clean code and be proud of its work11:13
smohamud1.) Vibe coded AI slop is good enough for a Demo to a limited set of Democratic organizers11:13
smohamudEven if it is far from ideal / nauseating.11:13
jelkneri'm speaking as a teacher, smohamud 11:13
smohamud2.) This is a long-term investment in them.11:13
jelkneras a teacher, if my students are saying "this is good enough", and i look at it and know it's crap11:14
smohamudAt least, that's how I see it. We're training on one language, but we will be covering concepts applicable to many.11:14
jelkneri will have failed11:14
jelknerBUT11:14
jelknerStephen is the customer11:14
jelknerYou are the dev team11:14
smohamudJeff, can I add you to the Group Chat?11:14
jelkneri'll leave it up to you11:14
jelknerwhat group chat?11:14
smohamudWe have a chat where we have chatted regularly the last week or so.11:14
smohamudIt's a WhatsApp chat with me, Thomas, Mulbah, Daniel, Zonny and Stephen.11:15
jelkneri can't do whatsapp11:15
smohamudIt's how we communicate with him.11:15
jelkneri'm a free software guy who can't install that11:15
smohamudThat's only if you're intersted, I could just update you.11:15
jelknernp11:15
mulbahhahaha jeff hit whatsapp11:15
jelkneri appreciate it11:15
jelknerbut no, please leave me out of it11:16
smohamud+1 (Not having WhatsApp in Nairobi is near impossible).11:16
jelknersmohamud, i understand11:16
jelknerjust remember, if i keep agreeing that now we just do corporate tech11:16
smohamudI appreciate your concerns about the "Slop" being made but we're going in not thinking this will be production ready. It's an MVP, the kind of thing AI is good for. It probably won't scale11:16
jelkneri will really want to turn this whole thing over to y'all and take up gardening11:16
jelknerif i can't make the world a better place throught my efforts11:17
jelkneri just don't want to do it11:17
jelknerso i'm not going to ask you to eat pork11:17
smohamudlulzz one day11:17
smohamudloool11:17
jelknerbut i won't stop you if you do11:17
jelknerplease don't ask me to use whatsapp11:17
jelknerfor me, that's eating pork11:17
smohamud+111:17
smohamud+111:18
jelknerok, i've got to go in 2 minutes11:18
jelkneranything you need me to do before i leave?11:18
thomasboimahjelkner, is it possible you give me access to the server where the CJS website is hosted?11:18
jelkneryes, thomasboimah 11:18
smohamudWe are dealing with another potential Pork situation with Claudia Jobes.11:18
jelkneri will work on that today11:18
jelknertomorrow's Tuesday meeting at the latest11:19
smohamudThey want something that integrates easily into GCal, iCal 11:19
jelkneryes, smohamud 11:19
smohamudBut, it's possible they don't want it to sync both ways.11:19
jelknerwe will sometimes need to do that11:19
jelknerthey are comrades11:19
smohamudIf they don't we have a solution: ICS file downloads and simply making the UI/UX of our custom calendar better (easier to add / edit events).11:19
jelknerdante clearly gets both the political and short term practical implications of all this11:20
jelknerwe need to learn to navigate it11:20
jelknerwe're not alone11:20
smohamudWhat do you think about us clarifying requirements and then collectively voting on whether we'll support Google API integration.11:20
smohamud?11:20
smohamud(Assuming, worst case, they do want capability that requires Google API integration).11:20
jelknerthey are going to need that11:20
jelknercalendar at least11:20
jelknerbut Google calendar supports CalDAV11:21
jelknerit is often the case that the evil empire is still forced to support some open standards11:21
smohamud+111:22
jelknersince they need their shit to work with everything11:22
jelknerthey try to kill freedom11:22
jelknerbut when they fail, they "embrace and extend" as a strategy11:22
jelknerwe need to get good at working with that reality11:22
smohamudwell said11:22
smohamudprobably one of our biggest struggles...11:22
jelknerok, thomasboimah expect to hear from my later today11:23
thomasboimahOkay jelkner thanks11:23
jelknersee y'all wednesday, same time, same place11:23
smohamudThomas and Daniel: can you provide updates on what you've worked on since we last met?11:23
jelknerACTION signs off to go the GHC11:23
smohamud+111:23
jelkner has quit (Quit: Leaving)11:23
smohamudI shared mine. No blockers.11:24
thomasboimahsmohamud, I have been reading and practicing on the assignment you send about Variable and Function, I try to use that know to working on the api/trending 500 on the FixMyCd project11:25
thomasboimahsmohamud, I did give my update, Please read the log11:25
thomasboimah*knowledge11:26
smohamud+111:26
thomasboimahthomasboimahI started learning JavaScript and React with the help of smohamud, after the dev team decided to use the existing codebase for the Dr. Hubbard project . I also attended Our Saturday and Sunday work sessions with zOnny. Today I will be meeting with smohamud. No blocker.11:26
thomasboimahthat was my update...11:26
smohamud+111:27
smohamudDaniel?11:27
smohamudOk, let's come back in 30m for a 30-45m class on JS. We'll do variables, then, we can debug the 500 error.11:28
dcammueI did not work on some project i just watched a js tutorial video on yesterday. But am not feeling well11:28
thomasboimahsmohamud, when did you, zOnny and Tony have that meeting concerning the CJS project?11:28
thomasboimahI want to be involve11:28
dcammueso i ill not stay long today11:29
smohamudI am sorry to hear you're not feeling well. Take any time you need, we'll make sure you're caught up with what we cover. 11:29
dcammuei run the code the last time and it run11:29
mulbahWhere will the class be host 11:30
smohamudMy bad Thomas, I thought you got it from the chat between Zonny and I yesterday. Will make sure you know before the next one :)11:30
thomasboimahOkay thanks11:30
smohamudWe're going to do interactive VS code.11:31
smohamudOne of you can make the link, we'll join from there.11:31
smohamudMulbah did I miss your update too?11:32
smohamudNot seeing it in the logs.11:32
mulbahwhich update 11:32
smohamudStandup - what you've been working on since the last check-in11:32
mulbahI did know because I drop off doing the class but I can do it now using tmate so you can see it11:33
dcammuecan i share the link but i do not want to do so because i may not stay long11:33
smohamudNo worries Mulbah11:34
smohamudDo you guys want to just start now instead of 12pm UTC?11:35
mulbahAnytime for me11:35
dcammuecan i share the live vscode so you can copy the work we did this gone time or you will start from scratch11:35
smohamudNow that we have a regular standup and all in attendance, why don't we just make it a habit Mon, Wed, Fri to follow-up with our quick class?11:36
smohamud+1 Dcammue11:36
dcammue12 Utc is fine for me. if you like now, we go go11:37
smohamudIt will be a short class so we should be good. Now's even better on my end.11:37
smohamudOk, let's get that link in the IRC so we can start cooking :)11:37
dcammuehttps://prod.liveshare.vsengsaas.visualstudio.com/join?64094D43128B0F3C03554444232B88FFEEFE11:38
smohamudNext class, Wednesday, please have the homework completed if possible. Again, it's not graded it's just to see where you're at with variables and functions as concepts.11:38
dcammueokay11:39
smohamudMulbah is missing. You joining?11:40
smohamuddcammue can you open the file we worked on?11:40
dcammuethe file is opened11:41
dcammuecan you see the code in vscode11:41
smohamudNot seeing it...11:41
smohamudLet me rejoin.11:41
smohamudOk we're in.11:43
dcammueokay welcome11:44
smohamudVar, let and const each have their own "scope"11:44
dcammueso i comment that last line out because it prevented the code from running11:44
smohamudThey are the keywords used to define 99% of JS variables (barring Globals)11:44
smohamudThat's fine, we're going to make some changes anyhow because I realize we stretched far with the "this" and "execution context"11:45
dcammueokay11:45
smohamudWe're going to start by declaring a variable with var and see where it's defined, and where it's undefined.11:45
smohamudIf we get through let, var, const in simple examples we'll conquer the function we started that goes deeper.11:46
dcammuesure11:46
smohamudcomrades, who thinks var is defined inside the for loop?11:48
dcammueyes11:48
smohamuddaniel, can you open a terminal and run it for us using node "test.js"11:49
smohamud(without the quotations)11:49
smohamud+111:49
smohamudMulbah, Thomas?11:49
mulbahYes11:49
thomasboimahyes11:50
smohamud+111:50
smohamudDaniel, there's no shared terminal.11:50
smohamudLet me know if I can help.11:50
smohamudWho thinks var is defined outside of the function?11:52
dcammueokay11:52
dcammuelet me run the code11:52
smohamudOk, try to share the  terminal so we can take a look11:53
smohamudperfect11:53
thomasboimahit is11:53
mulbahsmohamud I'm not understanding your question 11:53
thomasboimahbecause var is function-scoped, not block-scoped for what i know.11:54
smohamudI'm asking is it defined outside of the function we declared, helloWorld?11:54
smohamudThe function is enclosed in the two outer-most curly brackets.11:54
mulbahNO11:54
smohamudLines 5-16.11:54
smohamudOk, Thomas you mentioned "yes" can you share why it would be defined outside of the helloWorld function?11:55
mulbahIt's define in the function11:55
smohamud+111:55
thomasboimahI did: because var is function-scoped, not block-scoped for what i know.11:55
smohamudThat's true11:55
smohamudHowever, look what line I print the second time. 11:56
smohamudIs it in the function?11:56
thomasboimahline number please11:56
smohamudline 1811:56
thomasboimahthat is out of the function11:57
smohamudRight. 11:57
thomasboimahgot you11:57
smohamudThere's a nice looong error in the console.11:57
mulbah has quit (Remote host closed the connection)11:58
smohamudThis is the error we're getting: ReferenceError: name is not defined11:58
smohamudReference errors typically point to forgetting whether to use let, var or const when defining a variable.11:58
smohamudDaniel, are you following?11:58
dcammueys11:58
dcammue+111:59
smohamudAnd - does anyone have any questions?11:59
mulbahYes 11:59
smohamudGo for it11:59
dcammueno for now11:59
smohamud+112:00
mulbahHow dose JS process memory like you have the var variable declare up and you can't use it down 12:00
smohamudThat's a really good question. Would you mind if I write that down and we revisit it next class?12:01
mulbahokay No problem12:01
thomasboimahsmohamud, quick question12:01
smohamudawesome, yes?12:02
thomasboimahIf var is function-scoped and let is block-scoped, why is var name accessible inside the for loop, but not outside the helloWorld function?12:02
smohamudgreat question.12:02
mulbahI have a little explanation for that question if you don't mine12:03
smohamudSo, "function-scoped" is a fancy way of saying "anywhere within the top and bottomo of the function.12:03
smohamudOh please go for it Mulbah12:03
mulbahOkay12:04
mulbahIt's because of something call hoisting in JS12:04
smohamudWe're going to wrap up in the next 10-15m12:04
smohamudso we've got to move.12:04
mulbahWhen it encounters the var variable declaration12:05
mulbahThree things happened instantly in the memory12:06
mulbah1. Memory Allocation 2. Hosting and 3. Automatic Initialization 12:07
mulbahfor the allocation the engine allocates a space on the call stack or variable environment12:07
smohamudMulbah, I'm really happy how deep you're diving. We will dive deeper in a future lesson :)12:08
resl has quit (Ping timeout: 480 seconds)12:09
mulbahoh okay I think I can just stop here12:09
mulbahBecause I wanted to explain why JS is a single threaded programming language because it all in line with how it process things on the call stack 12:10
smohamudFor now, you can think about the for loop being "inside" of the helloWorld function. But are you up for an example to see what happens if we declare var in the loop instead of in the top of the function?12:11
thomasboimahThanks, Mulbah. I understand the memory allocation and hoisting part. But I’m still trying to understand how that connects to my original question about why var name is accessible inside the for loop but not outside the helloWorld function. Is that specifically because of function scope?12:13
mulbahI talk about the call stack 12:14
smohamudThomas, no need to dive to deep in the weeds. The reason it was not defined is because the function scope is only what's *inside* the function. Line 18, we are outside of helloWorld and that's outside of the function-scope. 12:15
mulbahI can't just explain the call stack with out talking about these three thing I mention 12:15
smohamudDoes that help?12:15
thomasboimahsure smohamud 12:15
smohamud*We will dive deeper later.12:15
thomasboimahgot you mulbah 12:15
smohamudThe for-loop is not "outside the function scope" because while it is it's on block-scope, that block is contained in the function.12:16
smohamudDoes that help?12:16
thomasboimah+112:16
smohamud+1 and remember to please email me questions in between.12:16
smohamudNow we're going to do a test with const.12:17
smohamudconst means once this is assigned, there's NO reassigning it.12:17
smohamudWe can always do var name = "sahnun"12:17
smohamudname = "mulbah"12:17
smohamudand when we log it out, it will say "mulbah"12:18
smohamudBut, if we do const="sahnun"12:18
smohamudsorry, const name = "sahnun"12:18
smohamudname = "mulbah"12:18
smohamudThis will throw an error, because const does *not* allow reassignment. 12:18
smohamudConst is short for "Constant" - it protects and signals to developers that "oh, this *shoudln't* be reassigned at any point in the program. It's meant to be attached to the same value.12:19
smohamudWho thinks we can declare a for loop with "var" instead of "let" (see: line 15)12:19
smohamudMore importantly, who thinks we can define a for loop with "const" instead of "let"12:20
smohamudspecifically, the iterator, "i"12:20
dcammuei would wish to test it but i have not try it yet12:21
smohamudfor(let i=0; ...12:21
smohamudAlso, dcamme can you run what we have real quick?12:21
smohamudIt runs.12:22
mulbahI think you can't declare a const variable with out giving it a value right example "const name;"12:22
smohamudNow, Thomas can you change let to "const"12:22
smohamudin that loop12:22
smohamud+1 Mulbah. 12:23
smohamudSo we can do var name, age, person;12:23
smohamudlet name, age, personalityType;12:23
smohamudconst will error12:23
smohamudThanks for changing to const.12:24
smohamudNow, can you run it again Daniel?12:24
smohamudone more time12:25
smohamudI think I commented the curly brace by accident.12:25
smohamuddcamme please run one more time.12:25
smohamudOk, the const was missing. It's back so one more time please.12:26
mulbahIm out of the live share 12:26
mulbahI trying to rejoin no way12:26
dcammuehttps://prod.liveshare.vsengsaas.visualstudio.com/join?64094D43128B0F3C03554444232B88FFEEFE12:27
smohamudOk, well we are out of time but this is the last example for today so we can watch how const will *refuse* to be reassigned in the loop.12:27
mulbahThanks 12:27
smohamudDcammue, please run in terminal 12:27
smohamudAs we can see, it said "nooo" thank you. Next time, we will go over "let", functions and when it makes sense to use let/var/const. 12:28
smohamudSound good?12:28
smohamudfor( const i=0; i<3; i++){12:29
smohamud                      ^12:29
smohamudTypeError: Assignment to constant variable.12:29
smohamudSound like a plan for Wednesday?12:30
smohamudAnd - anything you found particularly challenging about today, or something I did that was helpful that I should keep doing, please let me know :)12:31
dcammueokay12:32
mulbahOkay 12:32
thomasboimahalright12:32
dcammuei follow all what you did today12:32
smohamudPerfect. Please email with feedback, positive & negative both strongly encouraged! I really enjoy working with you guys.12:33
smohamudHave a wonderful rest of your day. I will see you at standup tomorrow :)12:33
dcammuesee you on Wednesday smohamud or tomorrow meeting12:34
dcammueit is Wednesday standup-meeting smohamud 12:34
smohamudAh, gotcha. Wednesday if not tomorrow :)12:34
dcammuehi resl 12:35
smohamudhi Resl :)12:35
smohamudSee you tomorrow comrades. Resl - just let me know when's good to meet :)12:35
mulbahSee you too smohamud 12:37
smohamud has quit (Read error: Connection reset by peer)12:37
mulbah has quit (Quit: Leaving)12:46
thomasboimah has quit (Quit: Leaving)12:48
dcammue has quit (Ping timeout: 480 seconds)15:11
resl has quit (Ping timeout: 480 seconds)16:28
smohamud has quit (Ping timeout: 480 seconds)17:25
resl has quit (Ping timeout: 480 seconds)19:03
dcammue has quit (Ping timeout: 480 seconds)19:58
resl has quit (None)19:58
smohamud has quit (Ping timeout: 480 seconds)20:30
dcammue has quit (Ping timeout: 480 seconds)21:03
smohamud has quit (reticulum.oftc.net helix.oftc.net)22:13
smohamud has quit (Ping timeout: 480 seconds)23:09
resl has quit (Ping timeout: 480 seconds)23:31

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