# Scala

Published articles for Scala.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Co-Create: Building GitLab with our users

DevFeed: [Co-Create: Building GitLab with our users](<https://devfeed.tech/articles/co-create-building-gitlab-with-our-users-86.md>)

Original publisher: [Read original article](<https://about.gitlab.com/blog/co-create-h1-2026/>)

Author: Isa Huerga

Published: 2026-09-10T00:00:00Z

Content type: article

Language: en

Sources: [GitLab](<https://devfeed.tech/sources/gitlab.md>)

Topics: [GitLab](<https://devfeed.tech/topics/gitlab.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [Application Security](<https://devfeed.tech/topics/application-security.md>), [Cloud APIs](<https://devfeed.tech/topics/cloud-apis.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [co-created](<https://devfeed.tech/tags/co-created.md>), [community](<https://devfeed.tech/tags/community.md>), [contributors](<https://devfeed.tech/tags/contributors.md>), [duo](<https://devfeed.tech/tags/duo.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [scala](<https://devfeed.tech/tags/scala.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

GitLab users collaborated through the Co-Create program on product improvements delivered in the first half of 2026, including API extensions, CI/CD capabilities, Scala support for AI-powered code understanding, security controls, and integration flexibility.

### Source excerpt

GitLab users bring firsthand experience of the workflows they want to improve. Through our Co-Create program, they collaborate directly with us to design, build, and deliver product improvements that benefit more teams. In the first half of 2026, our users helped us extend APIs, add CI/CD capabilities, expand language support for AI-powered code understanding, strengthen security controls, increase the flexibility of integrations, and make GitLab easier to use and understand. Co-Create gives customers a direct path from a real-world challenge to a product improvement. Customers collaborate with us on the problem and solution, and help deliver the change. Unlike a feedback-only model, this puts real workflow context into the product development process. It creates a shorter path from need to value while helping us validate improvements in real conditions and extend their benefits to more GitLab users. "Over ten years ago, we set out to build code.siemens.com, our internal coding platform based on GitLab, which today serves close to 100,000 people. We've run and scaled the platform with a tiny team, guided by a 'for developers, from developers' philosophy. We co-created hundreds of features such as x509/gpg signed commits, protected container/packages, and project and social features such as follow users, allowing us to strengthen the security and collaboration culture at the scale of Siemens." -- Roger Meier, Distinguished Engineer, Siemens From a specific need to a shared improvement Some of the best product improvements start with a specific, real-world need. GitLab contributors helped us address the following needs: Making Scala codebases understandable to Orbit and GitLab Duo Giving security administrators a way to enforce Secret Push Protection across an entire instance Letting high-throughput teams configure merge train pipeline limits Showing the platforms supported by multi-architecture images Providing screen reader users with more context on documentation pa

## Creator of Scala: Comparing Languages And How AI Will Impact Them | Martin Odersky

DevFeed: [Creator of Scala: Comparing Languages And How AI Will Impact Them | Martin Odersky](<https://devfeed.tech/articles/creator-of-scala-comparing-languages-and-how-ai-will-impact-them-martin-odersky-18089.md>)

Original publisher: [Read original article](<https://www.developing.dev/p/creator-of-scala-comparing-languages>)

Author: Ryan Peterman

Published: 2026-08-31T13:05:35Z

Content type: opinion

Language: en

Sources: [The Developing Dev](<https://devfeed.tech/sources/the-developing-dev.md>)

Topics: [Scala](<https://devfeed.tech/topics/scala.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [languages](<https://devfeed.tech/tags/languages.md>), [llms](<https://devfeed.tech/tags/llms.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

An interview with Martin Odersky, creator of Scala, compares Rust, Zig, Python, and Scala and discusses how AI may affect programming-language ecosystems. Odersky also explains functional programming as a style based on values and functions, with minimal mutable state and side effects.

### Source excerpt

There are so many choices every programming language creator makes while navigating engineering tradeoffs in building one.

## AWS Glue 6.0 now available with 30% lower price and full Apache Iceberg v3 support

DevFeed: [AWS Glue 6.0 now available with 30% lower price and full Apache Iceberg v3 support](<https://devfeed.tech/articles/aws-glue-6-0-now-available-with-30-lower-price-and-full-apache-iceberg-v3-support-4608.md>)

Original publisher: [Read original article](<https://aws.amazon.com/blogs/aws/aws-glue-6-0-now-available-with-30-lower-price-and-full-apache-iceberg-v3-support/>)

Author: Channy Yun (윤석찬)

Published: 2026-08-21T18:53:26Z

Content type: release

Language: en

Sources: [AWS News Blog](<https://devfeed.tech/sources/aws-news-blog.md>)

Topics: [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>), [Python](<https://devfeed.tech/topics/python.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [apache](<https://devfeed.tech/tags/apache.md>), [apache-iceberg](<https://devfeed.tech/tags/apache-iceberg.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-glue](<https://devfeed.tech/tags/aws-glue.md>), [launch](<https://devfeed.tech/tags/launch.md>), [news](<https://devfeed.tech/tags/news.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pricing](<https://devfeed.tech/tags/pricing.md>), [python-3-13](<https://devfeed.tech/tags/python-3-13.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [release](<https://devfeed.tech/tags/release.md>), [scala](<https://devfeed.tech/tags/scala.md>), [spark](<https://devfeed.tech/tags/spark.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

AWS Glue 6.0 is generally available with 30% lower pricing, a modernized Spark 4.1 runtime, Python 3.13 and Scala 2.13 support, and full Apache Iceberg v3 support. The release adds improved handling of semi-structured data, declarative ETL pipelines, faster PySpark execution, and real-time streaming with single-digit millisecond latency.

### Source excerpt

AWS Glue 6.0 is built on a fully modernized runtime, Apache Spark 4.1, Python 3.13, and Scala 2.13, delivering 30% lower pricing than previous AWS Glue versions.

## On programming languages, targets, and platforms

DevFeed: [On programming languages, targets, and platforms](<https://devfeed.tech/articles/on-programming-languages-targets-and-platforms-18923.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/programming-languages-targets-platforms/>)

Author: Nicolas Fränkel

Published: 2026-06-21T00:00:00Z

Content type: opinion

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Java](<https://devfeed.tech/topics/java.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [java](<https://devfeed.tech/tags/java.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [languages](<https://devfeed.tech/tags/languages.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [python](<https://devfeed.tech/tags/python.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

A personal discussion of how programming languages have evolved from targeting a single compilation target and platform toward supporting multiple targets. It uses Scala.js as an example and mentions Kotlin and Clojure as other JVM-originated languages targeting JavaScript.

### Source excerpt

I started as a Java developer, but for some time now, I have broadened my horizons. Recently, I thought about how early languages were dedicated to a single target and platform, and now they are broadening their focus. In this post, I want to write down my thoughts in the hope that it may be useful to others, probably to my future self. Definitions You may have been wondering about the title terms.

## How Kotlin influenced Java's development and future

DevFeed: [How Kotlin influenced Java's development and future](<https://devfeed.tech/articles/is-kotlin-a-savior-of-java-39347.md>)

Original publisher: [Read original article](<https://kt.academy/article/kotlin_vs_java>)

Published: 2026-04-06T00:00:00Z

Content type: opinion

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Development](<https://devfeed.tech/topics/development.md>), [Android](<https://devfeed.tech/topics/android.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Groovy](<https://devfeed.tech/topics/groovy.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [development](<https://devfeed.tech/tags/development.md>), [groovy](<https://devfeed.tech/tags/groovy.md>), [java](<https://devfeed.tech/tags/java.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [scala](<https://devfeed.tech/tags/scala.md>), [structured-concurrency](<https://devfeed.tech/tags/structured-concurrency.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This video transcript argues that Kotlin's growth, especially in Android and backend development, pressured Java to evolve. It compares Kotlin's interoperability, tooling, and developer appeal with Java's newer features, while concluding that Java is improving rather than doomed.

### Source excerpt

How Kotlin woke Java up, and what it means for the future of Java development.

## How to really measure LLMs for JVM Code? A Benchmarking guide for late 2025

DevFeed: [How to really measure LLMs for JVM Code? A Benchmarking guide for late 2025](<https://devfeed.tech/articles/how-to-really-measure-llms-for-jvm-code-a-benchmarking-guide-for-late-2025-23020.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/how-to-really-measure-llms-for-jvm-code-a-benchmarking-guide-for-late-2025.html>)

Author: Artur Skowronski

Published: 2025-12-21T04:04:59Z

Content type: tutorial

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [LLM evaluation / benchmarking](<https://devfeed.tech/topics/llm-evaluation-benchmarking.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Java](<https://devfeed.tech/topics/java.md>), [Scala](<https://devfeed.tech/topics/scala.md>)

Tags: [2017](<https://devfeed.tech/tags/2017.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [coding](<https://devfeed.tech/tags/coding.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [llms](<https://devfeed.tech/tags/llms.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

This guide explains how to evaluate large language models for coding, focusing on benchmarks relevant to JVM languages such as Java, Kotlin, and Scala. It describes the shift from testing isolated code generation to assessing software-engineering tasks, including HumanEval, MBPP, and SWE-bench.

### Source excerpt

If you're reading this, you're probably already using some LLM for coding. Maybe it's Copilot, maybe Claude Code, maybe Cursor with Gemini enabled (or Cursor's own model). You know the drill. Do you truly expect the announcement "We are worst than competitors?" The problem is that when someone asks, "Which model is best for Java?", [...] The post How to really measure LLMs for JVM Code? A Benchmarking guide for late 2025 appeared first on JVM Advent.

## Announcing the ClickHouse Connector for AWS Glue

DevFeed: [Announcing the ClickHouse Connector for AWS Glue](<https://devfeed.tech/articles/announcing-the-clickhouse-connector-for-aws-glue-5087.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/clickhouse-connector-aws-glue>)

Author: Luke Gannon

Published: 2025-08-21T00:00:00Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [AWS Glue](<https://devfeed.tech/topics/aws-glue.md>), [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>), [aws-marketplace](<https://devfeed.tech/topics/aws-marketplace.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>)

Tags: [apache](<https://devfeed.tech/tags/apache.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-glue](<https://devfeed.tech/tags/aws-glue.md>), [aws-marketplace](<https://devfeed.tech/tags/aws-marketplace.md>), [blog](<https://devfeed.tech/tags/blog.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [launch](<https://devfeed.tech/tags/launch.md>), [python](<https://devfeed.tech/tags/python.md>), [scala](<https://devfeed.tech/tags/scala.md>), [spark](<https://devfeed.tech/tags/spark.md>)

### AI overview

This article announces the official ClickHouse Connector for AWS Glue, a serverless Apache Spark-based ETL integration available through AWS Marketplace. It explains how the connector supports PySpark and Scala, simplifies setup, and enables production-ready Spark jobs that connect AWS Glue with ClickHouse.

### Source excerpt

Today, we're announcing the launch of the official ClickHouse Connector for AWS Glue, which utilizes their Apache Spark-based serverless ETL engine.

## When SQL Meets Lambda Expressions

DevFeed: [When SQL Meets Lambda Expressions](<https://devfeed.tech/articles/when-sql-meets-lambda-expressions-28971.md>)

Original publisher: [Read original article](<https://blog.jooq.org/when-sql-meets-lambda-expressions/>)

Author: lukaseder

Published: 2025-03-27T13:04:44Z

Content type: tutorial

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [DuckDB](<https://devfeed.tech/topics/duckdb.md>), [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [databricks](<https://devfeed.tech/topics/databricks.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [apply](<https://devfeed.tech/tags/apply.md>), [array](<https://devfeed.tech/tags/array.md>), [array-types](<https://devfeed.tech/tags/array-types.md>), [arrays](<https://devfeed.tech/tags/arrays.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [concatenation](<https://devfeed.tech/tags/concatenation.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [filter](<https://devfeed.tech/tags/filter.md>), [function](<https://devfeed.tech/tags/function.md>), [java](<https://devfeed.tech/tags/java.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [scala](<https://devfeed.tech/tags/scala.md>), [snowflake](<https://devfeed.tech/tags/snowflake.md>), [sql](<https://devfeed.tech/tags/sql.md>), [trino](<https://devfeed.tech/tags/trino.md>)

### AI overview

This article explains how SQL ARRAY types and lambda expressions are supported across several modern SQL dialects. It shows how jOOQ maps Java, Kotlin, and Scala lambda expressions to SQL expressions, including filtering arrays, and describes emulation with subqueries for dialects without lambda syntax.

### Source excerpt

ARRAY types are a part of the ISO/IEC 9075 SQL standard. The standard specifies how to: But it is very unopinionated when it comes to function support. The ISO/IEC 9075-2:2023(E) 6.47 <array value expression> specifies concatenation of arrays, whereas the 6.48 <array value function> section lists a not extremely useful TRIM_ARRAY function, exclusively (using which ... Continue reading When SQL Meets Lambda Expressions ->

## jOOQ 3.20 released with ClickHouse, Databricks, and much more DuckDB support, new modules, Oracle type hierarchies, more spatial support, decfloat and synonym support, hidden columns, Scala 3, Kotlin 2, and much more

DevFeed: [jOOQ 3.20 released with ClickHouse, Databricks, and much more DuckDB support, new modules, Oracle type hierarchies, more spatial support, decfloat and synonym support, hidden columns, Scala 3, Kotlin 2, and much more](<https://devfeed.tech/articles/jooq-3-20-released-with-clickhouse-databricks-and-much-more-duckdb-support-new-modules-oracle-type-hierarchies-more-spatial-support-decfloat-and-synonym-support-hidden-co-28953.md>)

Original publisher: [Read original article](<https://blog.jooq.org/jooq-3-20-released-with-clickhouse-databricks-and-much-more-duckdb-support-new-modules-oracle-type-hierarchies-more-spatial-support-decfloat-and-synonym-support-hidden-columns-scala-3-kotlin/>)

Author: lukaseder

Published: 2025-02-20T10:27:54Z

Content type: release

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [databricks](<https://devfeed.tech/topics/databricks.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [DuckDB](<https://devfeed.tech/topics/duckdb.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Oracle Database](<https://devfeed.tech/topics/oracle-database.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [jpa](<https://devfeed.tech/topics/jpa.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [decfloat](<https://devfeed.tech/tags/decfloat.md>), [dirty-tracking](<https://devfeed.tech/tags/dirty-tracking.md>), [dml-join](<https://devfeed.tech/tags/dml-join.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [hidden-columns](<https://devfeed.tech/tags/hidden-columns.md>), [jdk-21](<https://devfeed.tech/tags/jdk-21.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-3-20](<https://devfeed.tech/tags/jooq-3-20.md>), [jooq-development](<https://devfeed.tech/tags/jooq-development.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [json](<https://devfeed.tech/tags/json.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-2](<https://devfeed.tech/tags/kotlin-2.md>), [merge](<https://devfeed.tech/tags/merge.md>), [modules](<https://devfeed.tech/tags/modules.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [oracle-plsql-types](<https://devfeed.tech/tags/oracle-plsql-types.md>), [r2dbc](<https://devfeed.tech/tags/r2dbc.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [scala](<https://devfeed.tech/tags/scala.md>), [scala-3](<https://devfeed.tech/tags/scala-3.md>), [sequences](<https://devfeed.tech/tags/sequences.md>), [spatial](<https://devfeed.tech/tags/spatial.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

jOOQ 3.20 introduces experimental ClickHouse and Databricks SQL dialects, improves DuckDB support, adds new integration modules, and expands support for Oracle type hierarchies, spatial features, decfloat, synonyms, hidden columns, Scala 3, and Kotlin 2.

### Source excerpt

New dialects: jOOQ 3.20 ships with 2 new experimental dialects: ClickHouse is a fast-moving SQL dialect with a historic vendor-specific syntax that is gradually migrated to a more standards compliant alternative, which is why our support is still experimental. A lot of behaviours differ from what one would expect elsewhere, including NULL handling, which is ... Continue reading jOOQ 3.20 released with ClickHouse, Databricks, and much more DuckDB support, new modules, Oracle type hierarchies, more spatial support, decfloat and synonym support, hidden columns, Scala 3, Kotlin 2, and much more ->

## Why Learning Scala Gave Me Déjà Vu of Kotlin: A Developer's Journey

DevFeed: [Why Learning Scala Gave Me Déjà Vu of Kotlin: A Developer's Journey](<https://devfeed.tech/articles/why-learning-scala-gave-me-deja-vu-of-kotlin-a-developer-s-journey-22877.md>)

Original publisher: [Read original article](<https://medium.com/mindorks/why-learning-scala-gave-me-d%C3%A9j%C3%A0-vu-of-kotlin-a-developers-journey-3126b0e80272?source=rss----f1a763fc7443---4>)

Author: Kavya P S

Published: 2024-10-16T06:49:14Z

Content type: opinion

Language: en

Sources: [Mindorks - Medium](<https://devfeed.tech/sources/mindorks-medium.md>)

Topics: [Scala](<https://devfeed.tech/topics/scala.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [beginners-guide](<https://devfeed.tech/tags/beginners-guide.md>), [developer](<https://devfeed.tech/tags/developer.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [journey](<https://devfeed.tech/tags/journey.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [learning](<https://devfeed.tech/tags/learning.md>), [programming](<https://devfeed.tech/tags/programming.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

A Kotlin Android developer reflects on beginning to learn Scala for backend development and finding familiar concepts in its syntax and features. The article compares the languages through examples including conciseness, type inference, functional programming, null safety, extension functions, pattern matching, and operator overloading. The author notes that the comparison is based on only a few hours of Scala study.

### Source excerpt

Imagine you're 2 years deep into creating cool stuff with Kotlin for Android and you decide to venture into an unfamiliar territory -- Backend development with Scala. You are all prepared to start from zero. But as you go on, it feels strangely familiar, like meeting an old friend. Let me take you through my journey -- exploring Scala was a bit like déjà vu, reminding me of Kotlin in unexpected ways. Come along as I share this story of two coding worlds that seemed oddly similar to me! Disclaimer: Before I begin, I am only one day deep into Scala learning -- okay 2-5 hours deep thanks to this RockTheJVM tutorial! So, this article is not a consolidated list, but a spoiler before you learn the basics of Scala as a Kotlin developer (or vice versa). Before we begin, here's a "textbook" answer for similarities between Kotlin and Scala (thanks to ChatGPT) -- feel free to skip it! Kotlin and Scala, while having their unique features, share some similarities in their syntax. Here are a few key similarities between Kotlin and Scala:1. Conciseness: Both Kotlin and Scala are designed to reduce boilerplate code, allowing developers to write more with less. They provide concise syntax for common operations, making the code cleaner and easier to read. 2. Type Inference: Both languages support type inference, allowing developers to omit explicit type declarations in many cases. The compiler can often deduce the types based on the context, reducing verbosity in code. 3. Functional Programming Features: Both languages incorporate functional programming concepts. They support higher-order functions, immutable data structures, lambda expressions, and various functional programming paradigms. 4. Null Safety: Kotlin and Scala provide features to handle null references safely. Kotlin has a robust system with nullable and non-nullable types, while Scala includes options like `Option` or `Some` to deal with null values. 5. Extension Functions/Methods: Both languages support extension functions

## A developer's first year in the Guardian Digital Fellowship

DevFeed: [A developer's first year in the Guardian Digital Fellowship](<https://devfeed.tech/articles/the-digital-fellowship-is-your-foot-in-the-door-to-the-future-of-news-19956.md>)

Original publisher: [Read original article](<https://www.theguardian.com/info/2018/may/02/the-digital-fellowship-is-your-foot-in-the-door-to-the-future-of-news>)

Author: Guardian Staff

Published: 2024-02-05T16:24:50Z

Content type: opinion

Language: en

Sources: [Guardian](<https://devfeed.tech/sources/guardian.md>)

Topics: [Learning](<https://devfeed.tech/topics/learning.md>), [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Code](<https://devfeed.tech/topics/code.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [API](<https://devfeed.tech/topics/api.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [code](<https://devfeed.tech/tags/code.md>), [continuous-deployment](<https://devfeed.tech/tags/continuous-deployment.md>), [developer](<https://devfeed.tech/tags/developer.md>), [framework](<https://devfeed.tech/tags/framework.md>), [information](<https://devfeed.tech/tags/information.md>), [learn](<https://devfeed.tech/tags/learn.md>), [react](<https://devfeed.tech/tags/react.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

A Guardian Digital Fellowship participant describes his first year learning software development through real editorial technology projects, workshops, team rotations, and production deployments. He discusses working with AWS Lambda, Scala, the Guardian API, data visualisations, and React while receiving support from teammates.

### Source excerpt

A developer in the Fellowship Scheme shares his experiences of his first year at the Guardian I clearly remember my early days in the Guardian's Digital Fellowship as a mixture of excitement and being totally overwhelmed. I had joined the editorial tools team, which builds all our digital tools for our journalists. At morning stand-up people were mentioning more acronyms than I thought I could ever remember. Like many of the fellows from previous years I don't have a computer science degree, or even a STEM background, and getting thrown into a department with more than 80 engineers can be intimidating! Fast forward a couple of months I had written my first AWS lambda, contributed to various projects and was regularly deploying production code unsupervised. The value of the fellowship lies in the fact that while you are given the time to develop your skills independently - you might choose to attend workshops run by other members of the department, learn a new framework and give a talk about it or work on a personal project and present it on the amazing Hack Day - from day one you are treated as an integral part of your team. That means that you get your hands dirty on real projects, learning and improving at an incredible pace. Continue reading...

## How the Guardian improved Typerighter, its style-guide checking tool

DevFeed: [How the Guardian improved Typerighter, its style-guide checking tool](<https://devfeed.tech/articles/making-typerighter-work-harder-19958.md>)

Original publisher: [Read original article](<https://www.theguardian.com/info/2023/dec/11/making-typerighter-work-harder-engineering-blog>)

Author: Rhys Mills

Published: 2023-12-11T15:12:52Z

Content type: article

Language: en

Sources: [Guardian](<https://devfeed.tech/sources/guardian.md>)

Topics: [Tool](<https://devfeed.tech/topics/tool.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Web app](<https://devfeed.tech/topics/webapp.md>), [Library](<https://devfeed.tech/topics/library.md>), [XML](<https://devfeed.tech/topics/xml.md>)

Tags: [articles](<https://devfeed.tech/tags/articles.md>), [content](<https://devfeed.tech/tags/content.md>), [library](<https://devfeed.tech/tags/library.md>), [quality](<https://devfeed.tech/tags/quality.md>), [quality-control](<https://devfeed.tech/tags/quality-control.md>), [regex](<https://devfeed.tech/tags/regex.md>), [scala](<https://devfeed.tech/tags/scala.md>), [tool](<https://devfeed.tech/tags/tool.md>), [web-app](<https://devfeed.tech/tags/web-app.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

The Guardian describes improvements to Typerighter, a style-guide checking tool integrated with its Composer content management system. The system uses curated regular expressions and XML-based LanguageTool rules to identify potential spelling and grammar problems, and the article explains why expanding its use was important for live blogs.

### Source excerpt

How we improved Typerighter, the Guardian's style guide checker, to provide more value for the Guardian and its readers Minimising typos is important to a newspaper. Publishing messy prose might undermine trust in our overall quality control - why trust our political reporting if we can't spell Thérèse Coffey's name? We want to provide accurate information, and typos can mutate meaning - a single letter can transform a fiend to a friend and a bowl to a bowel. Worse, a missing word can turn a holy text into a wicked one. The Guardian is in the business of words, and we're keen to avoid "idiosyncratic" spelling decisions. That's why we built Typerighter, a tool that offers recommendations from our style guide into our content management system - Composer - and highlights errors well before the articles get in front of our readers. Continue reading...

## Stitch Fix's Move to Kubernetes for More Agile Service Deployment

DevFeed: [Stitch Fix's Move to Kubernetes for More Agile Service Deployment](<https://devfeed.tech/articles/towards-service-deployment-agility-29346.md>)

Original publisher: [Read original article](<https://multithreaded.stitchfix.com/blog/2023/09/19/towards-service-deployment-agility/>)

Published: 2023-09-19T15:00:00Z

Content type: article

Language: en

Sources: [Stitch Fix](<https://devfeed.tech/sources/stitch-fix.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Amazon Elastic Kubernetes Service](<https://devfeed.tech/topics/amazon-elastic-kubernetes-service.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>)

Tags: [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [emr](<https://devfeed.tech/tags/emr.md>), [golang](<https://devfeed.tech/tags/golang.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [nodejs](<https://devfeed.tech/tags/nodejs.md>), [python](<https://devfeed.tech/tags/python.md>), [scala](<https://devfeed.tech/tags/scala.md>), [spark](<https://devfeed.tech/tags/spark.md>)

### AI overview

This article describes Stitch Fix's effort to improve service deployment agility. It explains the platform's self-service goals, its transition from EMR-based Spark infrastructure to EKS, and the deployment challenges that motivated consideration of Kubernetes for core platform services, including standardization across languages, autoscaling, rollback, and traffic segmentation.

### Source excerpt

Introduction At Stitch Fix, our data platform is designed to be self-service, with our users taking ownership of their own ETL, models, and microservices. To support this approach, the platform team prioritizes user autonomy and end-to-end tooling in their tooling designs, minimizing the involvement of platform engineers in day-to-day engineering and data science workflows. We regularly evaluate our infrastructure against new frameworks to assess the costs and benefits of potential updates. Last year, we transitioned our EMR-based Spark infrastructure to EKS to take advantage of its benefits. The next logical step was to re-examine how our core platform services were deployed and updated, especially those still deployed directly to instances. We also recognized that Kubernetes, a popular open-source system for handling the deployment of containerized applications, could provide benefits for microservice orchestration beyond just batch compute infrastructure. Our existing instance-based service deployment framework was beginning to show its age in areas that were critical for Stitch Fix, such as the development lifecycle's velocity. As we saw an opportunity to leverage Kubernetes to address these issues, we identified pain points in our service deployment ecosystem. Pain Points Building and deploying services can be a time-consuming process, involving multiple steps and dependencies. We needed a solution that would streamline this process and enable us to deploy services more efficiently. Polyglot environments, where multiple programming languages are used within the same system, can present a challenge for deployment standardization. At Stitch Fix, we use a variety of languages, including Python, Golang, Nodejs, and JVM (Java and Scala), making it difficult to establish consistent deployment practices across the board. We needed a way to deploy polyglot environments in a standardized and efficient manner. Autoscaling and rollback capabilities are essential for manag

## Integrating Rust with Android for Cross-Platform Code Reuse

DevFeed: [Integrating Rust with Android for Cross-Platform Code Reuse](<https://devfeed.tech/articles/rust-cross-platform-the-android-part-34674.md>)

Original publisher: [Read original article](<http://fernandocejas.com/blog/engineering/2023-07-27-rust-cross-platform-android/>)

Author: Fernando Cejas (me@fernandocejas.com)

Published: 2023-07-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Fernando Cejas Blog](<https://devfeed.tech/sources/fernando-cejas-blog.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Android](<https://devfeed.tech/topics/android.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Development](<https://devfeed.tech/topics/development.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [code](<https://devfeed.tech/tags/code.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [culture](<https://devfeed.tech/tags/culture.md>), [development](<https://devfeed.tech/tags/development.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [linux](<https://devfeed.tech/tags/linux.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scala](<https://devfeed.tech/tags/scala.md>), [software](<https://devfeed.tech/tags/software.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A tutorial on integrating Rust with an Android application for cross-platform code reuse. It covers project structure, Rust compilation, Android CPU architecture libraries, JNI integration, Android SDK and NDK requirements, and an example involving encryption and decryption.

### Source excerpt

In this journey, we will go through the **process, infrastructure and architecture** on how we can integrate **Rust in our Android Project** in a **cross-platform development** way. Topics like **JNI** and **NDK** are also covered, plus some **anti-patterns** and **real use cases/scenarios**.

## Arrow 2.0's Trajectory

DevFeed: [Arrow 2.0's Trajectory](<https://devfeed.tech/articles/arrow-2-0-s-trajectory-25509.md>)

Original publisher: [Read original article](<http://nomisrev.github.io/arrows-2-0-trajectory/>)

Author: Simon Vergauwen

Published: 2023-04-16T00:00:00Z

Content type: opinion

Language: en

Sources: [nomisRev](<https://devfeed.tech/sources/nomisrev.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Library](<https://devfeed.tech/topics/library.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Java](<https://devfeed.tech/topics/java.md>), [Scala](<https://devfeed.tech/topics/scala.md>)

Tags: [arrow](<https://devfeed.tech/tags/arrow.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [library](<https://devfeed.tech/tags/library.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [oss](<https://devfeed.tech/tags/oss.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

A presentation transcription about Arrow's 10-year history, its trajectory toward version 2.0, functional programming in Kotlin, ecosystem cohesion, evolving APIs, and challenges faced by open-source projects.

### Source excerpt

This blog post is an improved version of the transcription of the presentation I gave at KotlinConf 2023. It discusses the 10-year history of Arrow, all the way from the first commit to the current state of the library. It also discusses the future of Functional Programming in Kotlin, and the challenges OSS projects face.

## Deploying an Uberjar to Dokku

DevFeed: [Deploying an Uberjar to Dokku](<https://devfeed.tech/articles/deploying-an-uberjar-to-dokku-27453.md>)

Original publisher: [Read original article](<https://ariya.io/2023/02/deploying-an-uberjar-to-dokku/>)

Published: 2023-02-23T19:37:36Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Platform as a Service (PaaS)](<https://devfeed.tech/topics/platform-as-a-service-paas.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>)

Tags: [adoptium](<https://devfeed.tech/tags/adoptium.md>), [containers](<https://devfeed.tech/tags/containers.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [java](<https://devfeed.tech/tags/java.md>), [linux](<https://devfeed.tech/tags/linux.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [paas-solutions](<https://devfeed.tech/tags/paas-solutions.md>), [scala](<https://devfeed.tech/tags/scala.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>)

### AI overview

This tutorial explains how to deploy a Java Uberjar to Dokku by sending the packaged artifact directly instead of creating a container image. It covers the required application files, packaging, Dokku application setup, and an OpenJDK 17 base image example using Metabase.

### Source excerpt

Dokku is a self-hosted Platform-as-a-Service (PaaS) that offers a compelling alternative to popular PaaS solutions like Heroku. With built-in support for Linux containers, deploying an application on Dokku is straightforward. However, there is a lesser-known deployment method that involves sending a build artifact, such as a JAR package for Java apps, directly to Dokku.

## An over-engineered Home Lab with Docker and Kubernetes.

DevFeed: [An over-engineered Home Lab with Docker and Kubernetes.](<https://devfeed.tech/articles/an-over-engineered-home-lab-with-docker-and-kubernetes-34673.md>)

Original publisher: [Read original article](<http://fernandocejas.com/blog/engineering/2023-01-06-over-engineered-home-lab-docker-kubernetes/>)

Author: Fernando Cejas (me@fernandocejas.com)

Published: 2023-01-06T00:00:00Z

Content type: article

Language: en

Sources: [Fernando Cejas Blog](<https://devfeed.tech/sources/fernando-cejas-blog.md>)

Topics: [Homelab](<https://devfeed.tech/topics/homelab.md>), [.env](<https://devfeed.tech/topics/dotenv.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Network Attached Storage (NAS)](<https://devfeed.tech/topics/network-attached-storage-nas.md>), [Network](<https://devfeed.tech/topics/network.md>), [Security, Privacy and Abuse Prevention](<https://devfeed.tech/topics/security-privacy-and-abuse-prevention.md>), [Virtual Private Network](<https://devfeed.tech/topics/vpn.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [culture](<https://devfeed.tech/tags/culture.md>), [data-privacy](<https://devfeed.tech/tags/data-privacy.md>), [development](<https://devfeed.tech/tags/development.md>), [docker](<https://devfeed.tech/tags/docker.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [home-lab](<https://devfeed.tech/tags/home-lab.md>), [home-server](<https://devfeed.tech/tags/home-server.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [internet](<https://devfeed.tech/tags/internet.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [linux](<https://devfeed.tech/tags/linux.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [network](<https://devfeed.tech/tags/network.md>), [network-attached-storage-nas](<https://devfeed.tech/tags/network-attached-storage-nas.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openwrt](<https://devfeed.tech/tags/openwrt.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scala](<https://devfeed.tech/tags/scala.md>), [software](<https://devfeed.tech/tags/software.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A personal account of building a private home lab using two Intel NUC Mini PCs, a modem/router, an OpenWRT router, and a NAS. The article compares Kubernetes and Docker, discusses maintenance and troubleshooting costs, and explains that the author ultimately chose a plain Docker setup.

### Source excerpt

**Setting up a personal Home Lab is not a task for lazy people**: it incurrs a **big cost of maintenance** and **issues arise** even though we might use the **best IT-Infrastructure practices...** but we can always **learn a lot** out of it and make it also **super fun**. In this post I would like to share **my journey** and share some **tips and tricks and issues** I bumped into. **Let's jump in!**

## Strava's Transition from a Ruby on Rails Monolith to Scala Microservices

DevFeed: [Strava's Transition from a Ruby on Rails Monolith to Scala Microservices](<https://devfeed.tech/articles/a-taste-of-pakora-26568.md>)

Original publisher: [Read original article](<https://medium.com/strava-engineering/a-taste-of-pakora-cf3b5de261ec?source=rss----89d4108ce2a3---4>)

Author: Avery Dunn

Published: 2022-11-01T16:02:01Z

Content type: opinion

Language: en

Sources: [Strava Engineering](<https://devfeed.tech/sources/strava-engineering.md>)

Topics: [Microservices](<https://devfeed.tech/topics/microservices.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Ruby on Rails](<https://devfeed.tech/topics/ruby-on-rails.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [internships](<https://devfeed.tech/tags/internships.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [ruby-on-rails](<https://devfeed.tech/tags/ruby-on-rails.md>), [scala](<https://devfeed.tech/tags/scala.md>), [software-development](<https://devfeed.tech/tags/software-development.md>)

### AI overview

A Strava software engineering intern reflects on the company's transition from a Ruby on Rails monolith to Scala microservices. The article describes the intended benefits for team independence and developer experience, and notes that the API is evolving from REST to GraphQL.

### Source excerpt

My name is Avery Dunn and I am a rising master's student at Washington University in St. Louis studying computer science. For the past 12 weeks, I have been a software engineering intern on the API & Platform pod of the Foundation team. I am an active Strava user and have been for approximately 3 years with my favorite activity being running. Some other activities I enjoy are playing the piano, reading novels, or skiing (more of a luxury rather than a hobby). My internship at Strava has been a wonderful experience to help me learn, grow, and develop into becoming a more well-rounded, conscientious software engineer. Whether it was working with a recent hire or seasoned "Stravioli," the positive and ambitious company culture shined brightly throughout the course of the summer. In Transition From a Monolithic to Microservice Architecture Strava currently maintains a code monolith-a huge Ruby on Rails codebase that controls the user interface, business logic, and database access. For a growing company like Strava and the continuous development of ideas being made into new features, a code monolith doesn't make for a great developer experience. Trying to parse through a massive codebase and making sure that all the moving parts are in order so that a typo that was somehow glossed over can successfully be changed makes me a little dizzy, personally. The developers at Strava thought so too, and decided to embark on a transition from the Ruby on Rails singular software application to Scala microservices. Over the course of my internship, I gained insight into the process of restructuring a singular software application into Scala microservices and the benefits of that result. Scala microservices can be thought of as modules that work together but separately. They encourage diversification of teams such that each team has less of a dependence on one another like they would for a monolithic codebase. Figure 1: Comparison of a monolithic codebase architecture versus distribut

## Learning Scala at SoundCloud

DevFeed: [Learning Scala at SoundCloud](<https://devfeed.tech/articles/learning-scala-at-soundcloud-2072.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//learning-scala-at-soundcloud>)

Published: 2022-04-19T00:00:00Z

Content type: article

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [Scala](<https://devfeed.tech/topics/scala.md>), [Go](<https://devfeed.tech/topics/go.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [developer](<https://devfeed.tech/tags/developer.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [learning](<https://devfeed.tech/tags/learning.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

A backend developer describes learning Scala after joining SoundCloud, where Scala is widely used for microservices. The article covers courses, books, varied study methods, help from colleagues, personal objectives, and differences between Go and Scala, including their approaches to concurrency and parallelism.

### Source excerpt

I'm a backend developer who worked extensively writing code in Golang before joining SoundCloud. SoundCloud mostly uses Scala for its...

## Arch Linux System Maintainance.

DevFeed: [Arch Linux System Maintainance.](<https://devfeed.tech/articles/arch-linux-system-maintainance-34672.md>)

Original publisher: [Read original article](<http://fernandocejas.com/blog/engineering/2022-03-30-arch-linux-system-maintance/>)

Author: Fernando Cejas (me@fernandocejas.com)

Published: 2022-03-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Fernando Cejas Blog](<https://devfeed.tech/sources/fernando-cejas-blog.md>)

Topics: [Arch Linux](<https://devfeed.tech/topics/archlinux.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [pacman](<https://devfeed.tech/topics/pacman.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [culture](<https://devfeed.tech/tags/culture.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [guide](<https://devfeed.tech/tags/guide.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [linux](<https://devfeed.tech/tags/linux.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pacman](<https://devfeed.tech/tags/pacman.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scala](<https://devfeed.tech/tags/scala.md>), [software](<https://devfeed.tech/tags/software.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A guide to maintaining Arch Linux installations. It covers system updates, troubleshooting keyring issues, cleaning the pacman cache, removing orphaned and unwanted packages, and managing cache data in the home directory.

### Source excerpt

In this guide we will walk through the most important practices **regarding system maintainance for Linux home computers.** Most of them are **Arch Linux** (and variants) specific but we can get ideas on how other distros can use and apply the same principles.

## The End of the Public API Strangler

DevFeed: [The End of the Public API Strangler](<https://devfeed.tech/articles/the-end-of-the-public-api-strangler-2030.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//end-of-the-strangler>)

Published: 2022-03-14T00:00:00Z

Content type: article

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [BFF](<https://devfeed.tech/topics/bff.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>), [Finagle](<https://devfeed.tech/topics/finagle.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [bff](<https://devfeed.tech/tags/bff.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [finagle](<https://devfeed.tech/tags/finagle.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

SoundCloud describes an eight-year migration of its public API from a monolithic Ruby on Rails application to a BFF using the Strangler pattern. The approach introduced a Scala service built with Finagle to proxy and augment API responses while functionality moved across microservices.

### Source excerpt

This is the story of how we used the Strangler pattern to migrate our public API from a monolithic codebase to a fully fledged BFF over the...

## What Is New with Periskop in 2022

DevFeed: [What Is New with Periskop in 2022](<https://devfeed.tech/articles/what-is-new-with-periskop-in-2022-2110.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//periskop-in-2022>)

Published: 2022-02-01T00:00:00Z

Content type: article

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [debugging](<https://devfeed.tech/topics/debugging.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>)

Tags: [engineering](<https://devfeed.tech/tags/engineering.md>), [exception](<https://devfeed.tech/tags/exception.md>), [go](<https://devfeed.tech/tags/go.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [observability](<https://devfeed.tech/tags/observability.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [python](<https://devfeed.tech/tags/python.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [scala](<https://devfeed.tech/tags/scala.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

The article describes 2022 updates to Periskop, an open-source pull-based exception-monitoring service used for debugging and incident response. It covers community-oriented governance, client libraries including Scala and Go, and planned exception persistence beyond in-memory storage.

### Source excerpt

In a previous blog post, we explained how we built an internal pull-based exception monitoring service called Periskop -- which is heavily...

## Datalore Enterprise 2021.3: ячейки SQL, подключение Jupyter-ноутбуков к БД, интерактивные отчеты и многое другое

DevFeed: [Datalore Enterprise 2021.3: ячейки SQL, подключение Jupyter-ноутбуков к БД, интерактивные отчеты и многое другое](<https://devfeed.tech/articles/datalore-enterprise-2021-3-sql-jupyter-23947.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/593959/>)

Author: alenaguzharina (JetBrains)

Published: 2021-12-07T14:10:12Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [Data Science](<https://devfeed.tech/topics/data-science.md>), [jupyter](<https://devfeed.tech/topics/jupyter.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [SQLAlchemy](<https://devfeed.tech/topics/sqlalchemy.md>), [R](<https://devfeed.tech/topics/r.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [Amazon Redshift](<https://devfeed.tech/topics/amazon-redshift.md>), [Azure SQL](<https://devfeed.tech/topics/azure-sql.md>), [MariaDB](<https://devfeed.tech/topics/mariadb.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Oracle Database](<https://devfeed.tech/topics/oracle-database.md>)

Tags: [azure-sql](<https://devfeed.tech/tags/azure-sql.md>), [data](<https://devfeed.tech/tags/data.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [database](<https://devfeed.tech/tags/database.md>), [datalore](<https://devfeed.tech/tags/datalore.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyterhub](<https://devfeed.tech/tags/jupyterhub.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [plus-a5524f17cbdd](<https://devfeed.tech/tags/plus-a5524f17cbdd.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [python](<https://devfeed.tech/tags/python.md>), [scala](<https://devfeed.tech/tags/scala.md>), [sql](<https://devfeed.tech/tags/sql.md>), [tag-4d3456108bed](<https://devfeed.tech/tags/tag-4d3456108bed.md>), [tag-b0c5f1e2d8ce](<https://devfeed.tech/tags/tag-b0c5f1e2d8ce.md>), [tag-baf5012a40ff](<https://devfeed.tech/tags/tag-baf5012a40ff.md>)

### AI overview

This release article presents Datalore Enterprise 2021.3, a data science platform for collaborative Jupyter notebooks. The update adds database connections and native SQL cells, with query results transferred to pandas DataFrames, support for R and Scala notebooks, reactive features, chart builders, and interactive report publishing.

### Source excerpt

Привет, Хабр! Datalore Enterprise -- это data science платформа для совместной работы с Jupyter-ноутбуками. Ее можно установить в частное облако или на приватный сервер компании. Новая версия 2021.3 позволяет специалистам по анализу и обработке данных работать с базами данных и SQL-кодом внутри Jupyter-ноутбуков, а также легко делиться результатами работы с коллегами. Также мы интегрировали поддержку ноутбуков R и Scala, добавили новый реактивный режим, реализовали конструкторы графиков и множество других функций. Читайте дальше, чтобы узнать о новых возможностях Datalore Enterprise 2021.3! Читать далее

## Cooking Effective Code Reviews.

DevFeed: [Cooking Effective Code Reviews.](<https://devfeed.tech/articles/cooking-effective-code-reviews-34671.md>)

Original publisher: [Read original article](<http://fernandocejas.com/blog/engineering/2021-08-04-cooking-effective-code-reviews/>)

Author: Fernando Cejas (me@fernandocejas.com)

Published: 2021-08-04T00:00:00Z

Content type: tutorial

Language: en

Sources: [Fernando Cejas Blog](<https://devfeed.tech/sources/fernando-cejas-blog.md>)

Topics: [Code review](<https://devfeed.tech/topics/code-review.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [Development](<https://devfeed.tech/topics/development.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>), [decision-making](<https://devfeed.tech/topics/decision-making.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [code-reviews](<https://devfeed.tech/tags/code-reviews.md>), [culture](<https://devfeed.tech/tags/culture.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [legacy-code](<https://devfeed.tech/tags/legacy-code.md>), [linux](<https://devfeed.tech/tags/linux.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [processes](<https://devfeed.tech/tags/processes.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scala](<https://devfeed.tech/tags/scala.md>), [software](<https://devfeed.tech/tags/software.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [structured](<https://devfeed.tech/tags/structured.md>), [team](<https://devfeed.tech/tags/team.md>), [tech-debt](<https://devfeed.tech/tags/tech-debt.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A tutorial on making pull request code reviews more effective through a structured process. It discusses their role in code quality, documentation, collaboration, engineering culture, and keeping reviews small enough to manage.

### Source excerpt

**Reviewing code (PRs) is not an easy task**, so in this post I will share **tips and tricks** on how your code reviews can better contribute to **code quality**, **be more effective and increase team morale** by following a structured and organized process. **Let's jump in!**

[Next page](<https://devfeed.tech/tags/scala.md?cursor=WyIyMDIxLTA4LTA0VDAwOjAwOjAwKzAwOjAwIiwgIjI1YTg0YzBkLTAyN2YtNDEzMi04ZDZiLTc5NTU4ZWM3MzVmMyJd>)