The following is a presentation of TFNN. The morning market kickoff with your host, Tommy O'Brien. Thursday morning everybody, I'm Tommy O'Brien, coming to you live from TFNN, 8 30 AM Thursday morning as we come into the long July 4th holiday and folks, we got markets rocking and rolling right now. As we speak, check out this S&P, we're gonna get two big numbers coming up right now. We're all just delivered at 8 30 AM, weekly jobless claims also delivered 8 30 AM. Markets were already about 20 to 25 points in terms of the S&P in the positive and check out that S&P folks. We're gonna come into this long weekend with an accelerated action to the upside right now looking for those numbers as they come into the news. Jobs increase by almost 5 million folks, 4.8 million. There's the headline. We'll bring it over real quick. Jobs increase by 4.8 million in June versus the estimate of about 3 million. So we had ADP yesterday. We get non-farm payrolls today. They were expected to be at about 2.9. They come in at almost 5 million jobs, unemployment rate 11.1%. That is a beat as well. Now interesting, we're gonna get the weekly initial jobless claims number as well. Only a certain amount of attention that you can pay to all the data coming out this morning, especially coming into a long weekend. But nonetheless, you got the S&P's up about 1.2% right now. Jumping over to the NASDAQ. NASDAQ, how about all-time highs, all-time highs, and I was gonna say on a continual basis every day, NASDAQ all-time highs. Why not? Amazon, let's just jump over to Amazon. How about Bezos, richest man in the world, richest ever at 171 billion I think was his close out as of the close yesterday. Well guess what folks, that number going up again today, and the weekly jobless claims. So that was the number I was waiting for as well. Two big numbers at 830. There's your weekly jobless claims number 1.427 million. The expectation was 1.38. This one is perplexing folks. I mean, we're getting a steady flow of 1.4, 1.3, 1.5 million jobs every single week. That's an initial jobless claim. That somebody's still losing their job within the last week. But nonetheless, we saw the non-farm payroll number rising by almost 5 million, getting back some of those jobs. There's Amazon though, March and hire this morning, 2912, and we gotta jump to it, folks, of all the stuff going on. Have you checked out Tesla this morning? Kaboom, $1,232 for the price of Tesla, keep in track. That's more than $100 above where it closed at yesterday, which was an all-time high. Just early this week, we were at 950, and it looks like we're gonna end the week at around 1220 for Tesla. Remarkable acceleration. We'll jump over to their numbers in a moment. More delivers than they were looking for. They also got an upgrade for Tesla as things just keep rolling. Jumping over to commodities. Crude oil getting a pop on both of those numbers at 830. Crude yesterday up to 4058. Right now you're trading at about $40.33. Go contract down $2. We were at 1807 early yesterday. You trade lower for most of the day to 1770. Early this morning, we're back at about 1785. Within about the last hour though, gold trading lower. Look at this volatility. We're getting on those jobs numbers, folks, 1777. Silver contract basically flat at 1820. And yeah, let's jump to Apple. We gotta jump to Apple. Apple trading higher as well. I don't think Apple made it to all-time highs, did it? Yeah, 372, the all-time high on Apple, dating back to the 23rd of June. We're right up near that level at 367 so far this morning. Why not jumping around to some of those other tech stocks, Microsoft shares, gonna open right now at an all-time high with a bid of 206.40, the all-time high yesterday, 206.35. Let's jump to some of the social stocks. How about this rebound from Facebook, right? Facebook folks gonna open 240, all-time high 245. So much for the boycotts of their advertising. Facebook's almost at all-time highs. Keep that in context as you hear about these advertisers pulling out. It's really not gonna matter if they pull out for 30 days and then they come back and that's what they may do because there's no advertising operation engine, basically like Facebook when it comes to targeting Twitter shares for some context. We're gonna open at about 31, not quite the same story as Facebook, that's for sure. All right, jumping around, let's see. What else we got going on? Where's my stories? Okay. So in terms of Tesla, we'll start it off. Why not? The man Elon going in gonna have himself quite a July 4th weekend. So Tesla deliveries, let's go to it. All right, there we go. Tesla shares sword, it's a little tongue twister, during pre-market trading following the automaker reporting Thursday, it delivered 90,650 vehicles in the second quarter. The analysts are expected about 72,000 vehicles, even on the high end you're talking about 83,000, they come in at almost 91,000, Tesla's up in a big way. So the first quarter of the 2020, Tesla said it made more vehicles than it sold with 102,000 produced and 88 delivered during the second quarter, Tesla made 87,000 vehicles. They had some shutdowns there, so you're gonna see a decrease in supply. And they delivered 95,000 including 77,000 Model 3s, quite a quarter for Tesla, just does not stop. And anytime folks, anytime you see a CEO tweeting out congratulatory messages for all of their employees before they tell the world how they're gonna do in terms of raw numbers, those numbers are probably gonna come in pretty well. And that was the case here. This was the story last night, Elon congratulating his employees ahead of that delivery report. So you are already trading higher on Tesla, Tesla got an upgrade as well today. So getting into the action, I mean, you are already higher. And then things just popped even higher, I think, on the deliveries number at about 7 AM. So you're trading at 11.73, you're up at about 12.16 right now. All right, other stories. Last night it comes out McDonald's, so they're gonna halt the US reopening plans. As coronavirus cases spike, no more indoor dining. They're pausing the US reopening plans for 21 days, franchisees who have already reopened dining rooms are not facing any rollbacks from local officials can decide if they want to keep them open, but McDonald's execs emphasize that franchisees who continue to be disciplined about safety measures. The shame about all this folks is that if everybody would try and wear a mask and not even try if you're able to, things could be a lot more open, but the persistence of the difficulty in any type of social distancing while wearing a mask when you can't as the COVID-19 numbers just rage on. But McDonald's, so about 1,000 out of the 14,000 locations have reopened with reduced seating and that's gonna be a problem as McDonald's already coming out and saying, hold on a second, we're gonna pause that for about 21 days. You see the news last night, McDonald's spikes below 183, but guess what folks? Most jobs jobs this market stocks only go up as they say lately, so sarcastically guess what folks they only go up until they go down. There's an expression in poker when you go all in, it works every time until the last time, right? So be aware stocks only go up until they don't and we're talking about Nasdaq, the biggest technology companies in the world. I was just looking at DocuSign, how about this running DocuSign just in general this morning. We're talking about from $60 in change in March, the low really $65, this morning we're gonna open it 183 on DocuSign, maybe 182, just crazy action. We've all been following Zoom, Zoom to the roof, we're up at about 260, challenging the all-time highs on Zoom as well, continued action. And how about the VIX, how about a 2692 print on that VIX? The low on June 5th, 2354 below that and you'll be talking about February numbers on the VIX as we come into July 4th week. Stay tuned folks, it should be an interesting Thursday in the market, it's digesting those jobs numbers, we're gonna enter those numbers a little bit more and we get back from the break. Many of our new listeners have heard about the Tiger's Den. The Tiger's Den is a lively community where professional traders and investors can meet, exchange ideas and information in a comfortable moderated atmosphere. Hear all of the TFNN shows, plus see all the charts as they happen live and have access to archives of all of those charts. You can test drive the Tiger's Den absolutely free for 30 days and greatly enrich your knowledge of these markets and how to make your money work for you. Details on the Tiger's Den are on the front page of TFNN.com. TFNN has just launched their July 4th Tiger dollar sale. For one week only we've doubled all the bonuses where you can now get up to a 20, 30 or even a 40% bonus on your Tiger dollar purchase. Tiger dollars are good on all TFNN newsletters, webinars and trading services and never expire. For all the details and to get your Tiger dollars before this sale ends, Monday, July 6th, visit the front page of TFNN.com today. The gold market has taken off top side in a large way in 2020. If you want to take advantage of this sector now is the time to subscribe to my Gold Report. The Gold Report took profits in four of its equities in the Gold Portfolio in the first week of January for a combined profit of 99.2% with two positions left in the portfolio that have a profit of 67.5% as of January 7th. The Gold Report is a comprehensive look at the metals sector as well as the markets that move gold which is the currency and bond markets. New subscribers get a 30 day money back guarantee so you have nothing to lose. Every Monday morning I publish the Gold Report with coverage of gold, silver, bonds, the XAU, HUI, GDX as well as more than 30 different mining equities. To see for yourself the types of profitable trades that are recommended within the Gold Report, sign up now by visiting TFNN.com. Don't miss out on the next great gold trade. Sign up today. Are China A shares hot or not? If you trade China A shares now may be time to take a closer look. In CHAU or CHAD directions daily CSI 300 China A share bull and bear ETFs. China A shares in either direction. Visit Direction Investments.com today. An investor should consider the investment objectives, risks, charges and expenses of the direction shares carefully before investing. The prospectus and summary prospectus contain this and other information about direction shares. To obtain a prospectus or summary prospectus please contact Direction Shares at 866-47675 The prospectus or summary prospectus should be read carefully before investing. An investment in the funds is subject to risk including the possible loss of principle. The funds are designed to be utilized only by sophisticated investors such as traders and active investors. Distributor, 4-Side Fund Services, LLC. Don't forget you can listen to TFNN live on your mobile device 24 hours per day. Go to TFNN.com then hit Watch Tiger TV. That's TFNN.com then hit Watch Tiger TV. For the latest market information. Welcome back folks. Right now you're looking at S&P up about 40 points hanging at 3140 Nasdaq Futures up about 100 at 10,368 in the Dow of 372 checking in on Boeing, Boeing's had a volatile week this week as they've been dealing with the recertification of that 737 MAX putting it on a shorter timeframe. We were as high as 195 on Monday when those tests started, Boeing pulled all the way back to below 180 right on the open on Tuesday, a little bit of volatility on the open on Wednesday. Like guess what? We're sitting at about 185. We're gonna open a bit lower on Boeing relatively right near though where we open the week. You did get that pop from about 170 to 180 to 185. Looks like recalibration as 737 MAX looks to get recertified. Things seem to go well, but we'll wait and see how those tests went with whether it was the Boeing pilots or the FAA as well. All right, jumping around to some of those numbers within the jobs number before we get. As well trading higher Asia trading higher. So in terms of the numbers coming out job gain of 4.8 million in June expectation was under 3 million unemployment rate of 11.1. They were looking for about 12.4. Okay, and this is what I want to get into. So the numbers capture all the moves by the 50 states. However, because the government survey comes from the middle of the month, it does not account for the suspension or rollbacks in the region's hit by a resurgence in coronavirus cases. Take that line folks, drill it into your brain, because the dynamic of what's going on has dramatically changed over the last 15 days. This is a big number, but COVID spikes, whether it's in Florida, Nevada, California, you almost can't keep track right now of the spikes going on across the country. Leisure and hospitality again accounted for the biggest jump as the sector saw 2.1 million gain. That was about 40% of the total growth. Another big contributor to the decline in the jobs rate was a plunge in those of temporary layoff. That total fell by 4.8 million in June to 10.6 million after a decrease of 2.7 million. Again, you're dealing with temporary layoffs here. This number is dating back to the middle of June. And I remind you that we're dealing with stories like this, where McDonald's is now pausing the reopening plan for 21 days and saying, if you did reopen, you might be able to keep it open. I mean, you're seeing California yesterday, they just came out. And what's happening? They're talking about bars shut down yet again. So you're gonna see some volatility continuing this one, folks, as that marches on. All right, so China and Hong Kong, Asia stocks were higher last night. Talking about there was the first opportunity for them to really factor in the news, whether it was from Pfizer, not weather, from Pfizer and Biontech showing the potential for a vaccine. Asia shares trained higher, Hong Kong surges nearly 3%. Now remarkable action that you have Hong Kong surging that when the political unrest going on over there, folks, with the new law they passed, I believe there are hundreds of people arrested over in Hong Kong over the course of the last 24 hours. Many of them using that new law that you could risk life in jail, if you're basically not say anything against the transition to China. So nonetheless, it's all about COVID, vaccine potential in Hong Kong trades higher. Okay, a couple of equities, so four, they're gonna partner with Disney to unveil the Bronco SUV on July 13th, 11 days from right now. They're gonna unveil that across the Disney media networks, including ABC, ESPN, excuse me, National Geographic and Hulu. So Ford working with the creative works, the company's in-house agency in creating custom three-minute videos for each network. So you got Ford coming out with the Bronco in about 11 days. Some of my buddies going to high school in the late 90s, the Ford Bronco, one of my buddies had a nice Bronco and they're back in town. So Ford up at the market today, Disney's had some real volatility when it comes to COVID opening and the pullback in terms of it maybe not opening. You see the fall off even from where we were in Disney, we were up June 8th as high as 127 almost. And you just trade to basically a low of 108. This morning though we're gonna open here in 115 on Disney shares as it looks to be good news potentially on their open. Now housing market, a couple of stories jumped out at me. I'm always looking at a bunch of different stories, seeing what's on the market, seeing what's happening and what's hitting equities and so forth. And these real estate stories keep going folks and for the markets out there that was super saturated, I mean Boston, Boston, if you're in the heart of Boston, South Boston prices, my original hometown, Borden Selfie, have been fanatical prices because of the need for people to work in financial or just business hubs. Boston being one of them, San Francisco, New York City, Seattle has some areas of high tech area. Remarkable drops going on in these companies, in these areas, excuse me, as people have the ability to work from home wherever they be. We've seen that Slack, Microsoft, especially the tech companies and the tech companies have built some of the biggest real estate bubbles going on in the country and maybe even the world in terms of needing to be there, Silicon Valley, needing to be there. Those types of centers of economics, average rent for one bedroom apartment in San Francisco fell almost 12% year over year in June, following a 9% year over year drop in May. You got Twitter, Facebook, embracing work from home. Now, so this is San Francisco and I'm jumping around Bloomberg, pretty much a similar article talking about Manhattan home sales. Now that was rents in San Fran. This is home sales in Manhattan. You got a couple things hitting it in terms of whether it's the ability to write off state taxes on your federal income. That is hitting some of the bigger properties, of course, in states like New York and Massachusetts. But you got Manhattan home sales fall most on record in lockdown quarter, purchases of co-ops and condos in the borough tumbled 54% from a year earlier to 1357. Biggest annual decline since the firm started keeping the data in 1990 and there's your drop off second quarter of 2020, 54%. You got to bring it back to basically 2009 in the woes there. I would not be buying a condo or co-op in Manhattan right now, folks. I would be getting out of them as fast I could and why not come on down to sunny Florida and buy a beautiful spot because everybody's going to be coming down to sunny Florida or wherever you want to be and you just fire up your Skype. I'm on Skype. Everybody's on Skype. You can do your show. You zoom, right?  But remarkable trends and I don't see those changing anytime soon for those markets specifically. All right, what else we got going on? Stocks making moves. So we talked about McDonald's, they're going to halt further reopenings of the Dine-In service, talked about Tesla. So WebBush was the one that upgraded them to $1,250 from $1,000. They may need to upgrade that price tag by today. Did they tell us that they were going to get to $1,250 by the open this morning? Because they almost are, folks. They were at $1,000. WebBush, well, guess what? We were just at $1,000 on Tuesday and they upgraded to $1,250. We might be at $1,250 by Thursday. That's how fast Tesla is moving. JetBlue reached a deal with its pilot union that will avoid involuntary furloughs until May of next year, according to a memo. The memo did not give any further details. These airline stocks talk about some Max Payne, JBLU, their symbol. JetBlue up a bit with the market today. No real action on that stock as maybe to be expected. Americans said it was overstaffed by about 8,000 flight attendants may seek to cut the workforce through voluntary leaves and early retirements trying to avoid forced layoffs. American, this is volatility yesterday, right now American. The one out there saying that they're going to try and fill their planes. Shortly, good luck to that. Boeing we talked about completed a series of recertification tests out there. So Neo, the China-based electric vehicle maker delivered 3,740 vehicles in June, a monthly record exceeded prior guidance with the second quarter deliveries of 10,331 for the whole quarter. Neo, this one trading higher, maybe a little optimism on the heels of Tesla. Check out that pop from Eaton up to 923 on Neo. Stay tuned folks. Right back to see what else we have on tap for Thursday trading. Back in the day, I joined the Hotel California in 2006 and like many of you was drawn in by as well as whatever you think about you bring about whatever you focus on grows. You see, I believe that everything in life happens for us. Not to us. And Tom ignited the fire within me to want to learn how to master the markets. So how did I go from knowing nothing about technical analysis to becoming the number one market timer for the S&P 500 in 2018 and the number two market timer in 2019? Simply put, I hired coaches with a proven track record which led me to a whole new set of tools that I created to interpret the message of buyers and sellers. I would love the opportunity to teach you this award winning set of tools and help you improve your market timing. You can test drive my newsletter service mastering probabilities for the next 30 days with no risk to you. Plus, you'll gain access to archive workshops that will take you step by step through my system. Sign up today by going to the homepage of TFNN.com and selecting Mastering Probability in the newsletter tab. Bam! If you haven't checked out the newsletters page of TFNN.com, what are you waiting for? All of the TFNN newsletters are informative, up to date, affordable and must have for every trader looking to gain a competitive informational edge in today's markets. TFNN newsletters cover every aspect of the markets to offer you the very latest in market news. Plus, new subscribers get to test drive our newsletters risk-free for 30 days. From all aspects of the markets, including stocks, bonds, metals, commodities and tech, there's a newsletter to fit your needs exclusively from TFNN. Stay informed each day you trade and get the competitive edge that will help you stay ahead of the game. Visit our newsletters page by going to TFNN.com and click the newsletters button near the top of the page. TFNN.com. Educating Investors. You know what's cool? Taking something that's good for you. Something specifically formulated to help with weight loss, better sleep, stress reduction and the need to detox. Niko, our hunter and gatherer ancestors found all their nutritional requirements for health in their wild environment, but today our food sources no longer contain the vitamins, minerals and nutrients our bodies need to stay healthy and strong. That's why we need Primal Edge Daily Nutrition. It includes a special blend of ionic, soil-based vitamins, minerals, baddie and amino acids in an easy to use liquid form. Primal Edge is powered by highly concentrated folic and humic acids, nature's preferred delivery system. They have been called miracle molecules because like sunlight, air and water, life cannot exist without them. That's right Paige, they ensure we receive all the nutrition we need to be healthy and thrive. We take it every morning. Primal Edge, formulated and approved by Niko and Paige of Living a Primal Lifestyle. Buy it today for just $89. Click on the Primal Edge banner on the front page of TFNN.com. Don't forget, you can listen to TFNN live on your mobile device 24 hours per day. Go to TFNN.com then hit Watch Tiger TV. That's TFNN.com then hit Watch Tiger TV for the latest market information. Welcome back folks. Thursday trading coming into that long weekend. Be safe out there. Have a great long weekend. Practice some social distancing. Wear a mask folks. Help us to get over this hump. Dow futures, they're getting over it. 409 points. S&P up 36. NASDAQ up 96. Speaking of July 4th, we got a July 4th, Tiger Doll sale going on. Head on over to the front page of TFNN. We double the bonuses, 20, 30 or 40% bonus on whatever you spend. Whether it's 500, 1,000 or 1,500, you can get up to a 40% bonus. 600 Tiger Dolls additional, a 30% bonus, 300 Tiger Dolls additional or a 20% bonus, an extra 100 Tiger Dolls on what you spend. Those Tiger Dolls, good for all newsletters, services, webinars, trading workshops, never expire and good for all that stuff. Check that out on the front page of TFNN. That sale running through this weekend through Monday, July 4th. We run that sale about a couple times a year. All right, jumping around to what else we had going on. So the weekly jobless claims number, I mean, like I mentioned when this number came out folks, we're dealing with basically a stagnant number of 1.4 million that we're going to be losing every single week. That is not good when you compare that the biggest number we ever had pre-COVID was about a weekly initial jobless claim of 700,000. We're now sputtering out at a 1.4 million number continuing and you're going to hear a lot about that weekly, excuse me, the non-farm payroll number. That number for the middle of June, this is such a dynamic situation. The one thing I would say, whatever you're thinking, make sure you're always seeing what's going on because things are changing pretty quickly, whether it's earnings, profits, market action, but right now, strength into the weekend, it looks pretty tough to see a sell-off coming into America's birthday, July 4th. Get out there, be safe, have some fun, de-stress, take a few days away from this crazy market and come back Monday ready for more because the volatility is going to persist even if we get a vixx of 2684 as we look to open Thursday trading, low volatility with the market that just continues to march on. We now get the Dow. Maybe we'll get a presidential tweet, 26,000 in the Dow. That's a weekly occurrence, why not? 26,020 in the Dow futures, 3,144 in the S&P's, 10,373 all-time highs in the NASDAQ. Stay tuned, folks. Harry Pezzavento coming up next with Trade What You See.


