IRC log of #novawebdev for Wednesday, 2026-10-21

smohamud has quit (Remote host closed the connection)07:57
gabriel_jetrogood morning smohamud09:41
smohamud has quit (Ping timeout: 480 seconds)09:52
gabriel_jetroGood morning jelkner10:35
smohamud has quit (Remote host closed the connection)10:43
jelknerI'm on the phone with Sahnun10:44
jelknerthomasboimah, dcammue_, we're in a real inflection point here10:49
jelknerand we need to make good decisions if we're going to make it through the next period10:50
jelknerSahnun and i tend to have contentious discussions ;-)10:50
jelknerbut one thing he said that i can not disagree with is that he is the only senior NWD/JWD dev currently working with us10:51
jelknerso in my view, i need to let him take charge of the BIG projects10:51
jelknerNS AMS and CJS10:51
jelknerand stay out of his way10:51
jelknerthe problem for me is that you all are asking me for money10:52
jelkneras i have said for a long time now, Santa Claus is dead10:52
jelkneri want to be your customer10:52
jelknernot your donor10:52
jelknerso you need to deliver value whenever you want me to send10:52
jelknerthat's where smohamud and i have having our contention10:53
jelknerit seems we all agreed that JWD's most senior dev, thomasboimah, has agreed to work with smohamud 10:53
jelkneri think that makes total sense10:53
JallahGood morning everyone10:53
jelknerand i support that10:53
jelknerbut, if you want me to send any money, you need to put together a more junior team to do other work10:54
jelkneri have the SJC website as my most pressing need10:54
jelknerso, dcammue_, you need to let me know how you want to proceed10:54
Jallahjelkner, thomasboimah, dcammue_ gabriel_jetro smohamud svaye10:55
jelknerif you want me to send money for JWD to work on the SJC website10:55
dcammue_jelkner, i emailed you this morning, did you see it?10:55
jelknerno10:55
jelknerlet me look now10:55
dcammue_please check10:55
jelknerdcammue_: this looks great10:57
smohamudI will speak to my mom about the website and I will let you know if she's ready to proceed with her website improvements. If it works, Jeff has mentioned that I can be the main POC for Jetro while I'm paying the bill. My concerns are (1) financial stake matters but I don't like that the shift is based purely on that (2) I wouuld only want to work with Jetro if there's interest and (3) as a Coop, if we can't work well together and shift efforts / 10:57
smohamudroles based on financial stake it conflicts with my values. (4) I want committed NWD members to be on board.10:57
jelknerbut it's already outdated10:57
jelknerall of the email changes have been made already10:57
jelkneri did them10:57
jelknerit took me about an hour10:57
jelknerso $250 seems a bit steep ;-)10:57
jelknerbut we have something we can work with10:58
jelknerhow will be the JWD i will be working with?10:58
jelknerlet's chat about that10:58
jelknerthen let's setup a first customer meeting to talk about the details10:58
smohamudI believe Jeff and I can and the entire coop should shift our resources in a logical way to support ourselves and Jetro. If that means I am the POC and NWD-PM for Jetro through my mom's project, fine but I don't think it's the case. Jeff has deep knowledge of all of you and I would bring the needs of my mom's Project to the table and Engineering experiencce.10:58
jelknerusing what you just sent at a starting proposal10:59
dcammue_you will be working with gabriel_jetro, jkollie , and freena and dcammue10:59
jelknerand svaye, yes?10:59
freena_Good morning jelkner 10:59
dcammue_yes, \10:59
dcammue_+110:59
svayeyes10:59
jelknergreat!10:59
jelknerthat's a wondeful team!11:00
jelknerany news on starlink?11:00
thomasboimahstandup update: I have been working with Sahnun in our circle on our projects, most especially the Claudia Jones School project. Today I will complete the review of Sahnun's merge request and do my UoPeople assignment. No blockers.11:00
thomasboimahACTION done11:00
jelknerit would be nice to have a Jitsi meeting now and then, though it isn't necessary11:00
jelknerdcammue_: when do you want to schedule our first customer meeting?11:01
smohamudstandup update: CJS meeting went well, invoicing is on track to be setup between now and 11/21 next meeting. We will need sign a W-9 and potentially other forms for their Fiscal Sponsor.11:01
dcammue_you can give the time that works best for you11:01
jelknerapologies, dear comrades, i'm interfering with your standup11:01
jelknerwell, i'd like the whole team there11:01
jelknerhow about Friday at 3 pm?11:02
jelknermy time11:02
smohamudUpdated Event model for CJS in order to support recurring events more smoothly. Emailed CJS a follow-up with questions and updated Roadmap requirements. Today, finishing the EventSignup / Event model changes and ideally Event Detail UI/UX changes. Not blocked.11:02
dcammue_okay11:02
jelknerthat will be 19:00 UTC11:02
jkollieAlright 11:02
dcammue_works for me11:02
jelknerwe can meet on #sjcompute at 19:00 UTC Friday11:02
jelkneri'll send an email11:02
jelkneri want to meet with the whole team this first time11:03
dcammue_okay11:03
svayeAlright11:03
freena_Okay11:03
jelknerthough that won't usually be necessary thereafter if things move well11:03
jelknerso i'll put it on my calendar and send an email11:03
jelknerMeet on #sjcompute Friday, October 23rd at 19:00 UTC11:04
dcammue_+111:04
freena_+111:04
jelknerto attend: dcammue_, jkollie, svaye, freena_, and gabriel_jetro 11:04
jelknerand jelkner 11:04
svayenoted11:05
jelknerremove the email changes11:05
jelknersince they've been made11:05
freena_Copy jelkner 11:05
dcammue_okay11:05
jelknercool, see you Friday11:05
jkollieAlright 11:05
freena_You too jelkner 11:05
smohamudClass link: https://prod.liveshare.vsengsaas.visualstudio.com/join?A893C4F45A8D61CCADCF3AF6E8B8162A5C0411:05
jelknerACTION signs off11:05
jelkner has quit (Quit: Leaving)11:06
smohamudThomas and Jallah, still attending class today? Since it's been a while, I'm happy to hold a smaller than usual class.11:08
JallahTrying to join now11:08
smohamudOk, and Thomas? I see Daniel11:08
smohamudIf you're planning to join class besides Jallah and Daniel, please reply with a +111:10
thomasboimah+111:12
smohamudOk, I see two11:16
smohamudJallah, we will have to get started since it's getting late.11:16
smohamudApologies. I will write as much as I can in IRC.11:17
smohamudAs a warmup, in 1-2 sentences explain what a "Class" is in Programming. 11:17
smohamudPlease share answers here in the next 3m.11:19
smohamudPlease remember that it's important you share what you think so we can build on that basis. No expectations to answer correctly on the first go.11:21
smohamudAwesome, welcome Jallah :)11:21
dcammue_ It defines a set of properties (data or variables) and methods (functions or actions) that the created objects will have. 11:22
smohamudAlright, time to share.11:22
thomasboimahA class in programming is a blueprint for creating objects, defining their properties (data) and methods (actions). In JavaScript, classes help organize code and support inheritance, allowing one class to reuse and extend the features of another class.11:22
smohamudGreat job. Jallah, please submit something :)11:22
JallahClass in programming is more of a template used to create objects in programming11:24
smohamudAll of you are correct, with varying levels of details.11:25
smohamudThomas and Daniel's definitions overlap a-lot but I also like Thomas mentioned key concept of Inheritance and the reason why Classes are useful programming tool.11:25
smohamudJallah, yes, you and Thomas said similar thing with "blueprint" and "template" --- That's a great way to think about it.11:26
smohamudLet's dive into today's lesson..11:26
smohamudJavaScript is a multi-paradigm programming language. It supports Object Oriented Programming but also other paradigms like Functional.11:27
smohamudObject Oriented Programming takes as its basic unit the Object, often used to model the Real World.11:28
smohamudThe way Objects are created in JavaScript can be either through Object literals. But also, through the use of a class.11:28
smohamudSince ES2015, the most common way to declare a class in Javascript is by using the class keyword.11:29
smohamudIn programming, there will often be abstractions that are built on other abstractions, often to make programming more efficient for developers or improve code quality (security, etc(.11:31
smohamudIn JavaScript, *underneath the class keyword* there is a concept called "Prototype" that is the true engine that allows for core Class functionality, including Inheritance and Method definitions.11:31
smohamudAny questions so far?11:31
thomasboimah-1 for me11:33
Jallah-111:33
thomasboimahsmohamud, please excuse me to go in the bathroom11:33
thomasboimahACTION going in the bathroom11:33
smohamudOk, we will continue without Thomas for now since it might take a while.11:33
smohamudIn JavaScript, every object has a Prototype chain. Objects get a Prototype that allows certain functionality/values to be inherited.11:35
smohamudSo, if you notice, there's a class "Object" that all Objects in JS inherit from.11:36
smohamudAny object's *prototype* is what exposes the methods/properties from the Base Object Prototype to Arrays, Objects. Both of them have "toString" method. It's because even though the Array has it's own Array Prototype that often overrides *how* the prototype is implemented.11:38
smohamudFor now, that's the high-level description of how Classes work in JavaScript (underneath, it's using Prototype defined in an earlier JS version).11:40
smohamudAny questions before we jump into some examples? 11:40
Jallah-111:41
smohamudThomas, Daniel?11:41
dcammue_-111:42
thomasboimahACTION back11:42
smohamudCool.11:43
smohamudSo notice that when we created defined two Object literals11:43
smohamudpersonProtoShorthand11:43
smohamudand personProtoLonghand11:43
smohamudWe use the built-in getPrototypeOf() function and log their prototypes. They're both of type "Object." Which is what we expect.11:44
smohamudCan anyone else tell me another JavaScript type or data structure they're curious about the Prototype?11:44
thomasboimahye11:46
thomasboimahyes11:46
thomasboimahI’m curious about the prototype of an array in JavaScript11:46
smohamudawesome, let's hear it.11:46
smohamudOk, let's test on line 38.11:46
smohamudSo, we see it's an Object (!)11:48
smohamudDoes that make sense based on what we know about Arrays? That they include Arrays in their prototype chain?11:48
thomasboimah+111:49
smohamudYes.11:49
smohamudSo, did everyone see the function I just pasted that walks the levels of the prototype chain?11:50
smohamudAnd the output.11:50
smohamudNotice that Array is in there, too!11:50
thomasboimah+111:51
smohamudPlease see line 64 where Person is defined.11:51
smohamudThere are a few important parts to this class definition11:52
smohamud(1) the constructor function.11:52
smohamudWho can tell me what that constructor is doing?11:53
Jallah has quit (Ping timeout: 480 seconds)11:53
smohamudOr take a guess at it (this is all new).11:53
jallahkoleah_ has quit (Read error: Connection reset by peer)11:53
thomasboimahIt is getting the First and Last name?11:53
smohamudOk, what do you mean by "getting"?11:54
smohamudThat's the right track :)11:54
thomasboimahOkay let me explain11:55
thomasboimahI mean the constructor is receiving the first and last name as arguments and assigning them to the object's properties using this.firstName = firstName and this.lastName = lastName.”11:55
dcammue_is a function storing the first and last name by having two arguments of fistname and lastname11:55
gabriel_jetroi'm tryna join smohamud11:56
smohamudBingo, it's assigning them to the properties.11:56
smohamud(Sorry just added you, welcome).11:56
smohamudIt programming / classes we often define "getters" and "setters" which is why I asked you to elaborate on "getting"11:57
smohamudGetters are responsbile for getting a value for usage, setters are used for setting the values on an Object (in a Class).11:58
smohamudYour answer is perfect but I wanted to make sure you know that the word "getting" comes with expectations of functionality.11:59
smohamudContinuing on, who can tell me the difference between a method and function? (Note that it's not defined anywhere but there's a common distinction)12:00
smohamud(Not defined anywhere that I'm aware of, I picked up of from StackOverflow at some point and it served me well).12:00
smohamudWe will finish in the next 10m. Can anyone give it a try?12:01
smohamudIf I don't hear anything in 2m I will move on (I'm pausing because it would've been nice to know this earlier in my career... It always confused me when the language switched for what looked like the same concept)12:02
smohamudJallah, Daniel, Gabriel? Thomas has been answering (welcome to but more participation would be great).12:03
thomasboimahokay let me try12:03
smohamudthank you. go for it12:03
thomasboimahfunction is a reusable block of code that can be called independently, while a method is a function associated with an object or class.12:03
gabriel_jetrofunction are use to perform a block of code that are called for a specific output while method is used in a function to carry solve a specific problem in a given code12:03
gabriel_jetrofor example...12:04
smohamudThank you both!12:04
gabriel_jetro sudo systemctl reset-failed fwupd-refresh.service fwupd-refresh.timer12:04
gabriel_jetrogabriel@gabriel-Latitude-3189:~$ systemctl --failed12:04
gabriel_jetro  UNIT LOAD ACTIVE SUB DESCRIPTION12:04
gabriel_jetro0 loaded units listed.12:04
smohamudThomas - yes, fantastic.12:04
smohamudGabriel - I see you mentioned that "method is used in a function to..."12:05
gabriel_jetroclass Person {12:05
gabriel_jetro    constructor(firstName, lastName){12:05
gabriel_jetro        this.firstName = firstName12:05
gabriel_jetro        this.lastName = lastName12:05
gabriel_jetro    }12:05
gabriel_jetrofor the class function person, the method is this.firstName12:06
smohamudMethods are not used in functions *but* functions can be embedded in a method.12:06
gabriel_jetrooops ight12:07
smohamudIt's tricky, but Thomas' distinction is useful and essentially my mental model. If it's a function that's defined in a class/Object, we just call it a "method"12:07
smohamudDoes that make sense?12:07
smohamudGreat job, I can see you're wrestling with the concepts and that's exactly how we're going to all grow.12:07
gabriel_jetroBut method are use in function, so i'm kinda confused, smohamud12:08
smohamudOk, the last 3m of class I will give an overview of what we will do Friday. This is a big topic and there's a-lot to take in so 2 classes is warranted.12:08
smohamudGood point. So it isn't that methods aren't used in functions12:09
smohamudIt's that the method's that are in functions are generally only *called* in a function.12:10
gabriel_jetrounderstood...12:11
smohamudFor example, if I had a function to const printName = () => { console.log(SomeJetroMemberInstance.full_name()) }12:11
smohamudSure, printName is a function and it calls the full_name method from SomeJetroMemberInstance12:11
smohamudBut, to be a method, it needs to be associated with a class/object as Thomas mentioned.12:12
smohamudOk, any questions up to now?12:13
smohamudNext class we will make sure everyone is familiar with the concept of an "instance," how to define class methods and how Inheritance works using the extends keyword.12:13
smohamudWe will also talk about how JavaScript walks the prototype chain.12:14
smohamudSounds good?12:14
thomasboimah+112:16
dcammue_+112:16
smohamudAwesome. 12:17
gabriel_jetro+112:17
smohamudHave a great rest of your day comrades. Reach out with questions anytime :)12:17
smohamud has quit (Quit: leaves)12:18
thomasboimah has quit (Quit: Leaving)12:21
freena_ has quit (Quit: Connection closed for inactivity)13:19
gabriel_jetro has quit (Ping timeout: 480 seconds)13:33
jkollie has quit (Quit: Connection closed for inactivity)13:55
gabriel_jetro has quit (Ping timeout: 480 seconds)16:26
gabriel_jetro has quit (Ping timeout: 480 seconds)17:16
svaye has quit (Quit: Leaving)17:19
gabriel_jetro has quit (Ping timeout: 480 seconds)19:59
gabriel_jetro has quit (Ping timeout: 480 seconds)21:11
dcammue_ has quit (Ping timeout: 480 seconds)23:19
gabriel_jetro has quit (Ping timeout: 480 seconds)23:48

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