toad.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server operated by David Troy, a tech pioneer and investigative journalist addressing threats to democracy. Thoughtful participation and discussion welcome.

Administered by:

Server stats:

276
active users

#scaladaysmadrid2023

0 posts0 participants0 posts today
Andrei Kucharavy<p>While <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a> continues for a little bit longer with a final panel, I am off to catch my flight back. </p><p>It was a pleasure to attend and a honor to be a speaker; lots of great new people met, and I was humbled by the quality of other speakers.</p><p>Thanks to the amazing organizing team and the whole <a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> community - looking forwards to hearing more of y’all’s adventures and successes!</p><p>
FIN/🧵</p>
Andrei Kucharavy<p>Last of the main track talks: safe SQL queries by Martin Kucera.</p><p>Pb from pure SQL (composition, safety, security).</p><p> - Type safety<br> - Row iteration</p><p>=&gt; Libraries (throwback to GraphAlchemy).</p><p>Why new libraries?<br> - Scala 3 type operations<br> - Macros interference with typing structure<br> - =&gt; Structural Types (made for databases, unused until now).</p><p>Usage example: compare with prior and usage example.</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a>

24/🧵</p>
Andrei Kucharavy<p>A core one for Scala: abstraction level that is being used at every level (abstarction overe execution).</p><p>purpuse and usabilitiy over abstraction elegance (actally a really good point).</p><p>Dependencies versionning was critical foror this work. Versions of dependencies =&gt; Toolkit versions (+ dependencies).</p><p>Libraries focused on LTS versions of Scala.</p><p>(overal, a good approach for time-evolution support).</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>
23/🧵</p>
Andrei Kucharavy<p>Pbs detected:<br> - installation is hard<br> - ecosystem is complicated<br> - looks like is for big projects<br> - no up-to-date answers<br> - libraries hard to find. </p><p>Definition of "simple": problematic definition. Experience description from experienced/newcomers/students-teachers. </p><p>=&gt; Switch to the low cognitive load.</p><p>Framework to asses cognitive load, used for .NET and prog languauge design that was transferred to Toolkit.</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>
22/🧵</p>
Andrei Kucharavy<p>Next up: Szymon Rodziewicz of VirtusLabs talking about ScalaToolkit - an all-included Scala distribution for newcomers with libraries that are already popular. Bascally, standard library with batteries included. </p><p>Only `scala-cli` needs to be installed and configs are provided there. Q&amp;A tutorials + template projects with Scala.</p><p>Based on a survey of experienced users/newcomers/teachers.</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>
21/🧵</p>
Andrei Kucharavy<p>- Vision of Scala as a languauge that is simple to read and write; hence more powerful code is not only unnecessary, it is often not desirable<br> - Spark focus on Python recently<br> - Suggestion from the room to blog about successes in Scala more<br> - Focus on more usability and readability (eg backends); more fun things to do as well.</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>
20/🧵</p>
Andrei Kucharavy<p>Q3: Path down the road into the Scala Land.</p><p>Q4: Community meetups: point by Roksalana about Scala meetups ongoing in Ukraine, but online. </p><p>Several points about funding the development of Scala and industry to step up contributions to Scala development and maintenance. </p><p>Questions from audience:<br> - growth of the community and battling perceptions of Scala from the outside, notably wrt it not being purely functional</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>
20/🧵</p>
Andrei Kucharavy<p>Next up: Scala Community state discussion, led by Zainab Ali, over a pannel of 6 </p><p>Q1: Scala 3 migration.<br> - Things are slow due to Spark still being Scala 2 exclusive (Py2&gt;3 similarity in my case)<br> - Akka is also stuck <br>Q2: Community preservation: <br> - Leaving due to frustration or companies switching out of Scala<br> - Emotions in the involment<br> - Experience as a community organizer<br> - OSS contributions is volunteering, and should not be a requirement on CVs.</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>
19/🧵</p>
Andrei Kucharavy<p>Next up: Roksolana Diachuk of Captify, Kyiv, talking about Productionizing big data. </p><p>Domain of Application: AdTech. </p><p>- Drop * query on prod DB that's used once a year - rebuilding it<br>- Balancing data coming from heterogeneous sources<br>- Data Cost attribution &amp; refactoring<br>- Cleanup and refactoring</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>
18/🧵</p>
Andrei Kucharavy<p>4. Propagate signatures before starting parallel compiling<br>5. Start from code detection by line fingerprinting techniques</p><p>And from that point Optimus Code starts running.</p><p>Demo on 22M LoC 2000 scopes codebase<br>- 4s DB traversal<br>- 1 min compile time for a change affecting 2 scopes. </p><p>Full CI Job improvement: <br> - 80m &gt; 30m core<br> - 60m &gt; 10m single-scope app</p><p>All through build time…</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a>
17/🧵</p>
Andrei Kucharavy<p>Tested with fire on problems more central to development of platform, rather than apps. </p><p>2019: 5M LoC codebase, 800 modules, 100 PRs, but 1h build time </p><p>Development of internal build tool. Parallel, incremental, and deterministically repeatable wrt code (all else is inputs).</p><p>1. Optimize by parallelizing builds starting from signatures.<br>2. Multi-app compiles<br>3. Data types: Fingerprints (source, data, dependencies versions, flags…)</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a>
17/🧵</p>
Andrei Kucharavy<p>Next up - Daniela Sfregola and Valerie Sanders-Duncan of JP Morgan, talking about Optimus Cirrus Platform.</p><p>- Used by 1200 devs daily for financial applications <br>- Builr based on Referentially Transparent functions <br>- Side Effects might still be slightly problematic <br>- However RT functions are heavily optimizable<br>- Example with parallel calls; usage of Future[]s; caching; Optimus just uses the ‘@ decorators to roll it all in for readable code</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a>
16/🧵</p>
Andrei Kucharavy<p>Next: Wojciech Mazur explaining coroutines, fibers and threads in Scala Native.</p><p>- Stackless coroutines<br>- Boundary Suspend continuation </p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a>
15/🧵</p>
Andrei Kucharavy<p>- Provides a really close coding experience to Pytorch <br>- While being idiomatically Scala <br>- Examples of pipelines; Running them<br>- The part that is interesting is the Tensor Safety thanks to Types. Leverage Scala 3's promotion rules to facilitate typing through additivity of types.<br>- Remaining: mutability, shapes safety, ...</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>14/🧵</p>
Andrei Kucharavy<p>Next up: Soren Brunk (<span class="h-card" translate="no"><a href="https://social.brunk.io/@soeren" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>soeren</span></a></span>) USU AI services: storch (aka Pytorch for Scala).</p><p>- with generative ML, "AI" has gone mainstream<br>- AI is software, but it needs even more software to support it<br>- A lot of software in that ecosystem are writtein in Scala<br>- And even more apps integrating AIrun on JVM and need to integrate with it.<br>- With ML being Python-first, this creates a gap. <br>- Storch is to close it, and avoid context switching for developers.</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>13/🧵</p>
Andrei Kucharavy<p>Third: Helping the newcomers to learn Scala more easily: <br> - Simpler Examples<br> - One-shot compilations</p><p>Fourth: Community Governance<br> - Reduce duplication<br> - Earlier warnings of change<br> - Tooling Summits<br> - Tooling Committees<br> - Communication with community<br> - Develop ways to provide moree feedback</p><p>Bonus: Fostering harmonious contributions<br> - Scala Sprees (OSS hackathons)<br> - Bridge: get programmers started with Scala<br>- Google Summers of Code</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>12/🧵</p>
Andrei Kucharavy<p>Time for Scala Center Team's to od a conversation on topics the audience chooses. </p><p>First off: faster builds<br> - Pipelining (dependcies pre-resolutions)<br> - Parallel Compilation<br> - Incremental Compile</p><p>Next: Scala 3 migration.<br> - tool to do it better<br> - look at dependencies<br> - detect patch location<br> - compiler to help to build Scala 2 into Scala 3 code<br> - About 30% of mail libraries have already migrated to Scala 3.</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>11/🧵</p>
Andrei Kucharavy<p>Transition to Monad tutorials (The joke is there). 3 Monad tutorails (3rd is the one I wrote back in 2015: <a href="https://andreikucharavy.com/L3Cache/understanding-the-m-word/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">andreikucharavy.com/L3Cache/un</span><span class="invisible">derstanding-the-m-word/</span></a>) and is the most viewed.</p><p>=&gt; Try to create more Eureka moments.</p><p>OOP-familiar people Moments: OOP Patterns are easy to implement and are powerful tend to get people going. Example: Maps (That I was aslo teaching back in 2015 as part of "Advanced Python")</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>10/🧵</p>
Andrei Kucharavy<p>Next up, Daniel Ciocirlan, on the lessons learned from teaching Scala to 80 000 developers. </p><p>A general observation: Recursive breaking down to blocks of 30 minutes that can be learned one by one &amp; have entry points for begineers and advanced engineers.</p><p>Example of a bad learning experience due to ordering of learning concepts from a game. Students need to understand a need for a concept before being given it.</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>9/🧵</p>
Andrei Kucharavy<p>Next up is yours truly, and for obvious reasons I will not be life-tooting that one.</p><p><a href="https://mastodon.social/tags/Scala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Scala</span></a> <a href="https://mastodon.social/tags/ScalaDays" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDays</span></a> <a href="https://mastodon.social/tags/ScalaDaysMadrid2023" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ScalaDaysMadrid2023</span></a></p><p>8/🧵</p>