IRC log of #novawebdev for Wednesday, 2026-09-02

smohamud has quit (Remote host closed the connection)00:37
smohamud has quit (Ping timeout: 480 seconds)05:30
smohamud has quit (Remote host closed the connection)06:17
smohamud has quit (Ping timeout: 480 seconds)07:56
smohamud has quit (Remote host closed the connection)08:36
smohamud has quit (Ping timeout: 480 seconds)09:04
gabriel has quit (Ping timeout: 480 seconds)10:25
jelkner has quit (Read error: Connection reset by peer)10:59
jelkneryesterday i attended nwd meeting. today i start my new class. no blockers.11:00
jelknerACTION done11:00
jelknerapologies, dear comrades11:00
jelkneri had a more detailed summary prepared, but the power went out11:00
jelknerwhere are thomas and daniel?11:00
smohamudStandup: updated CJS Requirements Draft, edited and sent NSS data draft in prep for tomorrow's meeting. Met w/Stephen, Thomas, Gabriel, Daniel yesterday to finalize the Infrastructure App requirements. Pushed updates to JS Class Repo.11:00
smohamudNot blocked. Done.11:00
zOnnyGood morning  team, these past few days I've focused on NS AMS UI improvements, along with work on the LibreOrganize project to set it up using Git submodules. Making good progress on both fronts. No Blockers.11:01
zOnnyACTION done11:01
thomasboimahI attended the project meeting scheduled with Dr. Hubbard. I cloned and reviewed the method that zOnny used to make the Claudia Jones repo use git submodules. I also attended Sahnun's JavaScript and React class. No blockers.11:01
thomasboimahACTION done11:01
freena_Yesterday i started with module 1 on JavaScript. Today i want to continue my css practice and open a git account to put my practice work in it. No blocker for now 11:01
freena_ACTION done11:01
jelkneri only have a few minutes11:01
jelknersince it is the first week of school and i need to be ready for classes11:02
jelknercan we talk about weekend schedule?11:02
smohamudSure11:02
jelknerdcammue_, we had talked about a long meeting on friday11:02
jelknerbut i have a meeting at GMU at 9:30 am EDT (13:30 UTC)11:03
svayeMonday I continued the business renewal process, and I still have some things to take care of as it relates to the business renewal. blocking on finalizing the business renewal 11:03
jelknerare you available saturday instead?11:03
jelknersvaye: if you can't make that, perhaps you can prepare with dcammue_ so he can be ready11:03
dcammue_Good morning, i attended the roadmap meeting yesterday, but i dropped off due to some challenges, today, i will be attending the js class and researching on tax related matter around the virginal tax11:03
dcammue_ACTION donr11:04
gabrielGreetings, every yesterday i attended the meeting with Dr. Stephen on for the fixmycd app, today i was working on setting up the Claudia Jones School repo zOnny created for properly deployment repo that handles everything automatically. there's no blocker now.11:04
gabrielACTION done11:04
jelknerdcammue_?11:04
dcammue_ACTION done11:04
jelkneri have just a few minutes11:04
dcammue_sure11:04
jelknerlet's do this *fast*! please11:04
svayejelkner, Saturday is fine for me11:04
jelknerok, dcammue_, we have our stand up at 11:00 UTC11:04
dcammue_yes, we can have the meeting on saturday 11:05
jelknerright after that, i'll be asking you to show me how to access gnucash for both NWD and JWD11:05
jelknerthat's our agenda, right?11:05
jelknersince you need to show me that before we ask Lindsey to meet with us11:05
jelknerbtw, dcammue_ and svaye, i start my new class today11:06
dcammue_it will be flexible since we all will be on weekend11:06
jelknerhttps://slu.catalog.cuny.edu/courses/1515631/general-aoYks11:06
dcammue_okay, willing if you need my help11:06
jelkneryes, dcammue_, i need your help11:06
jelknerperhaps we can even use jitsi to screen share11:07
jelknerso 11:30 UTC on saturday, yes?11:07
jelknerand you'll be ready to guide me11:07
jelknerplease confirm11:07
dcammue_+111:07
jelknersweet11:07
jelknerthanks!11:07
svayeThat's wonderful jelkner 11:07
dcammue_so, are you teaching the course or learning lol11:07
jelknerno, dcammue_, i'm a student in this one!!11:08
dcammue_okay,11:08
jelknerbut i'll be meeting a lot of wonderful people11:08
jelknerit is a graduate course at City University of New York (CUNY)11:08
dcammue_willing to get a great feedback from you as you encounter great lessons11:08
jelkner+111:09
jelknerthat's why i enrolled11:09
jelknersince this is the kind of training we need11:09
dcammue_sure11:09
jelknerok, until friday everyone11:09
jelkneri have to get ready for students11:09
jelknerACTION signs off11:10
jelkner has quit (Quit: Leaving)11:10
dcammue_hi svaye 11:10
dcammue_hi smohamud 11:10
smohamudGood afternoon comrades :)11:11
zOnnyIs there any questions for me?11:11
dcammue_Good after smohamud 11:11
dcammue_*afternoon11:11
gabrielNot yet for me, zonny11:11
thomasboimahzOnny, that git submodules solution was great!11:11
svayeGood morning smohamud and zOnny 11:11
smohamudGabriel, could you create a Live Share for us and share it in this chat?11:12
smohamudClass will begin shortly.11:12
zOnnythomasboimah: I hope it is the right move, since having theme with multiple branches isn't the most project base repo11:13
thomasboimahI looking into it once I understand it better I will try to do Jetrowebdevelopment and other repo the same way you do Claudia Jones11:13
zOnnythomasboimah: that would be great11:13
zOnnythomasboimah: I know you focus on the React project11:14
zOnnythomasboimah: we will transition into this eventually11:14
thomasboimah+111:14
zOnnythomasboimah: I wanted CJS be the pilot project so we understand the pros and cons11:15
smohamudEveryone please pull the latest repo11:15
smohamudFor Intro to JS Class.11:15
thomasboimahYep zOnny 11:15
zOnnyalright I will let you continue the class11:15
smohamudGabriel - are you getting the Live Share setup?11:16
thomasboimahOkay zOnny have a nice day11:16
zOnnyACTION signs off for the day11:16
zOnny has quit (Remote host closed the connection)11:16
smohamudI'm sure you've all noticed that we have a-lot of disconnections while working with Live Share.11:17
smohamudMore than we have from IRC.11:17
smohamudToday, I want everyone to disable all other VS Extensions temporarily and let's see if it goes smoother for us.11:17
smohamudTo disable, open "Extensions." CTRL + SHIFT + P or click it on the top menu under "View"11:18
gabrieli'm on it gimme a sec11:18
smohamudCorrection: CTRL + SHIFT + X11:19
smohamudWhen there, you can Right Click on the Extension and select "Disable"11:20
gabrielit ain't going on my machine, smohamud11:20
smohamudOk.11:21
smohamudThomas. Could you start a session and share with us?11:21
gabrielyeah it keeps loading forever11:21
smohamudSomething we need to figure out is how to get you guys better WiFi... Collaborative coding will be critical to our success. 11:22
thomasboimahokay smohamud 11:22
thomasboimahon it11:22
smohamudIf it interests you, I will be offering Pair Programming session for those who are interested. I will be "Driving" and directing what to do, and you will be writing the code and navigating the codebase.11:23
smohamudThanks Thomas.11:24
smohamudI've yet to receive the "Developer Experience Survey" from everyone. Is anyone planning to send it that hasn't already sent it?11:25
gabrielthomasboimah is said he's setting up his github account to log into VS code to setup his live11:26
smohamudIf there's one assignment to turn in of all the past and future ones, it's this one. It helps me plan classes and teach at a level that works for you individually.11:27
smohamudYes Gabriel.11:27
smohamudReminder to pull the latest code from Intro to JS repo.11:27
smohamudGabriel, let's see if it works when Thomas shares a link.11:29
smohamudComrades - we're going to have to make the setup process more efficient.11:30
smohamudWe're spending 10-15m *just getting the Live Share going* and it should not be this difficult. Starting next class, we will have someone with a Live Share from the beginning so that during the Standup everyone can begin the connection process.11:31
smohamudDoes that work?11:31
thomasboimahsorry i am trying to get in my github account11:32
smohamudNo worries.11:33
smohamudDo folks like the idea of improving the Live Share process?11:34
thomasboimahhttps://prod.liveshare.vsengsaas.visualstudio.com/join?5CEC0DB58C08469CB9AC8B891F56FBAC203911:34
thomasboimahtheir is it11:35
thomasboimahhttps://prod.liveshare.vsengsaas.visualstudio.com/join?CFDF1A262AD67E3FF1EB384503548696FDD811:36
thomasboimahonly daniel is in11:37
smohamudOk, I see me, you and Daniel are in.11:39
smohamudIs anyone else still trying to connect?11:39
thomasboimahgabriel, is in11:39
smohamudThomas, can you please pull the latest code. I pushed this morning.11:40
thomasboimahdone11:40
smohamudThank you.11:41
smohamudHearing no one else. Let's begin and shoot for max 45m.11:41
smohamudOk, so, before we get started. Does anyone have any questions about what we've gone over up to this point in the class?11:41
thomasboimah-1 from me11:42
jkolliei'm in11:42
smohamudAwesome, I see you jkollie :)11:42
smohamudToday, we're going to begin with two data types that can be confusing.11:43
smohamudNull and Undefined.11:43
dcammue_i want to understand why javascript store object in memory and string in variable?11:44
smohamudGood question, Dcammue. 11:45
smohamudSo, let's clarify "in-memory" vs "in-variable"11:45
dcammue_but both are assigned to variable right?11:45
smohamudBoth are stored in the JS memory.11:45
smohamudYes. They both begin as variables but how they're stored in-memory is different as you suggest.11:46
smohamudThe reason is that JS manages memory through what's called a "Heap" and a "Stack"11:48
smohamudThe Stack allows for efficient operations but it requires knowing in advance the "size" of the variable. 11:49
smohamudThe Heap, where Objects live, is less predictable because after a function executes that same object could grow down the road... So, it's hard to allocate a fixed chunk of memory for an object and instead it gets more space.11:50
smohamudDoes that help?11:50
dcammue_+1, thanks11:50
smohamudPersonally, I don't fully understand the reasoning but in a nutshell, if you look into the Stack vs. the Heap and how they have different requirements that would probably answer your question better than I can at this point.11:51
dcammue_okay, thanks'11:53
smohamudA string is a string, it'll only take so many bits. A Number is a Number, it'll only take so many bits, ever. An Object can mutuate, grow, shrink and if the program is trying to allocate memory *efficiently* then it makes sense that it'll use the smallest allocation possible when it can to save memory. Primitive sizes are predictable.11:53
smohamudOk, any other good questions?11:53
gabrieljavascript is more like c programming from what is being said 11:54
smohamudCorrection, I cross-checked and strings are *not* fixed size and therefore not predictable in size. It's true for other things like Booleans, Numbers, Null and Undefined.11:55
smohamudSo, Strings end up on the Heap along with Objects.11:55
dcammue_okay, that's great11:56
smohamudGabriel - I haven't written C but I wouldn't be surprised if much of the JS Engine was written in C.11:56
smohamudToday let's nail down Null and Undefined. 11:57
smohamudThe most important thing to keep in mind is, as a programmer, set a variable to null when you want to indicate that you're intentionally not including a value.11:58
smohamudundefined is the default for when a variable lacks a value.11:58
smohamudLet's try an example in Live Share.11:58
gabrielsure I guess, Null and Undefined are the same i JS right, Null return nothing undefined are empty variable11:59
dcammue_ACTION needs to drop for like two minutes to setup his username and come back11:59
dcammue_ has quit (Quit: Leaving)11:59
smohamudOk12:01
smohamudThomas can you run the script?12:01
smohamudWho thinks undefined and Null both evaluate to false on their own? E.g. if(null) or if(undefined)12:02
smohamudWhat I just wrote there, and this is new, is how IF statements are done in JavaScript.12:04
smohamudVery straightforward. Just if(condition){ }12:05
smohamudThere are multiple ways to write IF statements but this is the most common.12:05
smohamudOk, anyone want to give it a try ---> Will both evaluate to true? One true one false?12:06
smohamudOk, Thomas, let's go ahead and run it.12:06
smohamudThanks. So, as you can see in the terminal, BOTH evaluate to false. Anyone surprised by that?12:08
gabrielNull always false because it returns nothing which is 0, but for that undefined variable i think it'll return true because there is a variable with no value that's why make it undefined12:08
smohamudGabriel, exactly right on null always returning false. However, in JavaScript, undefined also evaluates to False.12:09
smohamudyou can think about like, if you declare a variable that name now exists as long as you're in the correct scope. No reference error.12:10
smohamudWhether that variable is set equal to null or undefined, both *identifiers* exist and can be referenced. So that doesn't separate null from undefined.12:10
dcammueso if we console.log the totalclasslength, what will be the output?12:11
smohamudWith undefined, imagine you just declare a variable but *don't* set it's value... It's also like asking if "nothing" is true because the value is undefined, there's no sepcific value.12:11
smohamuddoes that help Gabriel?12:12
gabrielsure12:12
smohamuddcammue, just added the log. Before we execute it, what do you expect?12:12
dcammuei am also asking what to expect, 12:13
dcammuebut i expect the program to run and shows nothing for that line12:13
smohamudglad to hear that Gabriel. Boolean logic is often *not* intuitive and languages do it differently. For the comprehensive answer on when to expect a value to evaluate as True, use the MDN documentation (official JS, linked at the top of this file).12:14
dcammuebeside the ' total class length12:14
smohamudLet's run it Thomas12:15
smohamudDid it show nothing?12:16
thomasboimahit show undefined12:16
smohamudYes. Do you see that dcammue?12:16
dcammueokay, copied12:16
smohamudThe reason is that if a variable is *not* assigned a value, JavaScript will go in itself and set it to undefined.12:17
smohamudIt is related to the var keyword hoisting lesson a few days ago. If we declare var totalClassLength = 100 at the bottom of the file and then try to call it at the top, it does not result in a reference error (the name was hoisted!)12:19
smohamudBut, importantly, var is assigned later in the file and remember that programs execute line by line, top to bottom.12:20
smohamudWould you like a quick demo of how logging var before it's declared results in undefined?12:20
smohamudIf not, let's go straight to the last portion for today. Loose vs Strict equality.12:21
dcammuesure12:21
smohamudSo, there are two types ways to determine equality in JavaScript. One is called "loose" equality and it uses two equal signs, like this if(varA == varB)12:22
smohamudThe other "Strict" equality and it uses three equal signs, like this if(varA === varB)12:22
smohamudLet's say you have two arrays with a bunch of numbers, ids. numberIdsArrayOne = [123, 345, 678] and stringIdsArrayTwo = ["123", "345", "678"]12:25
smohamudImagine for whatever reason, your program uses both data types for the ids but sometimes there are places where you want to compare if an id from one is equal to an id from the other...12:26
smohamudYou *could* convert all the ids of one into the data type of the other... Which is more code, and depending on size of the arrays, time consuming. 12:27
smohamudOR, you could use "loose" equality to compare them. Let's do an example of two loops. One using String equality, the other loose equality. Then, we will call it day.12:28
smohamudSounds good?12:28
dcammue+112:28
thomasboimah+112:29
gabriel+112:31
smohamudThomas, please run it and let's see if we get some equalty when it's Loose.12:32
smohamudThis is an overly complicated example... But, just think about it as one loop going through all the stringIds one by one and then for that one stringId, it checks if any of the numberIds are equal. It should log true for each element in the array.12:33
smohamudOh I've been disconnected?12:33
smohamudCan anyone see the code?12:33
gabriel-112:34
thomasboimahhttps://prod.liveshare.vsengsaas.visualstudio.com/join?77C3B17DC8DF07F1905857028ACD95D9A5CC12:34
dcammueno12:34
smohamudCan you see my cursor now?12:35
thomasboimahyes12:35
gabriel+112:36
smohamudGreat. So what I've done here, much simpler example now, is declared two arrays. One "stringUserIds" and another "numberUserIds" then I pull out the first element in each and set them to variables.12:38
smohamudFinally, the IF statement checks if they're "loosely" equal12:38
smohamudtwo equal signs "=="12:38
smohamudIf they are, it will log out a message. If they aren't, it will log out a message saying they're not.12:39
smohamudEveryone following?12:39
smohamudQuestions before we run it?12:39
thomasboimah-1 from me12:39
gabriel-112:40
smohamudThomas please run it.12:40
dcammue-112:40
smohamudOk, as you can see, they're loosely equal!12:41
smohamudNow, let's try with three equal signs.12:41
smohamudIf they're strictly equal12:41
smohamudThomas, please run it12:42
smohamudThat's the lesson on strict vs. loose equality. "Strict' means the data types *must* be the same and JavaScript won't do the work of converting one to the other.12:44
smohamudLoose means, sure, you give me a 2 and a string 2 and I get what you mean. 12:44
smohamudAny questions on anything we've gone over today?12:45
thomasboimah-1 from12:45
smohamudjkollie I noticed you dropped off. Any questions for me?12:45
dcammuequick one 12:46
jkollieI tried reconnecting but couldn't12:46
smohamudgreat, let's hear it.12:46
jkollieam not sure why12:46
smohamudAh, sorry to hear that. We'll have to work on making our connections more reliable.12:47
jkollieokay12:47
dcammueif you add the string 2 and 2 using two(++), it sum up to 2 I believe. just saying something, not really question12:47
smohamudI also disconnected and had to rejoin. My internet speed is ~10Mbps which isn't great...12:47
smohamudSo, that's a related concept, it's called "implicit type conversion"12:48
dcammuesorry *412:48
dcammueso here where the question come in12:49
smohamudIt means that JavaScript, rather than throwing an error wondering why two data types are being combined, will convert one of the data types because it noticed you're doing Math on a string that could be a number. Let's test it!12:49
smohamudLet's run it Thomas.12:52
smohamudNow that's interesting right... 12:53
smohamudThe product is 8 which means that JavaScript interpreted the string "2" as the number 2.12:53
svaye has quit (Quit: Leaving)12:53
smohamudLet's log the data type using typeof the results and see that too real quick.12:54
smohamudThomas please run then we're going to finish for the day.12:55
smohamudWhat we've done is we're multiplying a string by a number, adding strings and numbers, and logging out the resulting sum & product as well as their data types.12:56
smohamudsorry, run again please. That was because otherProduct variable was defined twice..12:57
dcammueso if we add another + to the second console line, it will output 4 instead 2212:59
smohamudSo, yes, dcammue, JavaScript will sometimes allow different types to combine and give us a result. Let's do one last test, combining undefined and a boolean with a string.12:59
smohamudDo folks want to try it or call it a class? I'm getting too into it lol and happy to do this last example if there's interest.13:00
smohamudWe've gone over an hour which we must get better at sticking to...45m is the goal..13:00
dcammuecall it a class!13:01
dcammuethanks for the time13:01
smohamudSounds good! 13:01
dcammuesee you then13:01
thomasboimah+113:01
smohamudLet me know if you have any questions between now and next class. I will be sending out the HW for Friday tonight.13:01
smohamudGood work today and good questions.13:02
thomasboimah has quit (Quit: Leaving)13:03
smohamud has quit (Ping timeout: 480 seconds)13:19
jkollie has quit (Quit: Leaving)13:21
freena_ has quit (Quit: Connection closed for inactivity)13:39
smohamud has quit (Ping timeout: 480 seconds)14:10
gabriel has quit (Ping timeout: 480 seconds)14:16
dcammue has quit (Ping timeout: 480 seconds)14:20
smohamud has quit (Read error: Connection reset by peer)14:51
smohamud_ has quit (Remote host closed the connection)14:52
dcammue_ has quit (Remote host closed the connection)15:27
gabriel_jetro has quit (Ping timeout: 480 seconds)15:33
gabriel_jetro has quit (Ping timeout: 480 seconds)16:07
dcammue_ has quit (Ping timeout: 480 seconds)17:01
dcammue__ has quit (Ping timeout: 480 seconds)17:59
resl has quit (Quit: resl)21:18
resl has quit (Quit: resl)22:14
resl has quit (Quit: resl)22:40

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