Welcome back to news now on PLOS TV, Africa. It was a time of networking, thanksgiving, and share fun when members of the Association of Professional Party Organizers and Event Managers of Nigeria converged on Lakers for the third edition of O1B, tagged, funkified. The annual event brings stakeholders in the industry to unwind, reflect on past years and project for the future. PLOS TV, the escrow crew that was there to bring you all the beautiful moments, details now. Synthelite and scenery, great music, energetic dancing, and magical moments. It is the third edition of O1B, simply put, O1B 3.0. Tagged, funkified, stakeholders in the party planning and event management industry gather here for the sole reason to enjoy the same great moments they gave to their clients. Magic and sheer excitement encapsulate the ambience here. Members of the Association with their kids and kin are treated to a lot of fun and sweet memories that will not go away in a hurry. So as the evening hits on, guests present are reminded of the journey so far. Just to let loose and lose our own chains. It's a time for all to unwind, to taste what other people have been giving to other people. So it will soon be so groovy that we enjoyed the moments. Event management has emerged over the past decade as a dynamic sector of the tourism and leisure industries. The number, diversity and popularity of events have also grown throughout this period. With 2023 gone and 2024 getting fired on, what trends and glamour should Nigerians expect from these set of people who provide them with indelible memories? Plus TV crew gets up close to some of the key players to find out more of. Fast becoming a global village. So whatever is obtainable anywhere in the world would have to be obtainable here to as Nigerian event stakeholders. So we don't even want to say we're made in Nigeria, we're going to be global brands but created in Nigeria. At our point where trend setters, we're pace setters, we are, I mean everything setters in the industry so all I can say is watch out. Without a doubt the event and creative industry has come to stay in Nigeria and the country is taking the world by storm. Notwithstanding the current economic realities, active players are finding innovative ways to thrive. And what you look for is a situation where the professional event planners, which is what this organization is about. If you're a professional event planner, you look at all the meditating issues that you have. Retool, repackage yourself in business is not when prices go up that you must necessarily put up your prices. You can actually hang in there, let people notice the difference you're making. Firstly affecting us in the industry because bringing things from China is not an easy thing now. So what we have is what we maintain. If you maintain what you have from there, what we pray for is the exchange rate to calm down. Parties and events bring colors and smiles to faces of people. The stakeholders are careful to ensure qualitative standards knowing that the barriers to gain an entry into the business is not much. With some support from relevant authorities, they believe that the year 2024 and beyond will be resounding with great memories and joy. Because our backend processes now has to, we have to spend more money on our backend processes. And so we look for creative ways to actually cut costs without cutting corners. And so that's a whole lot of brain work to deal with. But we keep at it because we're not going to rest and that's why we're creative professionals. If we have not changed the event industry, you won't see people here. So we are leaders. Our poem is the place to be. We are transforming spaces, doing a lot of marvelous things and being the leader, people are following us. On the whole, I can say, it's been exciting for us. We've been able to introduce wellness and healthy eating, even while people are partying. And for us, that's a very big plus. The O1 Beth, 3.0, and other additions, leads the party planners and event managers with sweet tales to be remembered, just as they have committed to always raising the bar and setting their place and pace with innovation and dedication. Hello. Hope you enjoyed the news. Please do subscribe to our YouTube channel. And don't forget to hit the notification button so you get notified about fresh news updates.


