title
Coding Train Live 71: Coding Challenges: Circle Packing and White House Data Visualization

description
In this first Live Stream of 2017, I look at a simple algorithm for "Circle Packing" and animate the process of filling a 2D space with non-overlapping circles of various sizes, colors and positions. I also discuss the newly released social media data from the Obama Administration and make a couple simple data visualization examples. 💻 Circle Packing challenge https://thecodingtrain.com/challenges/50-animated-circle-packing 💻 White House Social Media Data Visualization challenge https://thecodingtrain.com/challenges/48-white-house-social-media-data-visualization 💻 Photo Mosaic from Obama's Social Media Images https://thecodingtrain.com/challenges/49-photo-mosaic-with-white-house-social-media-images Timestamps: 17:30 - Intro to today's first topic 22:02 - Coding Challenge: Circle Packing 1:14:43 - Back from break 1:58:48 - CC: White House Social Media Data Visualization 2:55:48 - CC: Photo Mosaic from Obama's Social Media Images 3:36:51 - Coding Challenge: Circle Packing Kitten Image 3:42:50 - Q&A/Conclusion 🚂 Website: http://thecodingtrain.com/ 👾 Share Your Creation! https://thecodingtrain.com/guides/passenger-showcase-guide 🚩 Suggest Topics: https://github.com/CodingTrain/Suggestion-Box 💡 GitHub: https://github.com/CodingTrain 💬 Discord: https://thecodingtrain.com/discord 💖 Membership: http://youtube.com/thecodingtrain/join 🛒 Store: https://standard.tv/codingtrain 🖋️ Twitter: https://twitter.com/thecodingtrain 📸 Instagram: https://www.instagram.com/the.coding.train/ 🎥 Coding Challenges: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH 🎥 Intro to Programming: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA 🔗 p5.js: https://p5js.org 🔗 p5.js Web Editor: https://editor.p5js.org/ 🔗 Processing: https://processing.org Resources: The White House Social Media Data is available here: https://www.whitehouse.gov/blog/2017/01/05/new-lenses-first-social-media-presidency Julien Leonard's Various Circle Packing Tutorials: http://julienleonard.com/tutorials.html ITPNYU's Obamathon repo: https://github.com/ITPNYU/Obamathon Kittens Song: https://soundcloud.com/lostghbear/lostghbear-podopleloff-kittens-feat-dan-shiffman This Dot Song on Soundcloud: https://soundcloud.com/kristianpedersen/this-dot-feat-daniel-shiffman?in=kristianpedersen/sets/coding-rainbow-remixes Source Code for the all Video Lessons: https://github.com/CodingTrain/Rainbow-Code Help us caption & translate this video! 📄 Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct

detail
{'title': 'Coding Train Live 71: Coding Challenges: Circle Packing and White House Data Visualization', 'heatmap': [{'end': 2083.121, 'start': 1787.133, 'weight': 0.853}, {'end': 3588.626, 'start': 3305.115, 'weight': 0.724}, {'end': 11042.297, 'start': 10900.066, 'weight': 1}], 'summary': "Dan conducts live streams, teaches 'the nature of code' at itp, explores machine learning, conducts coding challenges, and discusses circle manipulation in java and circle packing with perlin noise. he also analyzes obama administration's digital history and twitter data while covering data visualization techniques and image processing.", 'chapters': [{'end': 495.853, 'segs': [{'end': 50.924, 'src': 'embed', 'start': 12.898, 'weight': 3, 'content': [{'end': 15.719, 'text': 'Did you think that learning coding would be really rough?', 'start': 12.898, 'duration': 2.821}, {'end': 19.299, 'text': "Throw your hands up in the air and say enough's enough.", 'start': 16.099, 'duration': 3.2}, {'end': 22.16, 'text': 'Do you want to learn to code and make some awesome stuff?', 'start': 19.299, 'duration': 2.861}, {'end': 38.483, 'text': "Learn that anyone can when you're coding with Danos, Whether you're a pro or this is all brand new.", 'start': 22.46, 'duration': 16.023}, {'end': 40.944, 'text': 'Learn the overarching concepts and some fun stuff.', 'start': 38.483, 'duration': 2.461}, {'end': 50.924, 'text': 'Make a crazy pixel mirror to reflect your face.', 'start': 48.021, 'duration': 2.903}], 'summary': 'Learn coding with danos, create awesome stuff, make a pixel mirror.', 'duration': 38.026, 'max_score': 12.898, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg012898.jpg'}, {'end': 136.635, 'src': 'embed', 'start': 91.616, 'weight': 0, 'content': [{'end': 96.178, 'text': 'Hello, welcome, and happy new year, happy 2017.', 'start': 91.616, 'duration': 4.562}, {'end': 98.539, 'text': "It's been a long time since I've done one of these live streams.", 'start': 96.178, 'duration': 2.361}, {'end': 100.78, 'text': 'I feel very, very, very out of practice.', 'start': 98.579, 'duration': 2.201}, {'end': 107.242, 'text': 'I know there have been a lot of new subscribers over the last few weeks, so I welcome you.', 'start': 101.24, 'duration': 6.002}, {'end': 109.463, 'text': "This is, let's just say this is practice.", 'start': 107.262, 'duration': 2.201}, {'end': 112.824, 'text': 'This is like a rehearsal for doing this more regularly again in 2017.', 'start': 109.723, 'duration': 3.101}, {'end': 119.087, 'text': "My new year's resolution is more videos on YouTube, I guess.", 'start': 112.824, 'duration': 6.263}, {'end': 125.61, 'text': "Also, it's like January 5th already, so I suppose I'm incredibly late to wish everybody a Happy New Year.", 'start': 120.328, 'duration': 5.282}, {'end': 133.173, 'text': "It's not Happy New Years, it's New Year's Eve, when it's the eve, but now it's just Happy New Year because it's the year.", 'start': 125.63, 'duration': 7.543}, {'end': 136.635, 'text': "Anyway, I'm just looking to make sure everything is working.", 'start': 133.714, 'duration': 2.921}], 'summary': '2017 live stream rehearsal with new subscribers, aiming for more youtube videos in new year.', 'duration': 45.019, 'max_score': 91.616, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg091616.jpg'}], 'start': 12.898, 'title': "Dan's live stream and teaching 'the nature of code' at itp", 'summary': "Showcases dan's plans for more regular live streams in 2017 and teaching 'the nature of code' at itp, aiming to provide weekly live streams and emphasizing the exploration of natural phenomena through coding and physics simulation.", 'chapters': [{'end': 301.941, 'start': 12.898, 'title': 'Coding with danos live stream', 'summary': "Showcases the coding with danos live stream where dan discusses his plans for more regular live streams in 2017 and his new year's resolution, while also addressing technical issues due to a recent cold, aiming to provide weekly live streams and edited video tutorials.", 'duration': 289.043, 'highlights': ['Dan plans to provide weekly live streams and edited video tutorials. Dan mentions his plan to do live streams weekly and upload edited video tutorials separately, aiming for more regular content creation.', "Dan discusses his new year's resolution to create more videos on YouTube. Dan mentions that his new year's resolution is to create more videos on YouTube, indicating a commitment to increased content production.", 'Dan addresses technical issues due to a recent cold and aims to speak more quietly. Dan mentions that he is getting over a cold and will attempt to speak more quietly, indicating potential challenges in delivering the live stream effectively.']}, {'end': 495.853, 'start': 301.941, 'title': 'Teaching nature of code at itp', 'summary': "Discusses the author's plan for teaching 'the nature of code' at itp, a program at nyu school of the arts, and the online availability of the course, emphasizing the exploration of natural phenomena through coding and physics simulation.", 'duration': 193.912, 'highlights': ["The Nature of Code course is available at ITP and Catenze, an online learning platform, and explores the use of code to model natural systems and create art or projects in software. The course 'The Nature of Code' is available at ITP and Catenze, focusing on using code to model natural systems and create art or projects in software.", "The author teaches at New York University's School of the Arts in a program called ITP, where the course is offered. The author teaches at New York University's School of the Arts in a program called ITP, where the course 'The Nature of Code' is offered.", "The author mentions a collaboration with Surajology's channel on a machine learning bot trained to play an Asteroids video game. The author mentions a collaboration with Surajology's channel on a machine learning bot trained to play an Asteroids video game."]}], 'duration': 482.955, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg012898.jpg', 'highlights': ['Dan plans to provide weekly live streams and edited video tutorials.', 'The Nature of Code course is available at ITP and Catenze, an online learning platform, and explores the use of code to model natural systems and create art or projects in software.', "Dan discusses his new year's resolution to create more videos on YouTube.", "The author teaches at New York University's School of the Arts in a program called ITP, where the course is offered.", 'Dan addresses technical issues due to a recent cold and aims to speak more quietly.', "The author mentions a collaboration with Surajology's channel on a machine learning bot trained to play an Asteroids video game."]}, {'end': 1621.903, 'segs': [{'end': 886.111, 'src': 'embed', 'start': 862.779, 'weight': 2, 'content': [{'end': 870.223, 'text': "Here's an example of finding the circumcircle, which is any circle that includes three points.", 'start': 862.779, 'duration': 7.444}, {'end': 875.045, 'text': 'I did some mapping stuff with earthquake data, so I really want to do this as a tutorial and challenge.', 'start': 870.823, 'duration': 4.222}, {'end': 877.567, 'text': 'I made a little dancing stick figure with the physics.', 'start': 875.305, 'duration': 2.262}, {'end': 883.21, 'text': 'I did another little geometry algorithm to find the minimum enclosing circle of a set of points.', 'start': 878.707, 'duration': 4.503}, {'end': 886.111, 'text': 'I made a little animal guessing game, which I will come back to.', 'start': 883.75, 'duration': 2.361}], 'summary': 'Created tutorials on circumcircle, mapping earthquake data, dancing stick figure, geometry algorithm, and animal guessing game.', 'duration': 23.332, 'max_score': 862.779, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg0862779.jpg'}, {'end': 977.367, 'src': 'embed', 'start': 946.156, 'weight': 5, 'content': [{'end': 946.977, 'text': 'I forgot about my bell.', 'start': 946.156, 'duration': 0.821}, {'end': 953.521, 'text': 'I always have, of course, my little sound clips.', 'start': 947.017, 'duration': 6.504}, {'end': 956.404, 'text': 'So what I want to do first is open up Processing.', 'start': 954.462, 'duration': 1.942}, {'end': 959.456, 'text': 'Do I have the newest version? The newest version of Processing is 3.2.', 'start': 956.504, 'duration': 2.952}, {'end': 960.527, 'text': '3, which I do have here.', 'start': 959.456, 'duration': 1.071}, {'end': 962.068, 'text': 'I want to see that.', 'start': 960.547, 'duration': 1.521}, {'end': 971.305, 'text': 'that I can do.', 'start': 970.745, 'duration': 0.56}, {'end': 973.066, 'text': 'By the way, my hands are so cold.', 'start': 971.345, 'duration': 1.721}, {'end': 974.426, 'text': 'My typing is going to be slow.', 'start': 973.146, 'duration': 1.28}, {'end': 977.367, 'text': "It's funny because all summer I was recording in this room.", 'start': 974.766, 'duration': 2.601}], 'summary': 'The speaker plans to open processing version 3.2 and mentions recording in the same room all summer.', 'duration': 31.211, 'max_score': 946.156, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg0946156.jpg'}, {'end': 1053.014, 'src': 'embed', 'start': 1028.362, 'weight': 0, 'content': [{'end': 1034.665, 'text': "It's almost one of those kind of cliche computational cliche algorithms, almost off limits, as some might say.", 'start': 1028.362, 'duration': 6.303}, {'end': 1037.165, 'text': 'in terms of like, can you do something new and creative with it?', 'start': 1034.665, 'duration': 2.5}, {'end': 1042.049, 'text': "But in terms of experimenting with ideas and learning about programming, I think it's a great one to look at.", 'start': 1037.246, 'duration': 4.803}, {'end': 1045.05, 'text': 'There are lots of highly sophisticated algorithms for circle packing.', 'start': 1042.249, 'duration': 2.801}, {'end': 1046.59, 'text': 'There are simple ones.', 'start': 1045.329, 'duration': 1.261}, {'end': 1053.014, 'text': 'And I did a video, random points, Schiffman, YouTube, overlapping.', 'start': 1047.09, 'duration': 5.924}], 'summary': 'Exploring creative and new ideas in computational algorithms, particularly in circle packing, offers learning opportunities in programming.', 'duration': 24.652, 'max_score': 1028.362, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg01028362.jpg'}, {'end': 1385.779, 'src': 'embed', 'start': 1359.597, 'weight': 4, 'content': [{'end': 1365.022, 'text': "After I make this, I'll release the code in both Processing, Java, and also JavaScript using a p5.js library.", 'start': 1359.597, 'duration': 5.425}, {'end': 1366.523, 'text': 'So Circlepacking is one of these.', 'start': 1365.062, 'duration': 1.461}, {'end': 1370.627, 'text': 'almost computational cliche algorithms in a way.', 'start': 1368.185, 'duration': 2.442}, {'end': 1373.389, 'text': "There's some images here from an artist named Marius Watts,", 'start': 1370.647, 'duration': 2.742}, {'end': 1378.653, 'text': 'who does lots of beautiful and interesting engaging computational work and has worked with circle packing.', 'start': 1373.389, 'duration': 5.264}, {'end': 1385.779, 'text': 'And the idea of circle packing is fit a lot of circles, as many as you can, of varying sizes in a small space or a large space,', 'start': 1378.873, 'duration': 6.906}], 'summary': 'Circlepacking code will be released in processing, java, and javascript using p5.js. circle packing fits many circles in a small or large space.', 'duration': 26.182, 'max_score': 1359.597, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg01359597.jpg'}, {'end': 1494.666, 'src': 'embed', 'start': 1448.594, 'weight': 1, 'content': [{'end': 1454.7, 'text': "I'm using the same variable name as the properties of the object itself, but just with the underscore afterwards.", 'start': 1448.594, 'duration': 6.106}, {'end': 1462.308, 'text': 'And what that does, it allows me to differentiate these temporary constructor arguments to fill the actual variables of the object.', 'start': 1455.021, 'duration': 7.287}, {'end': 1466.392, 'text': "But it's kind of a confusing convention, but it's one that I'm kind of used to, so I'm going to use that here.", 'start': 1462.588, 'duration': 3.804}, {'end': 1477.199, 'text': "So what this means is now I can say something like circle C and I can say in processing I'm going to say size, let's just say 640, 360,", 'start': 1466.752, 'duration': 10.447}, {'end': 1488.001, 'text': "and in draw I'm going to say background zero and then I'm going to say in setup C equals a new circle, 200, 200,", 'start': 1477.199, 'duration': 10.802}, {'end': 1494.666, 'text': 'and I can run this program and ta-da!, I have a circle.', 'start': 1488.001, 'duration': 6.665}], 'summary': 'Using underscore convention to differentiate temporary constructor arguments for creating a circle in processing.', 'duration': 46.072, 'max_score': 1448.594, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg01448594.jpg'}], 'start': 495.853, 'title': 'Evolution of code and machine learning', 'summary': 'Covers the explosion of new research in machine learning, including evolutionary algorithms and neural networks, and announces plans to cover pathfinding and artificial neural networks. it also discusses a livestream coding challenge announcement and the process of experimenting with circle packing algorithms in processing.', 'chapters': [{'end': 669.513, 'start': 495.853, 'title': 'Evolution of code and machine learning', 'summary': "Discusses the explosion of new research in machine learning, including evolutionary algorithms, neural networks, and various applications, as well as the author's plans to cover pathfinding, classification algorithms, and artificial neural networks in future videos.", 'duration': 173.66, 'highlights': ['There has been an explosion in the last couple years of new research in machine learning The author mentions the recent explosion of new research in machine learning, indicating the rapid growth and development in this field.', 'New applications of different algorithms and frameworks The author plans to cover new applications of algorithms and open source frameworks in future videos, showcasing the advancements in the field of machine learning.', 'Plans to cover pathfinding algorithms, classification algorithms, and artificial neural networks The author expresses intentions to create videos on pathfinding algorithms, classification algorithms, and artificial neural networks, indicating a diverse range of topics to be covered in upcoming content.']}, {'end': 883.21, 'start': 672.376, 'title': 'Livestream coding challenge announcement', 'summary': 'Discusses a livestream coding challenge announcement, where the speaker plans to conduct two coding challenges in processing and p5, showcasing creative coding tricks and referencing previous examples, with a brief interruption scheduled at 3 p.m.', 'duration': 210.834, 'highlights': ['The speaker plans to conduct two coding challenges in processing and p5, showcasing creative coding tricks and referencing previous examples, The speaker intends to perform two coding challenges in processing and p5, demonstrating creative coding tricks and referring to previous examples for inspiration.', 'A brief interruption is scheduled at 3 p.m. The speaker has a scheduled interruption at 3 p.m., likely to check and prepare for a coding challenge.', 'The speaker references making a bunch of extra coding examples for Hanukkah and cites inspiration from a talk by Zach Lieberman The speaker mentions creating additional coding examples for Hanukkah and attributes some ideas to a talk by Zach Lieberman.']}, {'end': 1135.554, 'start': 883.75, 'title': 'Experimenting with circle packing in processing', 'summary': 'Details the process of experimenting with circle packing algorithms in processing, exploring its applications, challenges, and the need for more control over patterns and paths, while also mentioning the influence of a classic algorithm called knearestneighbor and the use of classification algorithms.', 'duration': 251.804, 'highlights': ['The chapter details the process of experimenting with circle packing algorithms in Processing and the need for more control over patterns and paths. The author discusses experimenting with circle packing algorithms in Processing and the desire for more control over the types of patterns and paths.', 'Mentions the influence of a classic algorithm called kNearestNeighbor and the use of classification algorithms. The chapter briefly mentions the influence of a classic algorithm called kNearestNeighbor and the use of classification algorithms.', 'Discusses the challenge of creating new and creative ideas using circle packing algorithms. The author mentions the challenge of creating new and creative ideas using circle packing algorithms, often considered a computational cliche.']}, {'end': 1621.903, 'start': 1135.554, 'title': 'Animated circle packing', 'summary': 'Revolves around creating an animated circle packing using processing and javascript, with the aim of fitting circles of varying sizes into a specified space without overlapping, and the demonstration of creating and displaying circles using the circle class in processing.', 'duration': 486.349, 'highlights': ['Creating and displaying circles using the circle class in Processing The speaker explains the process of creating a circle class in Processing, with each circle containing X and Y coordinates for its center, a radius, and a show function for displaying the circle.', 'Demonstrating the use of an ArrayList to keep track of multiple circles in Java The speaker introduces the use of an ArrayList to maintain a list of circle objects in Java, allowing the addition and management of multiple circles in the program.', 'Introduction to Processing and JavaScript for creating animated circle packing The chapter emphasizes the use of Processing, a programming environment built on Java, and the p5.js library for creating an animated circle packing, with the intention to release the code in both Processing/Java and JavaScript.']}], 'duration': 1126.05, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg0495853.jpg', 'highlights': ['There has been an explosion in the last couple years of new research in machine learning.', 'The author plans to cover new applications of algorithms and open source frameworks in future videos.', 'The author expresses intentions to create videos on pathfinding algorithms, classification algorithms, and artificial neural networks.', 'The speaker plans to conduct two coding challenges in processing and p5, showcasing creative coding tricks and referencing previous examples.', 'The chapter details the process of experimenting with circle packing algorithms in Processing and the need for more control over patterns and paths.', 'The speaker introduces the use of an ArrayList to maintain a list of circle objects in Java, allowing the addition and management of multiple circles in the program.', 'The chapter emphasizes the use of Processing, a programming environment built on Java, and the p5.js library for creating an animated circle packing, with the intention to release the code in both Processing/Java and JavaScript.']}, {'end': 2677.788, 'segs': [{'end': 1750.531, 'src': 'embed', 'start': 1711.25, 'weight': 3, 'content': [{'end': 1717.011, 'text': 'So I want the radius to increase by one pixel whenever I call the grow function.', 'start': 1711.25, 'duration': 5.761}, {'end': 1720.532, 'text': "And I'm going to say now every circle c.grow.", 'start': 1717.612, 'duration': 2.92}, {'end': 1723.773, 'text': 'You can see that circle is growing.', 'start': 1722.593, 'duration': 1.18}, {'end': 1726.514, 'text': 'Now the other thing I want to do is I want to stop the circle.', 'start': 1723.813, 'duration': 2.701}, {'end': 1728.794, 'text': 'I want to have a way of stopping the circle from growing.', 'start': 1726.554, 'duration': 2.24}, {'end': 1734.636, 'text': "So one thing I should do is I'm going to write a function called edges.", 'start': 1730.355, 'duration': 4.281}, {'end': 1750.531, 'text': 'to see, has the circle touched an edge of the window? And actually, if it has, maybe I should return a Boolean true or false.', 'start': 1735.888, 'duration': 14.643}], 'summary': 'The radius increases by one pixel when calling the grow function, and a stop function is desired to halt the circle from growing.', 'duration': 39.281, 'max_score': 1711.25, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg01711250.jpg'}, {'end': 2094.947, 'src': 'heatmap', 'start': 1787.133, 'weight': 0, 'content': [{'end': 1801.578, 'text': 'What did I say? x plus r is greater than width, or x minus r is less than 0, or y plus r is greater than height, or y minus r is less than 0.', 'start': 1787.133, 'duration': 14.445}, {'end': 1802.058, 'text': 'That should do it.', 'start': 1801.578, 'duration': 0.48}, {'end': 1803.659, 'text': 'And actually, I could just say return that.', 'start': 1802.098, 'duration': 1.561}, {'end': 1808.933, 'text': 'This is one of these shorthand things that I never use and people always complain in the comments,', 'start': 1805.452, 'duration': 3.481}, {'end': 1810.594, 'text': 'like you could have just returned the result of that.', 'start': 1808.933, 'duration': 1.661}, {'end': 1814.695, 'text': "So I'm returning the result of this or that or this or that.", 'start': 1810.994, 'duration': 3.701}, {'end': 1816.975, 'text': "So if any of those are true, I'm going to return true.", 'start': 1814.735, 'duration': 2.24}, {'end': 1821.377, 'text': "So what I'm going to do here is I'm going to say, I'm also going to add a variable.", 'start': 1817.516, 'duration': 3.861}, {'end': 1822.617, 'text': "I'm going to call it growing.", 'start': 1821.397, 'duration': 1.22}, {'end': 1825.418, 'text': "And I'm going to set it equal to false.", 'start': 1822.637, 'duration': 2.781}, {'end': 1827.218, 'text': 'No, true.', 'start': 1826.818, 'duration': 0.4}, {'end': 1835.419, 'text': "And I'm going to say if growing Increase the radius by one.", 'start': 1829.759, 'duration': 5.66}, {'end': 1838.324, 'text': 'Okay, this is good, this is good, this is good.', 'start': 1836.421, 'duration': 1.903}, {'end': 1840.789, 'text': "Now, I'm going to write a function.", 'start': 1838.765, 'duration': 2.024}, {'end': 1845.029, 'text': "Let's uh there's a bunch of different ways.", 'start': 1842.988, 'duration': 2.041}, {'end': 1847.331, 'text': "I could do this, but let's do it actually out here.", 'start': 1845.069, 'duration': 2.262}, {'end': 1853.215, 'text': "I don't know if I love this, but I'm gonna say if C dot edges, C dot growing equals false.", 'start': 1847.331, 'duration': 5.884}, {'end': 1855.217, 'text': 'so this should stop.', 'start': 1853.215, 'duration': 2.002}, {'end': 1863.903, 'text': 'and What did I? By missing a semicolon here, because I have this like ridiculously long line of code that is very unwieldy to type.', 'start': 1855.217, 'duration': 8.686}, {'end': 1865.925, 'text': "But it's come back now.", 'start': 1863.903, 'duration': 2.022}, {'end': 1870.813, 'text': 'this should now grow the circle until it reaches the edge.', 'start': 1865.925, 'duration': 4.888}, {'end': 1874.435, 'text': 'And you can see, why did it stop? It touched the bottom edge down here.', 'start': 1870.833, 'duration': 3.602}, {'end': 1875.396, 'text': 'So this is good.', 'start': 1874.736, 'duration': 0.66}, {'end': 1879.839, 'text': 'I now have a circle that can grow and a circle that can stop growing.', 'start': 1876.236, 'duration': 3.603}, {'end': 1888.103, 'text': 'And what I want to do is I want to add new circles every time through draw.', 'start': 1880.439, 'duration': 7.664}, {'end': 1892.246, 'text': 'And I want to give it a random location.', 'start': 1889.965, 'duration': 2.281}, {'end': 1906.506, 'text': "So I'm going to create a new circle at a random location and I want the circles to all start not with a radius of 50, but a radius of 1,", 'start': 1896.058, 'duration': 10.448}, {'end': 1907.387, 'text': 'and watch what happens now.', 'start': 1906.506, 'duration': 0.881}, {'end': 1909.108, 'text': 'So I have all these circles.', 'start': 1908.127, 'duration': 0.981}, {'end': 1911.25, 'text': "That's kind of actually just nice on its own.", 'start': 1909.508, 'duration': 1.742}, {'end': 1914.652, 'text': "They're all growing and they're stopping as they reach the edge.", 'start': 1911.57, 'duration': 3.082}, {'end': 1916.253, 'text': "But let's watch that again.", 'start': 1914.932, 'duration': 1.321}, {'end': 1918.475, 'text': 'Let me slow down the frame rate.', 'start': 1916.273, 'duration': 2.202}, {'end': 1927.713, 'text': 'What I want to see happen is I want all these circles to grow, but I also want them to stop growing if they touch another circle.', 'start': 1920.888, 'duration': 6.825}, {'end': 1932.677, 'text': "And I also don't want to be able to create a circle inside of another circle,", 'start': 1928.314, 'duration': 4.363}, {'end': 1937.301, 'text': 'because I want to have these circles kind of grow to fill as much space as possible.', 'start': 1932.677, 'duration': 4.624}, {'end': 1941.504, 'text': 'OK, So how do I do this?', 'start': 1938.522, 'duration': 2.982}, {'end': 1949.816, 'text': "So the first thing that I need to do is I don't know what is the first thing that I need to do?", 'start': 1943.106, 'duration': 6.71}, {'end': 1950.736, 'text': 'Do you know what I want to do??', 'start': 1950.056, 'duration': 0.68}, {'end': 1956.92, 'text': "I'm going to create a function called new circle.", 'start': 1952.857, 'duration': 4.063}, {'end': 1964.363, 'text': 'Because I have a feeling this might get a little bit complicated.', 'start': 1961.502, 'duration': 2.861}, {'end': 1979.482, 'text': "So what I'm going to try to do now here is what? I'm going to create a random x, y.", 'start': 1970.026, 'duration': 9.456}, {'end': 1988.589, 'text': 'Then what I want to do is say for every circle, in all the circles, what I want to do is determine when I pick this x, y,', 'start': 1979.482, 'duration': 9.107}, {'end': 1990.71, 'text': "is it a point that's outside of circles?", 'start': 1988.589, 'duration': 2.121}, {'end': 1996.014, 'text': "I don't want to by accident.", 'start': 1992.271, 'duration': 3.743}, {'end': 1996.935, 'text': 'these are my circles.', 'start': 1996.014, 'duration': 0.921}, {'end': 2000.213, 'text': "If I pick that point, it's no good.", 'start': 1998.171, 'duration': 2.042}, {'end': 2002.854, 'text': "If I pick this point, we're in good shape.", 'start': 2000.673, 'duration': 2.181}, {'end': 2005.777, 'text': 'So what I need to do is I need to check.', 'start': 2003.275, 'duration': 2.502}, {'end': 2015.324, 'text': "I need to say what is the distance between this xy and that circle's xy?", 'start': 2007.678, 'duration': 7.646}, {'end': 2022.509, 'text': "If the distance is less than that circle's radius, then it is inside the circle.", 'start': 2016.244, 'duration': 6.265}, {'end': 2028.804, 'text': "So let's assume that this is a valid circle.", 'start': 2022.769, 'duration': 6.035}, {'end': 2039.088, 'text': "If I look at all the existing circles and it's inside one of them it's no longer a valid circle and I can also be done with that loop.", 'start': 2029.264, 'duration': 9.824}, {'end': 2041.709, 'text': "If it's not valid I can just check one of them.", 'start': 2039.348, 'duration': 2.361}, {'end': 2050.126, 'text': "Now what I want to do is If it's valid, I want to add it to the array list.", 'start': 2041.769, 'duration': 8.357}, {'end': 2052.127, 'text': 'So I only want to add circles that are valid.', 'start': 2050.146, 'duration': 1.981}, {'end': 2055.889, 'text': "And you can see now, if I run this again, everything's still overlapping.", 'start': 2052.447, 'duration': 3.442}, {'end': 2062.793, 'text': "But technically speaking, you can see it's not adding any circles anymore until it finds a spot that's not inside another circle.", 'start': 2055.929, 'duration': 6.864}, {'end': 2063.675, 'text': 'Ooh, I like this.', 'start': 2062.914, 'duration': 0.761}, {'end': 2069.257, 'text': 'But actually, I think what might make more sense here is to return a new circle.', 'start': 2064.514, 'duration': 4.743}, {'end': 2079.821, 'text': 'Otherwise, return null.', 'start': 2076.32, 'duration': 3.501}, {'end': 2083.121, 'text': 'And then this is going to be a function that returns a circle.', 'start': 2080.061, 'duration': 3.06}, {'end': 2090.625, 'text': 'So what I want to do is I want to say this function is going to attempt to find a new circle.', 'start': 2084.103, 'duration': 6.522}, {'end': 2092.846, 'text': 'And if it does, here it is.', 'start': 2091.465, 'duration': 1.381}, {'end': 2094.947, 'text': "If I can't find one, it's null.", 'start': 2093.186, 'duration': 1.761}], 'summary': 'The transcript discusses creating circles, growing, and stopping growth based on certain conditions during a programming session.', 'duration': 30.433, 'max_score': 1787.133, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg01787133.jpg'}, {'end': 2652.728, 'src': 'embed', 'start': 2621.432, 'weight': 2, 'content': [{'end': 2624.354, 'text': 'What is the size of that image is important.', 'start': 2621.432, 'duration': 2.922}, {'end': 2625.595, 'text': 'the size of that image is 900 by 400, okay?', 'start': 2624.354, 'duration': 1.241}, {'end': 2633.461, 'text': "so let's make a the window also 900 by 400..", 'start': 2625.615, 'duration': 7.846}, {'end': 2637.563, 'text': "Let's say p image, image.", 'start': 2633.461, 'duration': 4.102}, {'end': 2643.125, 'text': "Then I'm going to say image equals load image 2017.png.", 'start': 2637.583, 'duration': 5.542}, {'end': 2648.807, 'text': "And then I'm going to just say background, just to make sure that image is there.", 'start': 2644.565, 'duration': 4.242}, {'end': 2651.248, 'text': 'We can see the image is there now.', 'start': 2649.047, 'duration': 2.201}, {'end': 2652.728, 'text': "2017, I'm drawing circles on top of it.", 'start': 2651.268, 'duration': 1.46}], 'summary': 'The image size is 900 by 400. drawing circles on image.', 'duration': 31.296, 'max_score': 2621.432, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg02621432.jpg'}], 'start': 1622.283, 'title': 'Circle manipulation in java', 'summary': 'Covers java arraylist for manipulating circles, handling null pointer exceptions, implementing growth and stopping functions, checking for collision, focusing on space optimization, and discussing a circle packing algorithm with boolean overlapping approach, pixel manipulation, and addressing potential issues.', 'chapters': [{'end': 1803.659, 'start': 1622.283, 'title': 'Java arraylist and circle functions', 'summary': 'Covers the use of java arraylist to create and manipulate circles on the screen, including handling null pointer exceptions and implementing functions to grow and stop the circle, with a demonstration of checking for edges and boundary conditions.', 'duration': 181.376, 'highlights': ['Using Java ArrayList to create and manipulate circles on the screen The transcript discusses the use of Java ArrayList to create and manipulate circles, demonstrating the process of creating an ArrayList and showing a single circle on the screen.', 'Handling null pointer exceptions in Java The speaker encounters a null pointer exception due to forgetting to create the ArrayList, highlighting the importance of initializing objects to avoid runtime errors.', "Implementing functions to grow and stop the circle The chapter introduces the concept of creating functions within the circle class to increase the radius and stop the circle from growing, demonstrating the usage of the 'grow' function to increase the circle's size.", 'Demonstrating checking for edges and boundary conditions The transcript includes a detailed explanation of checking for edges and boundary conditions, providing a visual example and outlining the conditions for determining if a circle has touched the edge of the window.']}, {'end': 2160.907, 'start': 1805.452, 'title': 'Creating and growing circles', 'summary': 'Demonstrates creating and growing circles in a canvas, checking for collision and stopping the growth when reaching the edge or touching another circle, with a focus on optimizing space usage and visualizing the process.', 'duration': 355.455, 'highlights': ['The chapter demonstrates creating and growing circles in a canvas, checking for collision and stopping the growth when reaching the edge or touching another circle.', 'The circles are initially created with a radius of 1 and then allowed to grow until they reach the edge or touch another circle.', 'The code includes a function to create a new circle at a random location and ensures that the circles do not overlap by checking for valid positions.', 'The process involves continuously adding new circles and stopping their growth when they touch the edge or another circle, aiming to fill as much space as possible while avoiding overlap.']}, {'end': 2677.788, 'start': 2161.728, 'title': 'Circle packing algorithm', 'summary': 'Discusses the implementation of a circle packing algorithm using a boolean overlapping approach to determine circle placement, along with the use of pixel manipulation and image processing to guide the placement of circles, while addressing potential issues such as infinite loops and refining circle placement.', 'duration': 516.06, 'highlights': ['Implementing Boolean overlapping approach to determine circle placement The algorithm uses the distance between circles, comparing it to the sum of their radii, to decide if they are overlapping, thus affecting their growth.', 'Addressing potential issues with infinite loops and refining circle placement The code includes a mechanism to limit the number of attempts to find new spots for circles, and the use of pixel manipulation from an image to guide circle placement.', 'Refining circle placement using pixel manipulation and image processing The implementation involves reading the pixels of an image, such as a 2017.png file, to dictate where circles can be placed, potentially allowing for the creation of specific shapes or patterns.']}], 'duration': 1055.505, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg01622283.jpg', 'highlights': ['Using Java ArrayList to create and manipulate circles on the screen', 'Implementing Boolean overlapping approach to determine circle placement', 'Refining circle placement using pixel manipulation and image processing', 'Handling null pointer exceptions in Java', 'Implementing functions to grow and stop the circle', 'The chapter demonstrates creating and growing circles in a canvas, checking for collision and stopping the growth when reaching the edge or touching another circle']}, {'end': 4636.364, 'segs': [{'end': 2730.816, 'src': 'embed', 'start': 2702.638, 'weight': 0, 'content': [{'end': 2705.28, 'text': 'And I have some videos that cover how this sort of pixel stuff works.', 'start': 2702.638, 'duration': 2.642}, {'end': 2713.808, 'text': 'But I can find the index into that pixel array, the one-dimensional pixel array, by saying the x location plus the y location,', 'start': 2705.621, 'duration': 8.187}, {'end': 2715.369, 'text': "multiplied by the image's width.", 'start': 2713.808, 'duration': 1.561}, {'end': 2716.069, 'text': 'You can think about.', 'start': 2715.509, 'duration': 0.56}, {'end': 2716.87, 'text': 'that makes sense.', 'start': 2716.069, 'duration': 0.801}, {'end': 2724.913, 'text': "if the image was 5 pixels wide, it's going to be 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, right, 0, 5, 10.", 'start': 2716.87, 'duration': 8.043}, {'end': 2726.474, 'text': 'So you can sort of see how that works.', 'start': 2724.913, 'duration': 1.561}, {'end': 2729.375, 'text': "It's the row plus?", 'start': 2726.534, 'duration': 2.841}, {'end': 2730.816, 'text': "No, it's the column plus.", 'start': 2729.375, 'duration': 1.441}], 'summary': 'Explains how to find index in a one-dimensional pixel array using image width and position coordinates.', 'duration': 28.178, 'max_score': 2702.638, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg02702638.jpg'}, {'end': 3373.427, 'src': 'embed', 'start': 3327.119, 'weight': 1, 'content': [{'end': 3335.203, 'text': "I'm trying to think of like Okay, let's make a little I have an idea, a ridiculous idea.", 'start': 3327.119, 'duration': 8.084}, {'end': 3346.893, 'text': "Okay, let's.", 'start': 3337.525, 'duration': 9.368}, {'end': 3349.876, 'text': "I'm losing my mind here, but this is, I don't know what I'm doing.", 'start': 3346.893, 'duration': 2.983}, {'end': 3351.937, 'text': 'Kittens, someone mentioned kittens.', 'start': 3349.916, 'duration': 2.021}, {'end': 3354.54, 'text': "No, don't, I don't want you to know my location.", 'start': 3352.778, 'duration': 1.762}, {'end': 3357.282, 'text': "Kittens, that's a cute kitten.", 'start': 3355.46, 'duration': 1.822}, {'end': 3362.364, 'text': "It's a big kitten.", 'start': 3361.544, 'duration': 0.82}, {'end': 3368.966, 'text': "So what am I doing? I've lost my mind.", 'start': 3366.985, 'duration': 1.981}, {'end': 3370.026, 'text': 'Circle packing kitten.', 'start': 3369.066, 'duration': 0.96}, {'end': 3373.427, 'text': 'Circle packing kitten.', 'start': 3370.726, 'duration': 2.701}], 'summary': 'A person seems to be brainstorming and mentioning kittens and circle packing.', 'duration': 46.308, 'max_score': 3327.119, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg03327119.jpg'}, {'end': 3597.891, 'src': 'heatmap', 'start': 3305.115, 'weight': 2, 'content': [{'end': 3313.057, 'text': 'Okay, Okay, so people seem distressed by the fact that I was going to turn the live stream off.', 'start': 3305.115, 'duration': 7.942}, {'end': 3318.418, 'text': "Let's see if I can find something To just kind of put up on the screen.", 'start': 3313.057, 'duration': 5.361}, {'end': 3327.059, 'text': "I was gonna, I don't know.", 'start': 3318.418, 'duration': 8.641}, {'end': 3335.203, 'text': "I'm trying to think of like Okay, let's make a little I have an idea, a ridiculous idea.", 'start': 3327.119, 'duration': 8.084}, {'end': 3346.893, 'text': "Okay, let's.", 'start': 3337.525, 'duration': 9.368}, {'end': 3349.876, 'text': "I'm losing my mind here, but this is, I don't know what I'm doing.", 'start': 3346.893, 'duration': 2.983}, {'end': 3351.937, 'text': 'Kittens, someone mentioned kittens.', 'start': 3349.916, 'duration': 2.021}, {'end': 3354.54, 'text': "No, don't, I don't want you to know my location.", 'start': 3352.778, 'duration': 1.762}, {'end': 3357.282, 'text': "Kittens, that's a cute kitten.", 'start': 3355.46, 'duration': 1.822}, {'end': 3362.364, 'text': "It's a big kitten.", 'start': 3361.544, 'duration': 0.82}, {'end': 3368.966, 'text': "So what am I doing? I've lost my mind.", 'start': 3366.985, 'duration': 1.981}, {'end': 3370.026, 'text': 'Circle packing kitten.', 'start': 3369.066, 'duration': 0.96}, {'end': 3373.427, 'text': 'Circle packing kitten.', 'start': 3370.726, 'duration': 2.701}, {'end': 3385.389, 'text': "And now we're going to go and, oops, save this image into the circle packing kitten data folder.", 'start': 3376.907, 'duration': 8.482}, {'end': 3390.43, 'text': 'Kitten JPEG.', 'start': 3385.489, 'duration': 4.941}, {'end': 3404.194, 'text': "And then I am going to adjust its size, because that's huge, to be 800 by 800.", 'start': 3390.45, 'duration': 13.744}, {'end': 3407.954, 'text': "And then I'm going to go back to here, going to make it 800 by 800.", 'start': 3404.194, 'duration': 3.76}, {'end': 3411.655, 'text': "And I'm going to load the kitten image.", 'start': 3407.954, 'duration': 3.701}, {'end': 3417.857, 'text': "And I'm going to get rid of this spots thing.", 'start': 3412.576, 'duration': 5.281}, {'end': 3425.84, 'text': 'I was like, oh, let me make a new program so that something happens while I take a break.', 'start': 3419.978, 'duration': 5.862}, {'end': 3428.361, 'text': "Now I realize I'm doing another coding challenge by accident.", 'start': 3425.96, 'duration': 2.401}, {'end': 3429.521, 'text': 'This is kind of nuts.', 'start': 3428.741, 'duration': 0.78}, {'end': 3432.042, 'text': 'Code something to entertain us.', 'start': 3430.662, 'duration': 1.38}, {'end': 3441.185, 'text': "Am I here to entertain you? Is that what you think of me? Oh, but I can't stop now.", 'start': 3432.682, 'duration': 8.503}, {'end': 3451.154, 'text': 'Okay Okay, there was a thing that I was thinking of.', 'start': 3445.792, 'duration': 5.362}, {'end': 3453.234, 'text': 'Okay, kitten.jpg, thank you, chat.', 'start': 3451.274, 'duration': 1.96}, {'end': 3459.375, 'text': "This should probably be its own coding challenge video, but mentally I'm taking a break here.", 'start': 3454.034, 'duration': 5.341}, {'end': 3460.896, 'text': "I'm just doing this.", 'start': 3459.415, 'duration': 1.481}, {'end': 3463.156, 'text': 'So this needs a color now.', 'start': 3461.696, 'duration': 1.46}, {'end': 3475.738, 'text': "Let's color and let's say no stroke, fill color.", 'start': 3465.137, 'duration': 10.601}, {'end': 3483.28, 'text': "And I'm going to give each circle a color.", 'start': 3478.218, 'duration': 5.062}, {'end': 3490.622, 'text': "My phone is buzzing, there's like things are happening.", 'start': 3483.3, 'duration': 7.322}, {'end': 3494.565, 'text': 'Let me entertain you.', 'start': 3492.344, 'duration': 2.221}, {'end': 3496.526, 'text': 'OK, So the circle.', 'start': 3494.585, 'duration': 1.941}, {'end': 3511.011, 'text': 'now, when I create the circle, the thing that I need to do is, if valid, I need to say index equals int x plus int y times, image.width.', 'start': 3496.526, 'duration': 14.485}, {'end': 3518.976, 'text': 'This is my index into that array and then the color is image pixels index.', 'start': 3512.652, 'duration': 6.324}, {'end': 3524.4, 'text': "so now, if I were to do this, Oops, this doesn't exist anymore.", 'start': 3518.976, 'duration': 5.424}, {'end': 3529.343, 'text': 'this now should be back to a random spot, but I hope I saved that last thing.', 'start': 3524.4, 'duration': 4.943}, {'end': 3544.084, 'text': 'I did Random width, Random height, So we should get a little circle packing system with our kitten.', 'start': 3529.343, 'duration': 14.741}, {'end': 3550.43, 'text': "And let's try to get a bunch more circles all at once.", 'start': 3545.145, 'duration': 5.285}, {'end': 3566.576, 'text': "And what I'm going to do is, when it finishes, I'm going to say, instead of new loop print line finished, I'm going to say, Clear the ArrayList.", 'start': 3551.991, 'duration': 14.585}, {'end': 3573.119, 'text': "Circles.clear, is that a function to empty an ArrayList? Let's see what happens.", 'start': 3567.177, 'duration': 5.942}, {'end': 3576.841, 'text': "There's our circle-packed kitten.", 'start': 3575.18, 'duration': 1.661}, {'end': 3580.282, 'text': 'Circle-packed kitten, hooray, hooray.', 'start': 3577.461, 'duration': 2.821}, {'end': 3583.243, 'text': 'Circle-packed kitten, hooray, hooray.', 'start': 3580.582, 'duration': 2.661}, {'end': 3586.325, 'text': 'Circle-packed kitten, hooray, hooray.', 'start': 3583.644, 'duration': 2.681}, {'end': 3588.626, 'text': "It's circle-packed kitten, hooray.", 'start': 3586.425, 'duration': 2.201}, {'end': 3594.687, 'text': 'Boy, this was much better than the other.', 'start': 3592.285, 'duration': 2.402}, {'end': 3597.891, 'text': 'I should really have done this as like a, because, look at the,', 'start': 3595.068, 'duration': 2.823}], 'summary': 'The speaker attempts to entertain by coding a circle-packing system with a kitten image, unintentionally creating a coding challenge.', 'duration': 68.548, 'max_score': 3305.115, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg03305115.jpg'}], 'start': 2679.989, 'title': 'Circle packing and perlin noise', 'summary': 'Discusses circle packing algorithm, animation, future coding challenges, and the concept of perlin noise, along with its impact on number generation and the use of social media by the white house during the presidency of barack obama.', 'chapters': [{'end': 2754.233, 'start': 2679.989, 'title': 'Nested loop for pixel analysis', 'summary': 'Discusses setting up a nested loop to analyze each pixel in an image and determine if it is white or black, using a one-dimensional pixel array and brightness values.', 'duration': 74.244, 'highlights': ["The one-dimensional pixel array is accessed by finding the index using the formula (x location + y location * image width), enabling analysis of each pixel's brightness.", 'The chapter emphasizes the use of a nested loop to examine every pixel and determine its color based on brightness, with a threshold of 1 for identifying white pixels.']}, {'end': 2924.618, 'start': 2754.693, 'title': 'Circle packing algorithm', 'summary': 'Discusses the process of implementing a circle packing algorithm, identifying 77,759 possible spots based on brightness, and refining the selection process to ensure the algorithm picks valid spots from the source image.', 'duration': 169.925, 'highlights': ['Identifying 77,759 possible spots based on brightness The algorithm identified 77,759 possible spots based on brightness, indicating a significant amount of potential spots for the circle packing algorithm.', 'Refining the selection process for valid spots from the source image The process was refined to ensure the algorithm only picks valid spots from the source image, improving the accuracy and relevance of the circle packing algorithm.']}, {'end': 3182.413, 'start': 2924.618, 'title': 'Circle packing and animation', 'summary': 'Discusses circle packing, animation, and potential future coding challenges, including the use of source images and dynamic path computation, in javascript and processing.', 'duration': 257.795, 'highlights': ['The chapter discusses circle packing, animation, and potential future coding challenges, including the use of source images and dynamic path computation, in JavaScript and processing. It covers topics such as adjusting the criteria for circle selection, the potential for color manipulation, and the use of source images for letters and patterns.', 'The stream is planned to be turned off temporarily to check something and return for further coding challenges or tutorial sessions. The speaker plans to turn off the stream temporarily, set a time for the next live stream, and check on something, possibly related to a webcam and circle packing.', 'The speaker is considering the option of leaving the stream on with music to save bandwidth and implies a potential quick return. There is a consideration to leave the stream on with music instead of turning it off to save bandwidth, hinting at a quick return.']}, {'end': 3417.857, 'start': 3182.413, 'title': 'Creating circle collisions with physics', 'summary': 'Discusses creating circle collisions with physics, addressing questions from the chat, and adding a kitten image for circle packing design.', 'duration': 235.444, 'highlights': ['I could do a tutorial on circle collisions with physics, using an engine called Box2D, which will do a lot of collision stuff.', 'I addressed questions from the chat, including a suggestion to create custom text with create graphics and the song Custom text with create graphics.', 'I added a kitten image for circle packing design, adjusting its size to 800 by 800 and loading it into the project.']}, {'end': 3685.276, 'start': 3419.978, 'title': 'Creating circle-packed kitten', 'summary': 'Illustrates the process of creating a circle-packed kitten image using coding, resulting in a visually entertaining output and a potential future coding challenge video.', 'duration': 265.298, 'highlights': ['The narrator accidentally ends up creating a coding challenge video while trying to take a break, showcasing the unplanned nature of the coding process.', 'The narrator uses coding to create a visually entertaining circle-packed kitten image, demonstrating the creative potential of coding to produce visually appealing outputs.', 'The process involves coding logic to analyze an image and place circles, showcasing the technical and algorithmic aspects of image processing in coding.', 'The narrator shares the intention to potentially develop the circle-packed kitten creation into a dedicated coding challenge video, highlighting the potential future content for the audience.']}, {'end': 4636.364, 'start': 3685.296, 'title': 'Perlin noise and social media', 'summary': "Discusses the concept of perlin noise and its potential impact on number generation, along with a discussion about the white house's use of social media as a means of public access to data, with a focus on the presidency of barack obama.", 'duration': 951.068, 'highlights': ['The chapter discusses the concept of Perlin Noise and its potential impact on number generation. The speaker compares picking numbers using Perlin Noise to the repetition of certain numbers, indicating a potential different approach to number selection.', "The White House's use of social media allows public access to data, with a focus on the presidency of Barack Obama. The White House's approach to releasing social media data for public access is highlighted, emphasizing the immediate availability of information rather than traditional archival processes."]}], 'duration': 1956.375, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg02679989.jpg', 'highlights': ["The White House's approach to releasing social media data for public access is highlighted, emphasizing the immediate availability of information rather than traditional archival processes.", 'The chapter discusses the concept of Perlin Noise and its potential impact on number generation. The speaker compares picking numbers using Perlin Noise to the repetition of certain numbers, indicating a potential different approach to number selection.', 'The narrator uses coding to create a visually entertaining circle-packed kitten image, demonstrating the creative potential of coding to produce visually appealing outputs.', 'The process involves coding logic to analyze an image and place circles, showcasing the technical and algorithmic aspects of image processing in coding.', 'Identifying 77,759 possible spots based on brightness The algorithm identified 77,759 possible spots based on brightness, indicating a significant amount of potential spots for the circle packing algorithm.', 'The chapter discusses circle packing, animation, and potential future coding challenges, including the use of source images and dynamic path computation, in JavaScript and processing. It covers topics such as adjusting the criteria for circle selection, the potential for color manipulation, and the use of source images for letters and patterns.']}, {'end': 5344.284, 'segs': [{'end': 4676.224, 'src': 'embed', 'start': 4651.133, 'weight': 0, 'content': [{'end': 4656.297, 'text': 'our mission has been to reach Americans and people around the world on the channels and platforms where they already spend their time.', 'start': 4651.133, 'duration': 5.164}, {'end': 4663.219, 'text': "Okay, I'm reading some more White House social media archives blah blah blah blah blah blah blah blah call to action.", 'start': 4657.717, 'duration': 5.502}, {'end': 4666.04, 'text': "We're excited to share some of the innovative archival projects with you.", 'start': 4663.239, 'duration': 2.801}, {'end': 4672.882, 'text': 'So there are a bunch of projects already that people are working on with this data.', 'start': 4666.08, 'duration': 6.802}, {'end': 4676.224, 'text': 'Archive Social, Rhizome, a wonderful digital art organization.', 'start': 4673.263, 'duration': 2.961}], 'summary': 'Mission: reach global audience via popular channels. excited to share innovative archival projects.', 'duration': 25.091, 'max_score': 4651.133, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg04651133.jpg'}, {'end': 4773.051, 'src': 'embed', 'start': 4733.062, 'weight': 4, 'content': [{'end': 4736.564, 'text': "So this is actually, so I'm looking for like a coding challenge here to work with this data.", 'start': 4733.062, 'duration': 3.502}, {'end': 4739.066, 'text': "We could actually just rebuild that Twitter bot, but it's already being made.", 'start': 4736.765, 'duration': 2.301}, {'end': 4739.567, 'text': 'Now look at this.', 'start': 4739.086, 'duration': 0.481}, {'end': 4742.769, 'text': 'Students will be diving into the social media data too.', 'start': 4740.247, 'duration': 2.522}, {'end': 4746.252, 'text': 'The University of Texas, Austin.', 'start': 4744.671, 'duration': 1.581}, {'end': 4749.735, 'text': "Students in Dr. Amelia Acker's graduate seminar will be utilizing, ah, camera.", 'start': 4746.272, 'duration': 3.463}, {'end': 4757.5, 'text': 'will be utilizing White House and social media data in their projects.', 'start': 4752.937, 'duration': 4.563}, {'end': 4763.724, 'text': "And look at this an NYU's hey look, I'm wearing my sweatshirt an NYU's interactive telecommunications program.", 'start': 4757.94, 'duration': 5.784}, {'end': 4766.146, 'text': 'fellows are hosting an Obamathon on January 6th.', 'start': 4763.724, 'duration': 2.422}, {'end': 4769.348, 'text': "That's not today, is it? What's the date? Today's the 5th.", 'start': 4766.746, 'duration': 2.602}, {'end': 4770.188, 'text': "Okay, good, that's tomorrow.", 'start': 4769.388, 'duration': 0.8}, {'end': 4773.051, 'text': "Otherwise I'm really in the wrong place.", 'start': 4771.309, 'duration': 1.742}], 'summary': 'Students at university of texas and nyu utilizing social media data for projects.', 'duration': 39.989, 'max_score': 4733.062, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg04733062.jpg'}, {'end': 4949.89, 'src': 'embed', 'start': 4925.611, 'weight': 5, 'content': [{'end': 4931.718, 'text': "Now. the one thing that's wonderful about what's being done here, though, is that if you are not the account holder,", 'start': 4925.611, 'duration': 6.107}, {'end': 4936.965, 'text': 'it is quite difficult to access all the data all at once in an easy to use format.', 'start': 4931.718, 'duration': 5.247}, {'end': 4943.868, 'text': 'For example, the Twitter API will not let you, through the API, download tweets past 3200.', 'start': 4937.225, 'duration': 6.643}, {'end': 4949.89, 'text': "so if an account is 50, 000 tweets, you can't use the API to, just like, download all the tweets past 3200.", 'start': 4943.868, 'duration': 6.022}], 'summary': 'Accessing all data for non-account holders is difficult due to twitter api limitations, such as the inability to download tweets past 3200.', 'duration': 24.279, 'max_score': 4925.611, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg04925611.jpg'}], 'start': 4636.364, 'title': 'Preserving obama administration digital history and twitter data analysis', 'summary': 'Covers the preservation and accessibility of the digital history of the obama administration, ongoing projects, student involvement, and challenges of accessing public social media data, along with the process of downloading and analyzing twitter data, including observations on file sizes, formats, and the significance of the csv file for further analysis.', 'chapters': [{'end': 5074.661, 'start': 4636.364, 'title': 'Preserving obama administration digital history', 'summary': 'Discusses the preservation and accessibility of the digital history of the obama administration, including ongoing projects, student involvement, and the challenges of accessing and using public social media data.', 'duration': 438.297, 'highlights': ["The White House's initiative to preserve and make accessible the digital history of the Obama administration, inviting people to contribute creative ways to archive and utilize the content. The chapter starts with the White House's plans to preserve and pass on the digital history of the Obama administration, encouraging people to come up with creative ways to archive and make the content useful and available for years to come.", 'Various ongoing projects and initiatives related to archiving and utilizing the data, including involvement from organizations like Archive Social, Rhizome, Giphy, and Field Train. Several projects are already underway, involving organizations like Archive Social, Rhizome, Giphy, and Field Train, indicating active efforts in archiving and utilizing the data.', "Student involvement in utilizing White House and social media data for projects, including graduate seminars at the University of Texas, Austin, and an Obamathon hosted by NYU's interactive telecommunications program. Students at the University of Texas, Austin, and NYU's interactive telecommunications program are utilizing White House and social media data for projects, demonstrating educational and collaborative involvement.", 'Challenges in accessing and utilizing public social media data, including limitations in accessing complete data sets through APIs and the difficulties in scraping large amounts of data. The chapter highlights the challenges in accessing and utilizing public social media data, citing limitations in accessing complete data sets through APIs and the difficulties in scraping large amounts of data.']}, {'end': 5344.284, 'start': 5074.681, 'title': 'Twitter data analysis', 'summary': 'Discusses the process of downloading and analyzing twitter data, including observations on file sizes and formats, as well as the significance of the csv file for further analysis.', 'duration': 269.603, 'highlights': ['The POTUS data set has the least amount of tweets, as indicated by the file size, offering insights into the frequency of tweets.', 'The main file of significance is the CSV file, which contains all the tweets and serves as the raw data for analysis.', 'Observations on the file format and parsing issues with LibreOffice, emphasizing the importance of correctly defining text file formats for data analysis.']}], 'duration': 707.92, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg04636364.jpg', 'highlights': ["The White House's initiative to preserve and make accessible the digital history of the Obama administration, inviting people to contribute creative ways to archive and utilize the content.", 'Various ongoing projects and initiatives related to archiving and utilizing the data, including involvement from organizations like Archive Social, Rhizome, Giphy, and Field Train.', "Student involvement in utilizing White House and social media data for projects, including graduate seminars at the University of Texas, Austin, and an Obamathon hosted by NYU's interactive telecommunications program.", 'Challenges in accessing and utilizing public social media data, including limitations in accessing complete data sets through APIs and the difficulties in scraping large amounts of data.', 'The main file of significance is the CSV file, which contains all the tweets and serves as the raw data for analysis.', 'The POTUS data set has the least amount of tweets, as indicated by the file size, offering insights into the frequency of tweets.', 'Observations on the file format and parsing issues with LibreOffice, emphasizing the importance of correctly defining text file formats for data analysis.']}, {'end': 6936.427, 'segs': [{'end': 5495.269, 'src': 'embed', 'start': 5458.573, 'weight': 0, 'content': [{'end': 5464.418, 'text': 'if I wanted to figure out which was the most liked tweet or most retweeted tweet or do a graph of those values,', 'start': 5458.573, 'duration': 5.845}, {'end': 5466.54, 'text': 'I could augment this data by doing that.', 'start': 5464.418, 'duration': 2.122}, {'end': 5472.363, 'text': 'Okay, so this is interesting to look at.', 'start': 5468.061, 'duration': 4.302}, {'end': 5479.725, 'text': "Now I'm trying to think of what might be a useful demonstration of working with this data.", 'start': 5472.443, 'duration': 7.282}, {'end': 5482.786, 'text': "And I'm thinking about it.", 'start': 5481.806, 'duration': 0.98}, {'end': 5495.269, 'text': "because I had some good ideas yesterday and now I've forgotten what they are.", 'start': 5488.284, 'duration': 6.985}], 'summary': 'Analyzing most liked and retweeted tweets, considering data augmentation, and brainstorming useful data demonstrations.', 'duration': 36.696, 'max_score': 5458.573, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg05458573.jpg'}, {'end': 5785.368, 'src': 'embed', 'start': 5762.138, 'weight': 6, 'content': [{'end': 5769.965, 'text': "these are for the White House's official account, which are, you know, social media posts that are written by White House staff,", 'start': 5762.138, 'duration': 7.827}, {'end': 5772.926, 'text': "and I'm not an official representative of anything here.", 'start': 5769.965, 'duration': 2.961}, {'end': 5774.786, 'text': "I'm just giving you for the way that I understand it.", 'start': 5772.946, 'duration': 1.84}, {'end': 5779.287, 'text': 'These accounts the POTUS Twitter account and the FLOTUS Twitter account.', 'start': 5775.426, 'duration': 3.861}, {'end': 5782.648, 'text': 'these are tweets that are written by Obama himself and the First Lady herself.', 'start': 5779.287, 'duration': 3.361}, {'end': 5785.368, 'text': "So that's all the data that they're making available.", 'start': 5783.408, 'duration': 1.96}], 'summary': 'White house twitter accounts are written by staff, potus and flotus tweets are authored by obama and the first lady.', 'duration': 23.23, 'max_score': 5762.138, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg05762138.jpg'}, {'end': 5868.472, 'src': 'embed', 'start': 5839.166, 'weight': 9, 'content': [{'end': 5845.493, 'text': 'This was me trying, to you know, make a Twitter JSON file of all of the Tweets, that sort of thing.', 'start': 5839.166, 'duration': 6.327}, {'end': 5850.158, 'text': "so, and then there are some examples here, which maybe I'll grab one of these.", 'start': 5845.493, 'duration': 4.665}, {'end': 5853.482, 'text': "So let's look at some of these examples.", 'start': 5850.158, 'duration': 3.324}, {'end': 5860.69, 'text': "So let me clone this repo And then we'll make some new examples I.", 'start': 5853.482, 'duration': 7.208}, {'end': 5868.472, 'text': "So, for those of you who haven't used GitHub before, I encourage you to check out my GitHub tutorials.", 'start': 5864.71, 'duration': 3.762}], 'summary': 'Creating a twitter json file and using github for examples and tutorials.', 'duration': 29.306, 'max_score': 5839.166, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg05839166.jpg'}, {'end': 5961.927, 'src': 'embed', 'start': 5923.323, 'weight': 5, 'content': [{'end': 5929.266, 'text': 'And I need this one to be called FLOTUS tweets.', 'start': 5923.323, 'duration': 5.943}, {'end': 5932.108, 'text': 'Oops, I have an extra S there.', 'start': 5930.307, 'duration': 1.801}, {'end': 5937.831, 'text': 'Copy Put that in there.', 'start': 5934.089, 'duration': 3.742}, {'end': 5946.102, 'text': 'Oops So now if I run this, we should see if this works.', 'start': 5937.851, 'duration': 8.251}, {'end': 5947.422, 'text': "Oh, and there's, oh, whoops.", 'start': 5946.402, 'duration': 1.02}, {'end': 5954.905, 'text': 'I forgot, why did I put that in there? Ah, okay, great.', 'start': 5948.243, 'duration': 6.662}, {'end': 5956.565, 'text': 'Hi, now I remember.', 'start': 5955.345, 'duration': 1.22}, {'end': 5957.806, 'text': "So here's the thing.", 'start': 5956.926, 'duration': 0.88}, {'end': 5959.466, 'text': 'Ah, something good to talk about here.', 'start': 5958.266, 'duration': 1.2}, {'end': 5961.927, 'text': "So actually, this isn't working.", 'start': 5959.847, 'duration': 2.08}], 'summary': 'Debugging process for flotus tweets, encountering errors and corrections.', 'duration': 38.604, 'max_score': 5923.323, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg05923323.jpg'}, {'end': 6013.264, 'src': 'embed', 'start': 5981.593, 'weight': 1, 'content': [{'end': 5990.855, 'text': "There's often a step that you need to do before you actually Program with the data, which is clean the data or modify the format a little way.", 'start': 5981.593, 'duration': 9.262}, {'end': 5996.217, 'text': "So let's do that right now, Because working with this particular data in processing,", 'start': 5990.855, 'duration': 5.362}, {'end': 6001.974, 'text': "they had an issue with it and I'm going to open both of these up in.", 'start': 5996.217, 'duration': 5.757}, {'end': 6006.298, 'text': 'Actually, let me.', 'start': 6001.974, 'duration': 4.324}, {'end': 6007.118, 'text': 'Let me do this.', 'start': 6006.298, 'duration': 0.82}, {'end': 6013.264, 'text': "I'm going to open both of these up in Sublime Text.", 'start': 6007.479, 'duration': 5.785}], 'summary': 'Data cleaning and format modification needed before programming. issue with data in processing.', 'duration': 31.671, 'max_score': 5981.593, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg05981593.jpg'}, {'end': 6078.661, 'src': 'embed', 'start': 6052.188, 'weight': 7, 'content': [{'end': 6062.094, 'text': "The reason why this is, is what if the data itself has a comma in it? If the data itself has a comma in it, you can't just split by comma.", 'start': 6052.188, 'duration': 9.906}, {'end': 6066.737, 'text': 'But the comma, you can split by any commas that are outside of the quotes.', 'start': 6062.454, 'duration': 4.283}, {'end': 6070.739, 'text': "So that's how a CSV file can be formatted where the data itself might have commas.", 'start': 6066.977, 'duration': 3.762}, {'end': 6078.661, 'text': 'Now, what if the data then has a quote in it? then two quotes are used as a way of escaping that quote.', 'start': 6071.259, 'duration': 7.402}], 'summary': 'Csv files can have commas within data, which can be handled by splitting outside quotes. quotes can be escaped using two quotes.', 'duration': 26.473, 'max_score': 6052.188, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg06052188.jpg'}, {'end': 6612.623, 'src': 'embed', 'start': 6575.595, 'weight': 3, 'content': [{'end': 6577.817, 'text': "Don't forget the beautiful circle packing kitten.", 'start': 6575.595, 'duration': 2.222}, {'end': 6579.398, 'text': 'I will publish this code later.', 'start': 6578.177, 'duration': 1.221}, {'end': 6583.482, 'text': 'I should have done this as a addendum or whatever to that video.', 'start': 6579.418, 'duration': 4.064}, {'end': 6593.611, 'text': 'And now what I want to do is okay.', 'start': 6584.203, 'duration': 9.408}, {'end': 6604.795, 'text': "what I want to do is I don't know why I'm using sublime today, because Adam was giving me some trouble with large files,", 'start': 6593.611, 'duration': 11.184}, {'end': 6607.278, 'text': "but I'm going to go back to Atom, because I'm so much more used to it.", 'start': 6604.795, 'duration': 2.483}, {'end': 6612.623, 'text': "So let's close this.", 'start': 6611.502, 'duration': 1.121}], 'summary': 'Discussion on switching from sublime to atom due to issues with large files', 'duration': 37.028, 'max_score': 6575.595, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg06575595.jpg'}, {'end': 6691.791, 'src': 'embed', 'start': 6655.639, 'weight': 8, 'content': [{'end': 6661.158, 'text': "I think what happened is I'm a little bit bigger than I usually am and so I've been covering up the code more.", 'start': 6655.639, 'duration': 5.519}, {'end': 6665.861, 'text': 'And I want to use the DOM library for sure.', 'start': 6662.839, 'duration': 3.022}, {'end': 6673.825, 'text': "And I don't think I need the sound library.", 'start': 6665.881, 'duration': 7.944}, {'end': 6679.187, 'text': 'Sketch.js and then I want these CSV files.', 'start': 6674.745, 'duration': 4.442}, {'end': 6691.791, 'text': 'Now the truth of the matter is, it would probably be easier to work with these files as JSON files, and I could convert the CSV to a JSON file.', 'start': 6680.967, 'duration': 10.824}], 'summary': 'Prefer using the dom library, considering converting csv to json', 'duration': 36.152, 'max_score': 6655.639, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg06655639.jpg'}], 'start': 5344.284, 'title': 'Social media data analysis', 'summary': "Covers analyzing twitter and vine data, visualizing and analyzing obama's social media data, troubleshooting csv file processing, and exploring facebook data for word count analysis, with a focus on metadata analysis, hackathon organization, csv processing challenges, and word count analysis using p5.js and python.", 'chapters': [{'end': 5597.555, 'start': 5344.284, 'title': 'Analyzing twitter and vine data', 'summary': 'Explores the crucial use of unique tweet ids and timestamps in working with twitter api data, and the examination of metadata such as device source and tweet text, while also considering the potential analysis and visualization of vine data.', 'duration': 253.271, 'highlights': ['The importance of unique tweet IDs and timestamps in working with Twitter API data is emphasized, enabling programmatic actions such as retweeting and referencing. Unique tweet IDs and timestamps are crucial in working with Twitter API data, enabling programmatic actions such as retweeting and referencing, providing essential metadata for analysis.', 'The examination of metadata such as device source and tweet text, along with the analysis potential of Vine data, is discussed. The transcript discusses the examination of metadata such as device source and tweet text, while also considering the potential analysis and visualization of Vine data, demonstrating a comprehensive approach to data analysis.', 'The potential for analysis and visualization of Vine data, including word counting and word cloud generation, is considered. The potential for analysis and visualization of Vine data, including word counting and word cloud generation, is considered, indicating a proactive approach to leveraging data for meaningful insights.']}, {'end': 5961.927, 'start': 5597.555, 'title': "Data visualization and analysis with obama's social media data", 'summary': "Discusses using obama's social media data, including twitter, facebook, and vine, for creating visual art projects and conducting research, with the aim of organizing a hackathon and providing access to various data sources.", 'duration': 364.372, 'highlights': ['The White House is making available Twitter, Facebook, and Vine data from the official POTUS and FLOTUS accounts for the last eight years.', 'Organizing a hackathon for ITP students and other initiatives at NYU to facilitate research and art projects with the available social media data.', "Providing access to additional data sources related to Obama's weekly addresses, presidential proclamations, and other Twitter data.", 'Demonstrating the process of downloading files from a GitHub repository and using the data for creating visual art projects.', 'Discussing potential visual art projects, such as creating a word cloud and a photo mosaic of Obama using Facebook photos.']}, {'end': 6391.473, 'start': 5962.207, 'title': 'Troubleshooting csv file processing', 'summary': 'Discusses the challenges in processing a csv file, including formatting issues with double quotes, single quotes, line breaks, and special characters, and demonstrates the use of regular expressions to clean the data, resulting in successful processing and visualization of tweet frequency data.', 'duration': 429.266, 'highlights': ["The CSV file presented challenges due to formatting issues with double quotes, single quotes, line breaks, and special characters, causing errors in Processing's load table function. The CSV file's formatting issues, such as double quotes, single quotes, and line breaks, led to errors in Processing's load table function, hindering data processing.", 'Regular expressions were used to clean the data by removing unnecessary link information from the CSV file, resulting in successful data processing and visualization of tweet frequency data. The use of regular expressions to remove unnecessary link information from the CSV file enabled successful data processing and visualization of tweet frequency data, demonstrating the effectiveness of data cleaning.', 'The visualization of tweet frequency data revealed that FLOTUS tweets significantly more than POTUS, with specific insights into the devices and platforms used for tweeting by each account. Visualization of tweet frequency data provided insights into the significant difference in tweet frequency between FLOTUS and POTUS, highlighting the devices and platforms used for tweeting by each account.', 'The chapter also mentions the use of D3 as a JavaScript framework for data visualization, recommended for exploring data visualization techniques. The chapter recommends D3 as a JavaScript framework for exploring data visualization techniques, showcasing examples of tweet visualization created using D3.']}, {'end': 6936.427, 'start': 6391.954, 'title': 'Exploring facebook data for word count analysis', 'summary': "Discusses the process of extracting facebook data, converting csv files to json, and preparing for a coding challenge to analyze word count by date using p5.js and python's simple http server, with an emphasis on overcoming browser caching issues.", 'duration': 544.473, 'highlights': ['The speaker plans to extract Facebook data, which is four gigabytes in size, and mentions challenges with a microphone wire and email inundation. The speaker mentions the plan to extract Facebook data, which is four gigabytes in size, and discusses challenges with a microphone wire and email inundation.', 'The speaker intends to create a simple example to demonstrate the most frequently used word by month, emphasizing the use of JavaScript for browser compatibility. The speaker expresses the intention to create a simple example to demonstrate the most frequently used word by month, with an emphasis on JavaScript for browser compatibility.', 'The speaker converts CSV files to JSON using a tool, mentioning the potential ease of working with JSON files and the ongoing work of a researcher at ITP on a conversion script. The speaker converts CSV files to JSON using a tool, highlighting the potential ease of working with JSON files and mentioning the ongoing work of a researcher at ITP on a conversion script.', "The speaker discusses the process of preparing for a coding challenge to analyze word count by date using p5.js and Python's simple HTTP server, and shares a tip to overcome browser caching issues. The speaker discusses the process of preparing for a coding challenge to analyze word count by date using p5.js and Python's simple HTTP server, and shares a tip to overcome browser caching issues."]}], 'duration': 1592.143, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg05344284.jpg', 'highlights': ['The examination of metadata such as device source and tweet text, along with the analysis potential of Vine data, is discussed.', 'The potential for analysis and visualization of Vine data, including word counting and word cloud generation, is considered.', 'Organizing a hackathon for ITP students and other initiatives at NYU to facilitate research and art projects with the available social media data.', "The CSV file's formatting issues, such as double quotes, single quotes, and line breaks, led to errors in Processing's load table function, hindering data processing.", 'Regular expressions were used to clean the data by removing unnecessary link information from the CSV file, resulting in successful data processing and visualization of tweet frequency data.', 'The visualization of tweet frequency data revealed that FLOTUS tweets significantly more than POTUS, with specific insights into the devices and platforms used for tweeting by each account.', 'The chapter recommends D3 as a JavaScript framework for exploring data visualization techniques, showcasing examples of tweet visualization created using D3.', 'The speaker plans to extract Facebook data, which is four gigabytes in size, and mentions challenges with a microphone wire and email inundation.', 'The speaker intends to create a simple example to demonstrate the most frequently used word by month, emphasizing the use of JavaScript for browser compatibility.', 'The speaker converts CSV files to JSON using a tool, highlighting the potential ease of working with JSON files and mentioning the ongoing work of a researcher at ITP on a conversion script.', "The speaker discusses the process of preparing for a coding challenge to analyze word count by date using p5.js and Python's simple HTTP server, and shares a tip to overcome browser caching issues."]}, {'end': 8068.043, 'segs': [{'end': 7140.643, 'src': 'embed', 'start': 7107.469, 'weight': 1, 'content': [{'end': 7110.072, 'text': 'This coding challenge is a special edition coding challenge.', 'start': 7107.469, 'duration': 2.603}, {'end': 7114.877, 'text': "I don't know, they're all the same really, but let me start, my bell, my bell, okay.", 'start': 7110.132, 'duration': 4.745}, {'end': 7116.658, 'text': "I'm gonna try again.", 'start': 7115.978, 'duration': 0.68}, {'end': 7120.282, 'text': "What time is it? Four o'clock, okay.", 'start': 7118.961, 'duration': 1.321}, {'end': 7123.165, 'text': "Hold on a second, let's see.", 'start': 7121.944, 'duration': 1.221}, {'end': 7126.989, 'text': 'Sorry, okay.', 'start': 7125.667, 'duration': 1.322}, {'end': 7132.778, 'text': 'Hello welcome to another coding challenge in this coding challenge.', 'start': 7129.175, 'duration': 3.603}, {'end': 7140.643, 'text': "I'm going to do a tutorial and look at How to work with the recently released social media data released by the White House.", 'start': 7132.918, 'duration': 7.725}], 'summary': 'Special edition coding challenge on working with white house social media data', 'duration': 33.174, 'max_score': 7107.469, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg07107469.jpg'}, {'end': 7188.674, 'src': 'embed', 'start': 7156.934, 'weight': 0, 'content': [{'end': 7158.355, 'text': "so check this video's description.", 'start': 7156.934, 'duration': 1.421}, {'end': 7165.04, 'text': "There'll be a link to the White House press release and in that press release there are links to download Twitter data for the POTUS account,", 'start': 7158.355, 'duration': 6.685}, {'end': 7170.564, 'text': 'the FLOTUS account, the White House account, as well as Facebook data and vine data as well.', 'start': 7165.04, 'duration': 5.524}, {'end': 7174.667, 'text': "so hopefully I'll do another coding challenges and tutorials around working with some of the image or video data.", 'start': 7170.564, 'duration': 4.103}, {'end': 7179.489, 'text': "and So what I'm doing here is I just want to do a kind of drop-dead, simple example of how to sort of like,", 'start': 7174.667, 'duration': 4.822}, {'end': 7188.674, 'text': 'get access to the the Twitter data and how you can start to look at it and manipulate it and like like, just present it back in a web page.', 'start': 7179.489, 'duration': 9.185}], 'summary': 'Access twitter, facebook, and vine data from white house press release for coding challenges and tutorials.', 'duration': 31.74, 'max_score': 7156.934, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg07156934.jpg'}, {'end': 7267.709, 'src': 'embed', 'start': 7239.801, 'weight': 2, 'content': [{'end': 7243.745, 'text': "So I have two, in the code that I'll link to, you'll see there are two data files.", 'start': 7239.801, 'duration': 3.944}, {'end': 7246.705, 'text': 'POTUS.JSON and FLOTUS.JSON.', 'start': 7244.125, 'duration': 2.58}, {'end': 7254.467, 'text': 'And these are JSON files that have all data for every single tweet from both of those accounts since those accounts started.', 'start': 7246.946, 'duration': 7.521}, {'end': 7259.728, 'text': 'So if I go here to POTUS.JSON, we can see this is the data for each.', 'start': 7254.707, 'duration': 5.021}, {'end': 7264.328, 'text': 'Oops This is the, I cannot use my computer.', 'start': 7259.848, 'duration': 4.48}, {'end': 7267.709, 'text': 'Oh, go away browser or something.', 'start': 7265.709, 'duration': 2}], 'summary': 'Transcript mentions two json data files potus.json and flotus.json containing all tweets since account inception.', 'duration': 27.908, 'max_score': 7239.801, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg07239801.jpg'}], 'start': 6936.427, 'title': 'Social media data analysis', 'summary': 'Covers analyzing twitter account word frequency, working with white house social media data, and javascript date analysis. it mentions the use of programming environments like r and d3, availability of twitter, facebook, and vine data, loading and manipulating potus and flotus twitter data, javascript date analysis techniques, and a dataset of around 15,000 tweets.', 'chapters': [{'end': 7132.778, 'start': 6936.427, 'title': 'Twitter account word frequency analysis', 'summary': 'Discusses a coding challenge to analyze the most frequently used word by date and by month in a twitter account, and encourages viewers to explore their own projects with a stronger point of view, while also mentioning the use of programming environments like r and d3 for data analysis.', 'duration': 196.351, 'highlights': ['The chapter introduces a coding challenge to analyze the most frequently used word by date and by month in a Twitter account, aiming to unlock possibilities for viewers to create their own projects with a stronger point of view (e.g., political, design, aesthetic), and suggests using programming environments like R and d3 for data analysis.', 'The speaker acknowledges the difficulty of notifying viewers about live streams in advance and encourages them to subscribe to receive notifications, emphasizing the importance of user engagement.', 'The speaker demonstrates uncertainty about the opening screen and the timing of the live stream, showing a casual and relatable approach to content creation.', 'The chapter briefly mentions viewer comments about using R and d3 programming environments for data analysis, indicating community engagement and interest in technical tools.', 'The chapter includes casual interactions with the audience, creating a sense of community and engagement during the coding challenge.']}, {'end': 7549.193, 'start': 7132.918, 'title': 'Working with white house social media data', 'summary': 'Discusses how to work with the recently released social media data from the white house, including the availability of twitter, facebook, and vine data, and provides a tutorial on loading and manipulating the potus and flotus twitter data in javascript, html, and css using a p5.js framework.', 'duration': 416.275, 'highlights': ['The White House has released social media data for POTUS, FLOTUS, and White House accounts over the last eight years. The White House has invited artists, designers, researchers, and scientists to work with the social media data from the White House, POTUS, and FLOTUS accounts over the last eight years.', 'The availability of Twitter, Facebook, and Vine data for download is mentioned in the press release. The press release includes links to download Twitter data for POTUS, FLOTUS, and White House accounts, as well as Facebook and Vine data.', 'The video tutorial demonstrates loading and manipulating POTUS and FLOTUS Twitter data using JavaScript, HTML, and CSS with p5.js framework. The tutorial provides guidance on loading and manipulating POTUS and FLOTUS Twitter data in JavaScript, HTML, and CSS using the p5.js framework.']}, {'end': 8068.043, 'start': 7549.453, 'title': 'Javascript date analysis', 'summary': 'Covers analyzing a dataset of tweets using javascript, including parsing date strings, creating a date object, and counting the number of tweets by month, with the dataset containing around 15,000 tweets.', 'duration': 518.59, 'highlights': ['Analyzing the tweet dataset using JavaScript The chapter covers the process of analyzing a dataset of tweets using JavaScript.', 'Parsing date strings and creating a date object The process includes parsing date strings and creating a date object to manipulate the date data in a more profound way.', 'Counting the number of tweets by month The chapter demonstrates the method to count the number of tweets by month, revealing that the dataset contains around 15,000 tweets.']}], 'duration': 1131.616, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg06936427.jpg', 'highlights': ['The chapter introduces a coding challenge to analyze the most frequently used word by date and by month in a Twitter account, suggesting using programming environments like R and d3 for data analysis.', 'The White House has released social media data for POTUS, FLOTUS, and White House accounts over the last eight years, inviting artists, designers, researchers, and scientists to work with the data.', 'The chapter covers the process of analyzing a dataset of tweets using JavaScript, including parsing date strings and creating a date object to manipulate the date data in a more profound way.', 'The availability of Twitter, Facebook, and Vine data for download is mentioned in the press release, including links to download Twitter data for POTUS, FLOTUS, and White House accounts, as well as Facebook and Vine data.', 'The video tutorial demonstrates loading and manipulating POTUS and FLOTUS Twitter data using JavaScript, HTML, and CSS with p5.js framework, providing guidance on data manipulation.']}, {'end': 8910.295, 'segs': [{'end': 8321.316, 'src': 'embed', 'start': 8293.392, 'weight': 0, 'content': [{'end': 8296.715, 'text': 'So a bar graph involves a rectangle coming from the bottom.', 'start': 8293.392, 'duration': 3.323}, {'end': 8301.818, 'text': 'But the way, the easiest way in p5 to define a rectangle is from this point here.', 'start': 8297.735, 'duration': 4.083}, {'end': 8310.469, 'text': 'So what I actually want to do is say the x location is the height of the window minus the height of that rectangle.', 'start': 8303.547, 'duration': 6.922}, {'end': 8312.05, 'text': "That'll give me that point right there.", 'start': 8310.71, 'duration': 1.34}, {'end': 8321.316, 'text': "So if I come back here and I say a height minus h and then the width, and I'm going to say width minus 1 to have a little space,", 'start': 8313.072, 'duration': 8.244}], 'summary': 'Using p5, a rectangle can be defined by its x and y position, width, and height.', 'duration': 27.924, 'max_score': 8293.392, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg08293392.jpg'}, {'end': 8842.999, 'src': 'embed', 'start': 8809.681, 'weight': 2, 'content': [{'end': 8812.323, 'text': 'take time today to honor our fallen heroes, right?', 'start': 8809.681, 'duration': 2.642}, {'end': 8813.444, 'text': 'So this is just the list of words.', 'start': 8812.363, 'duration': 1.081}, {'end': 8818.847, 'text': "Now you can see I'm getting some noise here, which is like it took a URL and like split it up.", 'start': 8813.664, 'duration': 5.183}, {'end': 8823.79, 'text': 'So I would have to have a more sophisticated parsing engine to make sure to ignore URLs or use them.', 'start': 8819.107, 'duration': 4.683}, {'end': 8826.311, 'text': 'But for us right now, that is fine.', 'start': 8824.03, 'duration': 2.281}, {'end': 8834.196, 'text': 'Okay, so now I can go back here and say okay, well, what I need to do is have pause.', 'start': 8827.712, 'duration': 6.484}, {'end': 8842.999, 'text': 'Take this moment to have a short break for a second.', 'start': 8840.758, 'duration': 2.241}], 'summary': 'Honoring fallen heroes with a brief pause.', 'duration': 33.318, 'max_score': 8809.681, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg08809681.jpg'}, {'end': 8910.295, 'src': 'embed', 'start': 8883.667, 'weight': 1, 'content': [{'end': 8892.33, 'text': "Pause Don't put me on half speed because I sound like Drunk person to be honest, but anyway, that's another another story for another time.", 'start': 8883.667, 'duration': 8.663}, {'end': 8893.19, 'text': "There's no story there.", 'start': 8892.55, 'duration': 0.64}, {'end': 8894.05, 'text': 'What am I talking about? Okay?', 'start': 8893.23, 'duration': 0.82}, {'end': 8897.391, 'text': 'so What was I saying?', 'start': 8895.251, 'duration': 2.14}, {'end': 8909.035, 'text': 'right? so now what I need to do? Is Okay, so this should.', 'start': 8897.391, 'duration': 11.644}, {'end': 8910.295, 'text': "I'm thinking here because this is.", 'start': 8909.035, 'duration': 1.26}], 'summary': 'The speaker addresses a technical issue and expresses confusion and indecision during the conversation.', 'duration': 26.628, 'max_score': 8883.667, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg08883667.jpg'}], 'start': 8068.103, 'title': 'Data visualization techniques', 'summary': 'Covers techniques for visualizing data using the p5 function to create a canvas and draw a bar graph, with a canvas size of 600 by 400, and delves into visualizing tweet frequencies by month and word counting in javascript.', 'chapters': [{'end': 8123.982, 'start': 8068.103, 'title': 'Visualizing data with canvas', 'summary': 'Demonstrates using the p5 function to create a canvas and visualize a larger dataset by counting each year, aiming to draw a bar graph, with a canvas size of 600 by 400.', 'duration': 55.879, 'highlights': ['The chapter demonstrates using the p5 function to create a canvas and visualize a larger dataset by counting each year. The speaker mentions using the p5 function to create a canvas and visualizing a larger dataset by counting each year.', 'Aiming to draw a bar graph, with a canvas size of 600 by 400. The speaker aims to draw a bar graph and specifies the canvas size as 600 by 400.']}, {'end': 8910.295, 'start': 8123.982, 'title': 'Data visualization and word counting in javascript', 'summary': 'Covers the process of visualizing tweet frequencies by month using a bar graph, including normalization of the data, and also delves into the complexity of word counting for each month in a nested object structure.', 'duration': 786.313, 'highlights': ['The process of visualizing tweet frequencies by month using a bar graph, including normalization of the data The speaker demonstrates using JavaScript to create a bar graph representing tweet frequencies by month, including the normalization of data to ensure the tallest bar represents the maximum tweet count.', 'Complexity of word counting for each month in a nested object structure The speaker discusses the complexity of word counting for each month, involving the creation of a nested object structure to store each word and its count, and the challenges of parsing and organizing the words.', 'Utilizing JavaScript for data manipulation and visualization Throughout the transcript, the speaker utilizes JavaScript to manipulate and visualize data, demonstrating the capabilities of the language for handling complex data structures and creating visual representations.']}], 'duration': 842.192, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg08068103.jpg', 'highlights': ['The speaker demonstrates using JavaScript to create a bar graph representing tweet frequencies by month, including the normalization of data to ensure the tallest bar represents the maximum tweet count.', 'The chapter demonstrates using the p5 function to create a canvas and visualize a larger dataset by counting each year.', 'The speaker aims to draw a bar graph and specifies the canvas size as 600 by 400.', 'The speaker discusses the complexity of word counting for each month, involving the creation of a nested object structure to store each word and its count, and the challenges of parsing and organizing the words.', 'Throughout the transcript, the speaker utilizes JavaScript to manipulate and visualize data, demonstrating the capabilities of the language for handling complex data structures and creating visual representations.']}, {'end': 9674.026, 'segs': [{'end': 9240.75, 'src': 'embed', 'start': 9208.375, 'weight': 2, 'content': [{'end': 9213.497, 'text': "But we could kind of ignore, we could have a set of words that we ignore, that type of thing, but let's at least see what we get.", 'start': 9208.375, 'duration': 5.122}, {'end': 9232.305, 'text': "Okay, so now what do I want to do? So here, as I'm doing the drawing, I can say var words equals counts month.words.", 'start': 9215.257, 'duration': 17.048}, {'end': 9236.348, 'text': 'So I have now this array, I have now these words.', 'start': 9232.806, 'duration': 3.542}, {'end': 9240.75, 'text': 'One way it would be to just sort it, sort it by count.', 'start': 9237.568, 'duration': 3.182}], 'summary': 'Using an array of words, sort by count.', 'duration': 32.375, 'max_score': 9208.375, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg09208375.jpg'}, {'end': 9382.295, 'src': 'embed', 'start': 9347.016, 'weight': 0, 'content': [{'end': 9360.505, 'text': 'So what did I do wrong here? Oh, var word equals words index j.', 'start': 9347.016, 'duration': 13.489}, {'end': 9362.446, 'text': 'So I need to actually pull that word.', 'start': 9360.505, 'duration': 1.941}, {'end': 9366.269, 'text': "This is not my finest video I've ever made.", 'start': 9362.466, 'duration': 3.803}, {'end': 9369.091, 'text': 'I need to pull that word from the array to look it up.', 'start': 9366.589, 'duration': 2.502}, {'end': 9377.253, 'text': 'And we can see here, right, the, the, to, the, we, to, the, the, to, the, to, the.', 'start': 9370.731, 'duration': 6.522}, {'end': 9378.514, 'text': "So let's do something.", 'start': 9377.494, 'duration': 1.02}, {'end': 9382.295, 'text': "Let's have an object of words to ignore.", 'start': 9379.374, 'duration': 2.921}], 'summary': 'Identified need to pull specific word from an array for lookup, and create object of words to ignore.', 'duration': 35.279, 'max_score': 9347.016, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg09347016.jpg'}, {'end': 9517.437, 'src': 'embed', 'start': 9476.054, 'weight': 5, 'content': [{'end': 9478.137, 'text': 'So first of all, we can get rid of of, and, and a.', 'start': 9476.054, 'duration': 2.083}, {'end': 9481.12, 'text': 'We can add those to our ignore list.', 'start': 9478.137, 'duration': 2.983}, {'end': 9494.971, 'text': "I'm also going to do something here which is kind of ridiculous and say, and word.length is greater than one.", 'start': 9486.267, 'duration': 8.704}, {'end': 9498.853, 'text': "So I'm not going to allow it to be any words that are of like.", 'start': 9495.931, 'duration': 2.922}, {'end': 9499.393, 'text': 'actually, you know what?', 'start': 9498.853, 'duration': 0.54}, {'end': 9502.434, 'text': 'Nope, how about no three letter?', 'start': 9500.573, 'duration': 1.861}, {'end': 9503.875, 'text': "I think that's a three letter word.", 'start': 9502.434, 'duration': 1.441}, {'end': 9517.437, 'text': 'And we definitely want to ignore HTTP and HTTPS.', 'start': 9506.456, 'duration': 10.981}], 'summary': "Ignore common words like 'of', 'and', and words with length less than 3, also ignore http and https.", 'duration': 41.383, 'max_score': 9476.054, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg09476054.jpg'}], 'start': 8910.295, 'title': 'Analyzing tweet word frequency', 'summary': 'Discusses analyzing word frequency in tweets, revealing the most frequently used words and their counts, and providing insights into loading, parsing, and visualizing data in a small dataset of tweets.', 'chapters': [{'end': 9098.693, 'start': 8910.295, 'title': 'Text analysis: word frequency count', 'summary': 'Discusses a complex process of counting the frequency of words in a dataset, revealing the most frequently used words and their counts, within a small dataset of tweets.', 'duration': 188.398, 'highlights': ['The process involves counting the frequency of words in a dataset, revealing the most frequently used words and their counts. The transcript details a complex process of counting the frequency of words in a dataset, showing the most frequently used words and their counts, within a small dataset of tweets.', 'The transcript describes the structure of the nested objects used to store word counts, with an example of the words and their counts shown in alphabetical order. The transcript explains the structure of nested objects used to store word counts, providing an example of the words and their counts shown in alphabetical order within a small dataset of tweets.', 'The need to address extra noise in the dataset, as revealed by the presence of some words used an unexpected number of times, is discussed. The transcript discusses the need to address extra noise in the dataset, as revealed by the unexpected usage frequency of certain words within a small dataset of tweets.']}, {'end': 9674.026, 'start': 9101.436, 'title': 'Tweet word frequency analysis', 'summary': 'Discusses analyzing word frequency in tweets, cleaning the data to remove common words and implementing a method to find the most frequently used word, providing insights into the process of loading, parsing, and visualizing data.', 'duration': 572.59, 'highlights': ['The process of loading, parsing, and visualizing data is discussed, providing insights into the techniques used in analyzing word frequency in tweets. The chapter details the process of loading, parsing, and visualizing data, offering insights into the techniques used in analyzing word frequency in tweets.', 'Cleaning the data to remove common words and implementing a method to find the most frequently used word is explained. The chapter explains the process of cleaning the data to remove common words and implementing a method to find the most frequently used word.', 'Discussion on the need to clean the data and be more thoughtful about data analysis is provided. The chapter provides a discussion on the importance of cleaning the data and being more thoughtful about data analysis.']}], 'duration': 763.731, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg08910295.jpg', 'highlights': ['The process involves counting the frequency of words in a dataset, revealing the most frequently used words and their counts.', 'The transcript describes the structure of the nested objects used to store word counts, with an example of the words and their counts shown in alphabetical order.', 'The need to address extra noise in the dataset, as revealed by the presence of some words used an unexpected number of times, is discussed.', 'The process of loading, parsing, and visualizing data is discussed, providing insights into the techniques used in analyzing word frequency in tweets.', 'Cleaning the data to remove common words and implementing a method to find the most frequently used word is explained.', 'Discussion on the need to clean the data and be more thoughtful about data analysis is provided.']}, {'end': 11245.22, 'segs': [{'end': 10123.533, 'src': 'embed', 'start': 10091.667, 'weight': 1, 'content': [{'end': 10096.529, 'text': 'Yeah, I think the chances that Obama watching this are like one, one millionth of a percent.', 'start': 10091.667, 'duration': 4.862}, {'end': 10097.449, 'text': "There's a chance.", 'start': 10096.689, 'duration': 0.76}, {'end': 10101.35, 'text': 'But very low, very low.', 'start': 10099.43, 'duration': 1.92}, {'end': 10106.392, 'text': 'I would also probably pee my pants if that happened.', 'start': 10103.031, 'duration': 3.361}, {'end': 10111.534, 'text': 'Okay I can do it via the command line.', 'start': 10109.573, 'duration': 1.961}, {'end': 10116.235, 'text': "I know, but like pipes and command lines, but I don't have that at my fingertips.", 'start': 10111.614, 'duration': 4.621}, {'end': 10117.636, 'text': 'So I need like.', 'start': 10117.136, 'duration': 0.5}, {'end': 10121.532, 'text': 'Like the one, find name, jpeg, exec, copy, ooh.', 'start': 10118.649, 'duration': 2.883}, {'end': 10123.533, 'text': 'Oh, Douglas.', 'start': 10122.192, 'duration': 1.341}], 'summary': 'The chances of obama watching this are very low, approximately one in a million. the speaker also mentions using command line and file manipulation techniques.', 'duration': 31.866, 'max_score': 10091.667, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg010091667.jpg'}, {'end': 10501.985, 'src': 'embed', 'start': 10472.335, 'weight': 0, 'content': [{'end': 10474.176, 'text': "Yep, that's, that's what exactly what I'm going to do.", 'start': 10472.335, 'duration': 1.841}, {'end': 10475.857, 'text': 'danian reloaded in the chat.', 'start': 10474.176, 'duration': 1.681}, {'end': 10483.662, 'text': "So I'm just going to do it by brightness, because I'm going to see if I'm not going to do it by colors too Complicated, okay here.", 'start': 10475.857, 'duration': 7.805}, {'end': 10491.818, 'text': "We go It's five o'clock This is hopefully going to take half an hour, which means it's going to take three hours.", 'start': 10483.682, 'duration': 8.136}, {'end': 10493.239, 'text': 'And here we go.', 'start': 10492.578, 'duration': 0.661}, {'end': 10501.985, 'text': 'Let me just, in case I need the whiteboard, let me get that ready.', 'start': 10496.221, 'duration': 5.764}], 'summary': 'Planning to adjust brightness for task, estimating 3 hours.', 'duration': 29.65, 'max_score': 10472.335, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg010472335.jpg'}, {'end': 10596.876, 'src': 'embed', 'start': 10575.036, 'weight': 2, 'content': [{'end': 10586.165, 'text': 'the White House recently released all of their social media data from the last eight years and invited artists and researchers and people to remix it and make projects using that data.', 'start': 10575.036, 'duration': 11.129}, {'end': 10589.708, 'text': "So one of the things I'm going to do here is just look at working with the image data.", 'start': 10586.345, 'duration': 3.363}, {'end': 10596.876, 'text': 'the Facebook download, Which is four and a half gigabytes, has a tons of videos, but it also has a giant folder of images.', 'start': 10589.708, 'duration': 7.168}], 'summary': 'White house released 8 years of social media data, including 4.5gb of image data for artists and researchers to use.', 'duration': 21.84, 'max_score': 10575.036, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg010575036.jpg'}, {'end': 10641.187, 'src': 'embed', 'start': 10617.478, 'weight': 4, 'content': [{'end': 10631.501, 'text': "so what I'm going to do right now is I'm going to attempt to make a photo mosaic of this Obama portrait and with all of these images from Facebook.", 'start': 10617.478, 'duration': 14.023}, {'end': 10636.565, 'text': "so there's Probably I'm gonna do it in the like most drop-dead, simple way possible,", 'start': 10631.501, 'duration': 5.064}, {'end': 10641.187, 'text': "And then I'm sure there's a zillion ways that this could be refined and made more sophisticated or more interesting.", 'start': 10636.565, 'duration': 4.622}], 'summary': 'Creating a photo mosaic of the obama portrait using images from facebook in the simplest way possible.', 'duration': 23.709, 'max_score': 10617.478, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg010617478.jpg'}, {'end': 10698.693, 'src': 'embed', 'start': 10671.172, 'weight': 5, 'content': [{'end': 10675.475, 'text': 'So for this coding challenge, I can minimize the browser and all this other stuff.', 'start': 10671.172, 'duration': 4.303}, {'end': 10678.878, 'text': "I'm using a programming environment called Processing.", 'start': 10675.896, 'duration': 2.982}, {'end': 10680.079, 'text': 'Go to processing.org.', 'start': 10678.898, 'duration': 1.181}, {'end': 10685.103, 'text': "It's Java-based, and it has a lot of libraries for drawing and images and all sorts of stuff like that.", 'start': 10680.139, 'duration': 4.964}, {'end': 10691.067, 'text': "So I'm going to make a variable called Obama.", 'start': 10685.423, 'duration': 5.644}, {'end': 10693.169, 'text': "And I'm going to say load image.", 'start': 10691.868, 'duration': 1.301}, {'end': 10698.693, 'text': "Was it Obama.jpg? And then I'm just going to say image Obama.jpg.", 'start': 10694.049, 'duration': 4.644}], 'summary': 'Using processing, loading and displaying an image named obama.jpg for a coding challenge.', 'duration': 27.521, 'max_score': 10671.172, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg010671172.jpg'}, {'end': 10754.128, 'src': 'embed', 'start': 10726.552, 'weight': 9, 'content': [{'end': 10730.953, 'text': 'first of all, I have a processing sketch that loads this image file and displays it.', 'start': 10726.552, 'duration': 4.401}, {'end': 10735.974, 'text': "so the first thing I need to do to make this photo mosaic is Figure out a way that I'm going to pixelate this image,", 'start': 10730.953, 'duration': 5.021}, {'end': 10737.654, 'text': "and there's lots of ways I could do that.", 'start': 10735.974, 'duration': 1.68}, {'end': 10740.415, 'text': "I'm going to do it in a pretty simple way.", 'start': 10737.654, 'duration': 2.761}, {'end': 10741.975, 'text': "I'm going to sample it down.", 'start': 10740.415, 'duration': 1.56}, {'end': 10747.06, 'text': "So I'm going to make the image smaller by a factor of something.", 'start': 10742.495, 'duration': 4.565}, {'end': 10754.128, 'text': "So I'm going to say, let's have a variable called scale factor.", 'start': 10747.541, 'duration': 6.587}], 'summary': 'Processing sketch loads image, plans to pixelate using a simple scale factor.', 'duration': 27.576, 'max_score': 10726.552, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg010726552.jpg'}, {'end': 10838.975, 'src': 'embed', 'start': 10812.364, 'weight': 6, 'content': [{'end': 10819.609, 'text': 'And then I want to copy from Obama the entire image.', 'start': 10812.364, 'duration': 7.245}, {'end': 10823.169, 'text': "to this image's width and height.", 'start': 10821.448, 'duration': 1.721}, {'end': 10825.81, 'text': "So I'm using the processing copy function.", 'start': 10823.669, 'duration': 2.141}, {'end': 10828.611, 'text': "So I'm using processing to scale the image down.", 'start': 10826.03, 'duration': 2.581}, {'end': 10830.672, 'text': 'I could skip pixels or I could manually scale it.', 'start': 10828.651, 'duration': 2.021}, {'end': 10832.392, 'text': 'But this is going to be simple.', 'start': 10831.172, 'duration': 1.22}, {'end': 10837.154, 'text': "And now I'm just going to say image smaller 00.", 'start': 10832.692, 'duration': 4.462}, {'end': 10838.014, 'text': "So let's see if that worked.", 'start': 10837.154, 'duration': 0.86}, {'end': 10838.975, 'text': 'And you could see that worked.', 'start': 10838.054, 'duration': 0.921}], 'summary': 'Using processing to scale down the image, resulting in successful resizing.', 'duration': 26.611, 'max_score': 10812.364, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg010812364.jpg'}, {'end': 11042.297, 'src': 'heatmap', 'start': 10900.066, 'weight': 1, 'content': [{'end': 10906.392, 'text': 'the color is smaller.pixels, and I need that pixel.', 'start': 10900.066, 'duration': 6.326}, {'end': 10907.854, 'text': 'I need that spot of.', 'start': 10906.392, 'duration': 1.462}, {'end': 10912.519, 'text': "so the pixels is a one-dimensional array, but I'm thinking of the x and y of all the pixels.", 'start': 10907.854, 'duration': 4.665}, {'end': 10916.663, 'text': 'so what I need to do is look for that index, which is x plus y times w.', 'start': 10912.519, 'duration': 4.144}, {'end': 10921.287, 'text': "I'll link to some other videos about image processing that I have that go over this particular algorithm more specifically.", 'start': 10916.663, 'duration': 4.624}, {'end': 10927.692, 'text': "But now I'm looking, this is an algorithm for looking at every single pixel in the image.", 'start': 10922.508, 'duration': 5.184}, {'end': 10929.513, 'text': 'Every x y location.', 'start': 10928.072, 'duration': 1.441}, {'end': 10937.299, 'text': "look at the particular color and I'm going to say fill C and I'm just going to draw a rectangle at x, y.", 'start': 10929.513, 'duration': 7.786}, {'end': 10938.6, 'text': 'and where do I draw those rectangles?', 'start': 10937.299, 'duration': 1.301}, {'end': 10943.043, 'text': 'x times scale, y times scale and then that scale.', 'start': 10938.98, 'duration': 4.063}, {'end': 10945.465, 'text': 'So that scale is really the size of each one of these little squares.', 'start': 10943.063, 'duration': 2.402}, {'end': 10951.315, 'text': "So now you can see I have this pixelated version of Obama where I've drawn a rectangle.", 'start': 10946.752, 'duration': 4.563}, {'end': 10955.619, 'text': "And there's all these black lines, I guess, because I probably have a stroke.", 'start': 10951.516, 'duration': 4.103}, {'end': 10959.922, 'text': 'So if I had no stroke, we can see now I just have this pixelated version of Obama.', 'start': 10955.639, 'duration': 4.283}, {'end': 10966.907, 'text': 'So now what I need to do is instead of drawing a rectangle, I need to draw an image inside each one of those.', 'start': 10960.802, 'duration': 6.105}, {'end': 10970.029, 'text': "And let's make the scale factor bigger.", 'start': 10966.947, 'duration': 3.082}, {'end': 10972.986, 'text': "I'm using kind of round numbers.", 'start': 10971.385, 'duration': 1.601}, {'end': 10973.306, 'text': 'you can see.', 'start': 10972.986, 'duration': 0.32}, {'end': 10977.007, 'text': "it's not that I'm, things are divisible by the right, whatever, but that's fine.", 'start': 10973.306, 'duration': 3.701}, {'end': 10982.649, 'text': "close enough, let's say add background 0.", 'start': 10977.007, 'duration': 5.642}, {'end': 10984.03, 'text': 'so close enough, right.', 'start': 10982.649, 'duration': 1.381}, {'end': 10984.49, 'text': 'so we can see.', 'start': 10984.03, 'duration': 0.46}, {'end': 10986.13, 'text': 'this is still giving us something here.', 'start': 10984.49, 'duration': 1.64}, {'end': 10989.492, 'text': "we've got a pixelated version of Obama's portrait.", 'start': 10986.13, 'duration': 3.362}, {'end': 10991.332, 'text': 'now what I need to do is the really the hard part.', 'start': 10989.492, 'duration': 1.84}, {'end': 10992.913, 'text': 'so that was the easy part.', 'start': 10991.332, 'duration': 1.581}, {'end': 10996.794, 'text': 'the hard part now is, I need to somehow load however many images there are.', 'start': 10992.913, 'duration': 3.881}, {'end': 10998.315, 'text': "so let's see how many images there actually are.", 'start': 10996.794, 'duration': 1.521}, {'end': 11007.078, 'text': 'If I go here and I do it command I, we can see here that there are 3, 934 images.', 'start': 10999.292, 'duration': 7.786}, {'end': 11009.74, 'text': 'So I think I can load all those images into memory.', 'start': 11007.718, 'duration': 2.022}, {'end': 11010.701, 'text': 'No problem.', 'start': 11010.06, 'duration': 0.641}, {'end': 11011.661, 'text': "Let's see.", 'start': 11011.041, 'duration': 0.62}, {'end': 11015.805, 'text': "The good news is they're mostly like small images.", 'start': 11013.823, 'duration': 1.982}, {'end': 11018.827, 'text': "So one thing I'm going to do is I'm going to create an array of all images.", 'start': 11015.825, 'duration': 3.002}, {'end': 11027.946, 'text': 'And the other thing I need to do is I need to now dynamically be able to look in that directory and say give me all of the file names in that directory.', 'start': 11020.68, 'duration': 7.266}, {'end': 11030.768, 'text': 'And there happens to be an example on the processing website.', 'start': 11028.046, 'duration': 2.722}, {'end': 11031.649, 'text': "I know that it's there.", 'start': 11030.908, 'duration': 0.741}, {'end': 11035.372, 'text': "Actually, it's because I made it, and I just don't remember how to do it.", 'start': 11031.689, 'duration': 3.683}, {'end': 11037.653, 'text': "So I'm going to go to Processing, Examples.", 'start': 11035.612, 'duration': 2.041}, {'end': 11042.297, 'text': 'And I believe under Advanced Data maybe? No.', 'start': 11038.574, 'duration': 3.723}], 'summary': 'Algorithm for pixelating an image, drawing rectangles, and loading multiple images into memory, with a total of 3,934 images.', 'duration': 142.231, 'max_score': 10900.066, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg010900066.jpg'}, {'end': 11037.653, 'src': 'embed', 'start': 11007.718, 'weight': 8, 'content': [{'end': 11009.74, 'text': 'So I think I can load all those images into memory.', 'start': 11007.718, 'duration': 2.022}, {'end': 11010.701, 'text': 'No problem.', 'start': 11010.06, 'duration': 0.641}, {'end': 11011.661, 'text': "Let's see.", 'start': 11011.041, 'duration': 0.62}, {'end': 11015.805, 'text': "The good news is they're mostly like small images.", 'start': 11013.823, 'duration': 1.982}, {'end': 11018.827, 'text': "So one thing I'm going to do is I'm going to create an array of all images.", 'start': 11015.825, 'duration': 3.002}, {'end': 11027.946, 'text': 'And the other thing I need to do is I need to now dynamically be able to look in that directory and say give me all of the file names in that directory.', 'start': 11020.68, 'duration': 7.266}, {'end': 11030.768, 'text': 'And there happens to be an example on the processing website.', 'start': 11028.046, 'duration': 2.722}, {'end': 11031.649, 'text': "I know that it's there.", 'start': 11030.908, 'duration': 0.741}, {'end': 11035.372, 'text': "Actually, it's because I made it, and I just don't remember how to do it.", 'start': 11031.689, 'duration': 3.683}, {'end': 11037.653, 'text': "So I'm going to go to Processing, Examples.", 'start': 11035.612, 'duration': 2.041}], 'summary': 'Creating an array of small images and dynamically fetching file names from a directory using an example from the processing website.', 'duration': 29.935, 'max_score': 11007.718, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg011007718.jpg'}], 'start': 9674.046, 'title': 'Data visualization and image processing', 'summary': 'Covers data visualization and coding with a focus on a white house dataset, including a 2-hour 45-minute live stream. it also details creating an obama photo mosaic from a large dataset of facebook images, emphasizing potential refinement in a programming environment called processing. using processing, the chapter discusses scaling down an image of obama, creating a pixelated version, and manipulating image files in a directory.', 'chapters': [{'end': 10026.157, 'start': 9674.046, 'title': 'Data visualization and coding challenge', 'summary': 'Highlights the process of visualizing and coding with data, focusing on a white house dataset to illustrate thoughtful design, cleaning the data, and asking specific questions. the presenter encourages audience participation and introduces an education initiative called 62 million girls. the live stream lasts for two hours and 45 minutes.', 'duration': 352.111, 'highlights': ['The presenter demonstrates the process of visualizing and coding with a White House dataset, emphasizing the importance of thoughtful design, data cleaning, and having specific questions. The presenter emphasizes the need for thoughtful design, data cleaning, and having specific questions when working with the White House dataset.', 'The presenter encourages audience participation and invites viewers to share their work with the data. The presenter encourages audience participation and invites viewers to share their work with the data.', 'The presenter introduces an education initiative called 62 million girls and encourages viewers to support it. The presenter introduces an education initiative called 62 million girls and encourages viewers to support it.', 'The live stream lasts for two hours and 45 minutes. The live stream lasts for two hours and 45 minutes.']}, {'end': 10419.715, 'start': 10026.157, 'title': 'Obama photo mosaic project', 'summary': 'Details the process of creating an obama photo mosaic, including gathering and organizing images, using the command line to consolidate them, and setting up the processing sketch for the project.', 'duration': 393.558, 'highlights': ['The process of consolidating multiple image folders into one folder using the command line.', 'The use of a specific command to copy images matching a wildcard pattern into a local directory.', 'The need to set up a processing sketch and organize the images in a data folder for the photo mosaic project.', 'The discussion of photo mosaic as a trademarked or patented concept and the acknowledgment of potential algorithm limitations.']}, {'end': 10747.06, 'start': 10419.755, 'title': 'Creating obama photo mosaic', 'summary': "Explores creating a photo mosaic of obama's portrait using a large dataset of facebook images, aiming to pixelate the image and simplify the process in a programming environment called processing, while emphasizing the potential for further refinement and sophistication.", 'duration': 327.305, 'highlights': ["The chapter explores creating a photo mosaic of Obama's portrait using a large dataset of Facebook images. The White House released all of their social media data from the last eight years, providing a dataset with a giant folder of images, including the official portrait of Obama and every single Facebook photo.", "The process emphasizes potential for further refinement and sophistication in creating the photo mosaic of Obama's portrait. The author mentions making the photo mosaic in the simplest way possible, highlighting the potential for further refinement and sophistication by the internet when the code is posted, while also acknowledging the possibility of making the process more interesting and sophisticated.", "The author uses a programming environment called Processing to work on the photo mosaic. The author uses a programming environment called Processing, which is Java-based and provides various libraries for drawing and images, to work on creating the photo mosaic of Obama's portrait."]}, {'end': 11245.22, 'start': 10747.541, 'title': 'Image scaling and processing', 'summary': 'Discusses using processing to scale down an image of obama, create a pixelated version, and manipulate the files in a directory, including loading all 3,934 image files into memory.', 'duration': 497.679, 'highlights': ["Using Processing to scale down an image of Obama and create a pixelated version by manipulating the scale factor and drawing rectangles, resulting in a pixelated version of Obama's portrait. The speaker uses Processing to scale down an image of Obama and create a pixelated version by manipulating the scale factor and drawing rectangles, resulting in a pixelated version of Obama's portrait.", 'Discussing the process of manipulating and loading a large number of image files (3,934 in this case) into memory, including creating an array of all images and dynamically looking in the directory for file names. The chapter discusses the process of manipulating and loading a large number of image files (3,934 in this case) into memory, including creating an array of all images and dynamically looking in the directory for file names.', 'Explaining the use of Processing to load files from a directory and demonstrating the code for obtaining a list of file names from a directory using the example from the Processing website. The chapter explains the use of Processing to load files from a directory and demonstrates the code for obtaining a list of file names from a directory using the example from the Processing website.']}], 'duration': 1571.174, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg09674046.jpg', 'highlights': ['The live stream lasts for two hours and 45 minutes.', 'The presenter introduces an education initiative called 62 million girls and encourages viewers to support it.', 'The presenter encourages audience participation and invites viewers to share their work with the data.', 'The presenter demonstrates the process of visualizing and coding with a White House dataset, emphasizing the importance of thoughtful design, data cleaning, and having specific questions.', "The chapter explores creating a photo mosaic of Obama's portrait using a large dataset of Facebook images.", 'The author uses a programming environment called Processing to work on the photo mosaic.', "Using Processing to scale down an image of Obama and create a pixelated version by manipulating the scale factor and drawing rectangles, resulting in a pixelated version of Obama's portrait.", "The process emphasizes potential for further refinement and sophistication in creating the photo mosaic of Obama's portrait.", 'The chapter discusses the process of manipulating and loading a large number of image files (3,934 in this case) into memory, including creating an array of all images and dynamically looking in the directory for file names.', 'The need to set up a processing sketch and organize the images in a data folder for the photo mosaic project.']}, {'end': 13762.499, 'segs': [{'end': 11376.099, 'src': 'embed', 'start': 11343.77, 'weight': 0, 'content': [{'end': 11349.354, 'text': "Let's just use 10 images right now just to make sure this is actually working.", 'start': 11343.77, 'duration': 5.584}, {'end': 11353.076, 'text': '10 images.', 'start': 11349.374, 'duration': 3.702}, {'end': 11356.878, 'text': 'OK, so that worked.', 'start': 11353.096, 'duration': 3.782}, {'end': 11360.29, 'text': "Let's use 100.", 'start': 11357.318, 'duration': 2.972}, {'end': 11361.911, 'text': 'hundred takes a little bit longer, but we can see.', 'start': 11360.29, 'duration': 1.621}, {'end': 11366.033, 'text': "okay, so I'm loading a lot of images.", 'start': 11361.911, 'duration': 4.122}, {'end': 11368.255, 'text': 'okay, here we go.', 'start': 11366.033, 'duration': 2.222}, {'end': 11372.717, 'text': 'so now we have a lot of images loaded.', 'start': 11368.255, 'duration': 4.462}, {'end': 11374.938, 'text': 'so what do I need to do with those images?', 'start': 11372.717, 'duration': 2.221}, {'end': 11376.099, 'text': 'what I want to do?', 'start': 11374.938, 'duration': 1.161}], 'summary': 'Testing with 10 and 100 images, observing the loading process.', 'duration': 32.329, 'max_score': 11343.77, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg011343770.jpg'}, {'end': 12175.49, 'src': 'embed', 'start': 12153.208, 'weight': 1, 'content': [{'end': 12162.133, 'text': "that's a problem, And it's telling me that what I could do is increase the memory setting and preferences, which I did do,", 'start': 12153.208, 'duration': 8.925}, {'end': 12163.414, 'text': 'And I still got an out-of-memory error.', 'start': 12162.133, 'duration': 1.281}, {'end': 12169.538, 'text': 'so you know, loading 3000 images into memory, You know I could, is kind of an issue, but I have an idea here.', 'start': 12163.414, 'duration': 6.124}, {'end': 12175.49, 'text': 'if, if I go back and So, rather than have to increase the memory, this will also make it run faster.', 'start': 12169.538, 'duration': 5.952}], 'summary': 'Loading 3000 images into memory causing out-of-memory error. plan to optimize for faster performance.', 'duration': 22.282, 'max_score': 12153.208, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg012153208.jpg'}, {'end': 13046.656, 'src': 'embed', 'start': 13011.527, 'weight': 2, 'content': [{'end': 13012.328, 'text': "Hello, welcome, I'm back.", 'start': 13011.527, 'duration': 0.801}, {'end': 13019.213, 'text': 'This is sort of like a part two of my circle packing animated coding challenge thing because, you know, kittens, I guess.', 'start': 13012.848, 'duration': 6.365}, {'end': 13027.78, 'text': 'So what if we took that, I think it would be interesting to just look at the circle packing algorithm visualizing a generic image.', 'start': 13019.854, 'duration': 7.926}, {'end': 13035.346, 'text': "So if you recall, where I left it last is it's kind of circle packing around the letter formations here, and we're seeing 2017.", 'start': 13028.06, 'duration': 7.286}, {'end': 13046.656, 'text': "But what if, instead, I were to load and let's go to this kitten image and let's look at what is the size of this kitten image is 800 by 800.", 'start': 13035.346, 'duration': 11.31}], 'summary': 'A coding challenge on circle packing algorithm, visualizing a kitten image of size 800x800.', 'duration': 35.129, 'max_score': 13011.527, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg013011527.jpg'}, {'end': 13360.612, 'src': 'embed', 'start': 13331.464, 'weight': 3, 'content': [{'end': 13340.552, 'text': 'So I think that is something that I would love to to investigate, and you could probably think of edge detection or other ways.', 'start': 13331.464, 'duration': 9.088}, {'end': 13353.646, 'text': 'What are some other creative ways that you can figure out where to seed the circles based on the quality and the properties of the image itself?', 'start': 13340.752, 'duration': 12.894}, {'end': 13356.529, 'text': 'And then, if you do that with live video, what would happen there?', 'start': 13353.986, 'duration': 2.543}, {'end': 13360.612, 'text': 'So I hope you enjoyed this little addendum in a way.', 'start': 13356.889, 'duration': 3.723}], 'summary': 'Investigate creative ways to seed circles in images and explore their impact on live video.', 'duration': 29.148, 'max_score': 13331.464, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg013331464.jpg'}], 'start': 11245.5, 'title': 'Image processing and optimization', 'summary': 'Covers image loading and processing with 10 and later 100 images, matching brightness values to images with average brightness of 158 and 83, optimizing image analysis for efficiency with 3000 images, and modifying circle packing algorithm for image visualization, along with implementing the algorithm for visual effects using p5.js.', 'chapters': [{'end': 11376.099, 'start': 11245.5, 'title': 'Image loading and processing', 'summary': 'Demonstrates the process of loading and processing images using code, initially testing the process with 10 images and later with 100 images, with the aim of validating the functionality and performance.', 'duration': 130.599, 'highlights': ['The process involves creating an array of images, excluding the DSStore and index.htm files, and then loading each image using the code (relevance: 5)', 'Initially testing the image loading process with 10 images, followed by testing with 100 images to assess functionality and performance (relevance: 4)', 'The need to potentially write code for validating the images as valid JPEG files, indicating a consideration for image file validation (relevance: 3)']}, {'end': 11905.622, 'start': 11376.099, 'title': 'Image brightness matching', 'summary': 'Discusses the process of matching 256 brightness values to corresponding images by examining all pixels, calculating the average brightness, and finding the closest image for each brightness value, with the first image having an average brightness of 158 and the second image having an average brightness of 83.', 'duration': 529.523, 'highlights': ['The process involves examining all pixels in each of the 100 images and calculating the average brightness for each image, resulting in the first image having an average brightness of 158 and the second image having an average brightness of 83.', 'The chapter discusses the method of finding the image that is closest in distance to a particular brightness value by comparing the absolute value of the target brightness and the brightness of each image, ensuring that the image closest to the target value is selected for each brightness value.', 'The speaker also mentions the need to dynamically resize the image based on its brightness value, indicating a comprehensive approach to matching images with specific brightness values.']}, {'end': 12855.836, 'start': 11906.022, 'title': 'Optimizing image processing for efficient analysis', 'summary': 'Discusses the process of optimizing image analysis using various image quantities, encountering memory errors, and implementing strategies to enhance processing speed and efficiency while addressing the challenges of memory limitations, reaching 3000 images and the impact of image size on processing time.', 'duration': 949.814, 'highlights': ['The process of testing image analysis with 10, 50, 100, and 200 images, encountering memory errors and increasing memory to 2 gigabytes to improve processing speed. The speaker tests the image analysis process with 10, 50, 100, and 200 images, faces memory errors, and increases memory to 2 gigabytes to enhance processing speed.', 'Encountering out-of-memory errors while attempting to load 3000 images and implementing a strategy to resize images for faster processing. The speaker faces out-of-memory errors when attempting to load 3000 images and decides to resize the images to improve processing speed.', 'Discussing the challenges of memory limitations and the impact of image size on processing time, aiming to improve processing efficiency and speed. The speaker discusses the challenges of memory limitations and the impact of image size on processing time, emphasizing the goal of enhancing processing efficiency and speed.']}, {'end': 13192.948, 'start': 12855.836, 'title': 'Circle packing algorithm with image visualization', 'summary': 'Discusses the process of modifying the circle packing algorithm to visualize a generic image, specifically a kitten image, by using circle locations, color values, and pixel manipulation, aiming for a window size of 800x800, while incorporating random width and height values.', 'duration': 337.112, 'highlights': ['Modifying the circle packing algorithm to visualize a generic image The chapter delves into the process of adjusting the circle packing algorithm to visually represent a generic image, particularly focusing on a kitten image and aiming for a window size of 800x800.', 'Incorporating random width and height values for circle locations The author emphasizes the incorporation of random width and height values for circle locations, thereby altering the approach towards circle seeding and placement.', "Utilizing color values and pixel manipulation from the image The chapter explores the incorporation of color values and pixel manipulation from the kitten image, aiming to retrieve the color value of each circle from the image's pixels instead of relying on brightness values."]}, {'end': 13762.499, 'start': 13193.828, 'title': 'Circle packing algorithm', 'summary': 'Explains the implementation of a circle packing algorithm to create a visual effect using p5.js, demonstrating the process of extracting color values from an image and utilizing them to determine the placement and size of circles, with a mention of the potential for edge detection and live video application.', 'duration': 568.671, 'highlights': ["The formula x + y times the image's width is used to look up the color for a specific x and y point in the image, with the conversion of x and y into integers for the formula to work. The formula x + y times the image's width is used to look up the color for a specific x and y point, with the conversion of x and y into integers for the formula to work.", 'Potential for edge detection and determining the placement and size of circles based on the quality and properties of the image, as well as the consideration of applying the algorithm to live video. Mention of potential for edge detection and determining the placement and size of circles based on the quality and properties of the image, as well as the consideration of applying the algorithm to live video.', "The speaker's intention to release JavaScript versions of the content for browser execution and the mention of a three-hour and 45-minute live stream. The speaker's intention to release JavaScript versions of the content for browser execution and the mention of a three-hour and 45-minute live stream."]}], 'duration': 2516.999, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/pF0cadg2mg0/pics/pF0cadg2mg011245500.jpg', 'highlights': ['Loading and processing 100 images for functionality and performance testing (relevance: 4)', 'Optimizing image analysis for efficiency with 3000 images, facing memory errors and implementing resizing strategy (relevance: 3)', 'Modifying circle packing algorithm for image visualization, incorporating random width and height values for circle locations (relevance: 2)', 'Discussing potential for edge detection, determining circle placement and size based on image properties, and considering live video application (relevance: 1)']}], 'highlights': ["Dan conducts live streams and teaches 'the nature of code' at ITP, explores machine learning, conducts coding challenges, and discusses circle manipulation in Java and circle packing with Perlin noise.", 'Dan plans to provide weekly live streams and edited video tutorials.', 'The Nature of Code course is available at ITP and Catenze, an online learning platform, and explores the use of code to model natural systems and create art or projects in software.', "The author teaches at New York University's School of the Arts in a program called ITP, where the course is offered.", 'There has been an explosion in the last couple years of new research in machine learning.', "The White House's approach to releasing social media data for public access is highlighted, emphasizing the immediate availability of information rather than traditional archival processes.", "The White House's initiative to preserve and make accessible the digital history of the Obama administration, inviting people to contribute creative ways to archive and utilize the content.", 'The chapter introduces a coding challenge to analyze the most frequently used word by date and by month in a Twitter account, suggesting using programming environments like R and d3 for data analysis.', 'The live stream lasts for two hours and 45 minutes.']}