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

resl has quit (Ping timeout: 480 seconds)00:04
anthony_p has quit (Ping timeout: 480 seconds)02:53
smohamud has quit (Ping timeout: 480 seconds)06:38
smohamud has quit (Remote host closed the connection)07:32
smohamud has quit (Remote host closed the connection)08:00
anthony_p has quit (Ping timeout: 480 seconds)08:15
smohamud has quit (Remote host closed the connection)08:55
smohamud has quit (Ping timeout: 480 seconds)10:36
smohamudGood morning comrades11:00
smohamudAnd good afternoon11:00
gabriel_jetroGood afternoon smohamud 11:00
jkollieGood morning smohamud 11:01
smohamudStandup update: worked on data-definitions document with Zonny & Tony yesterday. Continued working on Requiremenst document for CJS. Meeting planned for Tuesday with client Stephen to lock-in requirements. Prepped JS class.11:02
smohamud*not blocked11:02
zOnnyGood morning everyone11:03
gabriel_jetro Good morning zonny 11:04
jkollieGood morning zOnny 11:05
zOnnyHey team, this weekend I've been working on some NS AMS updates and doing some thoughtful research into the best way to launch a project-based LibreOrganize. Taking the time to plan this out properly to make sure we get it right. No Blockers.11:06
zOnnyACTION done11:06
dcammueGood morning folks11:06
jkolliethomaboimah said he's having issues joining the hexchat this morning, that his connection keeps failing and being unreachable.11:07
dcammuezOnny, how every thing been going?11:08
zOnnyPlease don't mind my present in this meeting, I know it is most Jetro's meeting. I just got connected due that I'm not at my current job right now11:08
dcammueno, no worry zOnny, we are all one ;=)11:09
zOnnydcammue: life is good11:09
zOnnydcammue: how are you feeling11:09
jkolliedcammue: 11:09
dcammuei am feeling much better now11:09
dcammuejkollie, 11:09
dcammuehow are you11:09
smohamudany other updates before we get to the Intro to JS class for today?11:10
zOnnydcammue: good to know dcammue 11:10
smohamudwelcome Mulbah11:10
dcammuezOnny, thanks11:10
zOnnyACTION let the meeting continue and goes back to his research11:10
smohamudI have only received the Developer Experience Survey from Thomas.11:11
smohamudHas anyone else completed it? 11:11
jkollieI'm okay, did you see the message I sent from thomaboimah 11:11
dcammueyes, jkollie 11:11
zOnny has quit (Remote host closed the connection)11:12
smohamudI did not11:12
jkollieIt's okay smohamud, Is in this chat 11:13
smohamudOh, gotcha.11:14
smohamudthanks11:14
smohamudNo worries for Thomas.11:14
smohamudOk, are there any other updates? If so, please write in the next 2m11:14
jkollie I think 111:14
jkollieLn11:14
jkollie0p11:14
smohamudDcammue - can you start the Live Share session?11:15
jkollieHe's trying to fix that 11:15
dcammuesmohamud, if that question comes to me as well, i don't think i may have knowledge of that survey, neither seeing it before11:15
dcammueokay, i will start it11:15
smohamuddcammue, I sent to your jetro email a few days ago.11:16
smohamudthanks11:16
dcammuehttps://prod.liveshare.vsengsaas.visualstudio.com/join?2B74EC0604942729B525AE5BD6DB5C104F0011:16
smohamuddcammue, please pull the latest code down. I pushed a few things this morning.11:17
smohamudGabriel, Mulabj, Janet great to see you. Please join the Live Share link dcammue just pasted.11:18
smohamudCan you navigate to the data_types.js?11:21
smohamudwe will modify it directly. Don't be afraid to touch the files.11:21
smohamudSo far, we've got Mulbah and Daniel. Gabriel & Janet - let me know if there's anything I can do to help you get in.11:22
dcammueokay, i am there11:22
smohamudWe will give 3m for everyone to get in.11:23
mulbah has quit (Remote host closed the connection)11:24
smohamudOk, let's get started.11:25
smohamudMulbah - are you reconnecting?11:25
mulbahNo11:25
mulbahI'm already connected11:25
smohamudTo the Live Share? I don't see you anymore.11:26
smohamudOk, there you are.11:28
smohamudAlright. Today's lesson is on Data Types.11:28
smohamudMulbah and Daniel, what are some data types that you're familiar with from other languages?11:28
mulbahlist, string, object11:29
dcammuestring, number object11:29
mulbahint, float, 11:29
mulbahset11:29
mulbahtuple 11:29
mulbahyes I think that it11:30
smohamudSolid11:30
smohamudOk, Javascript there are two types of data. Primitives and Objects.11:31
smohamudSorry, two categories of data.11:31
smohamudEach of those categories has multiple types.11:32
mulbahsure11:32
smohamudIs an array a primitive or an object?11:32
mulbahI almost get confuse just now11:32
smohamudOh, what're you thinking?11:32
smohamudWas it my data types point?11:32
mulbaharray is a object11:33
smohamudIn javacript, yes, arrays are of type object. Daniel, let's use typof [] and see what comes out.11:34
mulbahokay11:34
smohamudCan you run this Daniel?11:35
smohamudHere's a tip Daniel, if you want to autocomplete the name of a file in the terminal, you can press the "Tab" key once if it's the only one and twice if there are multiple that start with the same chars11:36
smohamudone more level down11:36
smohamudcd into in-class-examples11:36
smohamudEveryone see the output?11:37
mulbahyes11:37
smohamudif you're ever curious about the type of a variable, just slip in typeof [variable name]11:37
smohamudIt will tell. So, an array is of type object. 11:38
smohamudLet's start with the primitive types: String, Number, Boolean, Undefined, Null11:40
smohamud*Everything else is an object, some of which have special types but are treated as objects in memory.11:41
smohamudcapitalCity and coopName are both Strings.11:41
smohamudWe're used to strings from other languages, so let's continue. 11:42
smohamudThe next type is "Number" this is a little different (please read along, we're on line 13)11:42
smohamudNumber is for numbers, naturally, and there's a new primitive that was introduced in a recent JS version called BigInt that handles numbers greater than 1 trillion (roughly) with precision.11:43
smohamudThere's no floating point, Integer, etc that other languages break down into multiple types for numbers. This is a JavaScript quirk.11:44
smohamudMulbah, can you define a variable called decimalNumber and assign it to a decimal, and finally console.log it?11:45
smohamudwith typeof [variable name] to see if it gives anything besides Number?11:46
smohamudgreat start. Now, let's log it and see the type11:47
mulbahI should print the type of it too11:48
smohamudI like the string interpolation, but yes please include the type using typeof11:48
smohamudperfect.11:49
mulbahI don't have access to run it in the terminal DC you can just do it11:50
smohamudAnd good use of let. It's much better than var since var will let you run into undefined if it's referenced improperly. Good rule of thumb is to use const unless otherwise you have to reassign.11:50
smohamudDcammue, please run it.11:51
smohamudWelcome Gabriel, are you looking to join class?11:51
smohamudWe just got disconnected.11:51
mulbahI'm still in11:52
dcammueyour are not in?11:52
dcammuehttps://prod.liveshare.vsengsaas.visualstudio.com/join?2B74EC0604942729B525AE5BD6DB5C104F0011:52
smohamudOk, I'm coming back. Was prob just me11:52
smohamudDid it run?11:53
smohamudWhat was the output11:53
dcammueyes11:53
smohamudWelcome Thomas11:53
thomasboimahGreetings comrades11:53
smohamudhttps://prod.liveshare.vsengsaas.visualstudio.com/join?2B74EC0604942729B525AE5BD6DB5C104F0011:53
thomasboimahSorry my connection was giving my so headache11:53
thomasboimah*me11:53
thomasboimah*some11:54
smohamudno problem. Today we're discussing Data Types in JavaScript11:54
smohamudI'm back in.11:54
smohamudSo, what's the type of that Decimal?11:55
dcammuenumber11:55
smohamudExactly. Now, let11:56
thomasboimahfloat11:57
thomasboimahoopss11:57
smohamudlet's run to see the types of coopName, capitalCity, isJetroAwesome, membershipCountNextYear and expectedRainfall11:57
smohamudFirst, read the variables and their values, then, anticipate what the type will be.11:57
smohamudDcammue, please execute the script in 30s.11:58
smohamudok11:58
smohamudOk, so the output is showing the types of the variables defined at the top. 12:00
smohamudThese are the primitives. Now, for object types, for now, let's just focus on Object itself, the kind we're used to that store key-value pairs.12:01
smohamudBut before that, are there any questions?12:02
thomasboimahyes12:02
smohamudgreat, let's hear it12:03
thomasboimahWhy this const hoursInOneDay = 24; print "number" not "interger"?12:03
mulbahJavaScript have this one name called number that it give both float and int12:04
smohamud_This is because programming languages have different sets of primitives, and rather than have a separate primitive for Integer, Number incorporates decimal and integer12:05
smohamud has quit (Remote host closed the connection)12:05
thomasboimahcool12:05
thomasboimahthat clear12:05
smohamud_That said, JavaScript recently introduced BigInt type. Which makes massive integers more precise.12:06
thomasboimahjust want to here 12:06
smohamud_Really good question.12:06
thomasboimah*wanted12:06
smohamud_Any other questions?12:06
gabriel_jetro-112:06
thomasboimah-1 from me12:07
mulbah-1 but I have a subjection 12:07
dcammue-112:07
smohamud_Ok, so another thing to note before we move on is the difference between Null and Undefined. This is a lesson in itself, but in a Nutshell, use null when you want to make clear that this variable is supposed to be empty at this point in the program. Undefiend is the default for all variables.12:07
mulbahwe can do a coding challenge every weekend 12:07
smohamud_Sure, I will start adding challenge problems to the HW on Fridays. But I need you all to start completing the HW regularly and on time.12:08
smohamud_Deal?12:08
dcammue+112:09
thomasboimahyes!12:09
gabriel_jetro+112:10
mulbahokay12:10
smohamud_Ok, challenge problem(s) will come Fridays with the HW.12:10
smohamud_We have 5m left.12:10
smohamud_Does anyone have any questions for me now?12:10
smohamud_If not, let's move on.12:10
mulbahokay12:11
smohamud_JavaScript has a unique way of handling "equality" between two values. 12:11
dcammueso, we use the 5minutes to solve our last bug on Friday?12:12
smohamud_There's "loose equality" which is when you do something like: variableA == variableB (using two "=" signs)12:12
smohamud_Then, there's strict equality, when you do something like: variableA === variableB (using three "=" signs).12:13
smohamud_I want you to debug it for Homework and then we can discuss Wednesday. I'll give you a hint, the reference error is because what we're logging out can't be found in the scope that the console.log() is in... Read the variable names carefully...12:14
smohamud_Does that work?12:14
dcammuei did found the bug already12:14
smohamud_Oh, nice!12:14
smohamud_Well, that's good practice and you can tell us about your process next time if you'd like to share.12:15
dcammueso is not really important if we go back, i think ;-)12:15
dcammueokay12:15
smohamud_Comrades, it's 3:15pm. Last question is for everyone to read jetroMember and anotherJetroMember values... Are they identical?12:16
dcammueyou mean copyofjetromember?12:17
smohamud_Sorry, yes that's what I meant (session disconnected)12:17
smohamud_Now, who thinks the two objects will result in being equal if we use "loose" equality (the kind that is not super strict and will evaluate "24" the string as equal to 24 the number12:18
smohamud_?12:18
dcammuethey appear to look the same but different in structure12:18
smohamud_What's the difference in structure?12:19
smohamud_I see, good catch. Erase the quotations around the city key for the copyOfJetroMember12:19
smohamud_Now that the structure is *identical* who thinks it will evaluate to "True" if we test jetroMember == copyOfJetroMember?12:20
dcammueyou have city: 'Monrovia', for jetromember, and 'city: monrovia' for copyofjetromember12:20
thomasboimahNo. jetroMember and copyOfJetroMember are not identical objects. Their property values are the same, but they are two separate objects in memory.12:20
smohamud_[Loose equality, not strict]12:20
smohamud_Ok, Thomas, thank you for your response. Gabriel, Daniel and Mulbah, what do you think if two objects with the same exact properties are set equal with the loose equality operator? Will it evaluate True or False?12:21
dcammueyou have city: 'Monrovia', for jetromember, and 'city': 'monrovia' for copyofjetromember12:22
smohamud_Yes please remoe the quotations from 'city'12:22
smohamud_So they're properly equal.12:22
smohamud_or "Identical"12:22
smohamud_abriel, Daniel and Mulbah, what do you think before we execute the script?12:23
smohamud_True for "==" or false?12:23
smohamud_Thomas says false12:23
dcammuethey now have different name but same value and data-type12:23
smohamud_exactly12:23
gabrielTrue12:24
smohamud_I'll give 1 more minute for folks to share a response.12:24
smohamud_Thank you Gabriel12:24
smohamud_Thomas says False12:25
smohamud_Gabriel says True12:25
smohamud_Since there are no other takers, please execute the script Daniel.12:25
smohamud_Once it executes, please write in the chat what the results are for the "loose equality" and "strict equality" of the jetroMember and copyOfJetroMember.12:26
thomasboimahdcammue, and smohamud_ i get drop for the share 12:27
thomasboimah*from12:27
smohamud_Me too Thomas but don't worry, we're done after this test. Also, you can open the Repoo locally after you pull the latest and run it there :)12:27
smohamud_Daniel - do you see the output?12:28
dcammuehttps://prod.liveshare.vsengsaas.visualstudio.com/join?2B74EC0604942729B525AE5BD6DB5C104F0012:28
dcammueno result shows12:28
smohamud_Uncomment the lines where the equality is done it should say12:29
smohamud_console.log("Is any object equal to another object, strictly : ", jetroMember === copyOfJetroMember)12:29
smohamud_console.log("Is any object equal to another object, loosely? : ", jetroMember == copyOfJetroMember)12:29
smohamud_CTRL - K - U or erase the double "//" before the line to unccoment.12:30
smohamud_after highlighting the part to uncomment.12:30
smohamud_Mulbah you don't want to share what you think will output?12:31
dcammuedcammue@gnucash:~/jstutorial/introduction-to-javascript-class/in-class-examples$ node data_types.js12:31
dcammueType of jetroMember:  object12:31
dcammueIs any object equal to another object, strictly :  false12:31
dcammueIs any object equal to another object, loosely? :  false12:31
dcammuedcammue@gnucash:~/jstutorial/introduction-to-javascript-class/in-class-examples$ 12:31
mulbah has quit (Remote host closed the connection)12:32
dcammuesmohamud_, did you see the result?12:33
smohamud_Well, there it is! Gabriel, the reason why is what Thomas began explaining about "memory." In JavaScript every object gets its own "reference" in memory which has a "pointer" 12:33
smohamud_Yes I see the result. Whenever a variable is assigned, it's either assigned to the actual *value* OR it's assigned to a memory address, a "reference"12:34
smohamud_Imagine that instead of the actual data, you're given a map to the data.12:34
smohamud_With directions on how to get to it.12:34
smohamud_Every single Object always has its own Address in the memory, so when comparing two Objects, it checks "are the addresses identical" and they won't be because each Object is assigned its own address.12:35
dcammueso that's mean, Java script compares two Array using their reference in memory?12:36
smohamud_But primitives, like 1, "Jetro Web Development" or true will have the actual data in the variable so those comparisons will evaluate true for two different variables with the same value.12:37
smohamud_Bingo! JS equality doesn't check if the actual data is equal, it checks if that memory address is equal...Which will not happen since new object type variables get their own address.12:38
smohamud_Ok comrades we've gone over but this was a great and important session.12:39
smohamud_Any final comments or questions for me?12:39
smohamud_Gabriel - do you see why it didn't evaluate to True?12:39
gabrielsure12:40
thomasboimahsmohamud_, question12:40
smohamud_awesome.12:40
smohamud_Yes Thomas?12:40
thomasboimahit is two question tho12:41
smohamud_Ok, let's hear them12:41
thomasboimah1. If two objects have the exact same properties and values but are stored as different objects in memory, what is the proper way in JavaScript to check whether their contents are equal? 2. When two variables reference the same object, what exactly is stored in memory for each variable, the whole object or just a reference to the object?12:43
smohamud_Great questions.12:43
smohamud_For 1.) two objects with same exact properties will never evaluate to be equal *unless* one of them was assigned to the same value as the other. E.g. objA = {}...objB = objA12:44
smohamud_This is because Javascript evaluates objects by their address in memory, and when you set objA = objB, now objB is just pointing to the same memory address as objA.12:45
smohamud_For 2.) You're on the right track here, it's just a reference.12:46
smohamud_objA might have reference ID of "#ABCD1234" and if objB is set to objA it will also be "#ABCD1234". 12:46
thomasboimahcool!12:47
thomasboimahThanks12:47
smohamud_Thank you for the great questions.12:47
smohamud_Keep in mind: "the whole object" as in the raw object value is never stored in a JavaScript variable. All objects point to memory addresses that contain the actual data.12:48
smohamud_This is partially why computations on primitives are faster, there's no step to go from memory address to actual data. The data *is* the value.12:50
thomasboimahI see12:50
smohamud_Ok, any final questions?12:50
thomasboimah-1 from me12:50
thomasboimahsmohamud_, is the requirement complete for Dr. Hubbard project now?12:51
smohamud_Ok guys, was today's class helpful? Anything I can do to better teach?12:51
smohamud_The meeting with Dr. Hubbard is supposed to be tomorrow at 12pm PDT. Can you make it?12:52
thomasboimahSorry I am not really contributing that much on that project since i am still learning the stack. That is why i am greatful you are their to help.12:52
smohamud_*around 12pm, he said before 11:30am is not good.12:52
thomasboimahsure12:52
smohamud_Does anyone else want to join us for the Requirements discussion?12:53
thomasboimahI will try to be their, Thanks for moving this forward smohamud_ 12:53
smohamud_It will be late, so don't worry about it if it's tough.12:54
thomasboimahJetro is greatful since, we are still learning the stack12:54
thomasboimahfor this project12:54
smohamud_You're welcome. I am here as a resource for you. Anytime.12:54
smohamud_Since I hear no other questions, I will see you either tomorrow evening or Wednesday for class comrades. Have a great rest of your day and great work today.12:55
thomasboimahOkay have a nice day12:55
smohamud_ has quit (Quit: Leaving)12:55
thomasboimahHave a nice day everyone, I am having diarreah that is why i am not at the office today12:56
thomasboimahACTION sign off to go to the bathroom12:57
thomasboimah has quit (Quit: Leaving)12:57
gabriel has quit (Ping timeout: 480 seconds)13:46
jkollie has quit (Quit: Connection closed for inactivity)14:34
gabriel_jetro has quit (Quit: Connection closed for inactivity)14:40
mulbah has quit (Remote host closed the connection)14:41
smohamud has quit (Ping timeout: 480 seconds)14:49
smohamud has quit (Ping timeout: 480 seconds)15:17
resl has quit (Quit: resl)15:20
mulbah07_ has quit (Remote host closed the connection)15:31
mulbah07_ has quit (Remote host closed the connection)16:24
smohamud has quit (Ping timeout: 480 seconds)16:52
mulbah07_ has quit (Remote host closed the connection)16:56
smohamud has quit (Ping timeout: 480 seconds)17:12
mulbah has quit (Remote host closed the connection)17:22
dcammue_ has quit (Ping timeout: 480 seconds)19:33
smohamud has quit (Ping timeout: 480 seconds)19:57
dcammue has quit (Ping timeout: 480 seconds)21:28
anthony_p has quit (Ping timeout: 480 seconds)22:59
dcammue has quit (Remote host closed the connection)23:00
resl has quit (Ping timeout: 480 seconds)23:36

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