Hey guys, what's going on? It's Andy Ellen. I'm here with my boy Aaron. You guys might have seen the video that we dropped last week This is super important.  Aaron's gonna talk about some stuff I promise you that could literally shift your life or could save your life and And he's your brother and obviously I've never served in the military everything in my life I run like militant style, but I've never been in and served so today Aaron's gonna talk and this is this is gonna be a Training this is gonna be just from Aaron's heart. I believe the conversation you don't want to miss check it out Hey guys, here we are I'm again here with my man Aaron Williamson as you see him everybody's like who's that? Is that your bodyguard? No, it's my brother. Okay? Okay, my brother from another mother now I want you to listen. This is super important I asked Aaron to let's not run into a long Conversation, but let's talk about some stuff that could really help specifically the veterans now if you're not a veteran and you're like Oh, man, I'm just gonna turn this off.  I sure you some of the information He's about to give you will probably ring true to you on how to fix some of the problems in your life Regardless of being a veteran or not So Aaron real quick, you know 30 seconds introduce yourself if this is the first time somebody's catching a video from you. Tell us about you I'm a Marine veteran. I'm an actor celebrity trainer stunt performer and now a member of the the Elliott army Fitness is my anchor. It's been the backbone of my whole life It's kept me alive and I'm in the position now where I get to take The love of fitness and health and share it with you all Love that and by the way, he just transforms people's lives for a living every day super cool Cool as you've ever seen Including myself and my wife and our whole Elliott army team and obviously hundreds of thousands of other people you can follow him if you want to see who he is on It's gonna be Instagram. It's gonna be Aaron Williamson Aaron V. Williamson go check him out Aaron. So let's talk today. I want to talk straight to the veterans. Okay By the way, what are some struggles that veterans? Go through right like like I like even before I met you I've always heard a lot about like suicide PTSD, right? Like like things like that So like like tell me what are the things that they struggle with and then let's talk about what are some things on How you can really like level out of that? Well, when you join the Marine Corps or when you join the military in general You become a very your day-to-day becomes very mission-oriented you're a part of a tribe a part of a team a part of a family you develop camaraderie and When you get up every day, you know what your day is gonna consist of you know what your week's gonna consist of You know what your life is like there's tremendous structure to being in the military and When you leave that and you come to the civilian world You realize very quickly that none of that exists anymore. You'll you realize and this is something I learned the hard way that People's words mean nothing when I shake your hand and I say I'm gonna do something. It's ironclad And I've been burned so many times over the years that I Know now that I can never shake anyone's hand and really do that unless they're a person of integrity and So you got to think about when you're when you're in the military when you join up There's a certain sense of sacrifice that automatically happens your mind your body Sometimes your spirit depending on what you go through when you leave that You have to find new purpose in your life and There lies the problem that veterans have you leave this this world where you have structure and you have stability Financial stability you have all the things that you need to thrive and live You now no longer have and you and you have to figure out what the next step is for you the mentality is different In the military in the civilian world, so there's the next layer of it So now you have to redefine your purpose You have to understand how to talk to civilians in a way that Doesn't make you too hardcore doesn't turn people off from you doesn't make them so intimidated that they're scared to be around There's a there's so many different nuances of civilian life that you have to learn how to adapt to and that was a very difficult thing for me So When you have no purpose you turn to a vice It's usually not a good one and depending on the severity of the trauma that you've been through specifically Let's say combat When you add those demons on top of it Trying to find purpose becomes very difficult because we live in a we live in a world now where there's entitlement We live in a world where everyone thinks that Their voice is better than everyone else's and you got it you go back and you think that I just spent the last four years six Years ten years whatever it is sacrificing everything I have for the In the name of freedom for this country So it's a very it's a very hard pill to swallow and when when when people ask me Hey, my son's thinking about joining the military or my daughter's thinking about joining the military my first question to them is Why like what is the expectation?  I hate it. Hey guys. What's going on? It's Andy a lot of you leave comments. Tell me that you need help Do me a favor I'm gonna tell you the best way to get a hold of me shoot me a text message right now 918 210254 918 210254 I'll help you with whatever you need.  Let's get back to the video Well, obviously then when you talk about some of this stuff, you know Sometimes because I've never served right but as I ask him clearly you can tell he's passionate about like taking care of the country honor Dignity integrity, you know I'm saying like ironclad handshake. He said you need it's hard to shake people's hands By the way, doesn't mean that he doesn't believe in people He's just saying you guys know the 99% and the 1% right? He's just saying only 1% of people keep their word He's like, why can't we all do it? You know I'm saying like that's a part of the pack there And then when you come out into the to the real world, you see that there's a lot of people They just don't do what they say they're gonna do and then also on top of that when you do go overseas Or you go into a different environment of these things you see things that most people will never see in their life You know a lot of people, you know, they enter all kinds of crazy stuff in their life But that's like a whole another level when you start talking about being close to somebody and then maybe them dying Or like seeing other people get killed or maybe being in you know crazy situations in which you shouldn't have survived That's where that's where being in the military you can talk about selflessness and you talk about reciprocity and giving back and It's something that's hard to find in Society today because we're so selfish we we just expect all this it's all about me It's all about what I want. I need this. I need that rather than just being a good person and Giving first the even even when I didn't have anything to give I had time and Sometimes time is more priceless than anything else that you can give and and sometimes that can go further than any amount of money Can go you know when I'm talking to a veteran who you know calls me at 2 o'clock in the morning and Doesn't think they're gonna be able to make it through the night I'll stay on the phone with them all freaking night if I have to to make sure that they stay alive because I've been there I understand it. I know that dark mentality. I I know where their heads at and We we need that that human bond and that human connection and to know that there is still the ability to find purpose and to find good people and you know find a tribe like this and and I think what What you're doing what we're doing together collectively, especially you know being in venues like this talking about Veterans and how we can help them, you know, there's there's this stigma that veterans are broken every veteran needs help That's bullshit Veterans are some some savvy motherfuckers and I'll just I talk about Marines because I'm a Marine but our motto is Improvise adapt and overcome like put us in a sandwich. We'll find our way out of it no matter what and that's been my entire life, so This is this is amazing being able to to be Here with you right now to talk to veterans like this because they need it they they need it so bad. Look at This is society right now is not not in a good place and and and I feel like this is where veterans can thrive and there There's tremendous opportunity right now for veterans So when you say like like there's never been a greater time for a veteran to like level up Right and then like really make an impact right because there are people that have been through stuff seen stuff They've seen the brotherhood. They've seen the tribe. They know what exists and we need them to bring that to the marketplace for for us, right?  What are some things that you would recommend? Doing what are some things what are some things that you'd recommend if there's a veteran watching this and they're not finding any value in themselves Or they may be forgot, you know about that drive that brotherhood that purpose that change You know I'm saying maybe they've seen some stuff, you know, you've told me some stories that are crazy and You know, how do they change? What would you what would you recommend? I? Would recommend doing what most people will probably not want to do and that's Get getting into some networking getting into some self-development Finding a way to be a part of courses that will make you come out of your shell a little bit because So I get in the proximity whether it's through like online Connection or whether it's face-to-face So I'll bring this up. So as he's saying this you're obviously seeing Elliot army You guys we do events every month like we do events every month, okay?  They're wicked There's a number on the screen. You text that number. It says fitness division. You just text that Aaron will set you guys up. We'll see you on the weekly calls and you guys can crush it and kill it with him You know it is fitness a big part of like I know that you help a lot of veterans But like do you have them get into fitness? I mean for the mindset part? Yeah one hundred but as a veteran we we need it because it's it's the foundation of Everything as a veteran any branch of service you go through One of the very first things you do is a physical fitness test you need to be fit and For those who have gotten out and have lost their way and forgotten about that.   I'm gonna I mean like just like just start right because What me and I always talk about is the the big stuff comes from doing the little stuff right people people that want a big life They want a big change It's the little things that compound that create something big and it's not big things that create big things It's little things right if you if you try and jump into a complete program right off the bat you're You have a highly you're very likely to fail But if you can start implementing little things and you can work your way into it and start to develop these new lifestyle habits That's where the success comes from that's where it no longer becomes a diet That's where it no longer becomes a training program It just becomes part of your daily life and as veterans this is the way we lived during our time Serving why not continue to live that lifestyle now where you can continue to be healthy and you can continue to thrive and Make money and help people and just be a good person why?  That's keeping people from being healthy It's easy. It's it's it's one decision of saying you know what I? Know I deserve it. I'm strong in the mind my body can be strong again I can have my health back and you know what on the way of you doing that You don't know who's watching you you don't know who you're gonna inspire along the way So there's this pay it forward that's automatically gonna take place Yeah, and plus you start to like who you are again find value in yourself Which is which is which is massive, you know if you're wanting to bring special energy to your family special love to your family You want to really do something big in life?  Our fitness division in the Elliott army that we've built which is insane You know we train thousands of people around the country of fitness Total recreation Aaron your coach We also have a couple other coaches that coach with you that are savages and a lot of them are veterans too, right? Yeah, we're we're a veteran We're a bunch of veteran brothers who are just really trying to create the most massive purpose that we can To help every single one of you and you guys get on weekly calls or twice a week What is it we get on weekly calls? You know the app that we use to is a community, right? There's there's networking. There's Q&A's like you can become so involved and you can meet so many amazing people through this group So don't think of it as you're just gonna get a fitness program You're gonna get a program that's built for you.  Maybe they're in your same city. Who knows maybe they work out your same gym Maybe you're gonna have a new training partner now Like you just never know what you're gonna run into but I can tell you this your life will be different from day one Yeah, I love that guys. So it doesn't matter where you are in life.  Okay, if you're not happy with where you're currently at right or if you are happy It's important to put yourself around and in proximity of people that help you grow people that help you scale people that have been Where you are, you know I'm saying so I would highly recommend to everybody Everybody if you guys don't follow Aaron go to Instagram fall official or not son official It's it's it's Aaron R. Yeah, Aaron Aaron V V is and Victor Williams if just type in Aaron Williamson I'll come up. Yep, and you guys can hook up with him. You guys can DM them You guys can message him you guys can text the number on the screen, but more importantly, okay? guys, and I've heard you talk to a lot of people that are going through tough times and Sometimes people give up on themselves, right? And then sometimes people push through and they do what we said to do which is reach out Get to help join the brotherhood join the army and go to the next level What would you say to anybody before we in this who's who's thinking about like giving up? You know what I mean or who has given up? You know I'm saying like like what would you say? I? Would say you need to look in the mirror and really have a strong conversation with the person you're looking at And you need to think about Why you're in that position You need to think about the people who whose lives would be destroyed if you did something stupid you need to think about The brothers the sisters the family the people that you may have lost in a situation that was out of your control You need to ask yourself a lot of questions and know that if you're here right now and you're alive and you're breathing it's for a reason and When you can Understand what that reason is and you can redefine that purpose in your life and start to focus on the path forward You're gonna help a lot of people and and I say this because I was in the same boat. I Was in that dark place Yeah, and you're saying turn your wounds into your weapon basically, right the wounds. Yeah exactly what I'm saying Yeah, it makes you dangerous matter of fact it makes you more qualified than anybody Because struggle and suffering is actually what makes you great Okay, so everybody we love you guys. We appreciate you. We're grateful Makes you follow Aaron on Instagram go check them out. You can text the number get in touch with them more importantly guys every single day We're gonna have adversity every single day.  I'll see you soon


