Josh Ackland
Josh Ackland
  • 227
  • 84 252
Advent of Code 2024 Go - Day 25: Code Chronicle
This is the day twenty five challenge for Advent of Code 2024 and the challenge is called Code Chronicle
Advent of Code: adventofcode.com/
GitHub Repo: github.com/joshackland/advent_of_code
Playlist: ua-cam.com/play/PLcosLLz1zAjI9hb9XzqYDAU73Xggjd9g9.html
Переглядів: 92

Відео

Advent of Cyber 2024 - Day 24: You can’t hurt SOC mas, Mayor Malware!
Переглядів 12721 день тому
This is the day twenty four challenge for Advent of Cyber 2024 and this is a Communication protocols challenge called You can’t hurt SOC mas, Mayor Malware! Advent of Cyber: tryhackme.com/room/adventofcyber2024 Playlist: ua-cam.com/play/PLcosLLz1zAjLFSP7NGHatEB9H4fRliB8D.html
Advent of Code 2024 Go - Day 24: Crossed Wires
Переглядів 6121 день тому
This is the day twenty four challenge for Advent of Code 2024 and the challenge is called Crossed Wires Advent of Code: adventofcode.com/ GitHub Repo: github.com/joshackland/advent_of_code Playlist: ua-cam.com/play/PLcosLLz1zAjI9hb9XzqYDAU73Xggjd9g9.html
Advent of Cyber 2024 - Day 23: You wanna know what happens to your hashes?
Переглядів 6428 днів тому
This is the day twenty three challenge for Advent of Cyber 2024 and this is a Hash cracking challenge called You wanna know what happens to your hashes? Advent of Cyber: tryhackme.com/room/adventofcyber2024 Playlist: ua-cam.com/play/PLcosLLz1zAjLFSP7NGHatEB9H4fRliB8D.html
Advent of Code 2024 Go - Day 23: LAN Party
Переглядів 8828 днів тому
This is the day twenty three challenge for Advent of Code 2024 and the challenge is called LAN Party Advent of Code: adventofcode.com/ GitHub Repo: github.com/joshackland/advent_of_code Playlist: ua-cam.com/play/PLcosLLz1zAjI9hb9XzqYDAU73Xggjd9g9.html
Advent of Cyber 2024 - Day 22: It's because I'm kubed, isn't it?
Переглядів 6828 днів тому
This is the day twenty two challenge for Advent of Cyber 2024 and this is a Kubernetes DFIR challenge called It's because I'm kubed, isn't it? Advent of Cyber: tryhackme.com/room/adventofcyber2024 Playlist: ua-cam.com/play/PLcosLLz1zAjLFSP7NGHatEB9H4fRliB8D.html
Advent of Code 2024 Go - Day 22: Monkey Market
Переглядів 2728 днів тому
This is the day twenty two challenge for Advent of Code 2024 and the challenge is called Monkey Market Advent of Code: adventofcode.com/ GitHub Repo: github.com/joshackland/advent_of_code Playlist: ua-cam.com/play/PLcosLLz1zAjI9hb9XzqYDAU73Xggjd9g9.html
Advent of Cyber 2024 - Day 21: HELP ME... I'm REVERSE ENGINEERING!
Переглядів 9828 днів тому
This is the day twenty one challenge for Advent of Cyber 2024 and this is a reverse engineering challenge called HELP ME... I'm REVERSE ENGINEERING! Advent of Cyber: tryhackme.com/room/adventofcyber2024 Playlist: ua-cam.com/play/PLcosLLz1zAjLFSP7NGHatEB9H4fRliB8D.html
Advent of Code 2024 Go - Day 21: Keypad Conundrum
Переглядів 87Місяць тому
This is the day twenty one challenge for Advent of Code 2024 and the challenge is called Keypad Conundrum Advent of Code: adventofcode.com/ GitHub Repo: github.com/joshackland/advent_of_code Playlist: ua-cam.com/play/PLcosLLz1zAjI9hb9XzqYDAU73Xggjd9g9.html
Advent of Cyber 2024 - Day 20: If you utter so much as one packet…
Переглядів 68Місяць тому
This is the day twenty challenge for Advent of Cyber 2024 and this is a packet analysis challenge called If you utter so much as one packet… Advent of Cyber: tryhackme.com/room/adventofcyber2024 Playlist: ua-cam.com/play/PLcosLLz1zAjLFSP7NGHatEB9H4fRliB8D.html
Advent of Code 2024 Go - Day 20: Race Condition
Переглядів 92Місяць тому
This is the day twenty challenge for Advent of Code 2024 and the challenge is called Race Condition Advent of Code: adventofcode.com/ GitHub Repo: github.com/joshackland/advent_of_code Playlist: ua-cam.com/play/PLcosLLz1zAjI9hb9XzqYDAU73Xggjd9g9.html
Advent of Cyber 2024 - Day 19: I merely noticed that you’re improperly stored, my dear secret!
Переглядів 81Місяць тому
This is the day nineteen challenge for Advent of Cyber 2024 and this is a game hacking challenge called I merely noticed that you’re improperly stored, my dear secret! Advent of Cyber: tryhackme.com/room/adventofcyber2024 Playlist: ua-cam.com/play/PLcosLLz1zAjLFSP7NGHatEB9H4fRliB8D.html
Advent of Code 2024 Go - Day 19: Linen Layout
Переглядів 68Місяць тому
This is the day nineteen challenge for Advent of Code 2024 and the challenge is called Linen Layout Advent of Code: adventofcode.com/ GitHub Repo: github.com/joshackland/advent_of_code Playlist: ua-cam.com/play/PLcosLLz1zAjI9hb9XzqYDAU73Xggjd9g9.html
Advent of Cyber 2024 - Day 18: I could use a little AI interaction!
Переглядів 83Місяць тому
This is the day eighteen challenge for Advent of Cyber 2024 and this is a prompt injection challenge called I could use a little AI interaction! Advent of Cyber: tryhackme.com/room/adventofcyber2024 Playlist: ua-cam.com/play/PLcosLLz1zAjLFSP7NGHatEB9H4fRliB8D.html
Advent of Code 2024 Go - Day 18: RAM Run
Переглядів 39Місяць тому
This is the day eighteen challenge for Advent of Code 2024 and the challenge is called RAM Run Advent of Code: adventofcode.com/ GitHub Repo: github.com/joshackland/advent_of_code Playlist: ua-cam.com/play/PLcosLLz1zAjI9hb9XzqYDAU73Xggjd9g9.html
Advent of Cyber 2024 - Day 17: He analyzed and analyzed till his analyzer was sore!
Переглядів 73Місяць тому
Advent of Cyber 2024 - Day 17: He analyzed and analyzed till his analyzer was sore!
Advent of Code 2024 Go - Day 17: Chronospatial Computer
Переглядів 79Місяць тому
Advent of Code 2024 Go - Day 17: Chronospatial Computer
Advent of Cyber 2024 - Day 16: The Wareville’s Key Vault grew three sizes that day
Переглядів 67Місяць тому
Advent of Cyber 2024 - Day 16: The Wareville’s Key Vault grew three sizes that day
Advent of Code 2024 Go - Day 16: Reindeer Maze
Переглядів 121Місяць тому
Advent of Code 2024 Go - Day 16: Reindeer Maze
Advent of Cyber 2024 - Day 15: Be it ever so heinous, there's no place like Domain Controller
Переглядів 109Місяць тому
Advent of Cyber 2024 - Day 15: Be it ever so heinous, there's no place like Domain Controller
Advent of Code 2024 Go - Day 15: Warehouse Woes
Переглядів 145Місяць тому
Advent of Code 2024 Go - Day 15: Warehouse Woes
Advent of Cyber 2024 - Day 14: Even if we're horribly mismanaged therell be no sad faces on SOC mas
Переглядів 80Місяць тому
Advent of Cyber 2024 - Day 14: Even if we're horribly mismanaged therell be no sad faces on SOC mas
Advent of Code 2024 Go - Day 14: Restroom Redoubt
Переглядів 93Місяць тому
Advent of Code 2024 Go - Day 14: Restroom Redoubt
Advent of Cyber 2024 - Day 13: It came without buffering! It came without lag!
Переглядів 71Місяць тому
Advent of Cyber 2024 - Day 13: It came without buffering! It came without lag!
Advent of Code 2024 Go - Day 13: Claw Contraption
Переглядів 96Місяць тому
Advent of Code 2024 Go - Day 13: Claw Contraption
Advent of Cyber 2024 - Day 12: If I can’t steal their money, I’ll steal their joy!
Переглядів 66Місяць тому
Advent of Cyber 2024 - Day 12: If I can’t steal their money, I’ll steal their joy!
Advent of Code 2024 Go - Day 12: Garden Groups
Переглядів 276Місяць тому
Advent of Code 2024 Go - Day 12: Garden Groups
How I Became an AWS Certified AI Practitioner
Переглядів 73Місяць тому
How I Became an AWS Certified AI Practitioner
Advent of Cyber 2024 - Day 11: If you'd like to WPA, press the star key!
Переглядів 105Місяць тому
Advent of Cyber 2024 - Day 11: If you'd like to WPA, press the star key!
Advent of Code 2024 Go - Day 11: Plutonian Pebbles
Переглядів 237Місяць тому
Advent of Code 2024 Go - Day 11: Plutonian Pebbles

