<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Pau Blasco i Roca on Medium]]></title>
        <description><![CDATA[Stories by Pau Blasco i Roca on Medium]]></description>
        <link>https://medium.com/@paublascoroca?source=rss-3d2794622a0f------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*OvixCGXxgfj51UHRUSiKgQ.png</url>
            <title>Stories by Pau Blasco i Roca on Medium</title>
            <link>https://medium.com/@paublascoroca?source=rss-3d2794622a0f------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 23 May 2026 15:49:39 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@paublascoroca/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[The Solar Cycle(s): history, data analysis and trend forecasting.]]></title>
            <link>https://medium.com/data-science/the-solar-cycle-s-history-data-analysis-and-trend-forecasting-644bf33b7ed7?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/644bf33b7ed7</guid>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[astrophysics]]></category>
            <category><![CDATA[editors-pick]]></category>
            <category><![CDATA[space]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Thu, 23 Jan 2025 17:44:54 GMT</pubDate>
            <atom:updated>2025-01-23T17:44:54.810Z</atom:updated>
            <content:encoded><![CDATA[<h3>The Solar Cycle(s): History, Data Analysis and Trend Forecasting</h3><h4>A brief article on the Solar Cycles, the history behind their observation, data analysis and time series forecasting for the incoming solar maximum in 2025–2026 and the next decades</h4><p>You have probably heard about the 11-year Solar Cycle and about solar maximums and minimums at some point in your life — every 11 years, solar activity peaks, with more auroras in the poles and more noise to electronic devices. This is the period where Solar Storms also appear, and when the sunspots also show up.</p><p>Well, as things usually are in physics, it is not that simple.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*U5WqCrnnucg1Abcw3qRpmw.jpeg" /><figcaption>A solar cycle: a montage of ten years’ worth of <a href="https://en.wikipedia.org/wiki/Yohkoh">Yohkoh</a> SXT images, demonstrating the variation in solar activity during a solar cycle, from after August 30, 1991, to September 6, 2001. Credit: the Yohkoh mission of <a href="https://en.wikipedia.org/wiki/Institute_of_Space_and_Astronautical_Science">ISAS</a> (Japan) and <a href="https://en.wikipedia.org/wiki/NASA">NASA</a> (US). Image under the CC0 1.0 license, dedicated to the public domain (<a href="https://en.wikipedia.org/wiki/Solar_cycle#/media/File:The_Solar_Cycle_XRay_hi.jpg">source</a>).</figcaption></figure><p>When it comes to Space, the Solar Cycle (and in general, seasonality and patterns in nature) has always been one of my fascinations. Its behavior is far from the simple 11-year periodicity that we might have heard of: it is incredibly more complex than that. Multiple combined cycles are believed to be taking place, some of them spanning centuries or even millennia. Of course, these kinds of observations and modelling only use indirect information and lay more on the descriptive side. To be able to generate an <em>explicative</em> model would require scientists to fully understand the distribution and mechanics of the core of our star, and there is still work to be done. In the meantime, we will keep on studying these secondary phenomena, such as sunspots, SPE, solar X-ray activity and UV readings, and collecting and analyzing the data that is available to us.</p><p>This article aims to cover the background and history of solar observation, overview current methods and models, perform data analysis and model fittings on a publicly available (NOAA’s Solar Flare Index) dataset, and forecast future trends.</p><h3>The history of solar observation</h3><p>The oldest eclipse records found date back to 1223 BCE, in Ugarit (now Syria), written down on a clay tablet. From that onwards, ancient Babylonians seem to have kept track of eclipses, even going as far as being able to predict them [1,6]. Sunspots were first observed around 800 BCE, both by Babylonians and the Chinese. These records were taken on command of the emperors and noted some “darkenings” or “obscurate” patches in the Sun [1,6]. Five centuries later, similar readings were made by the Greek scholar Theophrastus [2].</p><p>During the Middle Ages, more and more observations were taken note of. Aldemus, in the year 807 CE, thought he was seeing Mercury pass in front of the Sun, but it was later found to be a notably large sunspot. He wasn’t the only one, since in the coming years, more incorrect attributions to planets in transit took place [3]. Observations of the solar corona and of solar flares or CMEs happened, respectively, in the year 968 and in 1185, both during a solar eclipse [4,6].</p><p>During the Modern Era, Thomas Harriot, in 1610, was the first to observe sunspots with a telescope, with Johann Goldsmith confirming his sightings just a year later [5,6]. They both paved the way for Galileo Galilei, who claimed three years later that the sunspots were surface features of the Sun, and not planets or other celestial bodies [6]. The studies were slowed down by what we know of the Maunder Minimum, a period of low solar activity, with very few sunspots and CMEs.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/516/1*QwStRF9EEFLKpVU1BtJRFw.jpeg" /><figcaption>A <a href="https://en.wikipedia.org/wiki/Sunspot_drawing">drawing of a sunspot</a> in the Chronicles of <a href="https://en.wikipedia.org/wiki/John_of_Worcester">John of Worcester</a>, ca. 1100. Image from the public domain (<a href="https://en.wikipedia.org/wiki/Solar_cycle#/media/File:ChroniclesofJohnofWorcester.jpg">source</a>).</figcaption></figure><p>In the early XIXth century, radiation (IR and UV) readings from the sun started being recorded, and solar spectrometry was born. Samuel Heinrich Schwabe was the first to theorize about a “ten-year Solar Cycle” based on sunspot activity. Gustav Spörer claimed that the cycle lasted around 70 years, attempting to explain the Maunder Minimum. Rudolf Wolf studied the past sunspot data and attempted to collect historical records for later studies. Later, independent researchers found a connection between this cycle and magnetic activity on Earth, becoming the first research into Earth-Sun interactions. [7]</p><p>During the XXth century, many solar observatories were built around the world, specializing in certain areas of the sun. Also, many satellites and probes have been launched to study solar activity. The f10.7 index (radio emissions of wavelength of 10.7cm) has been incredibly useful for solar activity recording. Other, more modern methods of indirect observation include looking into geology (rock formations, layering and magnetization) or carbon-14 decay in tree rings or ice sheets [8].</p><p>From then on, various independent scientists have been trying to predict solar activity and the behaviour of the “Solar Cycle”. There exist claims as different as saying that the 25th Cycle might not happen at all (NSO) [9], or that it will have the same intensity as Cycle24 [10] (NOAA).</p><h3>State of the art</h3><p>NASA’s “Space Place” defines the Solar Cycle as “the cycle that the Sun’s magnetic field goes through approximately every 11 years. […] the Sun’s magnetic field completely flips. […] (the Solar Cycle) affects activity on the surface of the Sun, such as sunspots […]” [11]. There is, later again in the text, emphasis on the “approximation” of this 11-year period. And why is that?</p><blockquote>Every eleven years, approximately, the Sun’s magnetic field completely flips — North goes to South and viceversa — causing heightened activity in the star’s surface, such as solar storms and coronal mass ejections.</blockquote><p>The most recent studies [12] have determined that the Sun Cycle length has remained the same for at least 700 million years: around 10.62–11 years per flip. Still, many factors of this said cycle are still unknown to us: for example, a study in 2009 revealed that a very short cycle (less than 8 years) had taken place in the XVIIIth century, completely shaking up the feeling of stability and predictability that had reigned before [13]. Simply overviewing the historical records, one can see that said cycle is far from constant.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rJpJ7HWBmTenoKV4-8YH2g.png" /><figcaption>Plot showing historical sunspot records, by <a href="https://en.wikipedia.org/wiki/User:Dragons_flight">Robert A. Rohde</a> (part of the Global Warming Art project). Image in the public domain, under a CC BY-SA 3.0 license (<a href="https://en.wikipedia.org/wiki/Solar_cycle#/media/File:Sunspot_Numbers.png">source</a>).</figcaption></figure><p>Plenty of effects and modulating patterns have been theorized, trying to describe all these irregularities. As a summary:</p><ul><li><strong>Waldeimer effect</strong>: Term coined after Max Waldeimer, who observed that the cycles’ maximum amplitude and the time between minimum and maximum are inversely proportional. So, the more “aggressive” and “violent” cycles also happen faster [14].</li><li><strong>Gleissberg cycle</strong>: it describes a broader, slower cycle of 70–100 years (so every seven or eight cycles) that modulates the activity of the 11-year cycles. This correlates well enough with data from carbon-14, used for the periods of time when there were no regular, systematic human observations taking place [8].</li><li><strong>Suess-de Vries cycle</strong>: this overarching cycle has only been observed in radiocarbon proxies (not by direct observation of sun-phenomena) and has a period of around 210 years. Still, since we only have 400 years of sunspot records, there isn’t still a correlation significant enough to validate it [8].</li></ul><p>And this is where things get interesting. Larger, longer cycles could exist, but there are simply not enough records to confirm or deny their existence. Also, the composition and modulation of these effects, one on top of another, makes describing and modelling the solar cycle orders of magnitude more complex.</p><h3>Data Analysis: NOAA database</h3><p>For this section, we will be using the data from the sun flare index from the National Centers for Environmental Information (formerly the National Oceanic and Atmospheric Administration). The repository links and data folders, as well as all files, can be found in Annex I. As a quick side note, I would not recommend using this data directory as is, since the state of it was well below standards. I have curated and properly formatted the dataset in my GitHub repository, as well as uploaded all the source code and data. More information on this in Annex I.</p><p>The Flare Index Data used in this study was calculated by T. Atac and A. Ozguc from Bogazici University Kandilli Observatory, Istanbul, Turkey. They have done an amazing job at recording this invaluable information, and if it weren’t for them, these kinds of data analysis and forecasts could not be performed.</p><p>The Solar Flare Index (SFI) is a measure containing information from several solar and atmospheric readings, as the F10.7 index, H-alpha flare importance, 200MHz flux, and sudden ionospheric disturbances, among others. It’s an excellent indicator of solar activity.</p><p>We will start the study by displaying data on a daily, monthly, and yearly basis. These averages will allow us to see the unpredictability but also the periodicity of the Sun Cycles.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aAQJRYJEBf0PcQAgsweMGA.png" /><figcaption>Yearly and monthly Solar Flare Indices for the period of 1976–2023. Raw data by Kandili Observatory, processing and plots generated by me (Python, Seaborn and Matplotlib). Image by Pau Blasco i Roca.</figcaption></figure><p>And here is a full resolution visualization of the most fine-grained data available: the daily SFI records. I have also plotted the monthly data, in orange, as well as the plus-minus one sigma ranges (CI of 65%), with green (upper) and red (lower), calculating the variance monthly. This shows just how unpredictable these high energy peaks are.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dHAsE-qdSQCgoDkTzxD4qg.png" /><figcaption>Daily and monthly Solar Flare Indices for the period of 1976–2023. Raw data by Kandili Observatory, processing and plots generated by me (Python, Seaborn and Matplotlib).</figcaption></figure><p>Just by overviewing these plots, we can see the unpredictability that was described in the former sections. While the monthly average values don’t ever exceed SFI values of 30–32, the daily values can reach up to the 160s, more than five times higher. These high-energy events usually duplicate or triplicate the upper +1 sigma bound, exemplifying well how complicated they are to predict.</p><h3>Predicting Cycles 25 and 26. Time series forecasting.</h3><p>Now, a time series data analysis would not be complete without some predictions and forecasting. We will use two methods for it: a SARIMA model and a compounded sinusoidal mathematical model.</p><p>The SARIMA model consists of the joint usage of an Auto-Regressive model, a Moving Average model, differentiation, and Seasonality. It is crucial that we use a SARIMA instead of an ARMA-ARIMA model, because (see Annex II) a model that doesn’t consider seasonality will very likely not be able to properly represent cyclic behavior (like that of the Sun’s Cycle).</p><p>We have chosen a p=d=q=1, P=D=Q=1, s=12*11 as an initial guess. The AR and MA values are standard for time-series forecasting, and the seasonality factor was set to 12*11 (132 months, or eleven years), since we will be predicting values monthly. We also decided to differentiate once, in hopes of focusing on the variation between months instead of the actual SFI values per month. The resulting model, trained on 576 observations, had a log-likelihood value of -1223.6 and predicted the following years’ activity realistically.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TLGAaio04ddcCKSOoaNKgw.png" /><figcaption>Prediction of the SARIMA model, generated by me (Python, Seaborn, Matplotlib, Numpy and Statsmodels). Image by Pau Blasco i Roca.</figcaption></figure><p>We see a prediction similar to NOAA’s claims [10], which is that Cycle 25 will be very similar to Cycle 24. The model dared to also predict some peaks, portraying C25 as a double peaked cycle. Cycle 26 predictions seem conservative enough, with a wide minimum around the years 2027–2033.</p><p>Now, we also decided to construct a mathematical model utilizing a composition of sinusoidal waves. We decided to fit parameters for both the 11-year cycle and Gleissberg’s 70–100 year cycle, which we set to a period of 8 cycles (88 years). The results, while not showing any peaks, are satisfactory, and could model well the yearly averaged SFI values for the forthcoming years.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aY9Hus5sNG6moXsE2PDVyQ.png" /><figcaption>Mathematical model predictions, plotted on top of the observed monthly data, a moving average window of 12 months, and SARIMA’s predictions. Generated by me (using Python, Seaborn, Matplotlib, Numpy and Statsmodels).</figcaption></figure><p>This model predicts a slight rise for Cycle 26 and a quiet Cycle 25. It also agrees with NOAA’s [10] opinion but does steer more towards NSO’s prediction. It was very interesting to generate this model, because with a simple product of sinusoids, we were able to perceive some effects in the peak’s time of appearance. The modulation of Gleissberg’s cycle shifted some of the peaks slightly forwards and backwards, which could be a way to explain some of the shortened or elongated cycles experienced in the past. The equation for it is as follows:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/589/1*_-VkP46eTN6MIQVDD-iUSQ.png" /><figcaption>Equation from the mathematical model. Image by Pau Blasco i Roca using LaTeX.</figcaption></figure><p>While the function is not simplified at all, I’ve written it this way to be able to show most parameters and how they interact with eachother. At its core, is a product of two cosines, the left one (squared) corresponding to the smaller cycle and the other one to Gleissberg’s, that stands above the horizontal axis (SFI values can’t be negative).</p><h3>Conclusions</h3><p>I believe we have been able to, even if briefly, cover most of the history and current investigation lines regarding the Solar Cycle. In this article we have also taken time to explore the data ourselves, investigate and make some future predictions on the Sun’s activity for the following decades.</p><p>Studying the variability and unpredictability of the SF index was fascinating, and being able to represent data grouped by different time scales allowed us to both understand the underlying trend and the quick variations of the phenomena.</p><p>The status of the dataset, unfortunately, was very poor. The data itself, provided by NOAA and Kandilli Observatory, is precious and given with extreme detail and accuracy. Still, it is regrettable that it is provided in such a substandard shape and formatting. Luckily, this did not stop us from conducting the study, and we were able to provide a clean dataset for future users to utilize in their investigations.</p><p>We were able to make some predictions using several time-series models. The ARMA proved unsuccessful (see Annex II), but SARIMA yielded exciting results, agreeing with renowned institutions in the field. We were also able to theorize a mathematical model to represent the cycle’s long scale fluctuations with success.</p><p>As we mentioned at the beginning of the article, these predictions and models are based on indirect measurements, and not actually describing the internal movements of the Sun’s core and magnetic field. For us to be able to make predictions with confidence, we would need to mathematically model those fluid interactions in the star’s nucleus as well as corona, which is extremely complex as of today.</p><h3>References</h3><p>[1] High Altitude Observatory (NCAR) education webpage <a href="https://web.archive.org/web/20140818180023/http:/www.hao.ucar.edu/education/TimelineA.php">https://web.archive.org/web/20140818180023/http://www.hao.ucar.edu/education/TimelineA.php</a></p><p>[2] J. British Astronomical Association (SAO-NASA-ADS), letter to the editor regarding Theophrastus’ observations <a href="https://adsabs.harvard.edu/full/2007JBAA..117..346V">https://adsabs.harvard.edu/full/2007JBAA..117..346V</a></p><p>[3] <em>Wilson ER (1917). “A Few Pre-Copernican Astronomers”. Popular Astronomy. </em><strong><em>25</em></strong><em>: 88.</em></p><p>[4] High Altitude Observatory (NCAR) education webpage <a href="https://web.archive.org/web/20140818180026/http:/www.hao.ucar.edu/education/TimelineB.php">https://web.archive.org/web/20140818180026/http://www.hao.ucar.edu/education/TimelineB.php</a></p><p>[5] Sunspot Positions and Areas from Observations by Thomas Harriot, Springer Nature <a href="https://link.springer.com/article/10.1007/s11207-020-01604-4">https://link.springer.com/article/10.1007/s11207-020-01604-4</a></p><p>[6] High Altitude Observatory (NCAR), Great Moments in the History of Solar Physics <a href="https://web.archive.org/web/20060301083022/http:/web.hao.ucar.edu/public/education/sp/great_moments.html">https://web.archive.org/web/20060301083022/http://web.hao.ucar.edu/public/education/sp/great_moments.html</a></p><p>[7] High Altitude Observatory (NCAR) education webpage <a href="https://web.archive.org/web/20140818180035/http:/www.hao.ucar.edu/education/TimelineD.php">https://web.archive.org/web/20140818180035/http://www.hao.ucar.edu/education/TimelineD.php</a></p><p>[8] The Solar Cycle, David H. Hathaway, Springer Nature. <a href="https://link.springer.com/article/10.12942/lrsp-2010-1">https://link.springer.com/article/10.12942/lrsp-2010-1</a></p><p>[9] Commentary by NSO regarding upcoming reduced solar activity. <a href="https://web.archive.org/web/20150802025816/http:/www.boulder.swri.edu/~deforest/SPD-sunspot-release/SPD_solar_cycle_release.txt">https://web.archive.org/web/20150802025816/http://www.boulder.swri.edu/~deforest/SPD-sunspot-release/SPD_solar_cycle_release.txt</a></p><p>[10] NOAA’s Cycle-25 preliminary forecast, from 2019. <a href="https://www.swpc.noaa.gov/news/solar-cycle-25-preliminary-forecast">https://www.swpc.noaa.gov/news/solar-cycle-25-preliminary-forecast</a></p><p>[11] NASA’s “Space Place” educational page <a href="https://spaceplace.nasa.gov/solar-cycles/en/">https://spaceplace.nasa.gov/solar-cycles/en/</a></p><p>[12] NewScientist article by Michael Marshall <a href="https://www.newscientist.com/article/2176487-rock-layers-show-our-sun-has-been-in-same-cycle-for-700-million-years/">https://www.newscientist.com/article/2176487-rock-layers-show-our-sun-has-been-in-same-cycle-for-700-million-years/</a></p><p>[13] Arxiv Astrophysics article by Usoskin et al, lost Cycle <a href="https://arxiv.org/abs/0907.0063">https://arxiv.org/abs/0907.0063</a></p><p>[14] Chinese J. of Astronomy and Astrophysics, “The Relation between the Amplitude and the Period of Solar Cycles” <a href="https://iopscience.iop.org/article/10.1088/1009-9271/6/4/12">https://iopscience.iop.org/article/10.1088/1009-9271/6/4/12</a></p><h3>Annex I</h3><p>Brief commentary on the status of the Flare Index Dataset (NOAA), Kandilli Observatory.</p><p>The dataset status is not satisfactory. It is hard and painfully slow to navigate (considered programming and using a webscraper, but ended up downloading files from 1976 to 2023 manually which took around an hour). The formatting is extremely inconsistent. In my repo, I analyze in more detail these problems.</p><p>I would like to remark that having access to precious data like this is extremely helpful for research, and that by no means I’m trying to disregard or undermine the work done by Kandil Observatory and Bogazici University. I do believe, though, that it is a pity that such accurate and important data as this has become complicated to utilize due to poor maintenance.</p><p>In this repository I share a python script which is able to clean up and reformat the data. Feel free to use it or tweak it if needed.</p><h4>GitHub repository with code and clean dataset</h4><p>[A1] <a href="https://github.com/Nerocraft4/SolarCycleStudySFI">https://github.com/Nerocraft4/SolarCycleStudySFI</a></p><h4>Dataset references</h4><p>[A2] Dataset Source: <a href="https://www.ngdc.noaa.gov/stp/space-weather/solar-data/solar-features/solar-flares/index/flare-index/">https://www.ngdc.noaa.gov/stp/space-weather/solar-data/solar-features/solar-flares/index/flare-index/</a></p><p>[A3] Dataset Documentation and Licensing: <a href="https://www.ngdc.noaa.gov/stp/space-weather/solar-data/solar-features/solar-flares/index/flare-index/documentation/dataset-discription_flare-index.pdf">https://www.ngdc.noaa.gov/stp/space-weather/solar-data/solar-features/solar-flares/index/flare-index/documentation/dataset-discription_flare-index.pdf</a></p><p>[A4] Dataset Calculations: <a href="https://www.ngdc.noaa.gov/stp/space-weather/solar-data/solar-features/solar-flares/index/flare-index/documentation/solar-physics_atac-ozguc.pdf">https://www.ngdc.noaa.gov/stp/space-weather/solar-data/solar-features/solar-flares/index/flare-index/documentation/solar-physics_atac-ozguc.pdf</a></p><h4>Final comment on ARMA models</h4><p>In the repository, an extended annex II is added to discuss why the ARMA/ARIMA models were unsuccessful here. I’m not adding it to the article due to verbosity / extension reasons.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=644bf33b7ed7" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/the-solar-cycle-s-history-data-analysis-and-trend-forecasting-644bf33b7ed7">The Solar Cycle(s): history, data analysis and trend forecasting.</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Bursting the AI Hype Bubble Once and for All]]></title>
            <link>https://medium.com/data-science/bursting-the-ai-hype-bubble-once-and-for-all-581a994fe762?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/581a994fe762</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[anthropology]]></category>
            <category><![CDATA[notes-from-industry]]></category>
            <category><![CDATA[hype]]></category>
            <category><![CDATA[data-science]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Sat, 12 Oct 2024 00:22:05 GMT</pubDate>
            <atom:updated>2024-10-12T08:06:28.019Z</atom:updated>
            <content:encoded><![CDATA[<h4>Misinformation and poor research: a case study</h4><p>One cannot ignore the fact that AI models, such as ChatGPT, have taken over the internet, finding their way into every corner of it.</p><p><em>Most of AI’s applications are extremely useful and beneficial</em> for a wide range of tasks (in healthcare, engineering, computer vision, education, etc) and there’s no reason why we shouldn’t invest our time and money in their development.</p><p>That’s not the case for Generative AI (GenAI), to which I’ll be specifically referring in this article. This includes LLMs and RAGs, such as <strong>ChatGPT, Claude, Gemini, Llama, and other models</strong>. It’s crucial to be very specific in what we call AI, what models we use, and their environmental impacts.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/924/1*0Rd5Eeu_jVJilAQF5YXNkA.png" /><figcaption>[<a href="https://trends.google.com/trends/explore?date=2021-01-01%202024-10-03&amp;q=AI,ChatGPT&amp;hl=en">1</a>]: Interest over time (last four years) around the terms “AI” and “ChatGPT” online. Screenshot taken by me. Source: <a href="https://trends.google.com/trends/explore?date=2021-01-01%202024-10-03&amp;q=AI,ChatGPT&amp;hl=en">Google Trends</a></figcaption></figure><blockquote>So, is AI taking over the world? Does it have an IQ of 120? Can it think faster and better than a human?</blockquote><h3>What is AI hype?</h3><p>AI hype is the generalized societal excitement around AI, specifically, transformer (GPT-like) models. It has infiltrated every sector — healthcare, IT, economics, art — and every level of the production chain. In fact, a whopping <a href="https://newsroom.ibm.com/2023-06-27-IBM-Study-CEOs-Embrace-Generative-AI-as-Productivity-Jumps-to-the-Top-of-their-Agendas">43% of executives and CEOs already use Generative AI to inform strategic decisions</a> [<a href="https://newsroom.ibm.com/2023-06-27-IBM-Study-CEOs-Embrace-Generative-AI-as-Productivity-Jumps-to-the-Top-of-their-Agendas">2</a>]. The following linked articles relate tech layoffs to AI usage in FAANG and other big companies [<a href="https://edition.cnn.com/2023/07/04/tech/ai-tech-layoffs/index.html">3</a>, <a href="https://edition.cnn.com/2024/01/13/tech/tech-layoffs-ai-investment/index.html">4</a>, <a href="https://www.bloomberg.com/news/articles/2024-02-08/ai-is-driving-more-layoffs-than-companies-want-to-admit">5</a>].</p><p>AI hype’s effects can also be seen in the stock martket. The case of NVIDIA Corp is a clear example of it: since NVIDIA produces key hardware components (GPU) to train AI models, their stock value has risen incredibly (and arguably not reflecting a real company’s growth, but more of a perceived importance).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/677/1*mb-kMQOPWMimJmnU5ZK6lg.png" /><figcaption>NVIDIA Corp’s stock evolution during the last fiive years. An incredible growth can be seen in the last year, triplicating the market value (52wk High is x3.5 the value of 52wk Low), and an even greater growth in the last three years (x27.58). Screenshot taken by me. Data from <a href="https://www.lseg.com/en/data-analytics">Refinitiv</a>.</figcaption></figure><h3>Why is this a problem?</h3><p>Humans have always been resistant to adopt new technologies, specially those which they don’t fully understand. It’s a scary steps to take. Every breakthrough feels like a “bet” against the unknown — and so we fear it. Most of us don’t switch over to the new thing until we’re sure its utility and safety justifies the risk. Well, that is until something upsets our instincts, something just as based in emotion as fear: hype.</p><p>Generative AI has a great deal of problems, most of them virtually unsolvable. A few examples are model hallucinations (how many r’s in strawberry? [<a href="https://www.inc.com/kit-eaton/how-many-rs-in-strawberry-this-ai-cant-tell-you.html">6</a>]), no auto-discrimination (models can’t tell wether they are doing a task correctly or not [<a href="https://arxiv.org/abs/2409.04109">7</a>]) and others, like security vulnerabilities.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*N2mAUgjDXvpyyysgD3YSjQ.png" /><figcaption>Example mock up conversation of an AI hallucination. Image generated by me. Example similar to cases shown in [<a href="https://www.inc.com/kit-eaton/how-many-rs-in-strawberry-this-ai-cant-tell-you.html">6</a>] and [<a href="https://www.thairath.co.th/money/tech_innovation/tech_companies/2814211">17</a>].</figcaption></figure><h3>And, considering ethics…</h3><p>When we take ethics into account, things don’t get any better. AI opens a vast array of cans of worms: copyright, privacy, environmental and economic issues. As a brief summary, to avoid exceeding this article’s extension:</p><p><strong>AI is trained with stolen data</strong>: Most, if not the vast majority of content used for training is <em>stolen. </em>In the middle of our society’s reckoning with the limits of authorship protection and fair use, the panic ignited by IA coud do as much damage as its proper thievery. The Smithsonian [<a href="https://www.smithsonianmag.com/smart-news/are-ai-image-generators-stealing-from-artists-180981488/">8</a>], The Atlantic [<a href="https://www.theatlantic.com/technology/archive/2024/06/chatgpt-citations-rag/678796/">9</a>], IBM [<a href="https://www.ibm.com/think/topics/ai-privacy">10</a>], and Nature [<a href="https://www.nature.com/articles/d41586-024-02838-z">11</a>] are all talking about it.</p><p><strong>Perpetuation of economic inequalities</strong>: Proxy, very large and low-return investments made by the CEOs usually bounce back on the working class through massive layoffs, lower salaries, or worse working conditions. This perpetuates social and economic inequalities, and only serves the purpose of maintaining the AI hype bubble [<a href="https://link.springer.com/article/10.1007/s43681-024-00461-2">12</a>].</p><p><strong>Contributing to the environmental crisis</strong>: <em>Earth</em>’s study [<a href="https://earth.org/environmental-impact-chatgpt/">13</a>], claims that ChatGPT-3 (175B parameters) used 700000 litres of freshwater for its training, and consumed half a litre of water per average conversation with a user. Linearly extrapolating the study, for ChatGPT-4 (around 1.8 trillion parameters), 7 million litres of water would have been used for the training, and 5 litres of water are being consumed per conversation.</p><h3>The case study: an example of misinformation/ poor research</h3><p>A recent study by <a href="https://x.com/maximlott">Maxim Lott</a><strong> </strong>[<a href="https://x.com/maximlott">14</a>], titled (sic) “<a href="https://substack.com/home/post/p-148891210"><strong>Massive Breakthrough in AI intelligence: OpenAI passes IQ 120</strong></a><strong> </strong>” [<a href="https://substack.com/home/post/p-148891210">15</a>] and published in his 6000+ subscriber newsletter, showed promising results when evaluating AI with an IQ test. <strong>The new OpenAI o1 achieved 120 IQ score</strong>, leaving a huge gap between itself and the next models (Claude-3 Opus, GPT4 Omni and Claude-3.5 Sonnet, which scored just above 90 IQ each).</p><p>These are the averaged results of seven IQ tests. For context, an IQ of 120 would situate OpenAI among the top 10% of humans in terms of intelligence.</p><iframe src="https://cdn.embedly.com/widgets/media.html?type=text%2Fhtml&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;schema=twitter&amp;url=https%3A//x.com/maximlott/status/1835043371339202639&amp;image=" width="500" height="281" frameborder="0" scrolling="no"><a href="https://medium.com/media/9cff9b4599906d218b4b1661a5c2c6a2/href">https://medium.com/media/9cff9b4599906d218b4b1661a5c2c6a2/href</a></iframe><p>What’s the catch? Is this it? Have we already programmed a model (notably) smarter than the average human? Has the machine surpassed its creator?</p><p>The catch is, as always, <strong>the training set</strong>. Maxim Lott claims that <strong>the test questions were not in the training set</strong>, or that, at least, whether they were in there or not wasn’t relevant [<a href="https://substack.com/home/post/p-148891210">15</a>]. It is notable that <strong>when he evaluates the models with an allegedly private, unpublished (but calibrated) test, the IQ scores get absolutely demolished</strong>:</p><iframe src="https://cdn.embedly.com/widgets/media.html?type=text%2Fhtml&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;schema=twitter&amp;url=https%3A//x.com/maximlott/status/1834652893229859212&amp;image=" width="500" height="281" frameborder="0" scrolling="no"><a href="https://medium.com/media/e745f1d953de15c945058c5aec8e4d71/href">https://medium.com/media/e745f1d953de15c945058c5aec8e4d71/href</a></iframe><h4>Why does this happen?</h4><p>This happens because <strong>the models have the information in their training data set</strong>, and by searching the question they are being asked, they are able to get the results without having to “think” about them.</p><blockquote>Think about it as if, before an exam, a human was given both the questions and the answers, and only needed to memorize each question-answer pair. You wouldn’t say they are intelligent for getting a 100%, right?</blockquote><p>On top of that, the vision models perform terribly in both tests, with a calculated IQ between 50 and 67. <strong>Their scores are consistent with an agent answering at random</strong>, which in Mensa Norway’s test would result in 1 out of 6 questions being correct. Extrapolating from M. Lott’s observations and how actual tests like WAIS-IV work, if 25/35 is equivalent to an IQ of 120, then 17.5/35 would be equivalent to IQ 100, 9/35 would be just above 80 IQ, and choices at random (~6/35 correct) would score around 69–70 IQ.</p><p>Not only that, but most questions’ rationale seem, at best, significantly off or plain wrong. The models seem to find non-existent patterns, or generate pre-written, reused answers to justify their choices.</p><p>Furthermore, even while claiming that the test was offline-only, it seems that it was posted online for an undetermined number of hours. Quote, “<strong>I then created a survey consisting of his new questions, along with some Norway Mensa questions, and asked readers of this blog to take it. About 40 of you did. <em>I then deleted the survey</em>. That way, the questions have never been posted to the public internet accessed by search engines, etc, and they should be safe from AI training data</strong>.<strong>“ </strong>[<a href="https://substack.com/home/post/p-148891210">15</a>].</p><blockquote>The author constantly contradicts himself, making ambiguous claims without actual proof to back them up, and presenting them as actual evidence.</blockquote><p><strong>So not only the questions were posted to the internet, but the test also included the older questions </strong>(the ones <strong>that were in the training data</strong>). We see here, again, contradictory statements by Lott.</p><p>Sadly, we don’t have a detailed breakdown of the questions results or proportions, separating them between old and new. The results would surely be interesting to see. Again, signs of incomplete research.</p><blockquote>So yes, there is evidence that the questions were in the training data, and that none of the models really understand what they are doing or their own “thinking” process.</blockquote><p>Further examples can be found in <a href="https://arxiv.org/abs/2409.04109">this</a> article about AI and idea generation. Even though it, too, rides the hype wave, it shows how models are incapable of distinguishing between good or bad ideas, implying that they don’t understand the underlying concepts behind their tasks [<a href="https://arxiv.org/abs/2409.04109">7</a>].</p><h4>And what’s the problem with the results?</h4><p>Following the scientific method, if a researcher got this results, the next logical step would be to accept that OpenAI has <strong>not</strong> made any significant breakthrough (or that if it has, it isn’t measurable using IQ tests). <strong>Instead, Lott doubles down on his “Massive breakthrough in AI” narrative. </strong>This is where the misinformation starts.</p><h3>The impact of misinformation: a chain reaction</h3><p>Let’s close the circle: how are these kinds of articles contributing to the AI hype bubble?</p><p>The article’s SEO [<a href="https://moz.com/learn/seo/what-is-seo">16</a>] is very clever. Both the title and the thumbnail are incredibly misleading, which in turn make for very flashy tweets, Instagram and Linkedin posts. The miraculous scores on the IQ bell curve are just too good to ignore.</p><p>In this section, I’ll review afew examples of how the “piece of news” is being distributed along social media. Keep in mind that the embedded tweets might take a few seconds to load.</p><iframe src="https://cdn.embedly.com/widgets/media.html?type=text%2Fhtml&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;schema=twitter&amp;url=https%3A//x.com/rowancheung/status/1835529620508016823&amp;image=" width="500" height="281" frameborder="0" scrolling="no"><a href="https://medium.com/media/442ee981240b89cd7475799cab793b03/href">https://medium.com/media/442ee981240b89cd7475799cab793b03/href</a></iframe><p>This tweet claims that the results are “according to the Norway Mensa IQ test”, which is untrue. The claims weren’t made by the test, they were made by a third party. Again, it states it as a fact, and later gives plausible deniability (“insane if true”). Let’s see the next one:</p><iframe src="https://cdn.embedly.com/widgets/media.html?type=text%2Fhtml&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;schema=twitter&amp;url=https%3A//x.com/Greenbaumly/status/1837568393962025167&amp;image=" width="500" height="281" frameborder="0" scrolling="no"><a href="https://medium.com/media/430ab63af4bc56ec12a760a306931dfb/href">https://medium.com/media/430ab63af4bc56ec12a760a306931dfb/href</a></iframe><p>This tweet doesn’t budge and directly presents Lott’s study as factual (“AI is smarter than the average human now”). On top of that, only a screenshot of the first plot (questions-answers in the training data, inflated scores) is shown to the viewer, which is incredibly misleading.</p><iframe src="https://cdn.embedly.com/widgets/media.html?type=text%2Fhtml&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;schema=twitter&amp;url=https%3A//x.com/AISafetyMemes/status/1835339785419751496&amp;image=" width="500" height="281" frameborder="0" scrolling="no"><a href="https://medium.com/media/319a04641592cd47e4c7ccfe77002f24/href">https://medium.com/media/319a04641592cd47e4c7ccfe77002f24/href</a></iframe><p>This one is certainly misleading. Even if a sort of disclaimer was given, the information is incorrect. The latter test was NOT contamination free, since it reportedly contained online-available questions, and still showed terrible performance in the visual part of the test. There is no apparent trend that can be observed here.</p><h3>Conclusion</h3><p>Double, or even triple-checking the information we share is extremely important. While truth is an unattainable absolute, false or partially false information is very real. Hype, generalised societal emotion, or similar forces should not drive us to post carelessly, inadvertently contributing to keeping alive a movement that should have died years ago, and which is having such a negative economic and social impact.</p><p>More and more of what should be confined to the realm of emotion and ideas is affecting our market, with stock becoming more volatile each day. The case of the AI boom is just another example of how hype and misinformation are combined, and of how disastrous their effects can be.</p><p>Disclaimer: as always, replies are open for further discussion, and I encourage everyone to participate. Harassment and any kind of hate speech, either to the author of the original post, to third parties, or to myself, will not be tolerated. Any other form of discussion is more than welcome, wether it be constructive or harsh criticism. Research should always be able to be questioned and reviewed.</p><h3>References</h3><p>[1] Google Trends, visualization of “AI” and “ChatGPT” searches in the web since 2021. <a href="https://trends.google.com/trends/explore?date=2021-01-01%202024-10-03&amp;q=AI,ChatGPT&amp;hl=en">https://trends.google.com/trends/explore?date=2021-01-01%202024-10-03&amp;q=AI,ChatGPT&amp;hl=en</a></p><p>[2] IBM study in 2023 about CEOs and how they see and use AI in their business decisions. <a href="https://newsroom.ibm.com/2023-06-27-IBM-Study-CEOs-Embrace-Generative-AI-as-Productivity-Jumps-to-the-Top-of-their-Agendas">https://newsroom.ibm.com/2023-06-27-IBM-Study-CEOs-Embrace-Generative-AI-as-Productivity-Jumps-to-the-Top-of-their-Agendas</a></p><p>[3] CNN, AI in tech layoffs. <a href="https://edition.cnn.com/2023/07/04/tech/ai-tech-layoffs/index.html">https://edition.cnn.com/2023/07/04/tech/ai-tech-layoffs/index.html</a></p><p>[4] CNN, layoffs and investment in AI. <a href="https://edition.cnn.com/2024/01/13/tech/tech-layoffs-ai-investment/index.html">https://edition.cnn.com/2024/01/13/tech/tech-layoffs-ai-investment/index.html</a></p><p>[5] Bloomberg, AI is driving more layoffs than companies want to admit. <a href="https://www.bloomberg.com/news/articles/2024-02-08/ai-is-driving-more-layoffs-than-companies-want-to-admit">https://www.bloomberg.com/news/articles/2024-02-08/ai-is-driving-more-layoffs-than-companies-want-to-admit</a></p><p>[6] INC, how many rs in strawberry? This AI can’t tell you <a href="https://www.inc.com/kit-eaton/how-many-rs-in-strawberry-this-ai-cant-tell-you.html">https://www.inc.com/kit-eaton/how-many-rs-in-strawberry-this-ai-cant-tell-you.html</a></p><p>[7] ArXiv, Can LLMs Generate Novel Research Ideas? A Large-Scale Human Study with 100+ NLP Researchers. <a href="https://arxiv.org/abs/2409.04109">https://arxiv.org/abs/2409.04109</a></p><p>[8] Smithsonian, Are AI image generators stealing from artists? <a href="https://www.smithsonianmag.com/smart-news/are-ai-image-generators-stealing-from-artists-180981488/">https://www.smithsonianmag.com/smart-news/are-ai-image-generators-stealing-from-artists-180981488/</a></p><p>[9] The Atlantic, Generative AI Can’t Cite Its Sources. <a href="https://www.theatlantic.com/technology/archive/2024/06/chatgpt-citations-rag/678796/">https://www.theatlantic.com/technology/archive/2024/06/chatgpt-citations-rag/678796/</a></p><p>[10] IBM, topic on AI privacy <a href="https://www.ibm.com/think/topics/ai-privacy">https://www.ibm.com/think/topics/ai-privacy</a></p><p>[11] Nature, Intellectual property and data privacy: the hidden risks of AI. <a href="https://www.nature.com/articles/d41586-024-02838-z">https://www.nature.com/articles/d41586-024-02838-z</a></p><p>[12] Springer, <a href="https://link.springer.com/article/10.1007/s43681-024-00461-2">The mechanisms of AI hype and its planetary and social costs. https://link.springer.com/article/10.1007/s43681-024-00461-2</a></p><p>[13] Earth, Environmental Impact of ChatGPT-3 <a href="https://earth.org/environmental-impact-chatgpt/">https://earth.org/environmental-impact-chatgpt/</a></p><p>[14] Twitter, user “maximlott”. <a href="https://x.com/maximlott">https://x.com/maximlott</a></p><p>[15] Substack, Massive Breaktrhough in AI intelligence: OpenAI passes IQ 120. <a href="https://substack.com/home/post/p-148891210">https://substack.com/home/post/p-148891210</a></p><p>[16] Moz, What is SEO? <a href="https://moz.com/learn/seo/what-is-seo">https://moz.com/learn/seo/what-is-seo</a></p><p>[17] Thairath tech innovation, tech companies, AI hallucination example <a href="https://www.thairath.co.th/money/tech_innovation/tech_companies/2814211">https://www.thairath.co.th/money/tech_innovation/tech_companies/2814211</a></p><p>[18] Twitter, tweet 1 <a href="https://x.com/rowancheung/status/1835529620508016823">https://x.com/rowancheung/status/1835529620508016823</a></p><p>[19] Twitter, tweet 2 <a href="https://x.com/Greenbaumly/status/1837568393962025167">https://x.com/Greenbaumly/status/1837568393962025167</a></p><p>[20] Twitter, tweet 3 <a href="https://x.com/AISafetyMemes/status/1835339785419751496">https://x.com/AISafetyMemes/status/1835339785419751496</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/723/1*qZLNJHtLetCAoYKkm3sR5A.png" /><figcaption>[<a href="https://trends.google.com/trends/explore?date=2021-01-01%202024-10-03&amp;q=AI,ChatGPT&amp;hl=en">1</a>]: Interest over time around the terms “AI” and “ChatGPT” online. Simplified version with corrected aspect ratio to use as a thumbnail. Source: <a href="https://trends.google.com/trends/explore?date=2021-01-01%202024-10-03&amp;q=AI,ChatGPT&amp;hl=en">Google Trends</a>. Edited by me.</figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=581a994fe762" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/bursting-the-ai-hype-bubble-once-and-for-all-581a994fe762">Bursting the AI Hype Bubble Once and for All</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[I designed a 3D horror game with Open-Source software]]></title>
            <link>https://blog.devgenius.io/i-designed-a-3d-horror-game-with-open-source-software-1283a54ed8a7?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/1283a54ed8a7</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[game-design]]></category>
            <category><![CDATA[godot]]></category>
            <category><![CDATA[3d-modeling]]></category>
            <category><![CDATA[game-development]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Tue, 17 May 2022 20:36:33 GMT</pubDate>
            <atom:updated>2022-05-17T20:36:33.566Z</atom:updated>
            <content:encoded><![CDATA[<h4>Game Development | 3D | Programming | Godot</h4><h4>How did I prototype a 3D horror game on Godot, an Open-Source game design software — and how can <em>you</em> do that too.</h4><h4>What is Godot?</h4><p>Godot is an Open Source set of graphic tools, which allow the user to create 2D and 3D games, animations and UI objects. It was released back in 2014, and nowadays, it’s starting to reach the processing levels of the big ones (Unity3D, UnrealEngine4/5).</p><p>Godot allows developing games in both 2D and 3D, and exporting them to most of the currently existing platforms, as Windows, Linux, Mac, and even some consoles. And it’s totally free to do so (unlike Unity or UnrealEngine4/5, which have some royalty regulations).</p><p>If you want to check out games made with Godot, I really recommend this video:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fl2SJEOEgT4U%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dl2SJEOEgT4U&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fl2SJEOEgT4U%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/9324714f145a4dc01aeeec2ab0778c3c/href">https://medium.com/media/9324714f145a4dc01aeeec2ab0778c3c/href</a></iframe><h4>Why use Godot?</h4><p>Basically, Godot is an Open-source project, which means users — and programmers — participate, study, develop and bug-fix voluntarily. The community takes care of the project, and develops and works for its own interest. Unity or UE, for example, are private enterprises, which sometimes leave behind features useful or interesting for the users.</p><p>Furthermore, Godot is developing at a slower pace than Unity and UE. This isn’t necessarily bad, as — and this is personal experience — programs like Unity sometimes break for no apparent reason, which is <em>really</em> frustrating. In other words, while other game development software is expanding rapidly and abruptly, Godot is making steady and constant progress.</p><h4>My take on Godot’s 3D tools</h4><p>I wanted to hop on the trend and design something related to <a href="https://backrooms.fandom.com/wiki/Backrooms_Wiki">The Backrooms</a> creepypasta. In short, The Backrooms is a horror concept based on liminal spaces, places which feel oddly familiar to the viewer. The “Level Zero” of the backrooms consists of a seemingly endless maze of yellowish walls and mouldy carpet, in which the player must find and exit before <em>they</em> find them.</p><p>I started by gathering some free to use textures and images for the carpet, walls and ceiling. Then I moved on onto Blender, where I design a few models to use later in Godot.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kvad-8fqp96pb0IoDnngbQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WUEHZAKvvf6a1QIG_-vQkA.png" /><figcaption>The model for the wall, with the classic wallpaper, and the drop ceiling; designed in Blender.</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CUeToqwNDHburqr6vEJ7PQ.png" /><figcaption>A rendered image from the wall.</figcaption></figure><h4>Optimizing in-game renderization</h4><p>After creating the first test levels, I realized the game was becoming laggy. This was due to the enormous amount of walls, ceiling pieces, floor tiles and light sources.</p><p>I first started designing a chunk loading method — yes, just like in Minecraft. It seemed to work, but I still experienced lag spikes when big chunks loaded and unloaded. I had to come up with something else, something smart.</p><p>After giving it some thought, I decided to read the documentation — which was probably the best option for me — and realized there existed certain methods to initialize a bunch of objects which close to no impact on the game performance. That fix alone seemed to solve the vast majority of my problems, and I ended up trashing the chunk loading method.</p><h4>Enemy design and characterization</h4><p>This is probably the point where I started to realize my art skills weren’t as good as I thought. I tried to design models for the enemies, but ended up with some combination of cylinders and particles which resembled a human being.</p><p>I moved on to the code — where I shine the most — and I made some tracking features. One type of monster could go through walls and made a static noise if it got too close to the player, along as turning up the saturation and brightness of the camera. The other type of monster chased the player at a higher speed, but had a very small detection range.</p><h4>Cover art design</h4><p>I finally designed the cover art and prepared the game for release. Of course, this is just a proof of concept, a package intended to give real game developers a jump-start to a similar Backrooms game.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5DqPY0korBAD4u7acgUviA.png" /><figcaption>Here’s the cover art for the game</figcaption></figure><h4>Conclusion</h4><p>I had lots of fun programming this project. Even if it’s just a tiny game and with little to no gameplay. Play testing and asking my friends for their opinion on the gameplay and graphics was also really entertaining.</p><p>I have uploaded the project to <a href="https://github.com/Nerocraft4/BackroomsBaseProject">my GitHub page</a> in case you want to check it out or use it in your own game.</p><p>Thanks for reading the article! I hope I could motivate you to try out Open-Source software — or even game designing — for yourself.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1283a54ed8a7" width="1" height="1" alt=""><hr><p><a href="https://blog.devgenius.io/i-designed-a-3d-horror-game-with-open-source-software-1283a54ed8a7">I designed a 3D horror game with Open-Source software</a> was originally published in <a href="https://blog.devgenius.io">Dev Genius</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Genetic Algorithms & Evolutionary Machine Learning]]></title>
            <link>https://blog.devgenius.io/genetic-algorithms-evolutionary-machine-learning-756d9223345e?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/756d9223345e</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[biology]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Sat, 09 Apr 2022 21:07:52 GMT</pubDate>
            <atom:updated>2022-04-09T21:07:52.688Z</atom:updated>
            <content:encoded><![CDATA[<h4>Machine Learning | Computer Science | Biology</h4><h4>About the union of biology, computer science, and mathematics — and the beauty of evolution and natural selection</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*IXhLDSgDTynIcDXc" /></figure><p>Genetic Algorithms have been around for a while now, but you probably haven’t heard about them yet. This idea is revolutionizing the way we had thought about NP problems before.</p><h4>P vs NP, the classic Computer Science problem</h4><p>In short, this dilemma asks the following:</p><blockquote>Can a problem, whose solution can be quickly verified, also be solved quickly?</blockquote><p>An easy example would be a search, like Google Maps. Imagine someone wants to find the best way to go from point A to point B in a map like the one below. It is clear that the following solution is correct, as it connects point A and point B:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_JyYsxldqgdMdH8cRUsoDg.png" /><figcaption>We can easily verify that the path is correct, by only looking at it. [Diagram created by me]</figcaption></figure><p>But how would we <em>find</em> it? Or how would a machine do it? That is more complicated than just “seeing” if the answer is right. To solve these kinds of problems, machines usually use A*-like algorithms, which use geological data (like the euclidean distance between two points) to work faster.</p><p>The issue is, the complexity of these problems grows exponentially with its size, which would make bigger problems impossible for machines (and humans) to solve in a feasible time. We classify problems like this as NP.</p><h4>The new approach to NP problems</h4><p>Optimization problems are usually really hard to solve, and / or require very complex methods that are hard to implement. Here is where evolutionary algorithms come in place.</p><p>Suppose we’re trying to create a micro robot to help surgeons navigate complicated parts of the human body. What would be the best model for this robot? There are <em>literally</em> infinite possible answers, but which one would be the best?</p><p>Evolutionary algorithms replicate natural selection with code, but are much, much faster than it. In the real life, DNA mutates every generation, which, in the case of humans, is about every 25 years. In order to “find” a superhuman, or “evolve” biologically as a species, tens and hundreds of thousands of years must pass. But we don’t have this issue when programming!</p><p>Here is the pseudocode representing this method:</p><pre>N = number_of_agents_per_generation<br>IGen = create_initial_genome()<br>agents = spawn_agents(N,IGen) <br>#agents are created with mutations from the Initial Genome<br>repeat{<br>   run_tests(agents)<br>   best_agent = get_best_agent(agents)<br>   newGenome = get_genome(best_agent)<br>   agents = spawn_agents(N,newGenome)<br>   #agents are created with mutations from the New Genome<br>}<br></pre><p>In case you want to check out the actual code in Python3, here is the link to the GitHub repository: <a href="https://github.com/Nerocraft4/ursina2">https://github.com/Nerocraft4/ursina2</a></p><h4>Putting it into practice — the beauty of Genetic Algorithms</h4><p>Here is the quick example I built:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BtDiD3QrKuaiDOQISJMekg.png" /><figcaption>Screenshot of the mini project I built</figcaption></figure><p>Those small yellow arrows in the picture, the “Agents”, are simulating the “micro robots” I was talking about before. At the beginning of each run session, I randomize their DNA and I spawn four Agents. The Agent that travels the farthest distance <em>reproduces</em>, and four more agents are spawned in the next generation. These will have slight mutations in their DNA.</p><p>Why does any of this work or make sense? I programmed the agents to move based on their DNA traits. They might move slower or faster, they might be able to recognize what is around them better, etc. Of course, the DNA values (as seen in the array in the top left corner of the image) must be balanced, meaning that they can’t have all their abilities at their maximum capacity.</p><p>After just twenty or thirty generations, we start seeing a clear trend. The first two genes, related to their peripheral vision, remain fixed with a similar value. Then the speed (the third gene) starts to decrease, as Agents with higher speeds were running into obstacles very often. Their fourth gene, the central vision field, starts to increase and take points away from the third gene.</p><h4>Why is this method better than regular optimization?</h4><p>The answer is simple. Optimizing the Agents using Genetic Algorithms puts the code against “real situations”, and gives it freedom to evolve naturally, by itself. If we had tried to “guess” the best values for each gene, we would most certainly not have had the same results.</p><p>Genetic Algorithms get better and better as the model becomes more complicated. And they are fairly easy to implement and test!</p><h4>How can this be applied? Ideas and future projects</h4><p>Genetic Algorithms can be applied to almost all areas of knowledge — even outside the classical sciences!</p><p>Scientists, anthropologists, data analysts, community managers… All these roles can make good use of Generic Algorithms. Models can represent almost anything:</p><ul><li>A poster to advertise a new product, and the impact it has on the viewers</li><li>A business investment strategy to generate economic growth</li><li>A new micro robot to help brain surgery</li></ul><p>These models can all be randomly generated and optimized via Genetic Algorithms, and achieve results that us humans could never think about. Isn’t it mind-blowing?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=756d9223345e" width="1" height="1" alt=""><hr><p><a href="https://blog.devgenius.io/genetic-algorithms-evolutionary-machine-learning-756d9223345e">Genetic Algorithms &amp; Evolutionary Machine Learning</a> was originally published in <a href="https://blog.devgenius.io">Dev Genius</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How I got a tech internship on Amazon as a 19-year-old student]]></title>
            <link>https://medium.com/@paublascoroca/how-i-got-a-tech-internship-on-amazon-as-a-19-year-old-student-7d64673e69f4?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/7d64673e69f4</guid>
            <category><![CDATA[students]]></category>
            <category><![CDATA[amazon]]></category>
            <category><![CDATA[success-story]]></category>
            <category><![CDATA[work]]></category>
            <category><![CDATA[tech]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Sun, 27 Mar 2022 08:03:09 GMT</pubDate>
            <atom:updated>2022-03-27T08:03:09.619Z</atom:updated>
            <content:encoded><![CDATA[<h4>Tech | Work | FAANG</h4><h4>The story of how, after fifteen failed attempts, I managed to get a position as an intern on Amazon</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/583/0*uZ4mRNGrVPMOYHnN.png" /></figure><p><em>Having signed Amazon’s non-disclosure agreement, there’s certain information I can’t reveal in this article. Instead, I will focus on my sensations and my individual preparation during the interview process.</em></p><h4>Finding the offer</h4><p>It all started about four weeks ago, after receiving a private message via LinkedIn. An Amazon recruiter asked me if I was interested in a certain internship (obviously, a tech related one). At first, I couldn’t believe it. I had been searching for a role like this for more than a year, with no luck in any of my fifteen (yes, <strong>fifteen</strong>) previous applications. But I didn’t give up, and I finally had a chance to prove myself and show my talent.</p><p>I applied to the position the recruiter had mentioned, and, surprise! I got selected for the first round of interviews. Just like that, after fifteen failed attempts, I passed the first selection phase.</p><blockquote>I will probably be writing soon an article about how to create your own tech CV and portfolio (for programmers)</blockquote><h4>Passing the technical interview</h4><p>Next, I faced a technical interview. I was terrified. I never expected someone to be testing my skills outside my university. Luckily, Amazon gave me some time to prepare for the interview, and made sure I could practice a little before getting started. I surprisingly managed to breathe in and relax, which allowed me to show my full potential.</p><p>I ended up doing extremely well in those questions! After a couple of days, I received another email notifying me that I had successfully passed the second phase.</p><h4>Final phase of the recruitment process</h4><p>There was a third phase after that. The employers at Amazon wanted to get to know me better and ask me more questions, so I got cited to a final interview.</p><p>Before that, I made sure I understood the <strong>STAR </strong>principle to answer interview questions. This principle breaks down the interview interventions in fours simple steps:</p><ul><li><strong>Situation</strong>: You should first give context and clearly describe the situation you have been asked about.</li><li><strong>Task</strong>: You should describe the task you were supposed to do in that situation. Again, aim to be specific.</li><li><strong>Action</strong>: You should describe the action you took to complete that task.</li><li><strong>Result</strong>: You should finally portray the result of the situation to the interviewer as clearly as possible. Try to give numbers, percentages, dates — everything you have.</li></ul><p>This principle really helped me out organize my responses, and prevented my mind from going blank during the interview. I managed to stay calm and focused and talk about what I wanted to.</p><h4>Finally, “The” email</h4><p>After a couple of days, while I was on class, I received an offer from Amazon. I was so happy and excited I had made it through the interview process! I quickly responded to the email, and accepted it. Likewise, I was relieved and at the same time very excited. I really can’t wait to start!</p><h4>The out-take</h4><p>I wanted to share my story with you for a simple reason: if you are in a similar situation, please, please, don’t give up! Having failed one, five, or fifteen times does not mean you can’t succeed the next one, and I believe my story proves this.</p><p>Finally, if you have any questions about my experience, I’d love to help you as much as I can. Keep in mind though that I can’t talk about anything specific about the interviews, but if you want to know where or how can you find job applications like this one, please let me know!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7d64673e69f4" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How the 100 followers trend is killing your potential]]></title>
            <link>https://medium.com/@paublascoroca/how-the-100-followers-trend-is-killing-your-potential-1f7dd9c2ab2d?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/1f7dd9c2ab2d</guid>
            <category><![CDATA[writing]]></category>
            <category><![CDATA[self-growth]]></category>
            <category><![CDATA[audience-engagement]]></category>
            <category><![CDATA[100-followers]]></category>
            <category><![CDATA[side-hustle]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Sun, 13 Feb 2022 12:33:46 GMT</pubDate>
            <atom:updated>2022-02-13T12:33:46.890Z</atom:updated>
            <content:encoded><![CDATA[<h4>100 Followers | Writing Career | Opinion</h4><h4>This is how you are cutting your own wings when jumping on the 100 follower trend.</h4><p>I bet you have seen tens — if not hundreds already — of articles claiming to have a “magical method” to gain 100 followers. They just spam the tag “100 followers” to exchange follows and claps with other people in order to overcome that milestone. But then what?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*O9EMsvAWHfDdIMbf" /></figure><h4>Why is it damaging your profile and writer persona?</h4><p>When starting a writing career — specially a blog or a newsletter page, like medium — you want to find the right audience for you. Most people, like I did, try out stuff until they figure out where they fit best. Others prefer to cover a wider variety of topics, but that’s also okay.</p><p>Why is it important to<strong> create </strong>and <strong>establish</strong> an <strong>audience</strong>? Because of how Medium works. Medium <em>detects early interactions</em> with articles, like claps, reads, shares and saves. If, for example, 60 out of your 100 followers click your notification and read your article, Medium will more likely promote it and boost its reach to make it discoverable for more people out there. But if, for example, only 4 or 5 out of 100 people show interest for your article, it is very unlikely that it gets further than that.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*CVDCw7iPz4Qh2X-v" /></figure><h4>It’s all about ratios</h4><p>It’s way better to have 60 loyal followers than 350 uninterested people subscribed to your page. Imagine writer A has the same clicks on their stories than writer B, but writer A has a smaller subscriber base than writer B. Let’s make the math:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jjUySfv-0OfvBpdF7V_Sug.png" /></figure><p>See the difference? A’s read ratio is more than 6 times bigger than B’s read ratio. And that ratio — combined with other metrics — is way more significant than your subscribers count.</p><h4>Go slow, and take care of your audience</h4><p>It’s okay to aim big. It’s okay to have ambition. But don’t let these two blur your view of reality. There are no shortcuts, there are no easy paths to achieve your goal. So please, take things calmly. Allow yourself to learn, give yourself time, be patient. And don’t rush it, it is very unlikely that you will get good results out of it.</p><p>Try to interact with people who might be interested in your articles. Follow and understand how great performing writers catch their audience’s attention. Allow yourself to try out new things and writing styles. Seek feedback from your fanbase, and take care of it.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1f7dd9c2ab2d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[5 Beginner-Friendly Coding Projects]]></title>
            <link>https://blog.devgenius.io/5-beginner-friendly-coding-projects-56ce3368d9dc?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/56ce3368d9dc</guid>
            <category><![CDATA[web-design]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[html]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[computer-science]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Fri, 11 Feb 2022 12:01:15 GMT</pubDate>
            <atom:updated>2022-02-11T12:01:15.645Z</atom:updated>
            <content:encoded><![CDATA[<h4>Programming | Coding | Web development</h4><h4>And how to jumpstart your coding career</h4><p>You might have already started learning some HTML5, CSS3 and even a bit of JavaScript. But — I’m sorry to break it down to you — with no practice, you won’t get very far. So let’s get <strong>you </strong>started!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7UnDd57dFaczHPFxf-5Pjw.png" /></figure><h4>Why investing time in projects?</h4><p>Studying hard and learning the basics is crucial to start programming and coding. Even learning how to <a href="https://blog.devgenius.io/this-is-why-commenting-your-code-is-crucial-5d00f8a5211c">comment your code</a> is a very good practice for beginners. But you should aim for more.</p><p>Small and medium projects are a very good way — in my opinion, one of the best — of <em>understanding </em>and <em>applying </em>what you have already learnt. So let’s get our hands on it!</p><h4>Where should I start coding my projects?</h4><p><a href="https://www.freecodecamp.org/learn/">FreeCodeCamp</a>. Simple answer which I am 100% confident on. FCC helped me a lot with my full-stack developer career, and I too went through all the exercises and projects they made available in their website.</p><p>We will find the available projects right here:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0xTNpdaImKGowMTBTsWI4w.png" /><figcaption>Click the “Responsive Web Design Certification” button</figcaption></figure><p>After that, we’ll have to scroll down until we see this on our screen:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wdcNiDkcBxRY5_9V88-8HA.png" /><figcaption>In my case, all the projects are already completed</figcaption></figure><p>If you want to know more about FreeCodeCamp and other useful resources, feel free to check my <a href="https://medium.com/@paublascoroca/3-free-platforms-to-learn-programming-d2467d4a775b">article</a> about it.</p><h4>First project: Tribute Page</h4><p>FreeCodeCamp will give us some information on what we need to do to complete our project. The requirements for this one are the following:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZZm13sBIQRz5vjk24D03WQ.png" /><figcaption>We can see al the requirements in FCC’s page</figcaption></figure><p>I was only 17 when I made this project, and my coding skills were limited. But I still managed to learn something from it, so don’t be scared to try it out! Here is what it looks like:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7UnDd57dFaczHPFxf-5Pjw.png" /><figcaption>My solution for the first project. As you can see, it’s not astonishing, but it is complete! The link is the following: <a href="https://codepen.io/Orange_Thunder/pen/vYGoeOm">https://codepen.io/Orange_Thunder/pen/vYGoeOm</a></figcaption></figure><h4>Second project: Survey Form</h4><p>This one was harder, and I wanted to experiment a bit. So I prioritized trying everything out and understanding the code over the looks of the page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*mXA0115rhHLtBN3aihMClg.png" /><figcaption>You can barely read the title. The colours in this one weren’t the best. You can find it here: <a href="https://codepen.io/Orange_Thunder/pen/RwaXLJM">https://codepen.io/Orange_Thunder/pen/RwaXLJM</a></figcaption></figure><p>The requirements for this one were way more specific than the first project, and it took me a while to get everything to work.</p><h4>Third project: Product Landing Page</h4><p>Oh, I had so much fun with the third project. I made up some kind of Crypto-weird-business and tried to replicate some features I had seen in other landing pages.</p><p>I used the knowledge I had gained in the last project — with all the forms and checkboxes — and tried to go for something attractive and interesting. Not only that, but I even added a nav-bar — my first nav-bar — and some other details like colour matching backgrounds for the textboxes. The result was good enough for me.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wvnA_eS2dNoYpnABYcA14g.png" /><figcaption>You can find the code here: <a href="https://codepen.io/Orange_Thunder/pen/gOrVejY">https://codepen.io/Orange_Thunder/pen/gOrVejY</a></figcaption></figure><p>Unfortunately, the logos and images I used were hosted by a website that was taken down, so they have been removed from my page.</p><h4>Fourth project: Technical Documentation Page</h4><p>This is, by far, the cleanest and most organized mock-up webpage I have ever coded. Take a look:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Pfb9frlmV-LHrN4zdBvybA.png" /><figcaption>The source code will be found here: <a href="https://codepen.io/Orange_Thunder/pen/PozYqgd">https://codepen.io/Orange_Thunder/pen/PozYqgd</a></figcaption></figure><p>I decided to replicate an actual documentation page, but starting from scratch. I didn’t expect to get this result, but the practice and the study was starting to flourish in me.</p><p>That nav-bar on the left side was extremely hard to make. But it was very rewarding to complete, it looks just perfect.</p><h4>Fifth project: Personal Portfolio</h4><p>This is the project I spent most time working on. Apart from an animated gradient background and fancy animations, I worked with the responsiveness of the flexbox components. It was quite difficult, but in the end I ended up with a very clean project.</p><p>The nav-bar I created for this project is a work of art. I really upgraded my skills with all the other projects, and I managed to end up with a semi-transparent, professional-looking nav-bar.</p><p>Once more, some of the pictures I used aren’t available any more because of some servers that shut down.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*m91uKIkefRhXhDfWp2m5Iw.png" /><figcaption>You can’t really see it in this image, but the background is fully animated. The link to the code snippet is here: <a href="https://codepen.io/Orange_Thunder/pen/BazBQeG?editors=1100">https://codepen.io/Orange_Thunder/pen/BazBQeG?editors=1100</a></figcaption></figure><h4>Conclusion</h4><p>You can see it by yourselves. The progress I made with just a few projects was astonishing. I’m really glad I decided to go for FCC’s programme and spent a couple of weekends working on its diploma. I learnt so much by just practising. And now I have an awesome portfolio to show in my job interviews!</p><p>If you have any doubts or suggestions, don’t hesitate to comment them below and discuss them with me!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=56ce3368d9dc" width="1" height="1" alt=""><hr><p><a href="https://blog.devgenius.io/5-beginner-friendly-coding-projects-56ce3368d9dc">5 Beginner-Friendly Coding Projects</a> was originally published in <a href="https://blog.devgenius.io">Dev Genius</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SageMath: Doing Math in Python]]></title>
            <link>https://blog.devgenius.io/sagemath-doing-math-in-python-8c34765254f7?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/8c34765254f7</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[mathematics]]></category>
            <category><![CDATA[computer-science]]></category>
            <category><![CDATA[sagemath]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Tue, 08 Feb 2022 18:50:06 GMT</pubDate>
            <atom:updated>2022-02-08T18:50:06.668Z</atom:updated>
            <content:encoded><![CDATA[<h4>Python | Mathematics</h4><h4>One of the best plug and play math libraries for Python</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oFjqsRBsPVQbgNMHY9-hGQ.png" /></figure><p>You have probably heard about Wolfram Mathematica, GNU Octave and Mathworks Matlab. These three are — apart from R Programming and Maple — the triad of mathematic tools for scientists and engineers from different fields. But I bet you hadn’t heard about SageMath yet.</p><h4>What is SageMath?</h4><p><a href="https://www.sagemath.org">SageMath</a> is a free Open-Source mathematics library for Python. It’s based on other Python packages you already know, like NumPy, SciPy, Matplotlib, Maxima, and many others.</p><p>It is available for Windows, macOS and Linux distributions. You can download it <a href="https://www.sagemath.org/download.html">here</a>, from its official page.</p><h4>How do you launch it?</h4><p>From both Windows and macOS, you can just click the direct access to the notebook (which will run on Jupyter). You can also use the command line, but I don’t recommend it. From Linux, you can use both the terminal and the direct access to launch SageMath.</p><p>This will open a Python-based locally hosted notebook in your browser, which will look like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*od6L-aLQ_gXHRyoreyI3sg.png" /><figcaption>Initial screen after launching SageMath notebook server</figcaption></figure><p>Then we can either create a new file or open an existing one. Note that Jupyter Notebook files have the extension “.ipynb”. Once we do that, we’ll find ourselves with the classical Jupyter interface.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*O6yEiU9Zg9UILJYzj_DCZQ.png" /><figcaption>Snapshot from one of my Notebooks, a 3D reconstruction of an object.</figcaption></figure><h4>Getting started with SageMath</h4><p>You should think about SageMath like it&#39;s Python with extra stuff. So don’t be scared to try out things you think they might work. Here’s a quick example on how to create a matrix:</p><pre>l=[[1,2,3],[4,5,6],[7,8,9]] #declaring a 2D array<br>M = matrix(l)               #converting that array to a matrix<br>M                           #printing M, equivalent to print(M) </pre><pre>#output:<br>[1 2 3]<br>[4 5 6]<br>[7 8 9]</pre><p>A more elegant way to represent M graphically would be <em>show(M)</em>, which uses LaTeX-like markdown text.</p><p>As you can see, the function <em>matrix()</em>, which belongs to the SageMath library, accepts regular Python arrays as arguments. Another example would be the following:</p><pre>v1=vector([1,-2,4])<br>v2=vector([-1,0,1])<br>v3=v2.cross_product(v1)<br>v3</pre><pre>#output:<br>(2, 5, 2)</pre><p>Again, for a more “beautiful” output, we can use the <em>show()</em> function.</p><h4>What can you do with Sage?</h4><p>SageMath works like a charm when solving algebra problems, for example, like finding kernels or eigenspaces of matrices. But is also a very good tool for data analysis, 2D and 3D plotting, and symbolic expression manipulation.</p><p>Feel free to check the <a href="https://doc.sagemath.org/html/en/">documentation</a>, where you will find practically everything you need.</p><h4>The one and only issue with SageMath</h4><p>SageMath is not as popular as other applications, as I stated at the beginning of the article. The concern with this is that there aren’t many video tutorials or forum answers related to this library, which might slow down the learning process. But for an experienced programmer or engineer, this should not be an issue.</p><h4>But there’s more</h4><p>There is much more to SageMath than I can cover in a single article. I might write in-depth articles about certain groups of functions in SageMath if this one works out. Feel free to comment down below what you think about this Python library!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8c34765254f7" width="1" height="1" alt=""><hr><p><a href="https://blog.devgenius.io/sagemath-doing-math-in-python-8c34765254f7">SageMath: Doing Math in Python</a> was originally published in <a href="https://blog.devgenius.io">Dev Genius</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Is math even useful anymore in programming?]]></title>
            <link>https://blog.devgenius.io/is-math-even-useful-anymore-in-programming-91be4a0d35b4?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/91be4a0d35b4</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[mathematics]]></category>
            <category><![CDATA[learning]]></category>
            <category><![CDATA[computer-science]]></category>
            <category><![CDATA[engineering]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Mon, 31 Jan 2022 14:54:22 GMT</pubDate>
            <atom:updated>2022-01-31T14:54:22.074Z</atom:updated>
            <content:encoded><![CDATA[<h4>Programming | Mathematics</h4><h4>Here’s why you should stop complaining about the amount of math required in data science and computer engineering careers.</h4><p>“Wasn’t this an IT course? Why are teachers filling us up with math projects? It doesn’t make any sense!”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QqQz9wL-bzx_0nj3g6dkGg.png" /><figcaption>This sum should result in a number… Right? If only I hadn’t skipped those Calc I classes…</figcaption></figure><h4>What they’re not telling you</h4><p>Apart from writing and studying in university, I’m a private teacher. And I’m certain some of you would not believe what some of my students have told me during our classes.</p><p>Some of my students were told to memorize — for example — differentiation formulas, without even knowing what derivatives were. After explaining it to them the concept — which, for those of you not in the field — is pretty simple, they started to <em>understand</em> the syllabus. Because, before that, they weren’t understanding — they were merely copying, memorizing and regurgitating.</p><p>What does this have to do with math and computer science? A lot, actually. Internet, computers, and wireless technologies are fairly new inventions for the human race. All the small details and scientific stuff going behind it is really complicated, but luckily graphic designers and engineers team up to create what we call “user interfaces”. These “bridges” between the hardware itself and the user allow normal people to benefit from the product without knowing how it works on how has it been made.</p><p>But this argument goes against my initial point, right? Wrong. I’m just saying that normal people — your grandparents, your six-year-old sibling, a bank accountant, a vet — don’t have to understand these complicated concepts; but <strong>you</strong>, as an IT expert or engineer, <strong>definitely should</strong>.</p><p>It is your responsibility as an expert on the field to deeply comprehend and understand what is going on behind your programs. Of course, learning takes time, but we should aim to fully understand what we’re programming and developing.</p><h4>The easy and lazy option</h4><p>The human brain tends to pick the easier options. Copying from Stack Overflow undoubtedly takes less time than reading the documentation from a certain function in the official documentation files. Asking in an online forum is usually faster than debugging the code for yourself.</p><p>Things are similar with math. How is my code calculating this sine function? How is it computing the values for this exponential? What makes it fast? What makes it efficient?</p><p>I’m not telling you to rediscover basic algebra and calculus. I’m just saying that these questions — the ones from the last paragraph — are not a loss of time, but an investment for your future self.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*X9GA9Pb4OGQuXe_5" /><figcaption>Not being afraid to ask questions is a great way to progress</figcaption></figure><h4>An interesting example</h4><p>Computers aren’t very fast when it comes to complex operations. But they are experts in addition and multiplication, specially with small problems. A good example to reignite your interest for the math behind engineering could be trigonometric functions approximations.</p><p>Isaac Newton (and other famous mathematicians, like Brook Taylor and Colin Maclaurin) developed what we today call the “Power Series”. Series are a sum of certain numbers, which often follow a pattern. The Power Series are able to approximate complex functions by adding up simple, polynomial-like terms — which computers love!</p><p>So no, computers don’t measure angles in the unit circle to compute values for trigonometric functions. Instead, they sum a series of numbers — leading to a quicker, approximated value of the result.</p><p>If you are interested, this is how the Sine and Cosine Taylor series look like:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0an4nu-K4PBMlp0nhj4E-g.png" /><figcaption>As you can see, it consists of an infinite sum, which can be approximated by a finite addition.</figcaption></figure><p>Exponential functions, logarithms, and lots of other basic functions can be easily approximated by a computer very, very fast. There are other techniques (in the power calculation, for example) which makes things go even quicker; but I won’t get into those in this post.</p><h4>Conclusion</h4><p>As I said, I’m not pretending everyone to learn how everything works. A doctor doesn’t need to understand how stars move, and an astrophysicist doesn’t have to be able to perform heart surgery. But engineers — and specially computer engineers — should definitely try to look behind the lines of code and understand how — and why — it works as it does.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=91be4a0d35b4" width="1" height="1" alt=""><hr><p><a href="https://blog.devgenius.io/is-math-even-useful-anymore-in-programming-91be4a0d35b4">Is math even useful anymore in programming?</a> was originally published in <a href="https://blog.devgenius.io">Dev Genius</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How did I write — and publish — a novel by the age of 19]]></title>
            <link>https://medium.com/@paublascoroca/how-did-i-write-and-publish-a-novel-by-the-age-of-19-e42293f4916e?source=rss-3d2794622a0f------2</link>
            <guid isPermaLink="false">https://medium.com/p/e42293f4916e</guid>
            <category><![CDATA[writing]]></category>
            <category><![CDATA[self-publishing]]></category>
            <category><![CDATA[entrepreneurship]]></category>
            <category><![CDATA[novel]]></category>
            <category><![CDATA[young-people]]></category>
            <dc:creator><![CDATA[Pau Blasco i Roca]]></dc:creator>
            <pubDate>Tue, 18 Jan 2022 10:05:53 GMT</pubDate>
            <atom:updated>2022-02-11T16:49:32.085Z</atom:updated>
            <content:encoded><![CDATA[<h4>Entrepreneurship | Writing</h4><h3>How did I write — and publish — a novel by the age of 19</h3><h4>I’m not joking. It is hard for me to believe it, too, but I finally did it. I published a novel, “Oscuridad”, being only 19 years old. Here’s how I did it</h4><p>It all started in one of my vivid dreams, back in 2019. I was in high-school back then, pursuing the double baccalaureate (international and national) away from home. Days were long, nights were short. But even so, I did not lose my ability to dream and imagine.</p><p>I dreamt about a very graphic scene in my hometown. Someone — a fugitive — was moving silently at midnight, trying to come back home. He got spotted by a drug addict, who tried to mug him and stab him with a knife. In self-defense, the fugitive had to shoot at the drug addict, revealing his position and starting a chase with the police.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*M-3xCBbCsXZypPKX" /></figure><p>I tried to capture the dream in my memory, but I knew I could forget it easily. That’s when I decided to write it down in a Google document. This was the beginning.</p><h4>The beginning of it all</h4><p>Yes, that was the moment that I’d call the beginning. But deep in my mind, I know it isn’t true. The beginning of it all was way back when I — as a primary school student — decided to start writing for fun. These drafts, poems and short story attempts all seemed to end up in the same place: at the bottom of my drawer.</p><p>But thanks to that, thanks to my past self for taking the time, the patience, and the energy to learn and understand how writing — at least, at a basic level — worked, I was able to tackle this much bigger project. It was my initial effort, my younger self’s trial and error, which set the first stepping stone in my literary path.</p><h4>The transformation</h4><p>A short scene — the fight in the alley — became a whole chapter. That chapter led to the creation of the main character, Jake, who would end up being called Chikago. The character needed friends, enemies, a mentor. Secondary characters and other main characters were created.</p><p>And bit by bit, the names, the sensations, the backstory, the relationships between characters and the plot were all coming together. I started publishing chapters on <a href="https://www.wattpad.com/story/203341486-oscuridad-volumen-i">Wattpad</a> for free, and got quite a considerable audience. This motivated me a lot to keep on writing and structuring the plot.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qBDe-8dbMKkghwq3yYMkQA.png" /><figcaption>In-depth timeline of pretty much the first half of Act II (it’s in Catalan)</figcaption></figure><h4>Finishing the First Draft</h4><p>Even if I tried and gave my 100%, the word count increased slowly. I was getting chapters done, but every single character I typed made the novel seem more and more unbearable. The ending… I needed something else, something more, the cherry on top of the cake. As one of the main characters says, I had to write “an ending worthy of the story that had been told”. And so did I.</p><p>I remember getting so excited when I pressed that last key on my laptop. It had come to an end. I had finished the first draft. This was the first day of October 2021. I thought to myself I was almost done, that I just had to check for spelling and grammar mistakes, tweak a couple of things, and that would be it. Boy was I wrong.</p><h4>Correcting, editing, formatting, exporting, cover designing…</h4><p>…and tens of other stuff were still missing. I had a cover, but a good friend of mine advised me to design a better one. The format wasn’t up to the standards required by Amazon, so I had to — almost by trial and error — get it right. There were also some repeated (or even missing) words that the automatic corrector wasn’t picking up, so I had to go through the whole thing to make sure everything was perfect.</p><p>All of this was a pain in the ass. But if I had to pay for it — and I could not, given my current economic status — it would have cost me at least 500 or 600 euros. I invested my time and effort, so I wouldn’t have to pay.</p><h4>Translating the novel to Catalan</h4><p>Catalan is my first language, but so is Spanish. I had written the book in the latter of those two, and I thought I could reach a bigger audience if I translated the book. So I spend my entire winter break translating my novel — a 90k word manuscript — and studying for the final exams. Productive, I’d dare to say.</p><h4>Publishing it to Amazon KDP</h4><p>Did I say the last part was horribly extenuating? No? Well, this one was. Amazon — for whatever reason whatsoever — takes a <em>very </em>long time to process files and images. Every time I tried to test if the margins were ok, I had to wait around 10 minutes to see the results. This was especially exhausting because Amazon guidelines were kind of misleading, so I had to figure out some stuff on my own.</p><p>Also, if you publish a book — the same book — in two different languages, you have to set up everything from scratch again. They should probably work on that.</p><p>But hey, I finally did it. So here are both versions, in <a href="https://www.amazon.es/Foscor-El-Despertar-Revolució-Catalan-ebook/dp/B09PLF6T8N/ref=sr_1_3?__mk_es_ES=ÅMÅŽÕÑ&amp;crid=KNSXATQV7EIC&amp;keywords=foscor&amp;qid=1642457029&amp;s=digital-text&amp;sprefix=foscor%2Cdigital-text%2C86&amp;sr=1-3">Catalan</a> and in <a href="https://www.amazon.es/Oscuridad-I-El-Despertar-Revolución-ebook/dp/B09K83NGPY/?_encoding=UTF8&amp;pd_rd_w=iyiIi&amp;pf_rd_p=fd8774eb-4812-4f1e-bfcf-c1db27008937&amp;pf_rd_r=HVHX0K8SXDQXF5MPR4NE&amp;pd_rd_r=ea3db6f7-30c6-43e6-bd85-da864f1d73f2&amp;pd_rd_wg=IuXhT&amp;ref_=pd_gw_ci_mcx_mr_hp_atf_m">Spanish</a>, in case you want to check them out (and perhaps even read them).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oqLHXkBpZcLbmd0-71U6uw.png" /><figcaption>Hardcover and kindle versions of my book. Paperback is also available.</figcaption></figure><h4>Promoting it and sharing it with my friends</h4><p>The last step of a long journey should be a good celebration. I shared my novel with my family and friends, and they are now helping me out to give the book some visibility. Right now, I’m deciding if I’m going to spend money on advertising or if I’m going to save it.</p><p>I wanted to share this achievement with you, too. I’ve recently gained a lot of followers thanks to my tech articles being published in <a href="https://blog.devgenius.io">DevGenius</a>. Likewise, I know to some of you, novels might not be as interesting as they are for me. But nonetheless, I thought it would be a good idea to share this with you. So, thanks for supporting me and reading this!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e42293f4916e" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>