We asked them to sort of follow four general guidelines in their approach to Ramadan. One is to raise awareness of Ramadan's significance to Muslim students because they don't, if no one else knows why it's important for these students to be doing what they're doing or why it's such an integral part of their identity, then it's hard for even those adults who are of the best of intentions to provide them with that support. So we're asking them to help us raise awareness within the adults and other students in the community to know what's going on. And then we asked for accommodations for fasting students and that's a plethora of different kinds of accommodations which we'll go into in more detail. The other thing we asked for is for them to be flexible and understanding that this is not an average sort of observance. It is difficult. It's supposed to be difficult. It's supposed to be a time of restraint. When we're restraining ourselves, with that comes some difficulties. It's also a time for many young people to learn that balance of how to strike the balance between their religious practices and our observances with their day-to-day responsibilities as students or as young people. And then the last thing we asked is for them to foster an inclusive environment and that's a lot of what Dina's going to be talking about. And Sikina will be mentioning some of the things that they're doing to just, you know, make Ramadan and Eid fun. It's something that everyone can be a part of and to really understand what it's all about. So those are sort of the general guidelines that we discussed with them. And then we provided them with an information sheet which I sort of tweaked it a little bit based on our needs here in our community and the questions and sort of concerns that had come up over these last few years. But it's based on ING's Ramadan information sheet. So most of it is from them. I just wanted to acknowledge the great resources and support that they provide. So, you know, what I was going to do with my iPad is not working. But if you guys would like to come up afterwards and just sign in or give me your email address so that way I can share this information with you. If anybody wants it, please feel free to come up to me after and I'll get your email. But yeah, so there's a, you know, a long information sheet that you can utilize with your teachers with your principals to give them general information about Eid and Ramadan. And then the last thing that we did, which again, I'm going to give a lot of the lion's share of the credit for the specific accommodations to our high schoolers because they were very specific about their requests. And I really appreciated that. So, you know, we had some, we asked that teachers make an effort to become aware of the students that are fasting in their classroom, right? So we asked them to try to make sure that, you know, they are aware of who those students are. That being said, it is our responsibility as Muslim families to let the school know that your child is observing Ramadan, whatever that looks like for your child. If your child is a fourth grader and they're only going to be fasting once a week, then you need to let the classroom teacher know that so that they know what to expect.  They might, you know, need to take a few minutes to go wash their face if they're feeling tired. They may want to be able to be in the library at lunchtime. Whatever those requests and flexibilities are that you would like to have for that situation, you need to be asking for that and you need to give them the time to find ways to accommodate that, right? Another thing I want to point out is lunchtime is lunchtime for everyone, right? That's your teacher's break time too, right? So if we're asking for them to do anything additional outside of what is their normal schedule, then just like you would accommodate or you would ask for from anyone, you're going to be patient and kind when you ask for those, right? This is, yes, we want accommodations, but at the same time, they're going out of their way to make that possible for us. So we want to be, you know, as kind as possible when we're asking for those things. The last, the next thing that we talked about is waking up very early for Suhoor. There's many students that want to be able to work early in the morning before school starts, right? So as the students pointed out, many times the teachers at the secondary level, they make assignments due at 11.59 and that's sort of their default setting, that assignment is due on March 3rd at 11.59 at night. Now, if you're going to be like sleeping when you come back from school because you want to take a nap and then you're going to have a start, maybe you don't even start your homework till nine o'clock at night. So maybe having that extra time to do some work at night, to go to bed, wake up at Suhoor and finish your work in the morning is actually really, really meaningful to you, right? So instead of getting late assignments, they asked for the teachers to make that accommodation and set the assignments to be due at eight o'clock in the morning. I mentioned this because it seems like a small thing, but it can make a really big difference in a student's life. And this may look different at your schools and with the people that you're working with, you know? So I would suggest that you, you know, tailor it to what you need. But there are things like that that they wouldn't even think about as something that could make our students' lives easier. In addition to that, we asked that students obviously be given an accommodation to refrain from extreme physical activity, like running the mile or Pacers. Now, I know when I was young, when we asked for, to like, not have to do PE in Ramadan, they just sent us to the library and we got to write a book report or like hang out for the entire month in the library. That is not the case anymore, right? So I think it was because of so few of us that, you know, many times they would sort of let things slide. But now it's really that they still want the kids to be outdoors and they still want them to participate in class activities, but it may be like helping take out equipment, sitting in the shade, playing, you know, a different game in the gym rather than running the mile or doing Pacers or sitting outside in the heat for, you know, an hour. So we're not telling them exactly how to handle it, but we are asking them to give an alternative. So where those things come up and, you know, how they make those accommodations, they have the flexibility to do what works for them and what works for that school and that classroom. We also asked them to note that this lack of energy that the students have is not necessarily an indication of their lack of commitment. In fact, for us, it signifies their commitment to doing something that is an adult requirement. They're stepping up to do something that is what is an obligation for them as Muslims. So we, and this like requires a lot of discipline to do, right? So we're asking them to recognize that and when students are tired, give them an opportunity, you know, if there's something that's out of the ordinary, talk to the students about it rather than escalating it into a behavioral issue. The other thing that we mentioned, and I think is really important because I did hear this a few times, is Ramadan is not a time for discussing political acts of terror, right? Terrorism is a political act. Whatever the justification is at the end of the day, it's a political act, not one of faith, right? And we clearly denounce all acts of terrorism and assault. So if that comes up, that is something you should definitely flag for an administrator or for a superintendent that this is not something that we, you know, would, that we appreciate and should not be happening at all. And then the last couple are around Eid al-Fitr. So we gave them the dates for Eid and told them that, you know, students will be taking one to two days off, whatever is comfortable for your family. You know, we have that sort of window where Eid can be. So whatever dates are work for your family, you can take those dates off for Eid. And then we also asked that no testing be done on Eid day for the students that are observing Ramadan. That doesn't mean that the teacher is not going to have a test that day. The teachers may have a test. The school may have an activity, but they will offer alternatives to our students, right? They can't change the whole schedule for our students, but they will make accommodations for them. We also asked that they not give them the test the next day immediately after Eid, because that just ruins Eid if you have to study and do homework, right? So we asked for that as well. So I think, you know, we want to be as flexible as we can be by not asking for how they make these accommodations, but asking very clearly for what it is that we need in order for the holiday to be enjoyable and for us to really enjoy and practice our observance of Ramadan.


