Number in {..., –2, –1, 0, 1, 2, ...}
POPULARITY
What happens when the homeschool books close for summer? In this episode of Everyday Educator, discover how seasoned homeschool moms balance freedom and structure during the summer months. From beach trips and bedroom makeovers to spiritual growth and preparation for the next school year, our guests share candid stories and practical wisdom about creating meaningful summer rhythms that refresh both parents and children. Whether you're wondering if academics should continue or how to manage household chaos during vacation season, this conversation offers encouraging insights for every stage of the homeschool journey. Resources: Total Truth: Liberating Christianity from Its Cultural Captivity by Nancy Pearcey - Amazon Episode Sponsored by The Math Map: Digits, Integers, and Fractions The Math Map series by Classical Conversations offers a unique, Christ-centered approach to mathematics that emphasizes the language of math in a natural learning environment. The curriculum follows a "one family schoolhouse" approach with consistent 32-page booklets that focus on building foundational mathematical skills in a classical, structured environment. Discover how your family can celebrate God's design of mathematical order Visit https://classicalconversations.com/the-math-map today to transform your family's math experience!
Materials science has always balanced on the twin pillars of observation and abstraction—from the alchemists' crude recipes to today's AI-driven materials design. In this talk, we begin by revisiting the pre-quantum era, when early chemists grappled with the nature of elements and compounds, and examine how Mendeleev's periodic table first imposed order on the chemical world. We then show that what underpins this table is the surprising power of integers and discrete mathematics—why you can't “slip in” between whole numbers—and trace how that insight underlies quantum mechanics, blurring the boundary between chemistry and physics. Building on these foundations, we survey modern families of functional materials—superconductors, antiferromagnets, charge-density waves, high-temperature superconductors, and semiconductors—and ask what makes them uniquely useful, from microchips to maglev trains. Just as Mendeleev used patterns to predict new elements, we discuss the quantum strategies for classifying the much larger set of materials, formed by these elements, today—introducing topology and topological invariants, showing how band-structure integers classify phases of matter. We highlight online databases that catalog these discoveries. Finally, we look ahead to how machine learning and artificial intelligence, guided by our new periodic table of materials, are revolutionizing the search for novel compounds, ushering in a new era of predictive materials discovery.
Number systems are an integral part of learning Mathematics and the knowledge of basic number systems is mandatory for all the students. Knowing about Integers is a very important step towards the higher learning of Mathematics and Science. #mathematicssimplified #mathisfun #experientiallearning #learningbydoing #numbersystems
Here is where we come to the inversion known as ex nihilo, which means, “out of nothing.” If you are like most modern people, Latin phrases may make you uncomfortable, which is why they are probably good for you. They can jostle us out of our spiritual slumber. But this is one that you should know about for mental health reasons. Prior to God, there is nothing. This was discussed briefly in the previous inversion, but it is so important that it requires an extended look. What does this mean? Consider a woodworker who wishes to build a birdhouse. To do so, he needs wood, nails, perhaps glue, a saw, a tape measure, and a few other things. To create, we need material that already exists. God, on the other hand, does not. He creates from nothing. The book of Genesis states that God is the beginning of all things. Nothing is before God, not even chaos. There is a reference to a watery, formless void in the verse that follows, but God is prior to this amorphous blob. Also, this “formless void” does not get a proper noun like the Greeks give to “Chaos,” as if it were an American Gladiator. The formless void is just a watery meh. It's nothing. But good luck thinking of “nothing” because we cannot with our finite abilities. Nothing is incomprehensible to us. Ghostbusters did a nice job of showing that we cannot think of “nothing.” The monster tells the Ghostbusters to “Choose the form of ‘The Destructor.'” Venkman then tells his buddies: “Empty your heads! Don't think of anything!” But poor Ray can't think of nothing. He can only think of something. That's when he thinks of the Stay Puft Marshmallow Man and says, “It just popped in there!” Then the Ghostbusters do battle with a giant marshmallow and make cinema history (and flatten spiritual things into the material realm, but I digress - that's for a later inversion). We cannot think of nothing. We can try to contemplate it, but we can't achieve it, because even if we believe we've found the nothing, we are either thinking of God or fooled, because nothing existed before God. He is first. The Buddhists aim their meditation at nothing and think of the self as god. Catholics do the opposite. Catholics focus prayer and meditation toward God, who created everything out of nothing, including us - and most importantly - perhaps the most critical thing of all to remember is this: we are not God. Repeat after me: “I am not God.” And this is why Buddhism and Christianity are incompatible at the very root; the first principles are in opposition. Buddhism rejects a creator and rejects creation ex nihilo.That's what this inversion is about, as are all the inversions. Not only does God's creation out of nothing disagree with Buddhist thought, but it also rejects Greek and Sumerian myth systems, as well as many modern pseudo-scientific theories where the universe was created from pre-existing parts. Today, some will claim that the atoms have always existed, but the Jew, Muslim, or Christian rebuts this by saying, “I know who made the atoms. They did not always exist.” In ancient times, if some would say that water was first, Abraham would say, “I know who made the water.” In the Sumerian creation mythology, water is first and the gods come later. It's not surprising that we might think of water, the sea, as a primordial source of life, since water supports life, but water alone cannot bring life. The substance of water can quench our thirst or destroy us with a flood. It is a healer and a destroyer. But water itself is not “Being”. Water cannot create life. Water cannot create planets. Water cannot create the protons and electrons is requires to be water. The old myths fail in light of modern science, but creation “out of nothing” does not. Ex nihilo outlasts even science, because God made all things that make science possible. He created science by creating. All of it depends on his being and his act of creation. A scientist has no paper to write without the atoms, just as a woodworker can build no house without the wood that God made. This idea of water is associated with Chaos in various myth models, and the modern arguments of “which came first” do not sound very different from the Sumerian and Greek disorder of where Being came from. Water is not Being, water is material. In other words, it is created by something prior to it. There is nothing before God in Genesis. Not water. Not time. Not a chaos monster. Not an island. Not a pie shop. Nothing. God is first. We cannot describe God, but we can know what he is not, and he is not merely water. To mention something as being prior to God is to misunderstand why God tells Moses his name is “I AM”. In other words, God is “Being Itself.” This first Being must precede everything, even chaos and formlessness. This is the road to mental health. Why modern psychiatry has not yet caught on to this is simultaneously sad and comical. Listening to the modern cures for mental health that exclude God is like watching a coach execute a play repeatedly that hits a brick wall of defensive lineman, when a simple bootleg would bring an easy touchdown. When Jesus says, “I am the way, the truth, and the life,” and when he says “I am the vine” and when he says “I am the bread of life,” he is saying, “I AM” just as God said to Moses at the burning bush. This “I AM” cannot be stressed enough, and if I fail in this series to fully hammer home the importance of understanding the first “Being” of God, then I too am like the quarterback running the failing dive play instead of the rollout bootleg for the touchdown. For this reason, I do believe Big Pharma fears a comeback of creation out of nothing, but really, I wish they would sell a sugar pill called “ex nihilo” and use their marketing prowess to sell it, because they truly would change people's lives with something better than the dubious SSRI pills they sell. But the more people I meet who believe in the idea of “ex nihilo” have astonishing sanity and positivity toward life. Please, if you're out there Pfizer, Merck, hear my plea: start selling ex nihilo, and make one of those ads where people are prancing about in clover fields, full of joy, but be sure to include a picture of them kneeling in humility before God, otherwise its just another snake oil. The same reason SSRIs fail to fix anything is the same reason that “whiskey ain't workin' anymore,” as the country singers say. Pills and booze are band-aids for a spiritual malady. The inversion of marketing with pills and booze is to pretend that something man-made can fill the void, the sense of nothing, when only one thing can do that, and it is God who created ex nihilo. The many forms of nihilism today extend directly from this rejection of God as the first being, because we often think that nothing existed before God. Modern philosophers and psychologists got stuck in neutral over this issue, with the big names all being atheists, like Heidegger and Sartre and Freud and Jung and Foucault. Is it any wonder that depression is at an all-time high, when the replacement for certainty in the rock of God is a watery void of endless therapy and “vibes”? Can anyone seriously struggle to understand why the “Self” is a crappy god to believe in, when one seasonal cold or inflamed elbow joint can render us weak? When we are unsure that God was first, and before him there was nothing, then we have a gap in our consciousness that nothing cannot fill. In particular, the Self cannot solve it, nor can serotonin. I call this giant, gaping void the “Big Empty” (shoutout to Stone Temple Pilots). And the Big Empty can only be filled by God. The inversion here is that God existed, has always existed, and will exist forever. Once again, the nature of time matters for sanity in knowing that there was a beginning, and being came from God, who preceded all things. That God created “out of nothing” means that you can stop worrying about everything, because quite literally “he has the whole world in his hands.” The children's song is not just a feel-good happy-clappy preschool ditty: it is the key to mental health - because God does indeed have the whole world, the wind and the rain, the little bitty baby, you and me brother/sister, and yes, even ev'rybody in his hands. Why? Because there was nothing before God, and so there is nothing without God. Thus, with God, who created all things, there is also nothing to fear, because he created all things and saw that it was good (more on that later). Because of this, even death is not something to fear, because he has the whole world in his hands. This is also important because when the devil tempts Jesus to make bread from stones, Jesus answers, “It is written, ‘One does not live by bread alone, but by every word that comes from the mouth of God.'” Thus the Word of God feeds us, because it is the source of everything, the pipeline that nourishes all life. The tree of life is rooted in God. The tree of knowledge leads to death. A simple lesson in making choices is to choose the tree of life over the tree of knowledge. Knowledge is a like side hobby, whereas the tree of life is where the joy of connection to the source never ceases. There is nothing before God speaks all into existence. This should comfort you. This should give you focus, not anxiety. We cannot actually think of “nothing” so the closest thing is a formless void. This language is stunningly complex while using simple words, but “beginning,” “created,” “without form and void” - if only I could write so concisely and meaningfully, but I can't. So let's continue with the long-form non-academic journal style that a hack writer like myself loves to use. One way I try, rather pathetically, to imagine the pre-creation nothing is a painter's easel with a blank canvas on it. The canvas can be black or white to represent the absence of anything. But even then I'm not thinking of nothing, I'm thinking of a canvas. Or, I'm thinking of a space like that whitespace in which Neo trains against Morpheus in the movie The Matrix. Yet that is also not nothing, it is a three-dimensional empty space, which is something. I can dimly understand what it means to say “out of nothing, God created the heavens and the earth.” Ex nihilo is a powerful idea that gets brushed aside too easily today by those who believe that atoms always existed, or that there never was a time when the universe did not exist. The bible says that God “created” the numbers, atoms, time, three-dimensional space, and every possible thing that we can think of (or not think of). He created the heavens and the earth, which means a material and spiritual realm, thus even that which we can imagine comes from God. Angels and Elves and Orcs and Fairies and Furies are attempts by us to think of something to explain the spiritual realms, the “heavens,” and as St. Paul said, we only look through a glass darkly now, but will someday see God face to face. But we aren't prepared to do that now, not in our mortal state. To do so in this finite form would destroy us (more on that inversion to come). As created things, as creatures, we can only think in terms of time and space, we cannot think of nothing, nor can we comprehend the infinite. This is why so many people err in an understanding of God in the bible because they think of him like an idol, as something that exists in space and time. God is not like Zeus who lives in a mountain. God made the mountain and everything else out of nothing. He is the Author of all things who lives outside of his work of art, called “Creation.” Famous atheists like Bertrand Russell swing and miss on this when they compare God to objects within the universe. Carl Sagan and Richard Dawkins make the same category error. God is outside of time and space, because he created time and space. Ideally, everyone would read the opening to the Catechism of the Catholic Church so we can get our terms straight, because like the word “Love” today, people mean very different things by it. We've flattened “Love” into one word when it can mean four different things - sex/passion, fraternal love, familial love, or agape (total self-giving). Few people say “Love” and clarify what kind. We do the same thing with God and “create.” We are speaking in babbling tongues to each other even when using the same language of English, hence the confusion. When we create, we use existing materials. When God created, he did not. He made the materials - including the materials that make us and allow us to create. He made the immaterial things, too. Stephen Hawking wrote a book called God Created the Integers. This is a terrific title. I almost tip over with joy, for Hawking is so close to faith in the source of Being, but he worshipped the nuts and bolts of the creation that he studied instead of the Creator. He was in hot pursuit of the truth, and was close, yet so far. In his quest for the holy grail of the origins of time and space, he was bringing the language of mathematics so near to theology that he almost wrote a love letter to God. Math is indeed one of the places where our finite minds can get close to this idea of ex nihilo. To say, “God created the integers” is to realize that when God first spoke, he did include the number “1” because before that there was zero - as in nothing. For God to create the number 1 is to create “out of nothing,” and without the number “1” there could never be such a thing as the number “2”, or “3”, or any number beyond. All numbers can only come from God who is infinite, and like the infinite, is comprehensible and incomprehensible at the same time. Physics is not even far back enough in the chain, because its laws could be different than they are. But math basics cannot be different. God could have made the gravitational constant different and thus changed the universe. But the integers cannot lie, nor can God. 2+2 must always be 4, and that applies to both God and humans. Mathematics is one path to God, oddly enough. Who would have thought the nerds in math league could be mystics? With mathematics, to contemplate the Integers as a creation of God is to get close to the concept of ex nihilo - creation “out of nothing.” For even the Integers did not exist before God made them. Stephen Hawking, even if he didn't believe, had so many gifts, that it always seems worth sending up a prayer for his soul (and for the many other seekers who never came home) just in case Purgatory is his residence. He appeared to pass away with the same rejection of Bertrand Russell on his lips, saying, “Not enough evidence, God, sorry.” Perhaps he sealed his eternity by the rejection of God, by dismissing the first commandment, but surely there is hope in his turning in the last hour, to confirm his belief in who “Created the Integers.” This is why the danger of knowledge can lead to pride over humility, and pride is the false guide of so many souls. St. Dismas and St. Gertrude: pray for Stephen Hawking, and pray for us all. In short, we are finite - we are in a box called the universe, or space-time. Yet there is a spiritual reality that we can feel, know, sense, and even reach somehow in prayer. Because we are creatures, no amount of LSD or marijuana will allow us to escape our state of being, even though we know there is another dimension, or perhaps more than one. Although trippy drug experiences may seem transcendent, it can never grasp what it means to be God. Worse, drug experiences are all about pulling God toward the self, and not the reception of God's grace. We cannot bootstrap our way to God, we have to be silent to let the still, small voice enter our ears. This is why prayer works, because when you pray, you need to stop trying and just be. Because what is “Being”? It is a connection to God. When Jesus said, “I am the vine and you are the branches,” he was telling us that “to be” is to connect to the source of all being. This is why Christians who are born again make no sense to unbelievers - they have a life in them that is inexplicable. In other creation stories, matter exists before creation, which seems odd until you hear modern people say that “the atoms have just always existed.” This is an echo of the Greek philosopher Democritus who felt that atoms and motion were eternal. Thus the writer of Genesis shouts, “No! Atoms did not exist before God. Before God was nothing, not atoms, not photons, not electrons, not strings, and not even the greatest invention of all, not even ice cream.” Again, we pass over this inversion with a yawn, despite the fact that like the first inversion, time, this inversion dumps a whole pantheon of gods and assumptions into the dumpster. Zeus? Get serious. Gaia? Take a number. All of the Canaanite, Egyptian, Greek, Sumerian, and Roman gods are booted out of the Biblical worldview. And I say good riddance, because it is much more fun to read Ovid as literature anyway. However, the ancient writers of Genesis did not have the luxury of looking at Moloch or Zeus as literary figures that explained phenomena in the world. No, this was a deadly bet in the declaration of the creation story, because the people of Abraham, Jacob, and Moses did not go with the flow when it came to creation. They did not believe in the maxim, “When in Rome, do as the Romans.” (I realize that's an anachronism). To say, “In the beginning God created the heavens and the earth” is to elevate God, the one true God, over all the human-like gods of their surrounding peoples. To give an example of what this would be like today, consider how people react when someone takes a knee during the National Anthem during an NFL game. Or, you can test this today, simply by posting on social media: “Abortion kills a human life.” This upsets the worldview of others. Overzealous patriots worship the flag, and those who worship the self do not believe in the souls of certain people groups, especially the unborn. To speak of God as a reality today still invites anger. The twentieth century had more violence than any century in history and repeatedly the Jews and Catholics were killed for their association with belief in God. Right now in Nigeria or Nicaragua or Israel, your declaration of faith is a deadly statement. That is what Genesis is doing - it is giving a voice to that view, that opinion. It is inverting the idea of what God is. It is asserting a concept of God that makes all the king's horses and all the king's men look foolish for offering sacrifices up to absurd idols. Our current idols and religions are really not that different from Moloch or Zeus. What is most important in this inversion is that it tips over the canoe in which Zeus, Protagoras, and Richard Dawkins were all riding in, paddling backward in their fictions. Why is this inversion so powerful? This is a threatening implication because creation out of nothing kicks the stool out from faulty origin stories and causes them to tumble. Most myths, including ones from modern science, are attempts to invert the worldview of Moses, Elijah, and Jesus. They claim that water or atoms or a turtle was first. The Jewish and Christian origin story says that there was no-thing, not one thing, before Being Itself, and that Being is more commonly known as God. And how mighty a being he must be to craft such delights, like integers, atoms, time, gravity, the nuclear forces, light, water, earth, fire, wind, and (much later) pie shops - all out of nothing. That is a creator before whom we must kneel in awe and wonder and love and a healthy fear. Poets like William Blake understood this wonder. When he wrote about the fierce beauty of a tiger with its stripes, we can get a sense of the power, depth, and stunning awesomeness of God's ability to make things:Tyger Tyger, burning bright, In the forests of the night; What immortal hand or eye, Could frame thy fearful symmetry?He is asking: “Who or what could possibly create such a thing as a tiger?” The answer is God. Once this is understood, we can also begin to know why the Proverb says, “The fear of the LORD is the beginning of wisdom.” For it is only infinite power and glory that can do such a thing as creation ex nihilo.Further reading: Isn't Creation Ex Nihilo Logically Impossible?The Case for Creation from NothingChurch fathers comments on ex nihilo This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit whydidpetersink.substack.com
Traditionally, unsigned integer support in PyTorch was not great; we only support uint8. Recently, we added support for uint16, uint32 and uint64. Bare bones functionality works, but I'm entreating the community to help us build out the rest. In particular, for most operations, we plan to use PT2 to build anything else. But if you have an eager kernel you really need, send us a PR and we'll put it in. While most of the implementation was straightforward, there are some weirdnesses related to type promotion inconsistencies with numpy and dealing with the upper range of uint64. There is also upcoming support for sub-byte dtypes uint1-7, and these will exclusively be implemented via PT2.
Minus-minus, plus-plus, or is integer subtraction actually figureoutable? In this episode Pam and Kim use a Problem String to build real understanding of integer subtraction.Talking Points:The importance of having multiple contextsSeeing the negative symbol as "opposite of"Using distanceUnderstanding takes time, but is so worth it!See Episodes 181-183 for more about Integer operations.Check out our social mediaTwitter: @PWHarrisInstagram: Pam Harris_mathFacebook: Pam Harris, author, mathematics educationLinkedin: Pam Harris Consulting LLC
How can we help students reason about integers? In this episode Pam and Kim discuss fun and natural ways to explore and understand both positive and negative integers.Talking Points:The Pen/Pencil argument continues5th graders can reason about integersGames do develp understanding of integersClothes line math with integersExploring four useful contexts for integersCheck out our social mediaTwitter: @PWHarrisInstagram: Pam Harris_mathFacebook: Pam Harris, author, mathematics educationLinkedin: Pam Harris Consulting LLC
Can you reason about what it means for a point to be within a given quadrant? Can your students? In this episode Pam and Kim discuss weather and geography to develop understanding of the quadrants in the cartesian coordinate system.Talking Points:Understanding points relative to their quadrants and the y = x lineKim's connection to AlaskaWhat makes Australia so uniqueGraphing inequalities is Figure-Out-Able! Check out our social mediaTwitter: @PWHarrisInstagram: Pam Harris_mathFacebook: Pam Harris, author, mathematics educationLinkedin: Pam Harris Consulting LLCWorkshop registration is open! Learn more here: https://www.mathisfigureoutable.com/workshops
(NSFW!) GotG vol 3, Black Mirror S6, Witcher S3, Transformers: Rise of the Beasts, Blade, Kraven the Hunter, Dune part 2, Flash, Aquaman 2, Furiosa, Wonka, Star Wars, Street Fighter, virtual Enterprise bridge tours, lots more
0:00 Elections 8:30 KFC vs Nazi 25:03 Petrodollar Collapse 34:35 FTX 55:35 Dr. Eric Nepute - Corrupt Democrats are dragging out the Arizona vote as long as possible - Makes a mockery of the supposed benefits of using MACHINES in the first place - US elections now WORSE than Third World tin pot dictator elections - NO ONE believes the "official" results - 12 more nations just joined BRICS+ initiative, spelling end of Petrodollar - KFC commemorates Nazi slaughter of Jews with fried chicken phone texts - Canadian vaccine tyrant collapses and face plants during live hearing - FTX crypto con artist (and mega Dem donor) pilfered billions in customer deposits - SEC just handed the perfect case to demand total regulation of all crypto - FTX fallout will spill into other exchanges, and MORE will fail - New streaming partnerships on Brighteon.TV will bring you powerful content for free - Interview with Dr. Eric Nepute For more updates, visit: http://www.brighteon.com/channel/hrreport NaturalNews videos would not be possible without you, as always we remain passionately dedicated to our mission of educating people all over the world on the subject of natural healing remedies and personal liberty (food freedom, medical freedom, the freedom of speech, etc.). Together, we're helping create a better world, with more honest food labeling, reduced chemical contamination, the avoidance of toxic heavy metals and vastly increased scientific transparency. ▶️ Every dollar you spend at the Health Ranger Store goes toward helping us achieve important science and content goals for humanity: https://www.healthrangerstore.com/ ▶️ Sign Up For Our Newsletter: https://www.naturalnews.com/Readerregistration.html ▶️ Brighteon: https://www.brighteon.com/channels/hrreport ▶️ Join Our Social Network: https://brighteon.social/@HealthRanger ▶️ Check In Stock Products at: https://PrepWithMike.com
Ms A Chibi
This episode features Katherine Mansalis, MD, MBA, Chief Medical Officer of Integers Baptist Medical Center. Here, she discusses her focus on patient experience, improving the experience of the clinical staff, the relationship between CMO & CNO, virtual health, and more.
Tony Padilla is known on Numberphile for tackling the big numbers... But by day he's a cosmologist at the University of Nottingham. Tony's also a life-long fan of Liverpool FC. Brady joined him at Anfield for a game against Watford. Tony at the University of Nottingham - https://www.nottingham.ac.uk/physics/people/antonio.padilla Order Tony's book Fantastic Numbers and Where to Find Them: A Cosmic Quest from Zero to Infinity Amazon US - https://amzn.to/3JYQbws Amazon UK - https://amzn.to/3M3yvB8 MacMillan US - https://us.macmillan.com/books/9780374600570/fantasticnumbersandwheretofindthem Penguin UK - https://www.penguin.co.uk/books/316/316964/fantastic-numbers-and-where-to-find-them/9780241445372.html Some videos with Tony on Numberphile - http://bit.ly/Padilla_Numberphile And some videos with Tony on Sixty Symbols - https://bit.ly/Padilla_SixtySymbols The Sum of the Integers being -1/12 - https://www.bradyharanblog.com/blog/2015/1/11/this-blog-probably-wont-help Liverpool v Watford on 2 April 2022 - https://www.youtube.com/watch?v=7eHdk_1mJqA You can 'watch' the podcasts, including this one, on YouTube - https://www.youtube.com/playlist?list=PLH2AOVeIaWFmnXrXQ_UhKVy9Zp0RtRMm5 This episode was supported by G-Research, a world-leading quantitative finance research firm, hiring the brightest minds to tackle the biggest questions in finance - learn more at gresearch.co.uk/numberphile/ - https://www.gresearch.co.uk/numberphile/ You can support Numberphile on Patreon - https://www.patreon.com/numberphile) like these people - https://www.numberphile.com/patrons With thanks to MSRI - https://www.msri.org
Welcome to The Nonlinear Library, where we use Text-to-Speech software to convert the best writing from the Rationalist and EA communities into audio. This is: Rational and irrational infinite integers, published by Viliam on March 23, 2022 on LessWrong. Epistemic status: a fine line between genius and madness Let's start with the observation that it is much easier to use digits before the decimal point than the digits after it. A six years old child could calculate e.g. 11 + 2, but calculating reliably 0.11 + 0.2 will take a few more years of education. From this perspective, it is quite ironic that we typically use numbers that only have a few digits before the decimal point, and many, sometimes infinitely many digits after the decimal point, such as 1/3 = 0.333333333... = 0.¯¯¯3. Obviously, it would be better the other way round. Technically, we already have infinitely many digits in front of every number. But they are all zeroes; and by convention, we do not write them. Writing a zero or multiple zeroes in front of a number does not change its value; the number 007 mathematically means 7. Therefore, technically, we could write the number 7 with infinitely many digits in front of it, like this: ¯¯¯07. But it seems like a waste of space to only ever fill those infinitely many pre-decimal places with zeroes. What about using some other digit instead? Consider the number ¯¯¯9, which consists of infinitely many nines. Written in full, it would be like this: ¯¯¯9 = ...999999999. The value of this number is -1. How can we know that? Simply, just calculate ...999999999 + 1 = ...000000000, which is zero. (Zero with an arbitrary number of zeroes in front of it is zero: 0 = 00 = 000 = ¯¯¯0.) Similarly, ...999999998 = ¯¯¯98 is -2, because ¯¯¯98+2=¯¯¯0. Also ¯¯¯97=−3, ¯¯¯96=−4, and so on. Seems like we have invented a new syntax for negative numbers. Instead of writing a minus symbol in front of a number, just let the digits underflow. If an odometer in your car showed only nines, you would know what happens if you go the extra mile. What if we fill the infinite pre-decimal places with digits other than zeroes and nines? For example, how much is ¯¯¯1? I believe this number is -1/9. We can easily verify it by multiplying the number by 9 and adding 1.¯¯¯1×9+1=¯¯¯9+1=¯¯¯0. Okay, this seems strange. How did a fraction smaller than one suddenly become an infinite integer? But as you can clearly see, it did. Remember, our goal was to move the infinite digits behind the decimal point to the front of it. And so far, we are succeeding! We can similarly get other negative fractions by dividing −1=¯¯¯9 by the denominator, and multiplying the result by the numerator. For example, −1/3=¯¯¯3, −2/3=¯¯¯6, −1/7=¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯142857. Check it, ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯142857×7+1=¯¯¯9+1=0. To obtain a positive fraction, we can subtract the negative fraction from zero. For example, 1/9=0−(−1/9)=0−¯¯¯1=¯¯¯89. Check it, ¯¯¯89×9=¯¯¯01. Seems correct. But there is still problem with fractions like 1/2 or 1/5. There is no integer, not even infinite one, such that if we multiplied it by 2 or by 5, the last digit of the result would be 1. (We can easily check it, because the last digit of the result only depends on the last digit of the original number.) Therefore, some decimal places seem inevitable: 1/2 remains 0.5, and 1/5 remains 0.2. We have not eliminated all decimal places from the fractions, only the infinite sequences thereof. Using the new syntax, any fraction will have at most finite number of decimal places. To see why it is so, extract the powers of 2 and 5 from the denominator, like this: nd=n2i5jk, then calculate the infinite integer nk and divide it by 2i and 5j. The number of decimal places of the result will be max(i, j). That kinda sucks, but whatever. By the way, −1/2=¯¯¯9.5, and −1/5=¯¯¯9.8. I assume it is obvious why. (Having an infinite number of digits both before and after the decimal point would lead to ambiguity. For example, 1/3 could be ...
Link to original articleWelcome to The Nonlinear Library, where we use Text-to-Speech software to convert the best writing from the Rationalist and EA communities into audio. This is: Rational and irrational infinite integers, published by Viliam on March 23, 2022 on LessWrong. Epistemic status: a fine line between genius and madness Let's start with the observation that it is much easier to use digits before the decimal point than the digits after it. A six years old child could calculate e.g. 11 + 2, but calculating reliably 0.11 + 0.2 will take a few more years of education. From this perspective, it is quite ironic that we typically use numbers that only have a few digits before the decimal point, and many, sometimes infinitely many digits after the decimal point, such as 1/3 = 0.333333333... = 0.¯¯¯3. Obviously, it would be better the other way round. Technically, we already have infinitely many digits in front of every number. But they are all zeroes; and by convention, we do not write them. Writing a zero or multiple zeroes in front of a number does not change its value; the number 007 mathematically means 7. Therefore, technically, we could write the number 7 with infinitely many digits in front of it, like this: ¯¯¯07. But it seems like a waste of space to only ever fill those infinitely many pre-decimal places with zeroes. What about using some other digit instead? Consider the number ¯¯¯9, which consists of infinitely many nines. Written in full, it would be like this: ¯¯¯9 = ...999999999. The value of this number is -1. How can we know that? Simply, just calculate ...999999999 + 1 = ...000000000, which is zero. (Zero with an arbitrary number of zeroes in front of it is zero: 0 = 00 = 000 = ¯¯¯0.) Similarly, ...999999998 = ¯¯¯98 is -2, because ¯¯¯98+2=¯¯¯0. Also ¯¯¯97=−3, ¯¯¯96=−4, and so on. Seems like we have invented a new syntax for negative numbers. Instead of writing a minus symbol in front of a number, just let the digits underflow. If an odometer in your car showed only nines, you would know what happens if you go the extra mile. What if we fill the infinite pre-decimal places with digits other than zeroes and nines? For example, how much is ¯¯¯1? I believe this number is -1/9. We can easily verify it by multiplying the number by 9 and adding 1.¯¯¯1×9+1=¯¯¯9+1=¯¯¯0. Okay, this seems strange. How did a fraction smaller than one suddenly become an infinite integer? But as you can clearly see, it did. Remember, our goal was to move the infinite digits behind the decimal point to the front of it. And so far, we are succeeding! We can similarly get other negative fractions by dividing −1=¯¯¯9 by the denominator, and multiplying the result by the numerator. For example, −1/3=¯¯¯3, −2/3=¯¯¯6, −1/7=¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯142857. Check it, ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯142857×7+1=¯¯¯9+1=0. To obtain a positive fraction, we can subtract the negative fraction from zero. For example, 1/9=0−(−1/9)=0−¯¯¯1=¯¯¯89. Check it, ¯¯¯89×9=¯¯¯01. Seems correct. But there is still problem with fractions like 1/2 or 1/5. There is no integer, not even infinite one, such that if we multiplied it by 2 or by 5, the last digit of the result would be 1. (We can easily check it, because the last digit of the result only depends on the last digit of the original number.) Therefore, some decimal places seem inevitable: 1/2 remains 0.5, and 1/5 remains 0.2. We have not eliminated all decimal places from the fractions, only the infinite sequences thereof. Using the new syntax, any fraction will have at most finite number of decimal places. To see why it is so, extract the powers of 2 and 5 from the denominator, like this: nd=n2i5jk, then calculate the infinite integer nk and divide it by 2i and 5j. The number of decimal places of the result will be max(i, j). That kinda sucks, but whatever. By the way, −1/2=¯¯¯9.5, and −1/5=¯¯¯9.8. I assume it is obvious why. (Having an infinite number of digits both before and after the decimal point would lead to ambiguity. For example, 1/3 could be ...
Robert Seacord joins Rob and Jason. They first talk about a constexpr wordle game and constexpr unique_ptr being added to the standard. Then they talk to Robert Seacord about secure coding and his thoughts on integers. News Wordlexpr: compile-time wordle in C++20 January ISO Mailing Constexpr unique_ptr accepted Rainer's bundle on sale 1/2 off with sales going to support Ukraine Links Joy of Coding Humble Bundle Effective C - An Introduction to Professional C Programming Secure Coding in C and C++, 2nd Edition The CERT C Coding Standard SEI CERT C++ Coding Standard ISO/IEC TS 17961 ISO/IEC TS 17961 - Review Draft Sponsors Use code JetBrainsForCppCast during checkout atJetBrains.com for a 25% discount
Links and vulnerability summaries for this episode are available at: https://dayzerosec.com/podcast/pwning-camera-and-overflowing-your-integers.html Short episode this week, stack smashing, integer overflowing and a more logical issue. Ending off with a discussion about what to do when you're stuck on CTFs. [00:00:42] Spot the Vuln - One at a Time [00:04:15] Uniview PreAuth RCE [00:06:59] Adobe Acrobat Reader DC annotation gestures integer overflow vulnerability [00:12:31] Chrome: Interface ID reuse leading to memory corruption in IPC::ChannelAssociatedGroupController [00:18:31] Question: Unsuccessful getting into CTFs The DAY[0] Podcast episodes are streamed live on Twitch (@dayzerosec) twice a week: Mondays at 3:00pm Eastern (Boston) we focus on web and more bug bounty style vulnerabilities Tuesdays at 7:00pm Eastern (Boston) we focus on lower-level vulnerabilities and exploits. The Video archive can be found on our Youtube channel: https://www.youtube.com/c/dayzerosec You can also join our discord: https://discord.gg/daTxTK9 Or follow us on Twitter (@dayzerosec) to know when new releases are coming.
Dr. Bruce Landman is a Professor Emeritus at Augusta University, Augusta, Georgia. With Dr. Aaron Robertson, Dr. Landman co-authored the book titled "Ramsey Theory on the Integers." Dr. Landman is the managing director of INTEGERS, a refereed electronic journal devoted to research in the area of combinatorial number theory. In a conversation with students from Simon Fraser University, Manan Sood, Wassim Khelifi, and Connor Marriam, Dr. Landman talks about what a five-year-old child curious in mathematics can do, explains why as a student he preferred mathematics over psychology, and describes his favourite research result.
TEACHING CARE 1-TO-1 ONLINE TUITION AND COACHING CLASSES by top teachers of India
Please see You Tube Video here for Integers - Mathematics Class 6 For more free online class videos, you can visit our You Tube Channel here Teaching Care provides Online classes by best teachers; online tuition classes, online tutors and live 1-to-1 coaching classes for CBSE, ICSE, IGCSE, IB, state boards, NTSE, Olympiads, JEE and NEET. Best tutorials for English, Mathematics, Science, Physics, Chemistry, Biology, Coding Classes, Computer Science, Accountancy, Business Studies, Economics, Hindi, Engineering etc for class 4th to class 12th to UG & PG levels. Book free trial class at Teaching Care or Call +91-9811000616, +91-9821126195 or Sign Up here for free demo class or email us at hr@teachingcare.com --- Send in a voice message: https://anchor.fm/teachingcare/message
TEACHING CARE 1-TO-1 ONLINE TUITION AND COACHING CLASSES by top teachers of India
Please see You Tube Video here for Integers - Mathematics Class 6 For more free online class videos, you can visit our You Tube Channel here Teaching Care provides Online classes by best teachers; online tuition classes, online tutors and live 1-to-1 coaching classes for CBSE, ICSE, IGCSE, IB, state boards, NTSE, Olympiads, JEE and NEET. Best tutorials for English, Mathematics, Science, Physics, Chemistry, Biology, Coding Classes, Computer Science, Accountancy, Business Studies, Economics, Hindi, Engineering etc for class 4th to class 12th to UG & PG levels. Book free trial class at Teaching Care or Call +91-9811000616, +91-9821126195 or Sign Up here for free demo class or email us at hr@teachingcare.com --- Send in a voice message: https://anchor.fm/teachingcare/message
Maths -- Integers -- Ms. Swarna of grade 6 -- dps Mahendra Hills
The difference between a signed and unsigned integer is in its last binary digit. This is bit 15 in a 16 bit integer and bit 31 in a 32 bit integer. Items used in this podcast: PLC Tools SIM-ALP2 The above links make these videos possible. Please use them! Support these videos by becoming a patron on Patreon Subscribe to our Youtube channel Instagram Facebook LinkedIn Twitter
Integers, Equations, Inverse Operations, Jared Allen, and Listening.
Integers, Flipgrid, Christmas, and Tiger Woods!
DDSRY is going to tell you about Integers in Python Programming Language. • In Programming we refer to these numbers as integer, but integers is a number without decimal point. --- Send in a voice message: https://anchor.fm/the-ddsry-show/message
פרק מספר 68 של באמפרס (393 למניין רברס עם פלטפורמה) - רן, אלון ודותן נפגשים שוב ב-8 ביולי 2020 בעיצומו של הגל השני, מקליטים מהבית דרך Zoom . . . ואף על כן - באמפרס: רן, אלון ודותן עם סידרה של קצרצרים על מה שקרה ברשת, מה עניין אותנו, בלוג-פוסטים מעניינים שנתקלנו בהם, Repos מעניינים ב-GitHub ועוד.אז נצלול . . .רן - חברת Microsoft הוציאה לקוד פתוח את התוכנה שנקראת GW-BASIC - מי זוכר מה זה?מדובר בשכלול קל על ה-Basic הרגיל, הכי בסיסיה-GW-BASIC הייתה אחת הגרסאות הכי פופלאריות של Basic - יכול מאוד להיות שאם אתם מכירים Basic, אז אתם מכירים את הגרסא הזו.למעשה, Microsoft גם הוציאו בלוג-פוסט וגם Repo ב-GitHub, ששם נמצא כל ה-Source Code של GW-BASIC(דותן) שאפו על זה שהם ממש שמו היסטוריה אמיתית ב-Git - יש כאן “38 years ago” . . .(רן) כנראה באמת שיחזרו את ההיסטוריה, כי Git לא היה קיים לפני 38 שנים . . .אתם יכולים לגשת לכל קבצי ה-ASM (הלא הם ה-Assembly!) ולקרוא את הפקודות - אשכרה פקודות-מכונה שבאמצעותן נכתב GW-BASICמרתק למי שבקטע - או סתם נוסטלגיה למי שפחות.(דותן) אתם יודעים מה זה אומר? (אלון) שאפשר להתחיל לכתוב ב-BASIC?(דותן) גם - וגם שצריך להתחיל לפתוח להם Pull-Requests . . . למה אין Source folder?! למה אין Make?!(רן) לגמרי - מבחינת איכות כתיבת הקוד . . .(דותן) אין פה Folders בכלל! מחפש איפה להיכנס ואין לאן.(אלון) אני לא יודע האם לפני 38 שנים Windows ידע לעבוד עם Folders - בעצם זה היה עוד בכלל DOS . . .(דותן) כן, יש פה Code of Conduct ו-Contributing . . . תתרום! אה, בעצם - “Please do not send Pull Requests” . . .(רן) למרות שיש פה ושם עדכונים - ראיתי אחד לפני חודשיים, אז זה לא שזה לגמרי הכל כמו לפני 38 שנים, אבל הרוב כן.(דותן) וכולם כל כך ממושמעים - אין כאן אפילו Pull Request אחד שנפתח, לא Closed, לא כלום . . .(רן) כן, טוב - הם הבעלים של הפלטפורמה, בוא לא נשכח . . .סקר של Stack Overflow שהתפרסם לא מזמן - הסקר השנתי שלהם של שנת 2020הם כל שנה מוציאים סקר וזה תמיד מעניין ונחמד לקרוא את מה שהם כותבים.הפעם הדבר הבולט ביותר בעיני הוא שויזואלית - זה מהמם . . . פשוט מעוצב יפה.יש שם גם הרבה תוכן, אבל הדבר הראשון שבולט לעין (כן . . .) זה שזה מעוצב יפה, עם JavaScript כזה אינטראקטיבי וכל מיני גרפים שזזים.על הסקר ענו 65,000 מפתחים מרחבי העולם - אפשר לראות פרטים דמוגרפיים שלהם וכו’.אני לא זוכר איזשהו אייטם ספציפי לגבי שאלות או תשובות מעניינות שראיתי, אבל יש שם המון אינפורמציה - כל אחד ימצא את מה שמעניין שם.יש המון אינפורמציה על טרנדים דמוגרפיים וטרנדים בתעשייה - אם זה טכנולוגיות ודברים כאלהפשוט כיף לראות את זה, ויזואלית זה מאוד יפה, עם הרבה מאוד אינפו-גרפיקות מכל מיני סוגים.אם אתם זוכרים, באחד הפרקים שעברו דיברתי על זה שאני קורא כמה ספרים ובינתיים לא מצאתי משהו מעניין - אז מצאתי ספר טוב שאני כן רוצה להמליץ עליודותן, זוכר? אמרת שברגע שיהיה משהו להמליץ אז נמליץ? אז הנה - ספר שאני עדיין בעיצומו ולא סיימתי לקרוא אותו ונקרא An Introduction to Machine Learning, שזה תחום שאני עוסק בו בזמן האחרון.הורדתי את הספר אונליין, אני קורא אותו כ eBookמה שאני אוהב בספר הזה זה(1) הוא כתוב בשפה מאוד יפה, זאת אומרת - בניגוד לספרים אחרים שקראתי והייתה בהם אנגלית “קצת שבורה ומעצבנת”, כאן זאת באמת שפה יפה שכיף לקרוא ובנוסף (2) יש בו הרבה מאוד תרגילים - בסוף כל פרק - שמאוד עוזרים להפנים את החומר.יש שלושה סוגי תרגילים - סוג אחד הוא “תרגילי חשיבה”; סוג שני הוא “קח נייר ועפרון ותעשה חישוב” וסוג שלישי של כתיבת תוכניות שמממשות Perceptron או מסווג מסוג כזה או אחר - וזה מאוד עוזר להפנים את החומר.אז הספר נקרא An Introduction to Machine Learning, בהוצאת Springer, המחבר הוא Miroslav Kubat - אמריקאי מאוניברסיטת פלורידה (מיאמי)אם אתם בעניין של לעשות איזושהי הכרות עם Machine Learning אז זו היכרות די מעמיקה, אני חייב להגיד.(דותן) עד כמה הוא פרגמטי? או אם לשאול בצורה אחרת - אתה צריך לדעת אלגברה לינארית לפני כן? להיזכר בכל מיני דברים מהאוניברסיטה, או שהוא מאוד פרגמטי?(רן) הוא לא מאוד פרגמטי . . . הוא לא מדבר על ספריות כמו Pandas או TensorFlow, לא מדבר בכלל על כליםהוא מדבר ברמה התיאורטית - אבל התרגילים הם כן פרקטיים, זאת אומרת שצריך ממש לכתוב תוכנהאני את התרגילים האלה כותב ב Clojure מתוך היצר המזוכיסטי שלי . . .אתה כן מקבל איזשהו ניסיון תכנותי - אבל הוא לא פרגמטי כל כך במובן של “להכיר כלים אמיתיים”.מבחינת ידע ורקע - אני חושב שמתימטיקה ברמה של תואר ראשון זה לגמרי מספיק, כנראה שאפילו פחות, אולי אפילו רק השנה הראשונה של התואר הראשון מספיקה; אלגברה לינארית ברמה לא גבוהה מדי, חשבון אינפיטיסימלי או חדו”א (!) ברמה גם לא-מאוד-גבוהה - צריך להבין מה זו נגזרת, מה זה אינטגרל, דברים כאלה . . . שנה ראשונה באוניברסיטה בכל אחד מהמקצועות המדעיים נותנת לכם רקע מספיק בשביל הדברים האלה, עם קצת הבנה בהסתברות וסטטיסטיקה, אולי קצת הבנה בקומבינטוריקה אבל לא הרבה. זהו . . .זה לא ספר קל, אני חייב להגיד (כי עד עכשיו נשמע סבבה) - דורש קריאה איטית ומחשבה, אז גם אם יש לכם את הרקע, זה לא רומן . . . זה משהו שדורש מחשבה והעמקה ובעיקר תרגול.בכל אופן - אני אוהב את הספר. המלצה!(אלון) טוב לדעת . . . אבל אם לא סיימת, עדיין אפשר לעשות לך ספויילרים על מה קורה בסוף! נגלה לך איזו תוכנה אתה כותב בסוף . . .זה ספר על Machine Learning, מה כבר יכול לקרות?(רן) האם המסווג הוא חיובי או שלילי?נושא אחר אבל קצת דומה (ופרגמטי) - בלוג-פוסט של GitHub שמתאר איך הם עושים MLOps (שזה בעצם Machine Learning Ops) באמצעות GitHub Actionsה - GitHub Actions הוא Feature בן שנה בערך, אולי יותר - ומאפשר לעשות לא רק CI מעל GitHub אלא בכלל איזושהי אוטומציה יותר כלליתלמשל - בכל פעם שעושים Push, אז להריץ איזשהו Pipelineכאן הם מתארים כל מיני משימות סטדנרטיות שיש ב-Machine Learning, שהם מכנים בשם הכללי “MLOps”לא שהם המציאו את השם הזה, הוא היה כבר קייםלמשל - ניקוי Data או Feature Engineering או הרצה של כל מיני Frameworks (במקרה הזה מדברים על binder) - דברים כאלהוכל זה - ב-Pull Request, וזה נחמדהרבה פעמים כשמפתחים איזשהו מודל ורוצים לעשות אופטימיזציות, רוצים לראות שלא עשינו משהו יותר גרוע, שלא שברנו משהו - וזה נחמד שכל הדברים הללו יכולים לקרות בצורה אוטומטית.אתם חושבים ששיפרתם משהו - עשיתם Commit לאיזשהו פרמטר ואז פתאום מגלים ששברתם משהו אחר . . . זה כל ה- Concept מאחורי Contentious Integration.בהקשר הזה - MLOps זו התשובה, והם נותנים דוגמא שלה באמצעות GitHub Actions(אלון) זה נשמע ממש בסיסי . . מה הבשורה שלהם?(רן) כקונספט, לנו כמהנדסים, אין כאן שום דבר חדש - אבל הם כן מראים איך הם עושים אינטגרציה לכלים הרלוונטיים השונים.איך אתה עושה Extraction ל-Data, איך אתה עושה Feature Engineering, איך אתה מריץ את המודל - וכל זה בתוך ה-Containers שלהםלמי שעושה CI כבר שנים אין פה חדש, אני מסכים - זה לא קונספט חדש, אלא משהו יותר פרקטי, מראים את הכלים עצמם(אלון) משעשע שהם משתמשים Argo עבור Workflow, ולא במשהו פנימי . . . לא ידעתי שמישהו משתמש בזה חוץ מאיתנו . . .שפה בשם goplus - וכן, זה “Go עם עוד קצת” . . .זה מעיין Super-set של Go, כשכל תוכנית ב-Go היא גם תוכנית ב-goplus - אלא של-goplus יש גם Syntax נוסף שמאפשר לה להיראות קצת כמו Script, קצת כמו Python באיזשהו מובן.לא חייבים להכריז על פונקציה, אפשר פשוט לכתוב “=:a” ולכתוב לשם איזשהו מערך וכו’ - נותן איזשהו “Feel” של Python (או Ruby או JavaScript), אבל עם Syntax שהוא מאוד Go-י - קצת כמו לקחת את Go ולעשות ממנו Script.כמה פיצ’רים בולטים - אפשר פשוט להריץ את זה כסוג של Script, לא צריך לכתוב פונקציה כדי להריץ משהוכמו ב-Python, יש יכולת לעבוד על List Comprehensions (או Map Comprehension), שכל מי שאוהב את Python בודאי מכיר - For x in . . . where x>3 - אז אפשר לעשות את זה גם למערכים וגם ל-Maps, וזהו מאוד קומפקטי ונחמדזה לגמרי Compatible עם Goויש עוד הרבה פיצ’ריםויש גם Playground - כמו שיש את ה Go Playground, יש גם Go+ Playground, שזה נחמדכל הקונספט של זה, לפי מה שרשום, זה שזה אמור להיות ידידותי ל-Data Science: ה-Tagline הוא The Go+ language for data scienceלמה זה “ידידותי ל-Data Science”? כי Data Scientists בדרך כלל עובדים בתוך Notebooks, כותבים סקריפטים קצרים ורוצים לראות מה התוצאה - ולכתוב תוכנית ב-Go זה לפעמים overhead שהוא קצת פחות מדבר ל-Data Scientists, ובגלל זה Python כל כך קוסמת.אז goplus מביא את חלק מהיתרונות של Python לפהכמובן שהחלק המשמעותי הוא הספריות - שאולי חלק מהן קיימות, אבל זה ממש לא באותה רמה של Python, אבל השפה כבר פה.האם זה חילול הקודש או ברכה? לא יודע, כל אחד עם הטייק שלו . . . מי שאוהב את Go ואוהב אותה כמו שהיא אז עבורו זה כנראה חילול הקודש, אבל למי שרוצה לראות את Go מתפתחת לכל מיני כיוונים אז זה אולי אחד מהכיוונים.דרך אגב - אני לא רואה את המפתחים של Go מאמצים משהו מפה - זו לגמרי שפה אחרת, אפשר לחשוב על זה כמו על C ועל ++C - יש כאלה שפשוט ישארו עם C תמיד ולא ילכו ל++C, וזה לא מתערבב.בכל מקרה - זה מעניין, וזה Repo שהושקעה בו הרבה מאוד עבודה - וגם מאוד פופולארי ב-GitHub(אלון) יש פה כמה קונספטים ממש מעניינים . . . ה-Error-Handling זה משהו שמאוד התחברתי אליו, הוא הרבה יותר הגיוני לדעתי.אני חושב שלקחת את Go ולהביא אותה ל - Data Science זה מעניין, אבל לדעתי זה לא יבוא מ-Go אלא יבוא מ-Rust כי Facebook מאוד דוחפים לזה, אבל זה מעניין, קונספט מעניין ומבורך.(רן) דרך אגב - יש ספריות Data Science ב-Go, הן לא עשירות כמו אלו של Python אבל בהחלט קיימות. בואו נראה . . .גם ב-Rust זה מעניין - יכול להיות שאת ספריות ה-Core, אם היום כותבים אותן ב-++C אז מחר יכתבו אותן ב-Rust, אבל עדיין משתמשי הקצה . . . הרבה מה- Data Scientists לא כותבים ב-++C אלה ב-Python או R, ואני לא רואה אותם עוברים ל-Rust סתם ככה, אלא אם כן הם באמת צריכים לכתוב ממש ספריות, וזה לא רוב הזמן.אלון - נתחיל מאחד הנושאים הפופולאריים - הפגנות Black Life Matter: התחילו לעשות “ניקוי שורות” בכל מיני שפות, נתחיל ב-Go כדי להמשיך את הקו: Pull request של להעיף את כל הרפרנסים ל - White list מול Black list או Master ו-Slave מה-Core Library של Goשמתי את זה בתור אחד מהראשונים שלי, ואז זה התחיל לתפוס פופולאריות בעוד כל מני מקומות, ולהתחיל להעיף איזכורים מעוד כל מיני מקומות.הרעיון הוא ש -whitelist/blacklist זה דבר פוגעני, וצריך להחליף ל Allowlist /Blocklist - שזה גם שמות יותר ברורים, האמת.ואת master/slave ל- Primary / Secondary אני חושב, לא רואה את זה כרגע.בקיצור - הרבה שפות התחילו לשנות, לא רק Go, והמונחים שאנחנו רגילים להשתמש בהם הולכים להשתנות כנראה בתקופה הקרובההדבר היחיד שעוד לא ראיתי ששינו זה את ה Git Repo - ה-Root זה עדיין Master . . . אבל עוד לא ניתקלתי במחאה בכיוון הזה.(דותן) חייב להגיד שאני נפלתי פה - לקחתי את ה-Commits שיש פה, סתם כדי להסתכל, ונפלתי על To-Do - שינו את הטקסט ב To-do, והיה שם Split כדי שאפשר יהיה לעשות allowlist במקום whitelist - אז אם כבר נכנסו ושינו, לא לא כבר עשו את ה-To-do? . . .(אלון) אם אתה הולך נגיד על fmt, אז שינו שם למשל את blacklist ל-blocklist . . .(דותן) כן - אבל יש שם הערה שאומרת “to-do: צריך לממש את זה אחרת”, ואם אתה כבר עושה re-factor ל-Comment אז כבר תעשה מימוש . . .(אלון) תראה, אני לא נכנסתי פה . . .(דותן) אבל אתה כבר שם! שינית את ה- whitelist ל-allowlist . . .(אלון) בסוף זה Copy-Paste-Replace . . . כן, שינו - אתה יכול לעבור על ה-commits, חלקם זה באמת Comments (בתוך ה-GC זה Comment) . . .בתוך loader.go שינו whitelist ל-allowlist(דותן) אז צריכים לעבור קובץ-קובץ ולהכריז . . .(אלון) כן, אין הרבה שינויים - אבל עשו עבודה, וזה לא במקום היחיד שעשו את השינוי הזה.טוויט נחמד שנתקלתי בו - Ashley Willis שאלה What’s the best tech talk you’ve ever seen?מה שמעניין זה שיש פה מאות תשובות עם לינקים להרצאות, שכל אחד טוען שזו ההרצאה הכי טובה שהוא ראהעברתי על זה ברפרוף ואמרתי שאני שומר לעצמי את הלינק הזה - והעבודה הבאה היא לפלטר לי מפה הרצאות ולהכין רשימת צפייה, כי זה בטח שווה משהו, אם כל אחד שם את ההרצאה שהוא חושב שהיא הכי טובה אז בטח יש פה רשימה מכובדת, “חוכמת ההמונים” וכו’.נראה כמו לינק שעבור מי שמחפש הרצאות לראות אז זה יהיה מאוד שימושי עבורו.(דותן) יש על זה כבר Crawling או עוד לא? . . . (אלון) לא . . .הנה , יש לך הזדמנות - שמו לפעמים את אותו לינק פעמיים ואז תדע עם מה להתחיל.(רן) רציתי להגיד שזה מדהים, מבחינת חדשנות ישראלית, איך לכל דבר אנחנו מביאים את ה-Touch האישי שלנו, פשוא מדהים המוח היהודי . . .(דותן) צריך רק למצוא איזו תמונה של מישהו מרצה על איזשהו Slide, ואז כשאתה לוחץ . . .(רן) כן, בשנות התשעים זה היה אחד הטובים(אלון) היית עושה מליונים, הרבה לירות היה יוצא לך מזה . . . בקיצור, יש כאן הרצאות ענתיקות בחלקן וחלקן מהשנים האחרונות, אנשים שמו פה הרצאות גם מ-1900 ומשהו, אני לא יודע אם היה למרצה מחשב באותה תקופה, כל מיני כאלה - וחלק זה ממש מהשלוש-ארבע שנים האחרונות אז כנראה יותר רלוונטי . . . נראה לי מגניב(דותן) אני גם לא רואה כאן את Remembering Joe . . .(רן) של Joe Armstrong? אני חושב שאני מכיר . . .(דותן) זה היה באחד הפרקים (369 הקוסמי!), מה זאת אומרת?!(רן) בסדר, לא כולם מקשיבים (ברור, חלק רק קוראים)(אלון) דווקא חושב שראיתי את Joe Armstrong שם, די בטוח - בקיצור, תעבור, תכין רשימה יותר מצומצמת, ניתן לרן לצמצמם עוד קצת - ואז אני אסתכל(דותן) אי אעשה את הישנים והטובים, אתה תעשה את המודרניים והמגניבים(רן) ואני דורש שיהיו בכל רשימה לפחות חמישה מכנסי רברסים שעברו . . .(אלון) זו הזדמנות להכניס שם ל-List ולהתחיל להפציץ אותו . . . אני מבקש מכל המרצים: כל אחד, שישים את הלינק של עצמו.זו קריאה למרצים! - שימו את הלינק להרצאות שלכם שם, ואז אתה מקפיץ את הכנס כנס? 2020?ספריה ישראלית - golang mediary - של Here Mobilityהוספת interceptors ל-http.Clientשלחו לי - הסתכלתי - נחמד - מפרגן בכיףהרעיון הוא שאפשר להתחבר על ה HTTP Request - לפני ה-Request, אחרי ה-Request, ואז לעשות אינטרפולציות ל-Request עצמו או ל-Responseאפשר להוסיף לוגים או דברים של Security או statsd . . . יש דוגמאות, גם Tracing . . . יכול להיות מענייןנראה חמוד למי שצריך את זה, ספריה צעירה יחסית - שיהיה בהצלחה! אני אהבתיונמשיך עם Go, ככה יצא הפעם - mockery זו ספריה שמאפשר לעשות Mock-ים ב-Goספרייה מאוד פשוטה וחמודה - למי שמחפש לעשות Unit Test ומחפש איך למקמק (create mocks) קוד - שווה להסתכלנחמד, פשוט, קליל, שימושי ונוח.(רן) ואחת הפופולאריות שבהן - יש עוד אחת-שתיים, אבל זו אחת הפופולאריות ביותר(אלון) מה שמפתיע זה שגם הפופולאריות לא פופולאריות . . . פחות מ-2000 Stars זה . . . או שאנשים לא עושים טסטים, גם אופציה(רן) אני חושב שפשוט צריך הרבה פחות Mocks, במיוחד ב-Go, בעיקר בגלל הגישה של ה-Interfaces - פונקציה שמקבלת Interface, אז אם הוא מספיק “רזה” זה כל כך קל למקמק (Mock) בעצמך כך שאתה לא חייב שום Framework.מתי כן צריך Framework? אולי לא צריך - אבל מתי תרצה? או כשה-Interfaces יחסית ארוכים ואתה לא רוצה למקמק הכל בעצמך, או כשאתה רוצה לעשות Spying: לספור את מספר הקריאות או משהו כזה, ואז אתה כבר תלך ותשתמש באיזשהו Frameworkאני, בטסטים שלי, פשוט יוצר Instances של ה-Interfaces בלי להשתמש באף Framework - יותר קומפקטי, יותר מובן, לדעתי, לא מצריך ללמוד עוד Framework - אני חושב שזה לפחות חלק מההסבר(אלון) כן, אבל הרבה פעמים יש דברים מורכבים . . . זה נכון לדברים יותר פשוטים, אבל כשאתה בא לספריית צד-שלישי בדרך כלל, עם כל מיני התחברויות ודברים שקורים . . . זה יותר מורכבאני ניסיתי פעם למקמק ל-S3, וזה לא היה סימפטי(רן) במקרים כאלה אני באמת לא אקח את זה על עצמי ובאמת אשתמש בספרייהאו שאני אשתמש בבדיקות אינטגרציה (Integration Testing), למשל - ארים Container שיש לו Interface של S3 - מכיר את Testcontainers? יש להם מלא קונטיינרים עם כל מיני כלים - S3 זה אחד מהם אם אני לא טועה, יש ל-SQS ולעוד כל מיני דברים כמובן - כל הדברים הסטנדרטיים כמו Databases מסוגים שוניםאז אתה יכול פשוט להרים Container - ודרך אגב יש לזה גם תמיכה ב-Go: אתה יכול לעשות setup לטסט שמרים לך Container בהתחלה ואז מוריד את ה-Container, ולפעמים זה יותר נוח מאשר למקמק (Mock it) את זה בעצמךזה אמנם רץ יותר לאט, אבל מצד שני זה קצת יותר אמין, מבחינת ה-API(אלון) מבחינת טסטים ל-Integration זה הכי נחמד - אבל זה כבר Integration Test ולא Unit Test.(רן) נכון, זה כבר לא Unit Test - אבל אתה כבר עובד עם S3, האם זה עדיין Unit Test? שאלה פילוסופית . . . אם אתה גם ככה כבר עובד עם משהו כבד חיצוני, זה כנראה גם ככה כבר לא ממש Unit Test.(אלון) זה ברור, אני נכנסים פה כבר לפילוסופיה . . .(דותן) זה עניין של טעם, בסוף - טעם ואיזון.(רן) לגמרי - אני לא מנסה להחליט מה זה Integration Test ומה זה Unit Test כי לא נצא מזה בחיים - רק אומר שיש לך כאן כמה אופציות, ואחת מהן זה באמת לעשות Mocking באמצעות mockery או באמצעות כלים אחרים; אופציה שנייה זה לקחת את ה-Interfaces ולממש אותם בעצמך, וזה נוח כשה-Interfaces יחסית “רזים”; ואופציה שלישית זה באמת להרים Service, אם אתה מדבר עם Service - להרים Service ב-Container ליד; או, רחמנא ליצלן! - לדבר עם ה-Service האמיתי (למשל S3 האמיתי), אבל זה ברוב המקרים הכי פחות מומלץ.אם אתה באמת הולך על הגישה של Container - יש Framework כזה שנקרא Testcontainers, שיש לו תמיכה בהמון שפות - Java ו-Go ובטח עוד הרבה - שממש נותנים לכם בזמן ה-Setup של הטסט להרים Container ולהוריד אותו בסוף הטסט, והאינטגרציה הזו מאוד נחמדה.(אלון) זה חמוד ממש - ותמיד יש את ההמלצה הקבועה: הכי טוב זה טסט אמיתי - טסט על Production! למה לא לנצל את זה?(רן) Famous last words . . .דותן - ספריה ש-Apple הוציאה, או יותר כמו Framework, בשם ExposureNotificationאם נחבר את זה לאקטואליה - בעצם הם ייצרו Framework סטנדרטי שממדל חשיפות ל - COVID-19זה חלק מההכרזות שלהם לא מזמן (iOS 13.5 release)- הם ראו שיש כל מיני ממשלות או כל מיני אפליקציות שמנסות למדל חשיפות לקורונה על גבי מפה וכו’ - והם פיתחו עבור זה API סטנדרטיעכשיו אם אתה רוצה לבנות אפליקציה כזו - אתה יכול להשתמש בספרייה הזאת, והיא גם עוזרת לך פה ושם.אני (דותן) נכנסתי לקרוא את ה-Interface, ויש שם כמה חלקים מגניבים, שאולי מגיעים משפות של רפואהלדוגמא, לרגע התבלבלתי כשהיה כתוב שם “Transmission risk level” ו-”Signal” - אני לקחתי את זה לכיוון של רדיו וכו’ . . .(רן) אתה כנראה הסתכלת על טורי פורייה, אבל הכוונה לביולוגיה . . .(דותן) בדיוק . . . הכוונה ל-Transmission של המחלה, אולי ה-Signal של המחלה? בכל אופן - נראה מעניין, לפחות ברמה של ה-API, שאפשר לקרוא איך נראית קורונה דרך API . . . זה מגניב, וכמובן שאם מישהו רוצה לפתח אפליקציה פופולארית ל-App Store, אז זה מקל את הכאב . . .(רן) דרך אגב - לא דיברנו כאן ואולי שווה לדבר על איך עובדות אפליקציות למעקב אחרי קורונה . . . בגדול, לפי מה שאני (רן) יודע, יש שני סוגים - סוג אחד זה לפי קירבה - משתמש ב-Bluetooth ועושה איזשהו מעקב אחרי מי נמצא ליד מי, למשל אם אתם נמצאים במקום ציבורי, אז ה-Bluetooth שלכם “מדבר” עם Bluetooth של אחרים, וככה אתם יודעים אם אתם קרובים למישהו אחר - ואם אחר כך מתגלה שהוא חולה, אז יש את המעקב הזה.איך זה נשמר ואיך באמת עושים את הגלוי? זה כבר סיפור אחר . . . אבל לפחות ברמה העקרונית, ברמה הפיזית, הגילוי הוא באמצעות Bluetooth.שיטה אחרת זה באמצעות מיקום - GPS וכו’למיטב ידיעתי, השיטה של ה-Bluetooth נקראת “השיטה הסינגפורית”, ואותה בסופו של דבר גם Apple וגם Google מאמצים - כשדיברו על זה ש-”Apple ו-Google משלבים ידיים למאמץ משותף” אז מדובר על זה, למיטב ידיעתי, בשיטה שמבוססת על ה-Bluetoothאלא שזה לא יהיה באפליקציה - זה יהיה ממש מוטמע במערכת ההפעלה, וזה יהיה Battery efficient וכל זה.השיטה של האפליקציה הישראלית שנקראת “המגן”, אני מניח שהרבה מכם התקינו אותה - זו דווקא שיטה שמתבססת על מיקום - ולכל אחד מהם יש יתרונות וחסרונות:ל-Bluetooth - מצד אחד הוא באמת יותר אמין - ברזולוציה, Bluetooth אמור לקלוט למרחק של כמה מטרים בודדים, כשהדבקה מוגדרת, אני חושב, כמצב שבו אתה נמצא רבע שעה במרחק של שני מטרים או פחות מבנאדם - ומרחק של שני מטרים או פחות זה משהו שבדרך כלל Bluetooth יודע ו-GPS פחות יודע, כי GPS (אזרחי…) עובד ברזולוציה יותר גבוהה.מצד שני - ל-Bluetooth יש גם יכולת לקלוט מעשרה או עשרים מטרים, תלוי בתנאי מזג האוויר ורעשי רקע ודברים כאלה.לכל אחד מהם יכולים להיות False Positives, ואולי גם False Negatives - אני לא מכיר את המקרים אבל יכול להיות שיש כאלה.זהו - אני חושב שזה מעניין, ככה, קצת לדבר על הטכנולוגיה שמאחורי זה, אבל אני שואל את עצמי האם באמת Apple ו-Google יכולים לקחת את ה-Bluetooth ולהוריד שם את רמת ה-False Positives בצורה משמעותית, כי בשביל להיות מסוגלים לעשות את זה, צריך גישה ממש למערכות הפיסיות, כדי להבין באמת מה עוצמת הסיגנל ומהן רמות ההפרעה וכו’, כדי להבין האם באמת הבנאדם קרוב או רחוק ממני.(דותן) וזו קריאה ל Apple ו-Google - לשלוח מכתב למערכת (AWS מאזינים מזמן . . .), אבל כן - זה מגניב(אלון) קודם כל - שמעתם את זה פה לראשונה, כי אנחנו תמיד חוזים דברים, זה ידועאבל רגע - “לפני מיליון שנה”, כשעבדתי באינטל, היו חיישני Bluetooth והיינו מבינים איפה הדבר נמצא לפי המרחקים ועוצמת ה-Bluetooth - עוד אז רישתנו הכל ב-Bluetooth וידענו להגיד איפה ה-Wafers נמצאים בכל רגע נתון לפי מרחקים - אז זה משהו שכבר קיים, לפי הרבה שנים(דותן) עוצמת הסיגנל של Bluetooth, אם אני זוכר נכון, קיים ב-iOS(רן) כאן, זה קיים - השאלה היא רק מה רמת הדיוק של זה? לפעמים עוצמה היא “5” כשאתה במרחק שני מטרים ולפעמים העוצמה היא “5” כשאתה במרחק של עשרה מטרים . . . זה לא מדויק. אתה יכול אולי באופן יחסי להגיד מי קרוב ומי רחוק(אלון) תראה (תשמע) - אני יכול להגיד לך שאנחנו אולי היינו (Literally) בתנאי מעבדה, אבל בתנאי מעבדה זה היה מאוד יציב . . . היה מאוד ברור וזה עבד מאוד טוב, הזיהוי מרחק של מקומות, זה היה עוד בזמן “Bluetooth 0” או לא יודע איזו טכנולוגיה זה היה, אבל ה-Bluetooth התקדם מאז די הרבה אז יכול להיות שעכשיו זה שונה - אבל בזמנו זה עבד, אז אני לא יודע מה הבעיה . . .(רן) הפיסיקה השתנתה . . . באמת, אין לי ידע עמוק בזה אז אם מישהו מהמאזינים מכיר אז מוזמנים לתקן אותי, למיטב הבנתי זה פשוט מאוד תלוי בתנאי הסביבה, ובאמת יש הבדל מאוד משמעותי אם אתה בתנאי מעבדה או לא - תלוי בלחות, תלוי במכשירים האחרים שנמצאים ליד, ואני מניח שבעוד כמה פרמטרים.אבל שוב - אני בטח לא מומחה לתחום, ואני גם שמעתי או קראתי את זה איפשהו.בכל אופן - אני חושב שזה מעניין עכשיו להגיד שבאמת יש שני מודלים, ויכול להיות שהתשובה היא איזשהו שילוב של שניהם, כדי להגיע לרמה דיוק יותר גבוהה - אבל שני המודלים האלה בגדול הם שאחד מתבסס על שירותי מיקום (כמו באפליקציית המגן הישראלית), והשני מתבסס על Bluetooth, זהו, Se Tu.(אלון) רק אסיים - הפיסיקה אכן השתנתה! בתקופתי העולם היה עגול ועכשיו אומרים שהוא שטוח, אז זה כנראה שינה את כל הפיסיקה(דותן) ואז ניהיה דור 5 . . . ספריה וכלי - streamlitמבוסס Python, או לפחות לקהילת ה-Python או ככה זה נראהלמי שמכיר את Swift Playgrounds - זוכרים שהייתה ההכרזה של Apple על Swift, ואז זה גם הופיע ב-iPad - שאתה צריך לכתוב קוד ומופיעה לך ויזואליזציה של הקוד שלך והכל אינטראקטיבי, אתה יכול להזיז Sliders כאלה, והקוד שלך בעצם משתנה לפי ה-Sliders?אז הם לקחו את הקונספט הזה - ועשו את אותו הדבר ל-Pythonלפחות מה-ReadMe נראה שקהל היעד זה בעיקר Data Scientists ואנשים שמתעסקים עם Data.שיחקתי עם זה קצת וזה אחלה לכל דבר - מספיק שיש לך פה Sliders ו-Controllers אינטראקטיביים, ויש לך איזושהי פונקציה ב-Python שאתה רוצה לשחק איתה, אז זה מהר מאוד יכול להפוך לכלי לימודי, בלי קשר ל-Data Science, אחלה דבר.(רן) אני מחכה לראות את זה נכנס לתוך Jupyter Notebooks, כי זה מתבקש הרבה פעמים רציתי לעשות איזושהי ויזואליזציה (Visualization) עם איזשהו Control של Slider, או משהו כזה - ועד עכשיו לא מצאתי, אז נראה שזו אולי התשובה, רק צריך לעשות לזה אינטגרציה לתוך Jupyter(דותן) לא ראיתי על משהו כזה . . . כן נראה שיש פה חברה מאחורי זה, סוג של . . . אני מניח שהם רצו להחליף או להיות אלטרנטיבה לזה, כי זה נראה קצת כמו Jupyter.קצת בקטע של נוסטלגיה - Cryengine, או Crytek - החברה שמאחורי Cryengine שמאחורי המשחק Crisis - פתחה (Open sourced) את הקוד של המנוע הראשון של Crisis (המשחק)אנחנו לא משחקים עם ה-Crisis הראשון, אבל אני זוכר אותו, כי זה מסוג המשחקים ששינו את העולם ונשארים לך במוח, כמו Doom וכאלה (עד כדי כך?)אז הם פתחו את הקוד ואני קצת רפרפתי - קצת ++C, בגדול, שנראה שנכתב ע”י מפתח אחד או שניים, “במשיכה אחת” מה שנקרא.מעניין למי שאוהב נוסטלגיה - אני אוהב להסתכל לפעמים; לא בניתי, לא קימפלתי וממש גם לא הולך לעשות את זה, אבל לפעמים גם כיף להסתכל על קוד שנכתב באותה תקופה, וזה נחמד.(רן) אני מסתכל על Commits שלהם, ונראה שיש להם מוסכמה מעניינת ל-Commits - נגיד B! או T! או I! . . . מעניין מה זה.(דותן) האמת שראיתי את זה וזה היה נראה לי כמו רעש, אבל אתה נותן פה טוויסט מעניין . . . (רן) כנראה שיש כאן איזושהי קונבנציה (Convention) ל-Commits שאני מנסה לפענח . . לפני איזה שניים נגיד יש XB! (היה בהקלטה לפחות . . .)(אלון) וגם XI! . . . זה מגניב, עכשיו אני חייב להבין מה זה . . . T! זה סתם טקסט, אתה רואה שזה סתם Copyright וכאלה, אז זה כבר מעניין.(רן) אולי B! זה Bug . . . מה זה I! ? . . .(אלון) U! זה בטח User Interface . . . לא, בעצם זה Undo . . . נחמד(דותן) יש כאן עוד כמה דברים מעניינים - יש Commit שמתקן משהו שנראה כמו Bug מלפני חודש - עכשיו, זה Cryengine, זה מ-2004 . . . מה קורה פה?(רן) כנראה עבדו על זה כדי להוציא את זה ל-Open Source(דותן) יכול להיות . . . מעניין; אלו החלקים שאני אוהב לנבור בהם, בקוד מאוד ישן - מגלים כל מיני דברים שהאנושות כבר לא עושה.(אלון) עכשיו רק תחפש פה פרצות אבטחה ונחש מה עבר הלאה לגרסאות החדשות . . .(דותן) כן, הא . . .האייטם הבא הוא backstage - פרוייקט של Spotify שהם החליטו לעשות לו Open-sourceזה בעצם Developer portal Framework, והם מכנים את זה “open platform for building developer portals”אני חייב להגיד שקראתי את זה ומאוד רציתי לדעת מה זה - וכשראיתי אז מאוד לא רציתי לראות מה זה . . .לא יודע, אני עדיין מבשל את זה עם עצמי - זה נראה כמו Wiki משולב ב-Dashboards, והכל מוכוון למפתחים ב-Spotify - אם אתה חבר ב-Squad אז יש לך את ה-Squad metrics מול הפנים; אם אתה רוצה לקרוא חדשות אז יש לך חדשות של Spotify שם; אם אתה לראות Metrics של Services אז זה גם שם - בעצם, כל העולם שלך נמצא בתוך מקום אחד.אולי אני קצת Old school, אבל זה . . . אני קצת פחות התחברתי, זה משדר “רובוט שעובד בשביל חברה”, וכל עולמו נסגר במקום אחד . . . כשאני קראתי את זה, חשבתי שאני הולך לראות Developers Portal במובן של כל הידע של ה-Developers והפרוייקטים והכלים שאני יכול להשתמש בהם כדי להאיץ את העבודה וכו’ - אבל אני בעצם רואה פה סוג של “מנגנון שליטה” או “חוטים סביב הבובה”. אבל תשוטטו בזה, זה מגניב.(אלון) אני עוד לא הבנתי מה אני יכול לעשות עם זה, אם זה טוב או רע - אני צריך לראות את הוידאו, לא נעים לי(דותן) יש לך Gif, לא צריך וידאו . . .(אלון) ה-Gif לא מספר את כל הסיפור . . . ב-Gif זה דווקא נראה חמוד: אתה מכין דשבורדים (Dashboards), יש את כל המטריקות (Metrics) שאתה צריך, אם מעניין אז יש משהו לראות . . . יכול להיות נחמד.(דותן) זה קצת Fallacy, כי קודם כל - אם אתה מאמן או מאלף אנשים להסתכל רק במקום אחד ולא לצאת מהמקום הזה, אז אוקיי, סבבה - יש כאן כל מיני Widgets שאם מישהו שם Widget שאתה אמור להכיר אז עכשיו לא הכרת ולא ידעת אז זה לא קיים.(אלון) אתה יכול לבדוק את ה-CI, לבדוק את המטריקות (Metrics), לבדוק לוגים . . . יש לך מקום אחד במקום להתחיל לטייל, וזה לא רע.(רן) לא - וגם חברות עושות את זה אז בוא - כל חברה בונה את זה לעצמה, כל חברה שאני הייתי בה בנתה אחד כזה, אז זה יכול להיות נחמד להתחיל ממשהו מוכן.אתה יכול לבוא ולהגיד שיש לזה חסרונות, כי ברגע שאתה בונה פורטל כזה לא מסתכלים ימינה ושמאלה - אולי, אבל מצד שני כולם בונים, כי אני חושב שה-Benefit עולה על החסרון הזה.עכשיו - האם זה פורטל טוב? אני לא יודע, אבל האם צריך פורטל? אני חושב שכן, אני די משוכנע שצריך.(דותן) זה תמיד יש - יש לך Jira ויש לך את העולמות שלך . . מה שאני מכיר זה שבונים, אבל בונים בתצורה של כלי, ופה ה-Feel שאני מקבל זה של “זה העולם שלך, וה-Browser שלך נעול לתוך הדבר הזה וזהו”. זה Feel כזה, זה לא באמת . . .(רן) יכול להיות . . . אני מסכים עם זה שנכון שיהיה לו API, שזה לא יהיה UI-First אלה API-First, שכל פעולה שאתה יכול לעשות דרך ה-UI אתה תוכל לעשות גם דרך ה-CLI באמצעות Client וכו’.עדיין, אני חושב שזה נכון שיהיה איזשהו פורטל מפתחים, ששם יהיה את כל מה שהם צריכים - אתה יודע, דברים בסיסיים כמו Service Catalog ו-Metrics ואיך ליצור Service חדש, ומי ה-Owner של כל אחד מה-Services ומה התלויות בינהם ודברים כאלה.דרך אגב - לא הכל כל כך בסיס, חלק מהדברים כן מורכבים, אבל זה הכל שימושי בעיני.כל חברה שהייתי בה בסופו של דבר בנתה לעצמה אחד כזה, אז אני חושב שזה נחמד להתחיל מאיזשהו משהו, אבל אני לא יודע - צריך לעשות לו איזשהו Test Run ולראות האם זה באמת הכלי הנכון בשבילכם.(דותן) לא, עכשיו זה נראה . . פחות, אבל תנסו(אלון) אל תקשיבו! Spotify, אתה לא יכול ללכלך עליהם - הגיע סוף סוף לארץ ה - Spotify Family (קישור לא ממומן . . .), אז אני מבקש - לא ללכלך עליהם!(דותן) לא מלכלך . . . זה אחלה, כלי מדהים!הספרייה הבאה - rich - עושה צבעים ב-Pythonחייב לומר שזו סופסוף ספרייה שנראית טוב, עבור מי שרוצה ליצור Developer experience טיפה מעבר למה שיש בסטנדרט של Python.היא עושה את כל בצבעים, כל הפלטה (palette) - טבלאות ו-Spinners ו-Progress bars, עושה גם Syntax coloring על הטרמינל ועוד ועוד - אפילו מרנדרת markdown מגניב, ברגע שאתה לוקח ספרייה כזו, יש לך את החופש לעשות מה שבא לך, או שבתוך הטרמינל את יכול לרנדר Markdown, יכול להוציא טבלאותאני מניח שכלים מגניבים יבנו מעל הספרייה הזאת ובזכותהממש אהבתי - וגם עושה חשק לבנות כלי Command Line חדשים שנראים טוב ב- Pythonתשתמשו!ספרייה בשם texthero - שעושה עיבוד טקסטהדגש פה הוא על זה שהיא קלה וקלילה - אהבתי את הנקיונות של טקסט שבה, אבל יש בה עוד יכולותאתה מתקין ומיד יש לך כל מיני אלגוריתמים פופולאריים לעבודה על טקסטלא יותר מדי עמוק אבל גם לא יותר מדי - פשוט וממש נחמדלמי שלא אוהב את הדוקומנטציה (Documentation) של Docker, יש docker-cheat-sheet (באתר של Docker)כאן יש את כל הדוקומנטציה שבאתר - משוטח לקובץ Markdown אחד, הכל ב-Repositoryגם נחמד - וגם יותר קל לחפש, וגם יותר נוח להשאיר פתוח כל הזמן . . .(אלון) רשום פה “4 months ago” . . .(דותן) כן, הדוקומנטציה הרשמית כנראה מתעדכנת יותר תדיר, אבל יש פה את הדברים שהם Basic ורוב מה שלפעמים אתה אולי שוכח אז יש לך.עוד ספרייה בשם mimalloc - נושא שהוא קצת יותר Low-level ו-hardcore, דיברנו על זה קצת בעבר - הספרייה היא לשימוש ב-Allocator ש-Microsoft הוציאוהם בעצם הפכו ל-Allocator עם ה-Performance הכי טוב בשוק, פחות או יותרלאן זה רלוונטי? רלוונטי לספריות או כלים שבנויים על ++C, וב-Space האישי שלי - על Rust.אנחנו רואים פה כבר הבדלים שהם יחסית משמעותיים - היא עושה ניהול אלוקציה של זכרון (Memory allocation) פי 5 או פי 6 מהר ממה שיש שיש לך ב-Default.יש פה גם פי 10 ופי 20 לעומת אלטרנטיבות אחרותלמי שעוסק ב-Performance או ש-Performance חשוב לו, ויש לו Code Base שעושה המון אלוקציות והמון עבודה “קשוחה” כזו ב-Rust, יכול להחליף את ה-Allocator שלו ברמה של כמה דקות עבודה ולראות האם זה שיפר לו ביצועים.בשפות אחרות אני מניח שזה גםבשורה התחתונה - הופך להיות משהו שהוא פחות אקספירמנטלי וכבר נראה די טוב לשימוש.עוד אייטם שמצא כן בעיני דווקא בגלל ה-Feel שלו - hackingtool: כלי ל-Hackers כמו בשנות ה-90!מישהו לקח סקריפט ב-Python, ובנה כאלה Prompts ולוגו כזה ענק וכו’ - וזה בסך הכל מפעיל מלא Scripts אחרים, סתם הצחיק אותי(אלון ) רגע . . . עכשיו אנחנו עובדים מהבית, אבל במשרד, עם חלון כזה פתוח באופן קבוע זה . . . שמע - להיט!(דותן) כן, ממש 90’s, ממש הזכיר לי את זה - זה כזה עם תפריטים, שאתה לוחץ ואז מופיע התפריט הבא, ויש כותרת אחרת ועוד תפריט, עד שבסוף אתה מגיע למה שאתה רוצה להפעיל ואומר לו “תפעיל!” . . . ממש s’90 ונוסטלגיהבסוף יש מלא כלי Hacking, ממש המון, אז הוא לקח רק כמה - לא יודע אם זה הכלי הכי טוב ל-Hacking או ל-Pen-Testing, אבל בהחלט הכי מעלה זכרונות(רן) אני זוכר שפעם היו ממש גרסאות Linux שממש היו מיועדות לזה, עם כל הכלים מותקנים . . .(דותן) אה - יש! עדיין יש(רן) עוד עושים כאלה?(דותן) בטח . . . מה שקרה איתן זה שלמשל KALI ו-Backtrack הפכו להיות חברות, באיזושהי דרך, חברות Security שאיכשהו מימנו או קנו, ונוצרה להן מעיין יישות שהיא, מעבר להפצת Linux עם מלא כלי Security, בעצם גם מובילת-דעה בעולם של Pen-Testing, וחלק ממה שהיא עושה זה גם להוציא את ההפצה שנקראת, נגיד, KALI.אז לא רק שהיו - הן גם התרבו ויש כבר די הרבה.ב”ימים של האינטרנט הגרוע” היה לי כזה, בסטנדרט, בתיק - וכשהייתי צריך אינטרנט אז הייתי “משיג” בצורה כזאתגם ה-WiFi של פעם לא היה כזה מתוחכם - לוקח כמה דקות ויש לך סיסמא של מישהו, של ה-WiFi שלו . . .היום זה כבר פחות רלוונטי, זה יותר קשה לעשות(אלון) תגיד - הרצת את זה? יש גם מוסיקה, כמו פעם?(דותן) לא . . . אין מוסיקה, אבל זה אחלה רעיון ל-Pull Request.(רן) זה כולל קפוצ’ון?(אלון) נראה לי שתורנו לקבל קפוצ’ון . . .(דותן) רעיונות מדהים, נראה לי שצריך להוסיף ל Pull Requests - “להוסיף מוסיקה!”ועוד אחד - EasyOCR: מישהו לקח Neural Network, את כל מה שאנחנו מכירים ב-Neural Network ו-Deep Learning וזיהוי טקסט, ארז את זה בספרייה ויצר OCR שמזהה כמה וכמה שפות.אני חושב שהדגש הוא על קלות ההפעלה, או איך שלא נקרא לזהבעצם, בשלוש שורות - יש לך OCR, מה שבדר”כ היינו עושים tesseract כזה, שזה חינמי? אז פה כבר אפשר לקחת, לנסות ולראות אם זה נותן יתרון משמעותי מעל ה-OCR-ים האחרים, החינמיים.(רן) רק נזכיר למי ששכח - OCR זה Optical Character Recognition - היכולת “לקרוא” טקסט(דתן) מקבלים תמונה - מקבלים טקסטואם כבר אנחנו מתמקדים בנושא - ה OCR-ים “מהדור הראשון” לקחו פונטים ואיכשהו היו Coupled לפונטים בדרך שלהם לזהות טקסטהיום זה כבר Neural Network, אז ההבדל הוא די רציניבכל אופן - ה-EasyOCR יודע לעשות את זה גם באנגלית וגם בשפות קצת יותר אקזוטיות: סינית, תאילנדית וכו’. מעניין.אייטם נוסף - gitqlite: אני ראיתי בזה עוד פעם את “איך לא עשו את זה כבר?” - מישהו לקח Git Repo ולקח SQLite . . . היה לנו אייטם כזה פעם, שמישהו לוקח Data, מכניס אותו ל - SQLite ויוצר לו ספריית תחקור . . .אני חושב שזה היה אפילו מישהו ישראלי, זה היה נקרא q, לא? אם אני זוכר נכון . . .(רן) הראל בן עטיה כתב את q, שבאמת לוקח Data, שם אותו בתוך SQLite ואז מתשאל אותו.(דותן) כן, אז שם זה היה JSON אם אני זוכר נכון, וכאן זה Git Commits או Git בכלל - אני מניח שככה הוא בנה את זה: לקח Git Log ועשה לו קצת Parsing או אולי משהו קצת יותר מתוחכם, דחף את זה ל-SQLite לכמה טבלאות, ועכשיו יש לך כלי Command Line שאתה יכול להפעיל שאילתות מעל ה-Repo שלך או מעל ה-Git - שזה די מגניברעיון כזה פשוט ש”איך אף אחד לא חשב על זה קודם?”(רן) במקרה של q, אני חושב שהיו לו כמה סוגים של Inputs - גם JSON וגם CSV וגם Output של פקודות, שהוא היה יכול לפרסר (Parsing) אותן כטבלאות.(דותן) מגניב . . . צריך לבדוק מה הוא עשה ב-gitqlite, אבל אולי אפשר להזרים את זה לתוך q . . . בעצם לא, זה SQLite . . .ואייטם אחרון (כמעט) - practical-python: לא יודע אם זה כזה Highlight כי יש כל כך הרבה resources ללמוד Python, אבל כשהסתכלתי על זה אז משהו קפץ לי פה - השם של מי שעשה את זה הוא David Beazley - וכל מי שעשה Python בשנות ה-2000 מכיר את David Beazley, רן מכיר בטוח . . .(רן) לא מכיר . . .(דותן) הוא עשה את ה-Python Cookbook והיה די חלוץ בעולם ההוראה ה Python-ימה שהוא בעצם עושה זה לפתוח את הקורס שלו, שהוא כתב שהוא העביר יותר מ-400 פעמים, סוג של Training שלו - הוא פותח אותו ועושה אותו חינם ופתוח ב-GitHub, ואפשר ללכת ולעשות את הקורס.יש שם Exercises והוא טוען, ואני מניח שהוא צודק - שהקורס הזה הוא בעצם למידה שלו, שהוא שייף לאורך משהו כמו 20 שנה אחורה.מעניין לפחות להסתכל מה יש שם.ואייטם ממש אחרון - !HEYגובל בדרמה, ואני מניח ששמעתם מה היה עם !HEY . . .(רן) לא - ספר לנו!(דותן) אה, אוקיי . . אז יש את ה-Email החדש שנקרא !HEY, אם אפשר לקרוא לזה ככה, ש DHH . . .(רן) זה Email client?(דותן) לא יודע אם Email client, זה ממש email . . .מחליף את Gmail באיזשהו מובן, ש-DHH ו-Basecamp וכל הקבוצה הזו הוציאו.זה לא של Basecamp, אבל זה חלק מהכלים של Basecamp, נראה לי, בקטע של Productivityמה שהוא אומר זה שהוא הוציא מייל שהוא לא של אף יישות גדולה, לא יודע אם להוסיף “מרושעת” אבל כנראה שזו הכוונה שלו, שהוא תומך ב-Privacy וכו’אבל העניין שהתפתח הוא ש-DHH כהרגלו, יש לו איזשהי מנטרה ל-business שהיא מאוד ידועה, וכשהוא הגיש את האפליקציה של !HEY ל-Apple App Store, אז הוא עבר על ה-Policy של in-app purchase - וקיבלת אפליקציה שאי אפשר להשתמש בה, אלא אם כן את הולך לאתר הנפרד, שלא קשור ל-app Store, של !HEY, ואז אתה משלם ואתה כן יכול להשתמש בה . . . ו-Apple - כמובן שזה נוגד את ה-Term & conditions שלהם, אתה לא יכול לתת אפליקציה שאתה לא יכול להפעיל אותה בלי לשלם, ולשלם בתוך ה-Ecosystem של Apple - אז הם עשו לו Ban לאפליקציה . . .ואז התחילו משהו כמו שבועיים של טרור-טוויטר של של DHH נגד Apple, והתפתחו כל כך הרבה Threads ושיחות מטורפות מעל Twitter וזה די “שבר את Twitter” - ובסוף Apple וויתרו.וזהו - זה היה HEY . . .(רן) רגע - אז הם נותנים לו לעשות Purchase מחוץ ל App Store? בתוך האפליקציה?(דותן) הם סוג-של-וויתרו, וגם הוא סוג-של-וויתר - אבל זה היה . . . אם היית קורא את ה-Twitter בימים האלה אז כאילו נראה היה שיש פה מלחמה ואף אחד לא הולך לרדת מהעץ - אז בסוף הוא עשה גרסא סוג-של-חינמית והם סוג-של-וויתרו על החוקים הנוקשים שלהםאפילו מישהו פתח אתר כזה … היה איזה VP ב-Apple שאמר “You download the app and it doesn’t work”’ ואז מישהו פתח אתר כזה בשם YouDdownloadTheAppAndItDoesntWork.com - ושם היו Screenshot של כל האפלקיציות שאתה מוריד והן לא עובדות.הבדיחה היא שהן לא באמת לא עובדות . . .בין השאר היו גם Spotify ו-Netflix וכו’, וכולן במודל הזה - ב-Apple אמרו שזה Reader וזו לא בדיוק אפליקציה, אבל גם Gmail זה Reader . . . בקיצור, התפתחו שם כל מיני דיונים פילוסופיים מסובכיםיש כאלה שטוענים שזה היה PR Stunt של DHH, כי זה נתן המון פרסום - מעבר ל-Twitter זה עשה המון גלים בכל “אתרי החדשות לגיקים”, אבל זה…מה שנותר לעשות זה לנסות להשתמש בHEY ולנסות להחליף את המיילים שאתם מכירים בחינם - בכסף.(רן) יפה אז סיפקת לנו את הדרמה של היום, בהחלט.(אלון) אני עדיין לא מבין למה אני צריך להחליף את האימייל שלי מכל הסיפור . . . (דותן) אז אמרתי - אתה מוזמן להחליף את האימייל שלך באימייל אחר - בתשלום!(אלון) במקום בחינם?(דותן) כן(רן) אני חושב שזה הקטע שהוא לא מבין, דותן, אבל נסביר לו אח”כ.לאוסף(דותן) סתם - מה שהוא מוכר בסוף זה Privacy - במחיר של $99 לשנה, אתה מקבל Privacy: הוא חוסם לך Trackers וכאלה, ואתה מקבל כתובת אימייל של hey.com, שזה כאילו מגניב . . . אפשר לפתוח לרגע פסקת ציניות? כןלפני ההשקה, כי DHH חימם את כל Twitter, מישהי עשה לו Reply ואמר לו “כבר השגתי כניסה ל-HEY, והכתובת של זה Hey@username” - הפכה את ה-Domain ואת השם, שזה כאילו . . . בסוף את משלם על Domain של שלוש אותיות, זה מה שקורה.(אלון) כן - ואז תתחיל להקריא את זה בשירות שאתה צריך בטלפון: “לאן לשלוח?” - “לAlon@Hey.com” - “מה?! H?” - אנשים לא מבינים, עזוב אותך, למי אכפת שלוש אותיות?(דותן) היה שם קטע נחמד - קיבלתי Invite יחסית מוקדם, אז הדבר הראשון שאתה עושה כשאתה מקבל Invite יותר מוקדם מכולם זה לנסות לתפוס שמות . . .אז יש שם קטע נחמד של מעט אותיות - נגיד, שתי אותיות זה סכום מטורף, אבל שלוש אותיות זה כבר $350 לשנה, נדמה לי - ואז אתה כבר מתחיל לתהות . . .כמובן שניסיתי “DHH” - לא היה . . . ואז ניסיתי DNH, שזה קצת דומה ל-DHH - וכן היה.אז סתם - לידיעתם ה-fisher-ים שם בחוץ, אפשר לעשות דברים מעניינים . . . אבל לא - לא שילמתי(רן) לא שילמת $350?(דותן) לא - לא הלכתי על זה(אלון) היה פעם למישהו סקריפט שתופס שמות קצרים ב-Twitter, אבל בוא נעצור פה.(רן) אני כבר רואה את הבלוג-פוסט הבא: “אתה קונה שם בשלוש אותיות ב-$350 - וזה לא עובד!”(דותן) “com.”(רן) טוב, קצת חרגנו - הגיע הזמן לקטע של המצחיקולים, כדי להקל על האווירה אחרי הדרמה הרצינית הזאת שקרתה פה . . .הראשון - טוויט של bradfitz, אחד המפתחים המפורסמים בעולם - היה בצוות ה-Core של Go, כתב את Memcached בעבר,ועודהוא כתב ב-Twitter שהוא אחרי יום ארוך של ראיונות ורוצה להוציא את התסכול שלו - אז הנה השאלה: “Print the largest even integer in an array of integers.” - וספקו לי אך ורק תשובות שגויותוזה ניהיה מצחיק . . . אנשים הציעו כל מיני רעיונות לאיך להדפיס את המספר הזוגי הגדול ביותר במערך של Integersלמשל - תשובה אחת זה “(print(a” - פשוט להדפיס את כל מערך, והמספר הזוגי הגדול ביותר כנראה יודפס שם . . . זה עובד.תשובה נוספת - לעשות לולאה בין 0 ל-MaxInt ולהדפיס את כל המספרים - וגם במקרה הזה המספר הזוגי הגדול ביותר במערך כנראה יודפס איפשהו שם.בקיצור - היו כל מיני תשובות מתחכמות כמו “קודם כל צריך ליצור מודל ואז לאמן אותו” והייתה תשובה ב-Shell עם Grep ו-Sort . . . בקיצור, כל מיני תשובות מאוד משעשעות, מוזמנים לעבור על ה-Thread ב-Twitterוכן - חלק גם נתנו רפרנסים לתשובות ב-Stack Overflow. . . עשו מזה מטעמים. נחמד, משעשע.אייטם הבא - ypp, או: Yid++ כמו שהם כותבים - the oylem’s first programming shprachמי שיודע פה יידיש - מוזמנים לתרגם . . .וכן - Yid++ זה בעצם Compiler מיידיש ל-++C, אם אני לא טועהזה למעשה ה-Compiler הראשון בעולם, או משהו כזהאתם מוזמניםללכת לקרוא Source Code של Yid++, למשל - למשל - be_soymech_on זה (Include (iostreamו- holding shitta std זה (namespace(std - למי שזוכר את ה-++C בטח יראה את הדמיוןיש גם -bli_ayin_hara main () bh שזה בעצם (void (main, והוא מחזיר בעצם “bh”, שאני מניח שזה “בעזרת השם”ולמעלה כמובן כתוב בגדול “BSD” - שזה “בסיעתה דשמייא” כמובן . . .(דותן) זה גם מבלבל מבחינה לגאלית . . .(רן) אני בטוח שזה לא יד המקרה . . .(אלון) מעניין האם זה מתקמפל בשבת . . .(דותן) לקחת לי! אני כבר מחכה להגיד את זה!(אלון) סליחה, אתה יכול למחוק את המשפט האחרון שלי? (לא) - דותן, מה רצית להגיד?(דותן) האם זה מתקמפל בשבת? האם ה-Compiler יעבוד בשבת?(רן) בואו נקרא עוד קצת פנינים מהשפה - למשל - >>be_machriz זה >>cout, להדפסהיש פה עוד איזו מילה ביידיש שאני לא מזהה . . .בקיצור - משעשע(דותן) בינתיים אני גם מסתכל בקוד - וצריך לפרגן פה לבנאדם שכתב את זה: בחור בשם משה שור מחיפה, מהטכניון - קל”ב אליך . . .יש פה גם דברים מגניבים בקוד, כמו קובץ ++C שנקרא ani_maymin.cpp . . . בקיצור, גם הקוד עמוס בדברים כאלהזה כל כך חזק, שאני מאמין כבר שזה אמיתי . . . אני רואה שיש כאן הכשר מאיזשהו רב ל - Code base . . . זה מתחיל להיות כבר . . . צריך לבדוק את זה איתו.(רן) יש תעודת הכשר לקוד, יפה, הלך עם זה עד הסוף - כל הכבוד, משה!(רן) אני רואה שיש פה שניים - משה וגם עוד מישהו שתרם - יחיאל קלמנסון, שהוא דווקא מניו-יורק(דותן) אני חושב שזה אמיתי, זה נראה לי אמיתי, זו באמת שפה כשרה . . .(רן) לגמרי - סחטיין על העבודה חברים, אם אתם שומעים אותנווזהו - אחלה צחוק, תקראו קצת את הקוד, אני בטוח שתזהו הרבה יידיש גם אם אתם לא דוברי יידיש שוטף, בטוח שתזהו הרבה.זהו - זה הכל, כאן אנחנו מסיימים.תודה לכם אלון ודותן, היה משעשע ומחכים כרגיל - נתראה בפעם הבאה.הקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול
Sponsored by DigitalOcean: pythonbytes.fm/digitalocean - $100 credit for new users to build something awesome. Michael #1: Ubuntu 20.04 is out! Next LTS support version since 26th April 2018 (18.04). Comes with Python 3.8 included! Already upgraded all our servers, super smooth. Kernel has been updated to the 5.4 based Linux kernel, with additional support for Wireguard VPN, AUFS5, and improved support for IBM, Intel, Raspberry Pi and AMD hardware. Features the latest version of the GNOME desktop environment. Brings support for installing an Ubuntu desktop system on top of ZFS. 20.04 already an option on DigitalOcean ;) Brian #2: Working with warnings in Python (Or: When is an exception not an exception?) Reuven Lerner Exceptions, the class hierarchy of exceptions, and warnings. “… most of the time, warnings are aimed at developers rather than users. Warnings in Python are sort of like the “service needed” light on a car; the user might know that something is wrong, but only a qualified repairperson will know what to do. Developers should avoid showing warnings to end users.” Python’s warning system …: It treats the warnings as a separate type of output, so that we cannot confuse it with either exceptions or the program’s printed text, It lets us indicate what kind of warning we’re sending the user, It lets the user indicate what should happen with different types of warnings, with some causing fatal errors, others displaying their messages on the screen, and still others being ignored, It lets programmers develop their own, new kinds of warnings. Reuven goes on to show how to use warnings in your code. using them creating custom warnings filtering Michael #3: Safer file writer pip installable, see the article and the repo too. Consider this code: with open(filename, 'w') as fp: json.dump(data, fp) It’s using with, so it’s good right? Well the file itself may be overwritten and maybe corrupted With safer, you write almost identical code: with safer.open(filename, 'w') as fp: json.dump(data, fp) Now if json.dump() throws an exception, the original file is unchanged, so your important data file lives to see another day. The actual 28 lines of code is pretty interesting: https://github.com/rec/safer/blob/v1.0.0/safer.py#L70-L97 Brian #4: codespell codespell : Fix common misspellings in text files. It's designed primarily for checking misspelled words in source code, but it can be used with other files as well. I got a cool pull request against the cards project to add a pre-commit hook to run codespell. (Thanks Christian Clauss) codespell caught a documentation spelling error in cards, where I had spelled “arguments” as “arguements”. Oops. Spelling errors are annoying and embarrassing in code and comments, and distracting. Also hard to deal with using traditional spell checkers. So super glad this is a thing. Michael #5: Austin profiler via Anthony Shaw Python frame stack sampler for CPython Profiles CPU and Memory! Why Austin? Written in pure C Austin is written in pure C code. There are no dependencies on third-party libraries. Just a sampler - fast: Austin is just a frame stack sampler. It looks into a running Python application at regular intervals of time and dumps whatever frame stack it finds. Simple output, powerful tools Austin uses the collapsed stack format of FlameGraph that is easy to parse. You can then go and build your own tool to analyse Austin's output. You could even make a player that replays the application execution in slow motion, so that you can see what has happened in temporal order. Small size Austin compiles to a single binary executable of just a bunch of KB. Easy to maintain Occasionally, the Python C API changes and Austin will need to be adjusted to new releases. However, given that Austin, like CPython, is written in C, implementing the new changes is rather straight-forward. Creates nice flame graphs The Austin TUI is nice! Web Austin is yet another example of how to use Austin to make a profiling tool. It makes use of d3-flame-graph to display a live flame graph in the web browser that refreshes every 3 seconds with newly collected samples. Austin output format can be converted easily into the Speedscope JSON format. You can find a sample utility along with the TUI and Austin Web. Brian #6: Numbers in Python Moshe Zadka A great article on integers, floats, fractions, & decimals Integers They turn into floats very easily, (4/3)*3 → 4.0, int → float Floats don’t behave like the floating point numbers in theory don’t obey mathematical properties subtraction and addition are not inverses 0.1 + 0.2 - 0.2 - 0.1 != 0.0 addition is not associative My added comment: Don’t compare floats with ==, use pytest.approx or other approximation techniques. Fractions Kinda cool that they are there but be very careful about your input Algorithms on fractions can explode in time and to some extent memory. Generally better to use floats Decimals Good for financial transactions. Weird dependence on a global state variable, the context precision. Safer to use a local context to set the precision locally >>> with localcontext() as ctx: ... ctx.prec = 10 ... Decimal(1) / Decimal(7) ... Decimal('0.1428571429') See also fractions in std lib decimals in std lib What Every Computer Scientist Should Know About Floating-Point Arithmetic Extras: Brian: python 3.9.0a6, now with the new PEG parser for CPython Michael: Keep subscribing over at youtube: pythonbytes.fm/youtube Joke: Unix is user friendly. It's just very particular about who its friends are. (via PyJoke) If you put 1000 monkeys at 1000 computers eventually one will write a Python program. The rest will write PERL. (via @JamesAbel)
Sponsored by DigitalOcean: pythonbytes.fm/digitalocean Topic #0: Quick chat about COVID 19 Brian #1: What the heck is pyproject.toml? Brett Cannon pyproject.toml PEP 517 and 518 define what this file looks like and how to use it to build projects We’re familiar with it being used for flit and poetry based projects. Not so much with setuptools, but it does work with setuptools. You can add configuration for non-build related activities, such as coverage, tox, even though those tools support their own config files. Black is gaining popularity, probably more so than the use of flit. Black only uses pyproject.toml for configuration (what little config is available. But there is some.) So. Project adds use of black, ends up configuring with with pyproject.toml, but not specifying build steps, No builds are broken. :( Brett has the answers. Add the following to pyproject.toml. Then go read the rest of Brett’s article. It’s good. [build-system] requires = ["setuptools >= 40.6.0", "wheel"] build-backend = "setuptools.build_meta" Michael #2: Awesome Python Bytes Awesome List By Jack McKew Will be adding to this repo whenever I hear about awesome packages (in my opinion), PRs are welcome for anyone else though! Already has 5 PRs accepted Comes with graphics!!! Like all good presentations should. Some fun projects this made me recall: Great Expectations - for validating, documenting, and profiling, your data pandas-vet - a plugin for flake8 that provides opinionated linting for pandas code. GeoAlchemy - Using SQLAlchemy with Spatial Databases. vue.py - Provides Python bindings for Vue.js. It uses brython to run Python in the browser. Remember we have speedy search for our content over at pythonbytes.fm/search Brian #3: Publishing package distribution releases using GitHub Actions CI/CD workflows PyPA You’ve moved to flit (or not) and started using GitHub actions to build and test whenever you push to GitHub. So awesome. But now, there’s still a manual step to remember to publish to PyPI. And maybe we should be checking publish more often with the Test PyPI server. This article is a step by step walkthrough. It’s a bit dated, 3.7. So I’m trying to walk through all the steps with my cards project and it will be finished by the time this episode goes live. Stumbling blocks right now: I’ve left my email blank, no email for author or maintainer in pyproject.toml, because neither flit, nor pip require it. But PyPI still does. grrrr. Trying to decide between: normal email, setting up a new email for it, using a me+pypi gmail alias, setting up a new email address just for pypi, etc. test pypi fails due to “file already exists”, so, that’s always gonna be the case unless I bump the version, so gonna have to try to figure out a way around that. Michael #4: Rich text for terminals Rich is a Python library for rich text and beautiful formatting in the terminal. Add colorful text (up to 16.7 million colors) with styles (bold, italic, underline etc.) to your script or application. Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, and tracebacks -- out of the box. Centered or justified text Tables, tables! Syntax highlighted code Markdown! Can replace print() and does pretty printing of dictionaries with color. Good Windows support for the new Windows Terminal Brian #5: psutil: Cross-platform lib for process and system monitoring in Python “psutil (process and system utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network, sensors) in Python. It is useful mainly for system monitoring, profiling and limiting process resources and management of running processes. It implements many functionalities offered by classic UNIX command line tools such as ps, top, iotop, lsof, netstat, ifconfig, free and others.” Useful for an incredible amount of information about the system you are running on: cpu times, stats, load, number of cores memory size and usage disk partitions, usage sensors, including battery users processes and process management getting ids, names, etc. cpu, memory, connections, files, threads, etc per process signaling processes, like suspend, resume, kill Michael #6: How python implements super long integers by Arpit Bhayani In C, you worry about picking the right data type and qualifiers for your integers; at every step, you need to think if int would suffice or should you go for a long or even higher to a long double. In python, you need not worry about these "trivial" things because python supports integers of arbitrary size. 2 ** 20000 in C is INF where as in Python’s it’s fine, just at 6,021 digit result. But how!?! Integers are represented as: typedef struct { PyObject ob_base; Py_ssize_t ob_size; /* Number of items in variable part */ } PyVarObject; Other types that has PyObject_VAR_HEAD are PyBytesObject PyTupleObject PyListObject # Python's number: struct _longobject { PyObject ob_base; Py_ssize_t ob_size; /* Number of items in variable part */ digit ob_digit[1]; }; A "digit" is base 230 hence if you convert 1152921504606846976 into base 230 you get 100 Operations on super long integers Addition: Integers are persisted "digit-wise", this means the addition is as simple as what we learned in the grade school Subtraction: Same Multiplication: In order to keep things efficient implements the Karatsuba algorithm that multiplies two n-digit numbers in O(nlog23) elementary steps. Optimization of commonly-used integers: Python preallocates small integers in a range of -5 to 256. This allocation happens during initialization Extras: Michael: We're coming to YouTube, probably. :) npm is joining GitHub Joke:
Everyone told us that we'd never get 7 episodes in. WELL LOOK AT US NOW MOM! We're rich and famous thanks to all 50 people who've listened so far. We won't forget what you've done for us. This time it's Florida and more importantly, China's turn to be put on blast so now we're on a list. Your favorite segment, Shut Up & Swallow This! makes its triumphant return. We also break new ground on subjects like: Integers, how do they work? Initialisms vs Acronyms Fantasy Football Pro Strats Tim dodges his royal upbringing Vape juice market manipulation How Addison caused the Syrian refugee crisis How to properly tell a 5 year old Santa isn't real Why don't we price things at $69.69? COWARDS! Tim cancels Target We tried really hard to keep it to an hour this week....but we're bad with time management, ok! I hope you're happy! If you want to see images of THICC Flubber and other things we talk about in the episode, Follow us on Instagram I guess? --- Send in a voice message: https://anchor.fm/part-time-pod/message
This week, Liberty and María Cristina discuss The Whisper Man, Color Me In, Into the Planet, and more great books. This episode was sponsored by Book Riot Insiders, ThirdLove, and Liveright, publishers of Rion Amilcar Scott’s The World Doesn’t Require You. Pick up an All the Books! 200th episode commemorative item here. Subscribe to All the Books! using RSS, iTunes, or Spotify and never miss a beat book. Sign up for the weekly New Books! newsletter for even more new book news. Books discussed on the show: The Whisper Man by Alex North Sparrowhawk by Delilah S. Dawson, Matias Basla, Rebecca Nalty, Jim Campbell The Reckless Oath We Made by Bryn Greenwood An American Sunrise: Poems by Joy Harjo Color Me In by Natasha Díaz Insurrecto by Gina Apostol The Dearly Beloved by Cara Wall Into the Planet: My Life as a Cave Diver by Jill Heinerth What we're reading: Prime Suspects: The Anatomy of Integers and Permutations by Andrew Granville, Jennifer Granville, Robert J. Lewis Dead Girls by Abigail Tarttelin More books out this week: The Revolution of Birdie Randolph by Brandy Colbert Life of the Party: Poems by Olivia Gatwood Turning Darkness Into Light by Marie Brennan Echoes: The Saga Anthology of Ghost Stories by Ellen Datlow, Dale Bailey, et al. Carnegie Hill: A Novel by Jonathan Vatner The Last Widow: A Novel (Will Trent) by Karin Slaughter Empty Hearts: A Novel by Juli Zeh, John Cullen (Translator) Stolen Things: A Novel by R. H. Herron The Warlow Experiment by Alix Nathan The Outlaw Ocean: Journeys Across the Last Untamed Frontier by Ian Urbina Middle England by Jonathan Coe The Bird Boys by Lisa Sandlin American Saint: A Novel by Sean Gandert Girls and Their Cats by BriAnne Wills and Elyse Moody Machine: A Novel by Susan Steinberg The Warehouse: A Novel by Rob Hart The Translator's Bride by João Reis Meet Me in the Future: Stories by Kameron Hurley Neil Gaiman's Snow, Glass, Apples by Neil Gaiman (Author), Colleen Doran (Illustrator) The Nine: A Novel by Jeanne McWilliams Blasberg Lies of Descent (FALLEN GODS' WAR) by Troy Carrol Bucher American Magic: A Thriller by Zach Fehst Coventry: Essays by Rachel Cusk Anthony Bourdain: The Last Interview: and Other Conversations by Anthony Bourdain The Murder List: A Novel of Suspense by Hank Phillippi Ryan Tidelands (The Fairmile Series Book 1) by Philippa Gregory Going Dutch: A Novel by James Gregor The World Doesn't Require You: Stories by Rion Amilcar Scott Polite Society by Mahesh Rao The Trojan War Museum: and Other Stories by Ayse Papatya Bucak Savage Appetites: Four True Stories of Women, Crime and Obsession by Rachel Monroe I'm Telling the Truth, but I'm Lying: Essays by Bassey Ikpi
Dan explains how computers store numbers, so that he can talk about what happens when the numbers they store get too big. SourcesInt overflow in C/C++https://www.cs.utah.edu/~regehr/papers/overflow12.pdfGangam Style view count crisishttps://arstechnica.com/information-technology/2014/12/gangnam-style-overflows-int_max-forces-youtube-to-go-64-bit/ESA Rocket lost to floating point casthttp://www-users.math.umn.edu/~arnold/disasters/ariane.htmlhttps://hownot2code.com/2016/09/02/a-space-error-370-million-for-an-integer-overflow/Float -> Int overflow undefined behaviorhttp://blog.frama-c.com/index.php?post/2013/10/09/Overflow-float-integerInt overflow primerhttp://phrack.org/issues/60/10.htmlIPv4 vs IPv6 Article and Discussionhttps://news.ycombinator.com/item?id=17925703Morse Codehttps://www.wikiwand.com/en/Morse_codeBinaryhttps://www.wikiwand.com/en/Binary_number
http://www.audiogedprep.com Full Course is available at: https://gumroad.com/l/wHvQ For $59.99 Lesson Summary: Audio GED Prep Mathematics Lesson 1 Integers and Decimal Definition of an integer/decimal An integer is a positive or negative number that does not have a decimal or fraction. These are what are used when counting objects. When a decimal point is present, everything to the left is an integer, and everything to the right is a decimal. A decimal is a part of an integer. Numbers closer to the decimal point are larger, which is the opposite of how it is for integers. Positive and negative numbers In math, you might see what is called a number line, in which the middle point is marked 0, and numbers are listed as points on a line going out to the left and right. The number 0 is neither positive nor negative, and everything to the right of 0 is a positive number, and everything to the left of 0 is a negative number. You indicate a negative number by putting a dash/minus sign in front of it. Negative numbers have their own set of rules. When you add a negative number, it is the same as subtracting that same number. If you subtract a negative number, it is the same as adding that same number. Just remember that these two are reversed. When you multiply two negative numbers as well, you will always get a positive number. (The minus signs cancel each other out.) If, however, you multiply a negative number and a positive number, you will always get a negative number. Addition Addition is when you take two numbers and combine them to create a new total. Addition is indicated by a plus sign, which looks like a small cross. When you speak an addition equation, you say “five plus six is eleven”, which is the same as 5 + 6 = 11. Subtraction Subtraction is when you take two numbers and take one away from another to create a new total. Subtraction is indicated by a minus sign, which looks like a small dash. When you speak an addition equation, you say “ten minus nine is one”, which is the same as 10 - 1 = 9. Multiplication Multiplication is when you take one number and multiply that number by another number. Multiplication is indicated by a small X or sometimes an *. When you speak a multiplication equation, you say “four times three is twelve”, which is the same as 4 x 3 = 12 or 4 * 3 = 12. Division Division is when you take one number and divide into the number of parts indicated by a second number. Division is indicated by a division sign (÷) or sometimes by a slash (/). When you speak a division equation, you say “ten divided by two equals five”, which is the same as 10 ÷ 2 = 5 or 10/2 = 5. Absolute value Absolute value refers to how many units a number is worth, no matter whether it is positive or negative. You can mark the absolute value by putting vertical lines around a number, such as |2|. The absolute value of ten (|10|) is ten, and the absolute value of negative 10 (|-10|) is still 10. Comparisons Sometimes in math, you need to talk about whether something is greater than or less than, equal to, or not equal to something else. To show that something is greater than something else, you use the sign >. Example: 7 > 4 The sign ≥ means “greater than or equal to”. To show that something is less than something else, you use the sign Example: 2 < 4 The sign ≤ means “less than or equal to”. To show that something is equal to something else, you use the sign = Example: 5-2 = 1+2 To show that something is not equal to something else, you use the sign ≠ Example: 7-3 ≠ 9- 4 Large Addition It is easy to do simple addition in your head, but larger problems often require either a calculator or for you to figure it out on paper. In order to do this put the larger number on top and the smaller number below it so that all the digits line up, the ones in the ones place, the tens in the tens place and so on.
The Wizard of Oz: From Fractions to Formulas - for iPod/iPhone
Transcript -- Using tally sticks, a cake, a thermometer, a number line and graphics boards, David Brannan and Phil Rippon, both of The Open University, look at rational and irrational numbers.
The Wizard of Oz: From Fractions to Formulas - for iPod/iPhone
Using tally sticks, a cake, a thermometer, a number line and graphics boards, David Brannan and Phil Rippon, both of The Open University, look at rational and irrational numbers.
The Wizard of Oz: From Fractions to Formulas - for iPad/Mac/PC
Transcript -- Using tally sticks, a cake, a thermometer, a number line and graphics boards, David Brannan and Phil Rippon, both of The Open University, look at rational and irrational numbers.
The Wizard of Oz: From Fractions to Formulas - for iPad/Mac/PC
Using tally sticks, a cake, a thermometer, a number line and graphics boards, David Brannan and Phil Rippon, both of The Open University, look at rational and irrational numbers.
Integers just don't get the point.Welcome to Show 064! This week's Topic: The C Programming Language! Topics and links discussed in the podcast... The October edition of the 1 MHz podcast is out. Don't miss it!Wikipedia, as usual, a good place to start - this time, on the C Programming Language.Here's an article written by Dennis Ritchie on the history of C. Nothing like getting your history straight from the source!Here's some info on the book: The C Programming Language - note the various human languages it's been translated into...BDS C for CP/M - for free! What a deal.Turbo C 2.01 for DOS, also free, courtesy of the Borland Antique Software collection. Thanks Borland! Be sure to send any comments, questions or feedback to retrobits@gmail.com. For online discussions on Retrobits Podcast topics, check out the Retrobits Podcast forum on the PETSCII Forums page! Our Theme Song is "Sweet" from the "Re-Think" album by Galigan. Thanks for listening! - Earl