КОМЕНТАРІ

  • @yahya.najeeb
    @yahya.najeeb 8 днів тому

    how the fffff did you do that; that's insane bro i wish if i could be like u

  • @safayavuzdogan8289
    @safayavuzdogan8289 16 днів тому

    Using Length is less run time ms result

  • @mohammedhassan8252
    @mohammedhassan8252 17 днів тому

    thanks man it was very simple after watching your video i look at the one who is in site and didn't understand from him ua-cam.com/video/4Oydt3fNlgQ/v-deo.html even try hack me removed him. again, thanks very much

  • @JACTechKnowledge-y
    @JACTechKnowledge-y 22 дні тому

    Awesome and simple explanation bro. Great video.

  • @yuxiang4218
    @yuxiang4218 25 днів тому

    cheers! watching your solution nearly every day. thanks for sharing!

  • @juanecoperu
    @juanecoperu 26 днів тому

    Cool, I like your videos man. Now i like them more, they are honest

  • @PavelMalinov
    @PavelMalinov 27 днів тому

    How y got so little views is beyond me. Great job 👍

  • @xam841
    @xam841 Місяць тому

    Two linear equations system. The intersection, if any, is the solution.

  • @josh_ackland
    @josh_ackland Місяць тому

    Audio messed up during recording :/

  • @prashlovessamosa
    @prashlovessamosa Місяць тому

    Thanks please keep uploading i was stuck two days your video helped me thanks

  • @juanecoperu
    @juanecoperu Місяць тому

    Part2 was fun! Thanks for submit your solutions 🎉

  • @allurisravanth
    @allurisravanth Місяць тому

    Hi Josh. Great video as always. Dont be discouraged about part2. I wait for your videos daily to learn about your perspective and where im going wrong.

  • @mr.hugene6896
    @mr.hugene6896 Місяць тому

    legend

  • @josh_ackland
    @josh_ackland Місяць тому

    Not sure what happened when recording but some parts started to get a lot of static. Couldn't do much about it :/

  • @wusswuzz5818
    @wusswuzz5818 Місяць тому

    This is the first channel that clearly explained the blurb on how the anti-nodes appeared. Was lost with the twice as far and perfectly in line language. Twice as far from what. Thank you!

    • @josh_ackland
      @josh_ackland Місяць тому

      I'm happy it helped 🙂

    • @keeoji
      @keeoji Місяць тому

      Yo me too. I was twice as triggered trying to figure out what was twice as far from what. Thanks for explaining.

  • @WayneBagguley
    @WayneBagguley Місяць тому

    Part 1: fun calc(input: List<String>): Int { val rules = input[0].split(" ").groupBy({ it.split("|")[0] }) { it.substringAfter("|") } val updates = input[1].split(" ").map { it.split(",") } return updates.filter { isValid(rules, it) }.sumOf { it[it.size/2].toInt() } } private fun isValid(rules: Map<String, List<String>>, update: List<String>): Boolean = update.map { s -> update.dropWhile { it != s } }.dropLast(1).all { l -> l.drop(1).all { rules[l.first()]?.contains(it) == true } } Part 2: fun calc(input: List<String>): Int { val rules = input[0].split(" ").groupBy({ it.split("|")[0] }) { it.substringAfter("|") } val incorrect = input[1].split(" ").map { it.split(",") }.filter { !isValid(rules, it) } val sorted = incorrect.map { it.sortedWith { a, b -> if (rules[a]?.contains(b) == true) 1 else if (rules[b]?.contains(a) == true) -1 else 0 } } return sorted.sumOf { it[it.size/2].toInt() } } private fun isValid(rules: Map<String, List<String>>, update: List<String>): Boolean = update.map { s -> update.dropWhile { it != s } }.dropLast(1).all { l -> l.drop(1).all { rules[l.first()]?.contains(it) == true } } I 💜 Kotlin!

  • @benitoe.4878
    @benitoe.4878 Місяць тому

    Did not know about the grid approach, thx. Got stuck constructing (sub)diagonals in [][]string in an attempt to search for full words.

  • @oliverhughes169
    @oliverhughes169 Місяць тому

    Nice! Today I felt it was a clear win to use recursion. Pass your word, starting point, and the direction, and keep going until you reach a result. I could then use the same func for part 2, except only when the char is 'A', and pass an offset starting point in the characters diagonal to it.

  • @berkelyum8337
    @berkelyum8337 Місяць тому

    thank you

  • @YoursFreelancer-b5v
    @YoursFreelancer-b5v Місяць тому

    Would you please let me know where you're doing this coding? Coz I'm doing on a Google Collab

    • @josh_ackland
      @josh_ackland Місяць тому

      I'm just coding on my own machine using vscode

  • @benitoe.4878
    @benitoe.4878 Місяць тому

    Did it in Go as well. My solution is a mile long. Thanks for this one.

  • @jori4698
    @jori4698 Місяць тому

    took me 1 hour for the part 2. Just awesome how you handled it with your regex. I made 3 different regexes but your solution is way more elegant. love it!

    • @josh_ackland
      @josh_ackland Місяць тому

      If I did 3 different regexs I'd have no idea how to get them in order :D

    • @Pravobzen
      @Pravobzen 28 днів тому

      @@josh_ackland I tried with three regex's, but it was a mess of trying to iterate through the indexes and doing conditional statements. I was able to modify your solution to a switch statement to then returned the filtered matches: enabled := true for _, match := range matches { switch match[0] { case "do()": enabled = true case "don't()": enabled = false default: if enabled { filteredData = append(filteredData, match) } } }

  • @evgenyocean426
    @evgenyocean426 Місяць тому

    I don't get it, whose ip is 10.0.11.11 if not Glitch's? Both IP addresses eventually got access to the machines and then continued to brute force (after the update). Why would they do that?

    • @josh_ackland
      @josh_ackland Місяць тому

      10.0.255.1 is the IP of Glitch's machine. From this IP he was trying to brute force into the other machines. He managed to gain access to the machine ADM-01, which has the IP of 10.0.11.11. So 10.0.255.1 is now connected to 10.0.255.1, and is running commands from there to connect to the other machines

    • @evgenyocean426
      @evgenyocean426 Місяць тому

      @@josh_acklandOf course! Thank you!

  • @Dododo1295
    @Dododo1295 Місяць тому

    as someone who trying to learn go through this advent of code thanks for posting these, I'm relatively new to programing so to be able to actually see what decisions are being made and why is super helpful. it also helps that go has pretty self explanatory syntax which helps me actually be able to read what were doing. the only thing I'm unsure about is what exactly the -1 in the second field of re.FindAllStringSubmatch does for us?

    • @josh_ackland
      @josh_ackland Місяць тому

      The second parameter in the function is how many matches the regex can return. It's setup so if this parameter is less than 0, it will set the maximum number of matches to be equal to the length of the string (maximum possible matches) As we want all instances of mul/do/don't, we set it to -1

  • @Defnd3r
    @Defnd3r Місяць тому

    Torn between Go and Python... Really want to continue with it, but theres so many more lines of code needing to be written compared to Python

  • @Banana-Joanne
    @Banana-Joanne Місяць тому

    participating for the first time. my code is inefficient lol, but i'll keep trying

  • @salvadorguntherr9673
    @salvadorguntherr9673 Місяць тому

    That was cool to watch. Im not doing it in Golang. Im doing it in Python and Rust as i havent touched Go in a long minute but good ro see how it could be done. Also clever to just multiple by -1. I used Absolute value function (prob the only thing itemmebr from Algebra class lol) In Python so far. Since i dont know Rust or it's standard library that well as only learned a few weeks ago i might have to steal that one. Good looks

  • @datalove6577
    @datalove6577 Місяць тому

    I also used Go to solve the day 1 of AOC cuz im new to it. Just a way to get comfortable at a new language..

  • @nouchance
    @nouchance Місяць тому

    Why did you switch to Go? Everything seemed fine with C#.

    • @josh_ackland
      @josh_ackland Місяць тому

      I'm more interested in using Go over C# so I've switched

  • @omarmaciasmeza4578
    @omarmaciasmeza4578 Місяць тому

    Thanks

  • @HritikKumar-h3n
    @HritikKumar-h3n Місяць тому

    can not find github

    • @josh_ackland
      @josh_ackland Місяць тому

      Oops. I forgot to update the description. I changed the repo to this github.com/joshackland/leetcode

  • @ScubaDriv3r
    @ScubaDriv3r 2 місяці тому

    Thank you for this video!

  • @mrclutchgd5559
    @mrclutchgd5559 2 місяці тому

    Hi Josh, I'm a beginner at C# myself, and I've always been curious about how others approach problem-solving. Seeing how you think and write code really aligns with my style. Thank you for presenting these! I'm planning to go through each LeetCode problem you've solved and try solving them alongside you. You've made me feel more at ease.

  • @MOC504
    @MOC504 2 місяці тому

    this one was pretty hard for me

  • @GlassLooking
    @GlassLooking 2 місяці тому

    thank you

  • @rolembergfilho
    @rolembergfilho 3 місяці тому

    Josh, for curious: What's happens if you used struct instead class? Struct ListNode ? It's performance?

  • @omarmaciasmeza4578
    @omarmaciasmeza4578 4 місяці тому

    Thanks

  • @RiptideBS101
    @RiptideBS101 4 місяці тому

    Are you doing it again this year and uploading it to UA-cam?

  • @omarmaciasmeza4578
    @omarmaciasmeza4578 4 місяці тому

    Thanks

  • @omarmaciasmeza4578
    @omarmaciasmeza4578 4 місяці тому

    thanks

  • @omarmaciasmeza4578
    @omarmaciasmeza4578 4 місяці тому

    Thanks

  • @omarmaciasmeza4578
    @omarmaciasmeza4578 4 місяці тому

    Thanks

  • @omarmaciasmeza4578
    @omarmaciasmeza4578 4 місяці тому

    Thanks

  • @faust6599
    @faust6599 5 місяців тому

    Hey, your solution is amazing, but I couldn't understand why do we have to divide 2 after the .Length one?

  • @starsfrkaz
    @starsfrkaz 6 місяців тому

    Hi Josh ... I am a newbie here ... what made you think of total-1 in line 15 of the code?

  • @josebaiturregui37
    @josebaiturregui37 6 місяців тому

    Great bro, you show everything as it's comes.. here there's a possible solution .. keep the grind though class Program { static void Main() { LinkedList<int> list1 = new LinkedList<int>(new int[] { 1, 2, 3, 4 }); LinkedList<int> list2 = new LinkedList<int>(new int[] { 5, 6, 7, 8 }); var (result, resultInv) = SumLists(list1, list2); Console.WriteLine("Lista 1:"); PrintList(list1); Console.WriteLine("Lista 2:"); PrintList(list2); Console.WriteLine("Result of the sum:"); PrintList(result); LinkedList<int> listRevert1 = new LinkedList<int>(list1.Reverse()); Console.WriteLine($"the list1 reverted is :"); PrintList(listRevert1); LinkedList<int> listRevert2 = new LinkedList<int>(list2.Reverse()); Console.WriteLine($"the list2 reverted is :"); PrintList(listRevert2); Console.WriteLine("The list reverted of the sum is:"); PrintList(resultInv); static void PrintList(LinkedList<int> list) { foreach (int val in list) { Console.Write(val + " "); } Console.WriteLine(); } static (LinkedList<int>, LinkedList<int>) SumLists(LinkedList<int> list1, LinkedList<int> list2) { LinkedList<int> result = new LinkedList<int>(); LinkedList<int> resultInv = new LinkedList<int>(); LinkedListNode<int> node1 = list1.First; LinkedListNode<int> node2 = list2.First; int carry = 0; while (node1 != null || node2 != null || carry > 0) { int sum = carry; if (node1 != null) { sum += node1.Value; node1 = node1.Next; } if (node2 != null) { sum += node2.Value; node2 = node2.Next; } carry = sum / 10; resultInv.AddLast(sum % 10); result.AddFirst(sum % 10); } return (result, resultInv); } } } }

  • @josebaiturregui37
    @josebaiturregui37 6 місяців тому

    Great video!, I have propposal for a possible solution, just that in this case we gonna take all possible combinations for the sum ends up being equals the target --> namespace leetCodePractice { public class Solution { public List<int[]> FindNumsAddTarget(int[] nums, int target) { List<int[]> results = new List<int[]>(); Dictionary<int, int> map = new Dictionary<int, int>(); for (int i = 0; i < nums.Length; i++) { int complement = target - nums[i]; if (map.ContainsKey(complement)) { results.Add(new int[] { complement, nums[i] }); } if (!map.ContainsKey(nums[i])) { map[nums[i]] = i; } } return results; // If doesn´t find a combination, returns an empty array } } class Program { static void Main() { Solution solution = new Solution(); int[] nums = { 1,2,3,4,5,6,7,8,9, 11, 15 }; int target = 10; List<int[]> results = solution.FindNumsAddTarget(nums, target); if (results.Count > 0) { Console.WriteLine("The numbers that sums " + target + " are: "); foreach (var value in results) { Console.WriteLine(value[0] + " y " + value[1]); } } else { Console.WriteLine("Sorry, we didn´t find any combination that sums " + target); } } } }

  • @aimsforgroin
    @aimsforgroin 6 місяців тому

    Just stumbled upon these, great job putting these up, very useful

  • @umezvictor
    @umezvictor 6 місяців тому

    Thanks bro. You solved a problem I've been battling with

  • @UserName95107
    @UserName95107 6 місяців тому

    Hows Cysa+ book from official book from Comptia. I have ordered it, should I cancel it and buy the one from Mike chappal