- 227
- 84 252
Josh Ackland
Australia
Приєднався 13 лют 2021
Hello, my name is Josh Ackland and welcome to my channel!
I am a software developer with experience in cyber security and it's my goal to create a variety of content to help you gain new skills and further your careers.
I am a software developer with experience in cyber security and it's my goal to create a variety of content to help you gain new skills and further your careers.
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
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
how the fffff did you do that; that's insane bro i wish if i could be like u
Using Length is less run time ms result
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
Awesome and simple explanation bro. Great video.
cheers! watching your solution nearly every day. thanks for sharing!
Cool, I like your videos man. Now i like them more, they are honest
How y got so little views is beyond me. Great job 👍
Two linear equations system. The intersection, if any, is the solution.
Audio messed up during recording :/
Thanks please keep uploading i was stuck two days your video helped me thanks
Part2 was fun! Thanks for submit your solutions 🎉
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.
legend
Not sure what happened when recording but some parts started to get a lot of static. Couldn't do much about it :/
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!
I'm happy it helped 🙂
Yo me too. I was twice as triggered trying to figure out what was twice as far from what. Thanks for explaining.
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!
Did not know about the grid approach, thx. Got stuck constructing (sub)diagonals in [][]string in an attempt to search for full words.
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.
thank you
Would you please let me know where you're doing this coding? Coz I'm doing on a Google Collab
I'm just coding on my own machine using vscode
Did it in Go as well. My solution is a mile long. Thanks for this one.
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!
If I did 3 different regexs I'd have no idea how to get them in order :D
@@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) } } }
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?
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
@@josh_acklandOf course! Thank you!
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?
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
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
You could do it in both :D
participating for the first time. my code is inefficient lol, but i'll keep trying
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
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..
Why did you switch to Go? Everything seemed fine with C#.
I'm more interested in using Go over C# so I've switched
Thanks
can not find github
Oops. I forgot to update the description. I changed the repo to this github.com/joshackland/leetcode
Thank you for this video!
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.
this one was pretty hard for me
thank you
Josh, for curious: What's happens if you used struct instead class? Struct ListNode ? It's performance?
Thanks
Are you doing it again this year and uploading it to UA-cam?
I will probably do it again this yeat
Yay thx
Thanks
thanks
Thanks
Thanks
Thanks
Hey, your solution is amazing, but I couldn't understand why do we have to divide 2 after the .Length one?
Hi Josh ... I am a newbie here ... what made you think of total-1 in line 15 of the code?
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); } } } }
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); } } } }
Just stumbled upon these, great job putting these up, very useful
Thanks bro. You solved a problem I've been battling with
Hows Cysa+ book from official book from Comptia. I have ordered it, should I cancel it and buy the one from Mike chappal