Okay, so welcome everyone and thanks for the kind introduction Michael. My name is Gabor Sarnesh and I'm a final year PhD student from Budapest, Hungary and in this short talk, I will talk about how to make better software with graphs. So as Michael said, JavaScript has some sort of bad name to it, but it's difficult to dispute that it's very popular. So if you go on Stack Overflow, it's consistently ranked among the top languages with respect to the number of questions asked. And it's getting standardized, so there is a standards body that releases a new version of the standard each year called ECMA script. And essentially things are getting better for the JavaScript community is getting a better language. I'm not going to say that it's the best language or it's like the top most popular language, but it's widely used from IoT devices to the browser. So it's important that we make good JavaScript code. And one of the techniques to guarantee good source code is called static analysis. The full name is static source code analysis, which means that we test software without compiling and executing it. So we take the source code, do some analytics on the source code itself, and then try to check rules and check violations of these rules on the source code. This is a complementary thing to the traditional testing. So basically in most continuous integration systems nowadays, you have your development environment, you push code to the source code repository, it then gets compiled by the CI server, and it gets tested by unit tests and integration tests. And static analysis is sort of complementary to all that. It's a different step because it just queries the source code, does some analytics, and then as a separate feedback loop, it returns the results to the developer. This is quite popular, so I'm sure most of you have seen some of the cloud services like Codesc, Codeclimate, and so on. But the problem with this is that this is an offline feedback loop. So you commit your code and then you receive an email 15 minutes later that your code is violating this and that rules. Another approach is to use command line tools and ID integrated tools. If you have done some C programming, there is an old Unix tool called Lint. This is such a defining tool that actually it gave its name to the family of source code analytics tools called Linters.  And obviously there are tools for JavaScript. There is ESLint, Facebook's Flow Engine, the Turn.js system, and so on. So essentially these give pretty good coverage, but all of them have some drawbacks. We tried to do analytics over JavaScript in the past and we found that there isn't a single system that allows users to define global rules, evaluate those rules efficiently, and can be extended by custom rules. So these are pretty difficult to satisfy at once. Obviously others have thought of this problem as well. So checking global rules is a computationally very expensive operation in large source code repository. And this is actually so slow that it's sometimes even difficult to integrate to the CI workload. So obviously there are a couple of workarounds. The first workaround is just don't bother with global rules, write your code in very modular, very separated way, and then use file-level static analysis. ESLint for one does that. Another workaround is to do some batching on your CI analytics.  And also you can do some custom algorithms. So if you make your algorithm smart enough, it's going to be fast, but then it's going to be very difficult to extend with new rules. So in short, we made two important design considerations for the product. We wanted to create a static analysis tool for JavaScript that allows users to define custom analysis rules, be those global or local, and it should provide high performance ideally close to real-time evaluation. So if the user is editing the code in the development environment, the user should be able to receive timely feedback on the changes that they made. So one of the cornerstones of our approach is the architecture and the workflow. It's all built around incrementality, which means that we want to do the analytics in a way that it incorporates the changes made in the code. So essentially, first, it analyzes the source code on the whole, and then for each change, it uses incremental processing. So if only a single file is changed in a 15,000 file repository, it tracks the changes to that file. Second, we want to use declarative query language. Now, if you're in the graph dev room, you can probably guess which declarative graph query language that is. We will get back to that in a moment. So this is the high-level architecture of our system. It starts off with the version control system. All your code is committed to the version control system. It's then loaded to the workspace of the analyzer where it gets transformed to a syntax tree, and it gets transformed to semantic graphs. We then load this to the graph database, and we get a set of analysis rules that we want to check, and then we perform continuous checks on the server and give feedback to the client continuously. So what are these steps? If you have ever played around with a compiler, those should be very familiar because basically, this is how most of the compilers work. Essentially, they start off with the source code which is a sequence of statements. For example, this is a very simple source code which says we declare a variable full which is equal to 1 divided by 0. It uses a component called the tokenizer to split this into tokens. Tokens are the shortest meaningful character sequences in the source code. So for this, verfu equals 1 slash 0, we get six tokens. The tokens then go through the parser, which builds the so-called syntax tree according to the grammar specification. For the source code line that we've seen, we get this syntax tree, and this is already quite close to what we want to use, but this is still missing some semantic information. It's missing on the scopes, which will be added by the scope analyzer, and it's missing on information, on various accessibility features. So essentially, the abstract semantic graph enriches the abstract syntax tree by adding some scope information. So we take this and add some more edges. Actually, once we have already added these edges, it's no longer a tree because it has some cross-edges, all the scopes are defined, and also the accessibility, kind, and other meta-information are added to the specific nodes. So this is like compiler construction in a nutshell, and you can see that even though we started off with a very simple experiment, like six tokens, a single line of code, we get more than 20 nodes and this can be a lot more. So for a very sophisticated line of code, we can get 50 to 100 nodes easily. So these graphs are pretty large. However, once we have these graphs, we can do all sorts of pattern matching. I said that we are going to use a declarative graph pattern language, and this is Cypher. So if you have a graph like this and you know a bit of Cypher, you can actually specify validation rules. For example, you don't want your codes to do divisions by zero. So you create this rule which matches the binding identifiers that are in a binary expression, then do a filtering where the expression is a division and the right value is a zero, and then do a projection operation to return the binding. This is very useful for the developer because the developer can fix that instantly. It's a well-known truth that the sooner the developer gets feedback on the errors that they made, the cheaper is to fix these errors. So ideally, we should give the developers timely feedback on the mistakes they made in the code. So workflow-wise, it starts with the developers IDE and the version control system. As a first step, code is loaded from the version control system and transformed to tokens, AST and ASG step-by-step. Then it's transformed by a set of Cypher queries and Java code and it's loaded to the graph database. Once we have this, we trace the core issues of the errors back to the source code and display the errors in the developers IDE. So once we have a workflow that like this running, actually it allows us to do very cool things. One of my favorite ones is type inferencing, because as you know, JavaScript is a dynamic language and it's very easy to write code that throws runtime errors because of type violations. Obviously, there are some workarounds for this. You can use TypeScript or other typed flavors of JavaScript, but you have a lot of legacy JavaScript code that's written in plain JavaScript, and type inferencing is key to use those in a way that will not return errors while running the code. So another use case is global analytics. Because we have this graph, we can do a lot of cool reachability style queries. We can do that code detection. We can do a detection of async await where you run an async, and it's dangling somewhere in the code, but you never do an await on that piece of asynchronous call, and you can do potential division by zero detections by propagating these issues to the code. So you can check whether value can be zero at the point of the time that it's evaluated. Some tech details, I think, will be very interesting for this audience. One of the key issues in implementing all this is that imports and exports are just crazy in ECMA script. You have a dozen ways to import and even more to export. So we have drawn this nice matrix of compatibility, and just to give you an idea of how long it takes to implement all this single black dot, which says that's compatible, needs like 15 lines of quite complex Cypher code to work with. So it's a lot of work to cover all these. Obviously, once we have this, we have to implement the algorithms. Now, as I said, we have some propagation algorithms where we want to propagate some property along the graph, be that a type information or the fact that this value can be zero or not. This is actually something that's called run to completion scheduling. So we give a set of transformation rules to the system and then ask the system to execute it until there are no more changes to execute. This is actually quite difficult to do in plain Cypher. So we use a mix of Java code and Cypher code, and the Java code does the propagations while it can. Another thing that we struggled with is efficient initialization of the database state. So in the first implementations, the initial build of the graph happened with Cypher statements. So we build the graph pretty much node by node with separate Cypher statements, and this obviously was quite slow. So we started to think around this with a bit, and used CSVs to generate the graph. So as the first step, we generated just two CSV files, one for the nodes and one for relationships and then used the Neo4j import tool to load it to the database. This is not a very sophisticated approach. You could do multiple CSVs or binaries or other things, but already this gave us a 10x speedup. So it's actually like one days of work and the initial load went down from an hour to a couple of minutes. We also stumbled upon regular path queries quite regularly, because there are a lot of cases when we need transitive closure on certain combinations. So for example, you can have a situation when you have function that's assigned to a variable, that's in another function, that's assigned to another variable, and so on transitively. Essentially, we would want to do a transitive closure style operation on those relationship types. The problem is that it's not supported by Cypher yet, so we created a workaround. The workaround is let's start a transaction, add some proxy relationships that go over those relationships, do a calculation for transitive closure on those proxy relationships, and then roll the transaction back, and essentially deleting those edges from the graph. This is, I think, a proper workaround but it's not the nicest way to express it, and obviously, the Cypher team is very well aware of this. So for the next open Cypher, there's a proposal for creating path patterns. This allows users to create an expression where there are several relationships type next to each other and then do a transitive closure style operation on that. Okay. So I said that incrementality is very important in this work, and actually, this was my motivation to start working on this topic. So as I said, we built our system around Cypher queries. As you probably know, there is now an initiative called Open Cypher, which aims to deliver a standard specification of the Cypher query language. It was released about two years ago, and it's been actually adapted by industrial vendors that are listed on the logos, and there are also a couple of research prototypes. Most notably, there is GraphFlow, which is developed by the University of Waterloo, and there is InGraph, which is my PhD project. Interestingly enough, both of these target the same goal, it's the incremental processing of Cypher queries. So you have a set of Cypher queries, and you can evaluate them incrementally, continuously in your system. If you're interested in some of the details, last year I was here in the same room giving a talk about the system InGraph, and here are a couple of my slides. So the way InGraph works is to first compile the Open Cypher queries to relational algebra, and then transform that relational algebra to a representation that's incrementally maintainable, and then use an incremental relational engine to calculate the result of those queries. In the last year, we expanded InGraph by a lot of new features. It now covers a substantial fragment of the Open Cypher language, including sub-queries, functions, aggregations, some of the data manipulation operations, like create or delete, and there are some features missing on the roadmap, like merge, remove, and more sophisticated expressions like list comprehensions, but it's getting nicely together, and the state of InGraph almost allows us to evaluate the most important JavaScript static analysis queries. So it's possible in theory, we have two papers on that. One is about the compilation of Cypher queries to algebra, the other is on the incremental maintenance of those relational algebraic expressions. So this is, I think, a very cool use case for InGraph. So as Michael said, his pet peeve is software analytics, and I think this is an area that's very important. We, as developers, we should strive to make better software, and others have realized the need for this and the usefulness of graphs for understanding code and analyzing code. So there is a tool called JQ Assistant. It's basically a code comprehension tool that scans the software, turns into a graph, and then you can use arbitrary Cypher queries to understand the code, and you can register a set of validation queries that you want to check on each build. There is a blog post on this, on the Neo4j blog. There is also Slyzer, which is closely tied to JQ Assistant. This is actually an interactive front-end on top of JQ Assistant, and the idea is the same. You take a bunch of Java files and so on, throw it at the system, it scans it, loads it to the database, and then you can use this interactive Cypher editor to visualize and discover your system. It actually has an Eclipse-based IDE, and as part of that IDE, it has a grammar to provide an editor. Funnily enough, as part of the InGraph project, we managed to extend that grammar by some new features. We actually added some features that were introduced in the open Cypher language recently. We added a scope analyzer, and you might think that you're not using Eclipse, so this is not very relevant, but actually X-text is quite independent from Eclipse, so you can run it in the web UI. This is an editor which allows you to refactor Cypher queries correctly. If you do refactoring operation, you can actually change the value of variable, and then it will trace it back through the query. Okay, to wrap up, if you found all this interesting, we have two thesis works on this from 2016 and 2017. These are very well-written and nicely illustrated works, and I think they are quite pleasant reads, so all these are clickable if you're interested. As a conclusion, I think it's fair to say that interesting analysis rules, at least some of them, require a global view of the code, so it's not enough to just scan a file and do a standard Linter-style analysis. Instead, you should use some graph representation for your source code, and property graph databases are definitely a good fit for this. They are very expressive, and the Cypher query language is quite easy to use and easy to understand, and in particular, these are very good use cases for incremental graph queries. So if you make sure that your system incorporates incrementality on multiple levels, you can end up with a system that's fast enough for real-time answers. These are the related resources that you can find on GitHub. Bear in mind that these are all academic prototypes, so they work some of the time on some use cases. They are more like proof-of-concept softwares, and I would like to thank the whole team that worked on this, the students, my colleagues, and Adam. Actually, Adam Lippei is my old friend, and he's giving a talk in the source code analysis dev room tomorrow. So if you came here just for the JavaScript part, and you were left unsatisfied, you can go there tomorrow at 4.20 and attend his talk. Thank you for your attention. Okay, questions? Yeah, we can talk here or find? Absolutely. So we have 12 more spaces for an after-fossum graph dinner. So if some of you wanted to join us there, if you want to join to talk to Gabor, feel free to come along. After our next talk. But any other questions for Gabor? Hey. Okay, so let me repeat the question. The gentleman is from Firefox, I understand. So the question is, what code repositories we have tried our code on. So you're probably concerned about scalability. Obviously, we went on GitHub and grabbed a couple of the source code repositories. Most notably, there is Trezorit, which is a cloud storage system. So it's like Dropbox, but it's more focused on encryption and security. There, front-end library is approximately 70,000 lines of JavaScript code. That was the one that took us like an hour to load, and then we optimized it and it went down like to like five, six minutes. So that was the largest one that we have used. We had a lot of struggle to get a parser that works well because we tried the bubble parser, and the problem with that was that it doesn't really provide scope information. So it's just DST, and it's very difficult to work with. But this logo here is the logo of shape security, the S on the figure, and they have very well-written library called shift-java. That's an AST builder, but that has a lot of scoping information. That's a very nicely written piece of software actually. It's beautiful Java code. The problem with it is it's not really maintained. So it's well-written and we have to maintain it now because it seems abandoned and we actually started to add the ECMA script 2017 features like async and await to the parser, which is a work in progress now. Okay. Any other questions? Yes? Yeah. You were saying about real-time. Yeah. A lot of your presentation. Now, what I'm interested in, what you quantify as real-time for this situation in terms of metrics. Okay. So the question was, what do I quantify as real-time? Well, essentially, it should be quick enough for developers to appear while they are working on the same file. So you're writing your file, make some changes, you press, control S, command S, and it should pop up next to the other error. So it should be sub-second ideally. But the reason why a mask stands in different size of code. Yeah. Different time is what it is, in terms of the check. Yeah. So the follow-up question was, different size of code repositories will mean different execution times, and whether there is an average that it should take. Well, for this, actually we plan to use the InGraph engine more extensively. The whole idea of InGraph is, is to build a huge cache on your queries, and once you have that cache, you can do, I won't say constant time, but very, very quick query evaluations, because you have all the interim results of your queries cached. So essentially, if you just want to introduce a small change, which you usually do while developing, it should be very quick, and it should stay within second range. The other thing is also that these graph queries for the analysis of local queries, so they don't touch the whole code base or whole graph. Yeah. But something in the neighborhood of this variable, something in the neighborhood of this function, so all the callers of this function or something like that. But they don't touch everything that's in the code base. That's why it's also less code size-dependent, because most of these queries are local queries. Yeah. But I'm not an experienced JavaScript developer, but I believe there is also a need for queries that are global, like reachability stuff. Is this code, is this piece of code still reachable? Is this still correct from a typing perspective, and so on? So you can think of global queries as well. Did you ever do a structure detection so that you can kind of run something like a graph algorithm on top of the data to identify things that would actually belong into modules, but that currently are not modules? No, but that's like more motif detection. So the question was whether we tried to identify patterns in the graph, and no. But that's a very interesting mixture of network science and source code analytics. So that's a good suggestion. Thanks. OK, one last question, I think. Yeah? Yeah, so Facebook Flow actually uses custom algorithms to make the evaluation very efficient. So from what I understand, it does a few things and does those very well and very quickly. But it's very difficult to extend flow with your custom rules. So if you say that my company policy is that you cannot do this and that in the code, and I want to enforce this with my static analysis tool, then that's not a very good fit. That's, I think, the key difference. Yeah, something that we do in JQ Assistant as well is kind of enriching the graph. So you have the original source graph, and then like Gabo said as well, but for instance, scoping information, you can then take this original source graph and then enrich it with new technical concept or actual business concept as well, depending on your own. And then actually formulate the static queries on top of these higher level concepts. You don't have to talk about variables and expressions and functions, but you can say kind of all tests in my code base should have these in this attribute, for instance. I don't know. Component code should have that in that style or whatever. So you can move a lot of these things to a higher level abstraction when you write the queries on top of these concepts. And JQ Assistant does that for Java code already. So that's cool. If you want to contribute to any of these source code analysis frameworks with graphs, please reach out to Gabo or me. Yeah? You're more than happy to take it. Yeah, we could use some help, so absolutely. That's a cool start. Yeah, thank you again. Thank you, Lars. OK, in our last talk, we'll have at the end, talking about use of graphs in medical records and things like that. So when does the dinner start? At 6. 6. So we live together from here, I suppose? Yeah. OK. Hey, Gabo. Hey. Great job. Great job. Sorry. Like, stick or presenter? And if you want, that's all the list of parsers or something like that, that exists written in JavaScript for passing the STU and everything like that. I don't have a USB stick, yeah, regrettably. But can you just email me the link or something? It takes time to just go to everything and take the link. Yeah, but just zip it and put it in your box? That's in my heart, but yeah, I can zip it. OK. Can I give you, like, a business card or? Yeah, I have it somewhere. Let me check. Yeah, here it is. OK. Yeah, it's already online, I think. It's online. I did put it online. What's the link on the last slide? No, no, but. I promised to do JavaScript analysis, so I thought of this. OK, I'm just going to give it to you. I give it because I went to a one-year combat farm. I was very happy there. Because we are supposed to put them online, like half an hour before the talk. I did that, so I hope it works. OK. Do you have a new speaker? Do you need one? Oops, no, no, I think we took that. Yeah. Do you need both? No, no, only the. What's that? Hey. The other is another topic. OK. I think I should move the dog after you, right? Yes, sorry? I want to ask you a few questions. OK, yeah, absolutely. But I think there's a talk here, so maybe. Yeah, let's talk soon. How did you want to follow it? I think we can talk. I'm just going to shut this down. So no internet connection. Actually, my phone is. Because you are, well, a student, you should be able to exit the room. I am, but it never works on my Linux. You need to write credentials. Yeah, but it just never works for me. It should work. Besides that here, yeah. Here they are. So. So you should be able to see. May I have your business card? Yeah, absolutely. And I will give the microport to. Oh, yeah. No. So we'll have.