Hackathon - Casual Developing for May 2, 2020
you let's see audio that's helpful right make sure that works excellent all right good morning everybody it is hackathon and I decided I would do a little building myself let's go see if anybody needs any help in the community right now before we get building ourselves go visit the hackathon community I bookmarked it because I'm lazy so go to notifications was the easiest way all right let's see finding a team member ten minutes ago where is that last comment says 17 hours ago - they say ten minutes ago I don't see anything all right things looking okay there let's get into an instance start working I should probably pull up the chat oh it's up just leave that to the side clean up some windows here alright so I'm in hackathon instance let's see what update said I'm working in today I should be in the Creek scope let's see which update sets we actually have in progress do repressions I thought I finished that I did this one no good go away so let's pick up a new update set and this is gonna be judging calculations then what we'll drop in the studio and see where we left off collapse so many things all right that's roughly what I need right flow designer I see what you respond to someone real quick alright um so let's go take a look at the judging table its if I could pull open one of these records let's see if I can learn where I left off Oh click the click the application I might get you every time having that first thing be a reference to another table all right so we've got the calculations there let's go take a look at the flow calculate oh no we're gonna need inside our windows so let's launch it from here so we get a separate tab instead of a whole new window rendered I got probably zoom this in just a little oh that's too much sure we don't have follow it it should be roughly okay sort by updated oh well this is this is actually pretty cool I'll take a minute and take a look at this so installing plugins so I built this on Thursday night too so we store all of the hackathon instances here in this controller instance and I generated a bunch of connection and credential aliases and attach them to the developer instances these hackathon instances so simple trigger here when those records are updated and the credentials aren't empty go fire off these activate plug-in sub close so if you're not familiar with these this is Orlando feature they added the API is to be able to move source control published to an app repo deploy from map repo activate a plug-in are all api's that are now available and with those api's there are also scoped actions so they're there flow design our actions available to do you know invoke those api's and then there are some sub flows that do a more complete job of what you need which is go tell that other instance to install something and then you need a way to check to see when it's done so if we open up that sub flow you can let me collapse the inputs you can see it's leveraging that action activate spoke but then it is you know checking the plugins status and if it exists it goes down this thing unless you know and if it doesn't it's going to install the plug-in and it is going to execute this sub flow which is wait until tracker completes and this sub flow you know takes a remote instance and an interval and the progress worker and I basically pulls it and says hey are you done yet are you done yet are you done yet and keeps going until it is done and then it'll assign the sub flow outputs and then return me back to here which in this case I wanted to activate another plugin so that's that it's it worked is great let us take a look at the judging roll-up though I did it as a sub flow I believe simply calculating judging from category so given a category and an event so this is typical of work that I've been doing in flows is I initially started with a flow and then I said mmm I'm gonna want to do whatever I'm about to do repeatedly and invoke that from different trigger conditions so all of the beef all the meat of what I'm doing actually belongs in a sub flow so I'll switch over to that sub flow lets get you as much of this is reasonable let's see how that's looking on the stream yeah it's looking okay okay they're just getting started so what I'm working on is I've got a table over here a judging table to take for a given application and a judge collect their scores and then that's fine but then I need to aggregate the judges scores so I have created a sub flow to do that and honestly if I were to do it again I'm not sure I would use flow designer because it was a little difficult to do what I wanted to do in flow designer I had to make a custom action and just script it and it couldn't even be as generic as I wanted it to be so I probably would have if I was gonna do it again just made it a script include to do the calculation and then I would have invoked it from wherever I'm running this but I'm already here already built it so that's what this average field values is is I created this which is a very very simple script to do a glide aggregate on that judging table and I will collapse what I can collapse let me make this window smaller and like that so I'll know to scroll down so it is a glad a grenade that does these five aggregates and then you know returns them as the outputs from my action us it from the step and then I had to stuff them into the outputs of the action and yeah so this was a little more annoying than I I really wanted it to be so I would have liked to have been able to just you know pass passing those parameters to a script including and get the get the returned objects in an array and just leverage them so maybe I wasn't doing something right but I was a little a little harder than I wanted it to be to get flow designer to do this the way I wanted so let's check to see if this is working so we've got some judging records we probably need yes so we've got three judging nope let's make a different judge here so we've got three judges and we've got the app record and let's go ahead and clear out the values of this app record so what this is supposed to do is update do you allow a flow to continuously ride so continuously run I don't know if what exactly you mean by that a flow will run until it's completed its execution if you're talking can I run a flow periodically and make that periodicity frequent absolutely so in fact that sub flow that I was showing you a little bit earlier which was wait until that tracker completes is an example of a case in which I'm going to have a fairly lengthy runtime for this flow so this is actively working and in the case of plugins this was working for like 15 minutes and continuously running and checking on an interval of I think every minute every 30 seconds something like that so this repeating was pretty often you can also schedule in your trigger conditions of a flow you can schedule them to run you know something if it's super lightweight you know you can run it more often so if you want to repeat and then you know make it every five seconds if it's small enough you can do that so it's very similar interest like scheduled jobs in that sense so back to what we were doing here a good question though Brett Brent I should make that bigger a little hard to see oh yeah we were testing it so did I save the app record hope I did yes I save the app record undo it again just cuz that's how I feel like it and let's test against that app record so this is the category in event I'm just gonna reap ich them though run test and our expectation is that we get these averages onto our app suite what that's working ice so we need to update this total score now let's do that this a calculated field and it's it was only calculating on three of the inputs so we need to add the other two to this one so let's add in the other two and I am a lazy developer so I'm gonna copy and paste then I'm gonna open up the application table to get the field names definitely strings and let's see we needed we've got creativity power ease that means we need compliance and what was the other one that we don't have creativity did we have means yeah we got ease polish all right and let's go ahead and add those up here as well grasp that and we'll grab this one why are you angry at me okay alright let us update that oh sorry bread let's see where that is alright let's see if that worked right oh it's bread and he is hanging out of a weird speaker do I not do I sound all right oh you sound fine bread are you just doing a weird speaker for me hold on wow that's why I like it JAV Tom using the wrong thanks Mona Brad mornin that's so I'm messin with the the judging calculations oh nice this is through flow designer right uh it is through flow designer right now I'm adjusting the actual so I just tested my flow and I needed to adjust the calculated field on the at table to incorporate the two new fields okay yeah so that seems to work so now I need to make sure I love the bird sounds so I'm going to know it's a little chilly here still in North Carolina maybe in another 30 minutes I can go outside and hang out with my grill I went down there and it it was just it was just too chilly for that right now for me so I had I was like no that just gonna start the cooking but I would have had to put on pants or something and that's just no that's just not reasonable yeah I think I have about 20 minutes in this location before my shade runs out and then it's gonna get too hot here yeah you're always a problem you're a little bit warmer egg yeah yeah it's a it's just breach sixty here now so hmm we're supposed to get up near 90 so I'm gonna get into the 70s today I think so I would I was so I've got this flow to update the records what I want to do is make sure that I scoped the oh this is the execution I must make sure I scoped the query good enough so given the event in theme oh yeah that is not scoped well enough I need to also input take in the round mmm so we're doing this twice very an initial at and then our official judging so why no I'm not I'm not modifying those I say please don't break it does it like every time you add an input does it redo everything is that what's happening it doesn't have seen - all right it just said scarily that it would but didn't didn't seem to so let's get our existing choice list off the judging table and round and we need that to be mandatory and we want the pre live yeah yeah yeah yeah cool all right so now down here that's done let's hit save and now we need to leverage that input yeah I was saying I'm a few minutes ago that if if I were to do it over again that just made a script include for the aggregation because it was it was more painful than was reasonable to me what am i doing why don't I have round oh this is variation oh this is per application that doesn't belong there it belongs yeah oh I'm just gonna have to put this up into I need to pass this into oh I was already doing that okay I just need to give it a day to pill so the action I made already accounted for that there was rounding I just didn't give it around that's reasonable past me actually did me a solid the application record no no this is coming from the inputs round done so let's make sure I took it as an input and let's make sure I actually leverage it because you know I might not have oh I passed it into the input variables so that's promising and I appear to be consuming it oh man past me was not wild about writing this but I seem to have done an okay job with that part all right yeah you see this nonsense yeah like the inputs up here then you know setting variables to those inputs then setting on my outputs and then setting on my outputs and then setting on my outputs I I know that there's some better ways that I could do this but it's so painful so I could have just put this in a complex object inside my script but I was struggling with how to make that generic enough to make me happy and failing [Laughter] yeah so so I didn't because as I would the struggle bus was real for that that part but yeah so I would I would totally just build this as a script included and just call the script include next time because because this it's a lot of lines to be inner scripts to it is and it was just painful to like you consume this in this way like it would have been easier to just you know get an array back up the things I wanted or even have done them individually like get me this fields one get me this fields one give me this fields one as I needed it yeah it was it was us not didn't make me wild of happy alright so now I save that and let's test us we need to add a couple of rounds of data so that we can tell so let us do Chris test app and we'll choose a judge there are so many records in this and we will say that second round that's making and we'll put some scores in here we want to mark Scott nice to see you sir doing a little doing a little developing over here all right so now our assumption is that we've updated that on this Chris test app we've got a score of 16 and we expect to get back to a score of 16 I'm just gonna sit a couple of these back to back to that so now in our flow let's give it a test prelim sounds good Ren test Jase can watch and work I I know he can let's see our execution all right we got some results and if we go to our record hopefully we got 16 still 16 yay now let's test that the other round works and then I think I'll be pretty happy with that let's test second round mark says it sounds peaceful here it's only peaceful because I put the dogs up and my kids are all not a distracted they're all distracted you distracted all the things that's why right yeah at some point it's gonna crash down on me in it's okay screaming and barking it looks like we have updated our record appropriately yay that that seems to be doing the business well that's good so now the calculations from the judges are working the way I want them to the next thing is I think how do we want a signal that the apps that are ready to move forward so that means that someone has run the calculation they collapse the status to do I was more thinking of how do I signal the next round of judges which things are for them yes because they they'll want to know what does that place field look like I that was I ball in that one myself oh I'm not talking to you on twitch i have twitch in a whole separate computer I'm sorry Lisa let me pull up the twitch chat as well because you won't be the only person to it going to twitch let me do that real quick I should have pulled up restream got both chats but I didn't because I'm bad this is casual Saturday by the way people so that's right it's not the nopales show I just called our show polish if you if you if I think everyone here see the show before but you know if you hadn't our show is not polished it's intentionally not polished though like it's supposed to not be polished because it's not scripted or anything there I'm in the chat I'm glad you like it mark yeah so I was a bell in this place filled myself I think we just inject so it maybe I take a pass on the app records after I populate their values and the I'm not sure how automated I want to make that though yeah I hear you on that so I think we'll just set the value for the ones that we want to move outward I think I make sense so we'll just load it up in the ListView sort them by you know that narrowed down to a category sorted by the total score and then see where the reasonable breakpoint is and then move that forward that seems that seems reasonable because we're to do it in an automated fashion with I could take a pass at it and just you know but I yeah I think we'll want to grab the top ten and then we can then adjust it after yeah I don't know how much value that's adding but I'm already in here I'm already I'm already doing nonsense Thanks there's not that many but yeah I I'm not gonna do it that that would be cool so I think this is ready like I think the I think the sub flow is ready and I don't think I'm going to even put it in a flow like I'm gonna run it manually when a category is done so I'll just come hit the test button all right I think this is shippable let's ship it all right publish it and then we need to go to our main service now window and check out our update set and make sure the right stuffs in there which that's what I expect to be in there it's the flow edge the subfloor I just published in the dictionary that I adjusted I think I think I'm ready so this does the judging calculations for you know sub flow must be run manually adjusted the calculated yield on application to include two new categories if the spell categories right though there we go that's done complete it peer review it BAM that's ready so that's that so the next thing I wanted to do was I was doing some posting on for social media purposes our blog and it reminded me that we have an artifact in our HTML hugo short code yeah he goes oh it shows up and I think that we're I think the reason that's in there is for caching purposes I think what we're doing is I seem to recall that that's what that I wasn't there for the building of that but I was told that that was a thing that they added was a was you know a hash so that it could check to see if the the page needs to be rendered or not so for browser caching purposes essentially but let's take a look honest I'm gonna try and stay in one window here let's just look at the source let's see why it's doing this weird there should be some Hugo right at the top somewhere weird yeah yeah yeah that's all in the header where's the actual No oh um actually in this is is what I need is a entries yeah yeah right here yeah right here this starting a Twitter description metatag and why is that in Twitter description metatag really no thank you I don't want that at all hahaha you go is this at this what role did this hmm and why is it here so it is it doesn't look to be particular to any of those meta tags it looks like it's something that it's getting passed generically up because it's here in all three of these meta tags up at the top oh I know who it is Jase just just not calling them out directly let us see so I need to fire up well I need to share PS code let me switch screens I guess trying to keep a screens smaller today stop share whoa that's a lot of Brad beard and there we go alright which to obs on this local machine so I actually need to open up the template not the content do I not have the template open you're in you're in family I don't the template is inside you can do it from inside the SN dev blog you go yeah I don't think I'm in the oh yeah I think you need to be up one level and we do can I even do that here I'll just go over here and say open and I need to go not in block Hugo but in the step down from block Hugo I need to do I have way too many things in my github yeah you can open s and block you go I think really it's in no I thought that's where I was Eames no I think you were in the content inside of that because it's in Ames yeah yeah so I have no idea how most of this stuff works so this is gonna be this is gonna be fun I did a deep dive into this a few weeks ago but I'm sure a few weeks ago bread did not take me notes nice so let us see what are we doing main dude I cannot read this you know that's better like where you know what I'm gonna search for is I just search for ha ha ha and I want to search that in all files there's this search no seriously hate you really why not so if it's not let's look for instead of that we'll look for what it is which is a how would you have named this I didn't say meta tag but it's uh let's see it patches in here it's there a look for the shortcode yeah Jase why don't you pop in here you know come hop in here for a second and you know you grow us up I know you have been dealing with this more I know you're doing your own hackathon you but you know come come help a brother out alright let's just go take a look at a mark says layouts short pen I've been all along the way always short yeah yes Jase like legit come on in buddy you think it's in nope it's probably fancy box right or no it's kind of a fancy shortcuts path caption gallery well image ones not useful oh yeah I probably have to let Jace in seems reasonable so I found something blue yeah you're googling ah such a cheater I love it who did you find it no Brad Brad said he found something I didn't Google I've just been looking through if you go in under layouts partials header dot HTML you can see where it is adding meta tags I don't have partial might be under themes do you guys have a team as well we do we are I think we're yeah wasn't I wasn't under theme that's why Brad I was so I was in the wrong bucket yeah yes okay well it's partials oh yeah this this looks more more right right and then header so it could be a what's it called a short code inside the theme too but you'll want to remove it from your partial I'm guessing you know you can do you could look for twitter since you know it's writing right by the Twitter tag here's the Twitter card part there you go internal Twitter go maybe they like but yeah take a look for that that's gonna be it's the only Twitter there lets generically look for Twitter oh yeah there's quite a snare down to once that would make sense I think that's where we're at now those share links readme social name so we're here bunch of index ones which are not useful oh I think red buff tough I'm still here I just stop my video for a second oh well that template that should be inside of that where is a template pull from generally it's no pull some partials or somewhere layouts maybe it's it's like a let me look at mine my site I can tell you maybe maybe I can tell you keep looking I don't know there was also that's the Twitter card down there so you can look for Twitter on the score cards they should find the file name yeah two hits that's handy for injure that and render that doesn't help that's not helpful so these internal templates can be found at this is a rabbit hole where'd you guys get this theme you have no idea I think it's just a standard Hugo theme from some we're pretty much using it without any other styling at it Open Graph is a tag type all right I see Open Graph there and that is so you tell you go to Open Graph so that was under partial themes layout SEO Open Graph back to the file explorer what about what about it mark why aren't you on here helping I agree Mark's been helping he's got time to throw peanuts in the peanut gallery he's gay it's got time to talk hmm so it yeah this is not very helpful education this is this is weird I haven't seen that before word hate it the only one you call the file like that it says we're here apparently well do we control up for Twitter in the file right now Twitter's not in this file but maybe the the tag is in here that that is generating the Hugo hahaha let's see what let's read what this stuff is what was it that it was um so was it literally just a Twitter description tag or whatever it is what's inside yeah there were a few meta tags where it had it in the content of the meditate Twitter was one of them it roughly looks like that okay and then it and then it's got the rest of the description right from the the content itself so maybe it's getting maybe it's doing one of these tags and then the content after or I don't know what it's doing those in the meta tags okay that's helpful mark maybe to you but I don't know enough to understand what you're saying man yeah plenty of humor you teach us you tow us um yeah that's that's weird hmm it's not in the header HTML is it just a curiosity it is in the are you asking in the page itself in the partials like 508 files blower you are you know the Twitter parts not there there is a meta there there's the call to the thing we were just on there right there's a person getting the the Twitter card yeah couldn't be if it's not there so I don't know how to get to this so no man I do these things I do partial and look up it's tough but it should be in that same well it should be like in that same structure like there's nothing in partials for internal there's no internal subfolder not like I'd expect that template looks the same places that partial does you see how partial does SEO Open Graph yeah right but it doesn't show there maybe I have to go to the so this is good input this template is actually so this theme is actually linked to a different repo okay and I'm not exactly sure how they interact there probably sub modules my theme is like that - yeah our theme is that stuff is a sub module coming from another repo and maybe there's stuff in there that's not like listed here I don't know well what you could do if you wanted to say this is heck with it you could make up partials header HTML in your local folder in that supersedes the current header age you know and you could just mix the Twitter cards or rewrite the Twitter cards well it's not just the Twitter card it's the others mark with fire this is my knowledge is coming back round but it's here yeah I know my my team was working on some stuff last night they didn't they didn't find the the humor in my background so yeah I swear it's in one of these partials but I don't remember exactly which one it is but given given that you have that template that Twitter cards template and that open graph that open graph has got to be it somewhere in there there's another reference to something somewhere else and that's what that's what I'm I keep looking through your page trying to figure out if that's if there's something in there because open graph is that og tag so that the the og tag is what is setting that metadata in like Facebook and things like that so we're there we're just not quite there oh maybe you should look for a range since it's doing Twitter and other things right well so the the og is so there's a hole so Twitter you know so just looking at the source of the page and I know I can't easily toggle them the way I'm set up right now is we've got the twit Twitter card and then the og and then the itemprop and all three of those have the same like they're all set up a this roughly the same way and that's that's what's kind of got me just a little bit concerned because it looks like there might be multiple places that we're going to have to make this change because you've got right now you've got those og tags which is which is good right so in the in this so og description is where the that's where the so somewhere you know here is is where it's getting the the stuff right because that's what is out put it at the end is so in order description after that it's pretty yet in right so in OG description is content and and has the hahaha shortcode in it can we can we go to the very I mean this this is your this is your Open Graph dot HTML but do you have an actual like the actual full layout which I think is in default and then we can start drilling down from there sure you don't either one does local or just just a default layout where yeah that's not what I was thinking out basically I want to see the the full-on like open HTML tag close HTML tag and then we can kind of go a base I think it might have been base of scroll up to the top there and these yeah so let's let's start let's start from the top and work our way down right so this this starts moving you through the page and then those are the templates that start pulling everything out internal templates conversion but I feel like it's even above that isn't it no cuz that's the head tag still yeah like all of this stuff is the blank above it's above your meta tags if we just start commenting things out will that break something you can comment it out and build locally yeah and see what happens and you're messing with metadata right so it's I mean the risk is pretty small the fire has consumed me know that guy's repo doesn't even exist there anymore nice the palm looking for that SPF 13 he doesn't have a huge repo anymore he's got the SPF 13 calm but I doubt that's I wonder what's in that site header Andrew which sorry you hit her you've got you've got a header highlighted with your cursor down at the bottom line 44 oh yes I wonder what's in that one I think that's one of the ones we had open right was it that was I don't see it under partials maybe it's under my just be Ames partial yeah no the generics partial this one no no it's not there where is it see this is why I was better suited for the peanut gallery meet you hold on that internal business I'm reading so I'm looking here this is the only reference to site header weird well does this is I'm gonna share this not on YouTube anymore so I don't have well things up but there is an issue only guys repo is from Michael what else is of things you're calling internal and it reads like it's part of the hugo go templating like base template like part of the hugo binary okay and if that's the case we're not able to change it is simply we'll have to like stop using bears and rewrite it Wow I'm not doing that thing that's not a Saturday morning activity well I mean that's the that's what the issue reads I got this working on my site without a problem it's a template that you it's the theme the theme has this specific thing so like where is my put this is check you take a look at this mark and tell me what you think yeah maybe it's unrelated I think it's I think it's rather than O's though so because I'm a good stream host I'll I'll repost it into YouTube for you yeah well but I think I closed YouTube oh I can put in YouTube ID I got it I got it nope I wasn't I didn't have it copied I'm reading it I just didn't post it but I'm trying to find where it has this internal intro templates hey this sounds probably how it is whatever Twitter cards alright I'm cooking the fire now sweet and here it is there where'd you put that I put it in both places I'm not seeing it anywhere mm-hmm there you go here's a third place sorry oh you put it in zoom chat all right well well zoom YouTube and now slang whatever YouTube is clearly not out dating for me cuz I don't see it there an injury for the cards metadata attached rich content but how does it work it doesn't me say what it does it says it's based on your front mended variables but it doesn't say how it builds it but that's true than all things with these Twitter cards would have that ha ha ha he go yeah no I think this is something that we're injecting into our description because it's getting propagated not just in the Twitter card but into thee it's it's in three places so it's like paired with the description like it's just at the start of this yeah so someone's just forcing it in there yeah so one of these things in the build process is forcing the description to have that so where are we building description I'm not gonna type description cuz it's gonna be everywhere yeah I mean just a description but that's okay it's gonna be everywhere but let's see if it can jump out where I can ignore all the index stuff I just need to be inside of that's my one complaint with Hugo is that since you're carrying all the the content with you when you do a search or searching the content as well what about that config Tom oh right there five down such description equals ha so to meditate no okay that's not no I was like so I was hoping we just hahaha but whatever [Music] that's in their example site yes that's not in your guys's site that's not in your config tumble dry was fine yeah not any of those that's grabbing my description dad it's not it that's s no no I didn't realize those templates were internal to the language ooh that's interesting so this is the header HTML partial params yeah so that would be interesting title hmm brief is that curly curly dot is like this it's like whatever invoke this thing right right which is that sight params description but that's obviously not what we're using since its setting that it or no well it could be because the title is being set differently well I'm going back to the tags where else would it be well maybe what's calling that header maybe whatever is being passed into the header it's being modified before it's sent there you know remain like right so if you do a search for partial whatever header after you done looking to this of course [Laughter] our soul space quote header I think there's only a bunch of things allene it's not that many only 14 files and it's definitely not some of these is it on is it on every page that Twitter card that are sorry that this regret but that that tag a short code should be only on the post though right it's not on yeah it's on the it's on the posts themselves it'll be in single then like the individual posts or like the list of individual posts not the list to post it'll be one of the singles then because the singles are what dictates how rights so and this is passing in just a partial with the current right but there could be logic in the header that basically says if I am a single then show this if I'm not then don't know know but we've looked at the header the header doesn't do anything funky with it right the header is not doing a modification to the thing I'm just saying if maybe there's some other thing in here can we try another search hack because I'm looking at this one the meta tag is set with a itemprop but not everything has itemprop okay sure let's search would you like me to do do i te MP ROP and that didn't do anything yeah I searched that like first things I did sorry how I wasn't that's fine no it's just I was like I don't I don't even know where that's coming from cuz that's hurts for it I was like maybe it's weird characters and I copied and pasted it from the source and it's not and something something is generating those codes because they're different for every every blog post you know those aren't the same on on the like those are generated right Brad only mine has Twitter cards but what's generated the the shortcode with the brain or string of droids yeah I mean it's on every posts are they may be what's we can find that is build work do you guys run build locally and then publish the full weight thing we test it locally but we build in a circle see I actually okay I mean you know could it could be a circle see I function to inject those headers wait a second this the second post on our site doesn't have it no before you go I just I know me too nor does the third post it's on the main page oh well that does not feel helpful yeah that is that is helpful that tell us is helpful but so that the that tells us something for this one go ahead chase yeah there's something on exactly what you were saying there's something on that first page only gonna be there it's gonna be like the single home page or whatever it is and they had them before like when the other ones where the first one it they had those they visited if if we were to write a new blog locally and then run it and render it would we have that you go shortcode in it well that is a testable event dev is the same as prod it should always do let's see if where am I I need to go yeah and let us get a local render and check out I'll share my screen if it's useful in a second it is not does the uh that's disgusting why is it now is it in local is it circle see it's doing it I what just means that there's a deviation between my local build process and circle see eyes build process there should be though as long as you're the same version if you go yeah but circle see I can inject HTML and do all sorts of funky stuff Jase oh I don't like the service yeah that's something well I mean it should be running the same process and as I am like that's the whole purpose is that it it should be running it exactly the same let us go to circle CI and check it out so I will stop the vs code and start the other window but that is promising that it's only the first one though right right qualifying however you want to look at it I can I not get to surface yet where is I'm gonna count on that one that's why I steal and what's a target to reach out this time sir we are trying to solve this hidden bug map bug this hahaha you go show grid trick poster isness that's in SN that's in the ServiceNow developer blog but only on the first articles only on one article at a time and only happens when it's built lonely or publicly or whatever oh you're muted I think I am no no no not anymore it looked like you were saying something but no I was just had my mouth open no yeah sorry so over here in circle CI and I could pull open this job and let's go take a look at it and see this is deep under the covers this is awesome yeah this is this is this is a we've got this yeah I'm actually more familiar with this stuff than I am with kyouko like I just built I just write the blogs and then hit build like I don't I haven't messed with Hugo really at all that was all Josh and Dave so here's where it should be the same because what this is doing is it is you know it's pulling down our the the main repo and then the the sub-module here to get our theme so it should be should be exactly as it is locally because I mean we're pulling them from the same place like it's a github repo and so they that part should be identical and then the this installation for Hugo you know shouldn't shouldn't be any you know it shouldn't make a difference yeah what is your Hugo version on your computer 54 let's check I think you just I've been if you haven't power hugo space - - virgin doo doo doo doo doo doo doo Hugo doesn't doesn't want to tell me it's version let me just make sure not just stop - - it's just version I'm of 56 3 I shouldn't I wouldn't think that that would make a difference that is a difference between there's a difference and that you know when we got to things that are operating differently this should be the same then that's what you look for so we are installing a bunch of dependencies for Hugo here which I do the same here and then this local run is the same is the local run I've got supposed to be but maybe it's different and maybe it's only injected here maybe there's a config or something said I can't imagine why it would be different though the build process here is you know should be is there build to call the same call you did the build it you know I know for instance on my my build it's a little slightly different than neckla fine than it is when I built locally well maybe it's not let's take a look so it's using this build SH and I do a serve which then runs a build so let me verify locally what my serve is executing as it's build behind 3:9 aliases that's a lot of aliases it's not that many so I need to in order to test this Oh actually all I need to do is take a look at this this is actually run exactly the same and so let's see if this has the did I get those confused there's like an ID tube on one screen and then the call on the other screen so I'm seeing two screens and there's a time difference and you clicked on the link and it showed the source and the other page look at the exact same time so there is something in the config for the production branch that's different than the dev branch so let's look at that production fig tamil you might want to look at that off screen before you go up on screen because this is the dev branch which is the same branch as I'm using locally yeah and neither the the CI CD or the circle CI build for dead branch is doing it so so it should just be that that environment difference so let me pull open that tamil watch is this a variable in the tamil file but in what it came up with a hahaha short cord unless unless i doing something stupid like h plus a plus the axe plus a could have been something weird but he just still or degenerated from a function or something yeah didn't look like it was in my any of my local Tamil files you guys to have that config production Tamil file though right we do okay hmm this is various things yeah the screen looks frozen but just working off almost do not here hmm rap where did you find the the production version it should be in I think it's some root of because it's be in that rook you guys in black you go right yeah yeah okay I am looking at the right one then okay there it is did you did you find anything in there cuz no I looked through it I don't even because there should be a description for am somewhere it looks like but I didn't see what in there and I we do it's diff between your local file and see if there's that's a good good oh yeah maybe something will stand out let's look at the bay looking at the base one first she's got any logic this is one of those defects where like you tell your project manager oh yeah won't take me like 15 minutes to fix this yeah I can I could just run a toes I could I could run a something they go cut it out after it builds cuz I'm a I'm a terrible terrible person I mean if it works all that makes sense to be different just right enough onload javascript function that changes it well that one help with the indexing rate source it's right I think we're all just seeing it I think it's not really there yeah I don't see anything that makes sense so that's that point into a like a different repository it is like a non like not your guys no it's ours it's a well it's a fork of a fork of somebody else's yeah oh well it's ours right okay hmm yeah I'm not seeing anything in this config that and the differences between them that make any any possibility of being the the root we tried any Dave yet I mean I didn't but that's when when I stopped and like it's got a cap of seven more minutes [Music] this is a something different I don't I don't know where this is gonna be if it's not where we look they're ready yeah I'm at the end of my rope but if Hugo environment equals dev Dan do this else do this wood and they're the same thing why why are you even here logic thanks buddy Saturday morning chop it out that's the best time to do it yeah until you break it right that was the irony Jase mmm and one more compare and then I'm done with compares trying to think where else it might be but is your sub-module up-to-date on your local machine it is I keep a synced all the time so I'm just made sure so goodand because like I know that that stuff can fall out of sync get sub-module is like a weird bizarre child thing I don't like it not a fan but for the he was tough work so pretty good I've got this FA - check - circle no function that yeah that doesn't seem to be the that's like the main difference between the Ted field and the production I just depressed myself by realizing that that's taking up space in my brain nice fun awesome yes I said FA - circle - check or whatever it was and I'm like oh that's a fun awesome fine alright well wasn't there jet fighters named like the fa-18 such sounds great well I have I failed in that field we all push meant then we did not succeed in in nuking the hahaha Hugo it's so still trolling you and us but I I put money on it that you get a you get a case in the next 24 hours that someone submits that says it says ha ha ha and all the meta descriptions so let's let let's return so thank you mark and Jace I'll let y'all get back to your hacking we're gonna get back to doing some more hiking over here tell us tell us what you're building oh well we're we're working on a an app that's gonna help thanks healthcare category soon actually want to help me healthcare industry to assist some resuscitation stuff where I'm excited to show you guys what we have it's I don't know they want to get into all the details because I don't know if I can express it well but it's are you working with that side down Andrew yep Occident Andrew and he did an update at 8 a.m. I get like a long time ago maybe like seven hours ago he did like our YouTube video about what y'all are building now dropping on his team before I fell asleep last night and saw what they were building live then it looked it looked mean it's a lot of service portal stuff and if our dive into the the Hugo didn't you know capture it well enough like front-end web rendering stuff is just not my it's not my bag never wanted it to be it's never gonna be like I'm gonna I'm gonna be a pretty good at component building eventually but it's not gonna be it's not gonna be a thing I want to do Fernan gets all the credit it does but I don't care it's so pretty it's so pretty and if you don't do a good front end it doesn't matter how good you're back in it so you know I've had to pair with good front-end people over time because you know they're like hey can you make it do these jump through hoops and I'm like no problem I will I will give you whatever data and functions you need to drive your your your pretty buttons and interactions but I don't want I don't want to design nor build you're pretty user interface even though that's the most important bit like if you don't do a good interface like let's say they're probably equally important yeah you can have all amazing back-end and if your front-end suction never gonna get adoption I put a few of an amazing front and your back into some work it's not gonna used either you could still get a lot of adoption all right angry adoption only at the very beginning there it did I mean it depends on what you call very good beginning if you time box it you know long enough sure that that could be a true statement but that's you know it could be the whole lifespan of a company that is a reasonably good company could be the start of it just on sounds like there's a story in this somewhere yeah I mean I'm old there's a lot of stories there well that's cool Jase and Mark you're gonna be doing some judging yep yep so I'm I've got the I've got the social good category so there's no conflict of interest with Jake there or Jase I'm sorry it it's a it's good to be one of those I'm excited for it like especially with the social goods like I've seen some really cool stuff come out of that and prior act on so it's yeah earlier earlier on the stream I finished the automation for the tallying of the judges scores yeah I was watching that that was pretty cool yeah you were here for that so that's that's pretty well wrapped up now so now I have to work on something else Brad what's next to work on thanks gentlemen y'all are the best thank you guys see ya what do you want to work on now where we gonna drop into the the machine some or do you want to do something lighter than the machine for a minute oh no I've been having some some process I gotta go check on my food issues you've been having some what issues processor issues I keep keep freezing on my Mac but I kinda know what's going on oh no that's like I have to put the zoom on my iPad or something yeah I don't know what do you want to do I've got to also do some some cooking stuff I gotta get my pork belly burn ends ready yeah I need to go check in on so we're we're we're both cooking meats today we were both gonna smoke meats but I decided to just just put mine in the grill and slow cook it I think it's fine like it it'll be fine buying a pork shoulder it's it doesn't it doesn't have to be smoked like they turn out okay yeah you you're getting tearing in your video and stuff and your poor little mac is is not happy with you I don't know why the only thing happening in the zoom my processor is that like 800 percent make the make the zoom window smaller yeah I've got it pretty small but yeah I know when I'm doing like the full screen it's like oh please stop hurting me I guess one thing that we could do that was fairly that was on my list was I wanted to since we're on the blog theme I we really gotta gory ooh that's one thing but that's not what I I like the idea and then now that's on a thing will probably do today but the thing I was thinking was [Music] was following backup on the you know how we fix the the sinking with make sure I'm typing in the right box there the sinking of the YouTube when it's published and that's the artifact I'd like to do the same for the blog entries when those get published I'd like the artifact to know that it got published hmm yeah because there's no there's no sink right now at all right there it pulls data it doesn't so it pulls like viewcount and stuff like that but it doesn't doesn't do it doesn't do that until the URL filters populated hmm so let's get a couple of records so that we can actually have something to work with are you gonna sign in or are you not signing in I can't tell that's not the right password [Music] effects blogs right it's getting too warm I'm gonna relocate okay I'll just keep going so when we're on so we've got these blogs let's go to a published one so once a blog has been published it'll start updating these few counts so it does pull that data from the blog but it only does that once this polish URL happens and I'd like to you know sync up the the artifacts here with the blog automatically because well that's that's what we do so let's see how's the best way to do that so the easiest thing is if we had the the tag for the post here and potentially I could grab those from the repo and do something that way I could even create I can even automate the creation of the stubs for us from also you one create this yeah so when we when we create a new blog you know maybe when we mark ready to work it generates the post for us the post up and then obviously would then know its name because we actually redid it so it would generate it based on idle and we would just pull that down I like it so that's that's a potential that I could do there that's a that if that sounds easy but that is not straightforward because that creates a maybe it's not that bad but what it's doing is is all of this stuff lives in a github repo and the posts are folders and the folder name is the thing that we trigger off of so this this Creator con 20 - kb yg that is a folder in that repository and then what you know then that's how that gets built and that's how they wear those tags come from for the post so I would need to either so I got two choices I could invoke a circle CI build which stands up hero and execute the Create new post but that seems like way overkill like sounds like fun level of overkill but it feels like overkill to like create a folder and an index file in that folder yeah yeah cuz there's nothing special other than the little yeah and a little header and I changed those so much anyway that yeah they're like not even useful yeah so much nice always copy paste over it anyway it's what I do every time I find one that is close to what I want and they'd just replace it you know and if that was consistent enough I would just edit the thing to make it that way but if they're not that consistent so like for the creator con but you know for host for me for creator con I go find a previous post for me for creator con and then start from that what's the best way to do that how can I tell ServiceNow to go create a folder over in github it will be github spoke do any of that there is no github spoke I thought there was a github I think there's a kit labs spoke maybe that's what I'm thinking I don't believe that there is a github spoke I'll be really cool if there was maybe there's about to be yeah maybe the brad has apparently met me before maybe there's about to be is the thing that could actually happen yes no github spoke let's go check the store just to be I know I'd check the store but I feel like I'm gonna go check it anyway I don't think it's gonna do what we want it to do there's a github spoke I don't think it'll do we want it to though does branches does repository management things commits a file yep I mean committing a I would still need to generate the file somewhere to commit it I guess so that seemed super helpful let us let us do this very interesting query which would be github API to create older oh my friends Stack Overflow hello how are you today is there a way to create a new folder and get repository using their API alright yes but then you need to fit create a file in the directory because yeah it only tracks the directories with thousand them absolutely so we need both things is create a file and aha create a file it's a nice official looking link it is developer dad github.com and you know content slash create a file this seems to be what I need yeah so create a file create a folder how is this a bad plan we're into the office hours now aren't we oh yeah we're way into yeah I've been you've been on that I I'm talked to the gurus and if they need us they're gonna say yes you're the best I thought about that like 30 minutes ago and then I didn't say anything which means it just dropped out of the head joined the zoom early and danced there yay that there's no way anyone could have read any of that so let us see what we got here when you do a little authentication that's not scary to us it's scary but you know oh off I need to I can just watch one of our own old videos ah no I mean like which video was Josh on the head oh uh okay I'll figure this out where is here's an awful lot of can I get like just the I don't where's the actual API oh I'm on like v3 no wonder I'm like this is not create a folder oh my where is the beef here github did we not get our search results older API no okay how about near to this which would be repos contents create a file repo pins get contents or update a file maybe it treats them the same like yeah actually you know what I think just the mere act of referencing a folder hierarchy that doesn't exist will it create it like you don't ever see folder details in commits right oh yeah you just see files then yeah you just you never see the folder so if I just instantiate and commit a file that references a folder that should create that folder if it doesn't already exist I think that I like this hypothesis let's try that out all right yeah so so then all we need is to create a file so create or update a file yeah that's why I won't man give it to me create a new file in repo all right put blam yeah so let us here's an example for creating a file look at that nice content there the file content using base64 encoding alright whatever that's fine and then it says cool I did it alright well let's let's get into the instance and do that then program I could probably close to my nose let's put some windows here we go let's get us some flow designer actually I'm gonna step away for a second you wanna just chat to the world for a second where you want me to put up the shrubbery let's put up the shrubbery because I got a good check on the fire that seems reasonable do some stuff privacy shrubbery go you you you you you right let's see so I'm going to keep the camera off her a bit because I'm sitting in a swing now and that'll probably be disorienting but I'll show the swing just so that you can see that yes it will be disorienting here's my last swing all right so we were going to take a look at so I'm in my dip instance here see how that looks I've gone outside so it seems to be okay wanted to hear the birdies like Brad does so we're going to have to create a new action let's try to interact with the the OBS screen of my screen I know I don't not work create we need a new scope first let's create a new scope let me say whoo let's get started let's probably look for the comments here we go so how do I master scripting and service now I know that question was quite a while ago took you're still around the answer is practice you know practice practice practice so there are quite a number of shares of ServiceNow scripting so in your instance is a great resource there's a ton of scripting that's already done that you can see you know examples of working examples of the code there are some training courses that they're now learning team puts together including a advanced scripting course the on the YouTube channel here we have a learning JavaScript playlist so in the dev programme YouTube playlist there is a learn to JavaScript that Chuck Tomasi has created so to worker bars and so this is something like I don't know a lot of videos but they're all very small so there's 50 some-odd resources there and all of these are roughly like five minutes long so they're very consumable size so that's that's how I get started in it being good at service now scripting so we wanted to create a new action so what we're going to do now is so out the if you want here before I've got a use case where I want to create a file and a github repository so let us you know do that so create bond and we're going to do this in a category so let's create a category for that have a Content we'll follow the format from get hugs API and so so create a file hey Andrew I am back you are back but you are speaking out of tongue speaker let me fix that I think maybe you're listening out of the wrong speaker I mean I'm speaking just fine there we go how's that I mean it's the same for me can you hear me yes I can hear you just fine thank you but now riveting riveting shows riveting riveting shows so I created a new scope for my spoke and now I'm creating the action for where I want you do the business so I want the file name and it should be human readable nice format in that label we'll just take a string for now oh what else does a what else do they require for me here we're gonna generate that inside about that I'm not gonna make this super generic to start with I'm gonna solve our problem and then you know maybe never go down a big road of making a generic so I think right now I need did you move outside I did I moved outside I can hear both your birds and my birds we've got the birds going yeah I'm sitting on a swing though so I turned the video off because it's really is you're disorienting other people that have my background perspective changing constantly because I'm swinging let's see so we need the name for sure and email so do we want to pass that in or do we want to get that from somewhere it's probably going to store that yeah then we can we give it control like can we get it from the artifact right because we're passing in yeah but I don't actually care who it commits eyes okay I see you I don't I don't think I care like we can just do all the commits from this system as its own user I think yeah that that's a good that's a good thing because it might be it might be otherwise confusing to have to have it switching users and then maintaining Olaf tokens for all of our users and yeah let's just do one yes in that case we'll also know if somebody were to you know create the post locally and then it wasn't linked we'd have a better idea of why that was yes so let's let's dive into the rest message and then we'll figure out what it needs later your audio is a bit scratchy yeah that's because it's wind up against my mic get it so if I'm gonna be down here a super long time allah-allah jest or that our mic but for now I don't it'll probably be a little scratchy it's a rest message so we will definitely be creating a new one of these in a bit connection alias let us get this though let's let's go ahead and grab the mr. bass it's yeah it's github.com b3 it's the start of all this is it API that github I think I a scroll down I think that's correct we probably find it on the page that you are octocat hello world API can help slash repos is the response I'll let you speak I should probably just go look at their documentation that mean I have really good documentation and it's probably very scratchy that when it is I can hear it maybe I get home and b3 is default it looks like the v3 part in the top there is optional at least in their connection credentials release the bass I need yes okay and we're going to do a put catchment will it accept it an actual attachment what would be romantic would take create a file looks like takes a responsive Senna's directory haha one object for each in the directory this is gonna be more than I want to do from my laptop sitting outside I think I'm good streaming now for three-plus hours I think it's good time to take a break unless you want to take over stream in a bit um now we can take a break until whatever we are we starting a show in 50 minutes how are we I I don't know what that's when we're scheduled to you would think I would know these things but but I don't it's fine it's all right that's what we have calendars the calendars a core and so of coming is oh yeah like 50 minutes yeah we'll do a real straight so we'll take a break for 50 minutes and then we'll come back do you want to just we could just leave it rolling or do a hard cut cut it's too hard cut and then we can when we go live again alright also thank you everybody for being around and hanging out with us and we will see you back in 50 minutes if you're around and we're gonna check in on our hackathon teens and the Guru's and have a little conversation about how things are going and what people are built in and yeah any of the teams out there want to come and share you know what they're working on there reach out to to Brad or I or guru and we'll pull you onto the stream and if I'll check to see if anybody's doing any live streaming and we might drop in on their streams and see what's going on but we'll see y'all back in about 50 minutes thanks everybody yeah thanks guys
https://www.youtube.com/watch?v=jvQ8jYAKzLE