# Arrow

Published articles for Arrow.

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

## Let's Reduce! A Gentle Introduction to Javascript's Reduce Method

DevFeed: [Let's Reduce! A Gentle Introduction to Javascript's Reduce Method](<https://devfeed.tech/articles/let-s-reduce-a-gentle-introduction-to-javascript-s-reduce-method-27391.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/lets-reduce.htm>)

Author: Khan Academy

Published: 2017-07-10T22:00:00Z

Content type: tutorial

Language: en

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

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [arrow](<https://devfeed.tech/tags/arrow.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [filter](<https://devfeed.tech/tags/filter.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [map](<https://devfeed.tech/tags/map.md>), [news](<https://devfeed.tech/tags/news.md>), [react](<https://devfeed.tech/tags/react.md>), [reduce](<https://devfeed.tech/tags/reduce.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>)

### AI overview

A tutorial explaining JavaScript's reduce method as a foundation for understanding Redux. It describes how reduce processes array items, how each iteration depends on the previous return value, and why the method can be difficult to learn.

### Source excerpt

By Josh Comeau Every summer, Khan Academy recruits a few software engineer interns. As part of their onboarding, ... Read more

## ADBC: Arrow's Cross-Platform Database Connectivity API

DevFeed: [ADBC: Arrow's Cross-Platform Database Connectivity API](<https://devfeed.tech/articles/adbc-38702.md>)

Original publisher: [Read original article](<https://dataengineeringcentral.substack.com/p/adbc>)

Author: Daniel Beach

Published: 2026-07-20T13:57:32Z

Content type: article

Language: en

Sources: [Data Engineering Central](<https://devfeed.tech/sources/data-engineering-central.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [data](<https://devfeed.tech/topics/data.md>), [client](<https://devfeed.tech/topics/client.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [arrow](<https://devfeed.tech/tags/arrow.md>), [client](<https://devfeed.tech/tags/client.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [rust](<https://devfeed.tech/tags/rust.md>)

### AI overview

This article explains ADBC, Arrow's database connectivity API. It describes ADBC implementations across several languages and databases, and compares its columnar, minimal-overhead approach with JDBC and ODBC for working with Arrow data.

### Source excerpt

Guest Post by Anonymous Rust Dev

## The Creator of Pandas on AI, Apache Arrow, and the Future of Software Engineering

DevFeed: [The Creator of Pandas on AI, Apache Arrow, and the Future of Software Engineering](<https://devfeed.tech/articles/the-creator-of-pandas-on-ai-apache-arrow-and-the-future-of-software-engineering-38717.md>)

Original publisher: [Read original article](<https://dataengineeringcentral.substack.com/p/the-creator-of-pandas-on-ai-apache>)

Author: Daniel Beach

Published: 2026-07-08T12:16:09Z

Content type: article

Language: en

Sources: [Data Engineering Central](<https://devfeed.tech/sources/data-engineering-central.md>)

Topics: [pandas](<https://devfeed.tech/topics/pandas.md>), [data-engineering](<https://devfeed.tech/topics/data-engineering.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [DuckDB](<https://devfeed.tech/topics/duckdb.md>), [data-platforms](<https://devfeed.tech/topics/data-platforms.md>), [software-development](<https://devfeed.tech/topics/software-development.md>), [future of software](<https://devfeed.tech/topics/future-of-software.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>), [Hadoop](<https://devfeed.tech/topics/hadoop.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [parquet](<https://devfeed.tech/topics/parquet.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [apache-arrow](<https://devfeed.tech/tags/apache-arrow.md>), [arrow](<https://devfeed.tech/tags/arrow.md>), [data](<https://devfeed.tech/tags/data.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [data-platforms](<https://devfeed.tech/tags/data-platforms.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [hadoop](<https://devfeed.tech/tags/hadoop.md>), [large-language-models](<https://devfeed.tech/tags/large-language-models.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pandas](<https://devfeed.tech/tags/pandas.md>), [parquet](<https://devfeed.tech/tags/parquet.md>), [software-development](<https://devfeed.tech/tags/software-development.md>)

### AI overview

An interview with Wes McKinney covers the origins of pandas and Apache Arrow, the evolution of modern data engineering from Hadoop to lakehouse architectures, and the roles of tools such as Parquet, DuckDB, DataFusion, and Spark. McKinney also discusses how AI affects software development, arguing that it can improve experienced engineers' productivity but does not replace software engineering, architecture, or judgment.

### Source excerpt

interview with Wes McKinney

## Introducing Apache Arrow Support in mssql-python

DevFeed: [Introducing Apache Arrow Support in mssql-python](<https://devfeed.tech/articles/introducing-apache-arrow-support-in-mssql-python-20347.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/python/introducing-apache-arrow-support-in-mssql-python/>)

Author: Saumya Garg

Published: 2026-05-04T04:33:00Z

Content type: release

Language: en

Sources: [Microsoft Python Engineering](<https://devfeed.tech/sources/microsoft-python-engineering.md>)

Topics: [sql-server](<https://devfeed.tech/topics/sql-server.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [data](<https://devfeed.tech/topics/data.md>), [pandas](<https://devfeed.tech/topics/pandas.md>)

Tags: [apache-arrow](<https://devfeed.tech/tags/apache-arrow.md>), [arrow](<https://devfeed.tech/tags/arrow.md>), [azure](<https://devfeed.tech/tags/azure.md>), [azure-sql](<https://devfeed.tech/tags/azure-sql.md>), [client-driver](<https://devfeed.tech/tags/client-driver.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [pandas](<https://devfeed.tech/tags/pandas.md>), [python](<https://devfeed.tech/tags/python.md>), [python-driver-for-azure-sql](<https://devfeed.tech/tags/python-driver-for-azure-sql.md>), [python-driver-for-sql-server](<https://devfeed.tech/tags/python-driver-for-sql-server.md>), [sql-server](<https://devfeed.tech/tags/sql-server.md>), [sql-server-2025](<https://devfeed.tech/tags/sql-server-2025.md>), [zero-copy](<https://devfeed.tech/tags/zero-copy.md>)

### AI overview

Microsoft introduces Apache Arrow support in mssql-python, enabling SQL Server data to be fetched directly into Arrow structures for Polars, Pandas, DuckDB, and other Arrow-native libraries. The approach is intended to reduce Python object creation and memory overhead during data processing.

### Source excerpt

Reviewed by Sumit Sarabhai Fetching a million rows from SQL Server into a Polars DataFrame used to mean a million Python objects, a million GC allocations, and then throwing it all away to build a DataFrame. Not anymore. mssql-python now supports fetching SQL Server data directly as Apache Arrow structures - a faster and more [...] The post Introducing Apache Arrow Support in mssql-python appeared first on Microsoft for Python Developers Blog.

## Book Notes: The Dark Art of Linear Algebra by Seth Braver -- Chapter 1 Review

DevFeed: [Book Notes: The Dark Art of Linear Algebra by Seth Braver -- Chapter 1 Review](<https://devfeed.tech/articles/book-notes-the-dark-art-of-linear-algebra-by-seth-braver-chapter-1-review-33309.md>)

Original publisher: [Read original article](<https://ruslanspivak.com/bb06/>)

Author: Ruslan Spivak

Published: 2025-07-15T14:38:00Z

Content type: opinion

Language: en

Sources: [Ruslan Spivak](<https://devfeed.tech/sources/ruslan-spivak.md>)

Topics: [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [math](<https://devfeed.tech/topics/math.md>)

Tags: [addition](<https://devfeed.tech/tags/addition.md>), [arrow](<https://devfeed.tech/tags/arrow.md>), [blog](<https://devfeed.tech/tags/blog.md>), [book](<https://devfeed.tech/tags/book.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [review](<https://devfeed.tech/tags/review.md>), [vector](<https://devfeed.tech/tags/vector.md>)

### AI overview

A review of Chapter 1 of Seth Braver's The Dark Art of Linear Algebra, focusing on geometric interpretations of vectors, vector addition, subtraction by addition, and the roles of commutativity and associativity.

### Source excerpt

"Mathematics is the art of reducing any problem to linear algebra." -- William Stein If you've ever looked at a vector and thought, "Just a column of numbers, right?", this chapter will change that. The Dark Art of Linear Algebra (aka DALA) by Seth Braver opens with one of the ...

## 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.

## KotlinConf'23-Kotlin & Functional Programming: pick the best, skip the rest by Urs Peter

DevFeed: [KotlinConf'23-Kotlin & Functional Programming: pick the best, skip the rest by Urs Peter](<https://devfeed.tech/articles/kotlinconf-23-kotlin-functional-programming-pick-the-best-skip-the-rest-by-urs-peter-27026.md>)

Original publisher: [Read original article](<https://appmattus.medium.com/kotlinconf23-kotlin-functional-programming-pick-the-best-skip-the-rest-by-urs-peter-8958d3dcb432?source=rss-be40b368c57e------2>)

Author: Matthew Dolan

Published: 2023-04-14T06:32:47Z

Content type: opinion

Language: en

Sources: [Stories by Matthew Dolan on Medium](<https://devfeed.tech/sources/stories-by-matthew-dolan-on-medium.md>)

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

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [arrow](<https://devfeed.tech/tags/arrow.md>), [data-structures](<https://devfeed.tech/tags/data-structures.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [monad](<https://devfeed.tech/tags/monad.md>), [optional](<https://devfeed.tech/tags/optional.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

A review of Urs Peter's KotlinConf'23 talk on functional programming, covering monoids, functors, monads, and selective use of the Arrow framework. It highlights using Either for recoverable service errors, nullable comprehensions, and Arrow Optics for nested data updates.

### Source excerpt

KotlinConf'23 -- Kotlin & Functional Programming: pick the best, skip the rest by Urs Peterhttps://medium.com/media/b5b95f6bdbb507930534ef8279ba1d05/href I recently had the pleasure of listening to Urs Peter's talk on Kotlin & Functional. The speaker gave a great, simple summary of what a Monad is and how it works. In essence: a Monoid is combinable (plus) and has an identity (empty) element which when combined with another value returns that other value. a Functor is mappable (map) a Monad is composable (flatMap) The talk then went on to discuss some common monads, such as Collections and Optional. The highlight of the talk for me was when the speaker talked about cherry-picking the best features between Kotlin and Monads (using the Arrow framework). Use Monads selectively where needed and useful. Why use a Monad to replace try-catch blocks for the 95% of use cases? Let exceptions bubble up to a GlobalExceptionHandler. For the other 5%, where we're typically recovering in our service, prefer Either<A,B> over Result as it makes the contract explicit with easy access to the error reply. Prevent tedious null checks with Arrow's nullable{ } comprehension. With deeply nested data structures where you want to change something at the leaf level, use Arrow Optics instead of nested copy calls. While I enjoyed the talk, I would have loved to hear more best features. You can find my thoughts on more KotlinConf'23 talks at KotlinConf'23. Please let me know your thoughts. Join medium to read all of my articles or subscribe for e-mail updates.

## A birds-eye view of Arrow: Data Immutability with Arrow Optics

DevFeed: [A birds-eye view of Arrow: Data Immutability with Arrow Optics](<https://devfeed.tech/articles/a-birds-eye-view-of-arrow-data-immutability-with-arrow-optics-39301.md>)

Original publisher: [Read original article](<https://kt.academy/article/fk-arrow-optics>)

Published: 2022-12-19T00:15:00Z

Content type: tutorial

Language: en

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

Topics: [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [API](<https://devfeed.tech/topics/api.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [arrow](<https://devfeed.tech/tags/arrow.md>), [code](<https://devfeed.tech/tags/code.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [ksp](<https://devfeed.tech/tags/ksp.md>), [lens](<https://devfeed.tech/tags/lens.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This tutorial introduces Arrow Optics for transforming nested immutable data in Kotlin. It explains how Arrow Optics uses a basic library and a compiler plug-in built with Kotlin Symbol Processing, with annotations generating lenses that combine getters and setters.

### Source excerpt

Learn to use Arrow Optics to support working on immutable objects.

## Building applications with Kotlin and Arrow.kt in style

DevFeed: [Building applications with Kotlin and Arrow.kt in style](<https://devfeed.tech/articles/building-applications-with-kotlin-and-arrow-kt-in-style-25510.md>)

Original publisher: [Read original article](<http://nomisrev.github.io/building-applications-with-kotlin-and-arrow.kt-in-style/>)

Author: Simon Vergauwen

Published: 2022-05-31T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Ktor](<https://devfeed.tech/topics/ktor.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>)

Tags: [arrow](<https://devfeed.tech/tags/arrow.md>), [continuation](<https://devfeed.tech/tags/continuation.md>), [database](<https://devfeed.tech/tags/database.md>), [effect](<https://devfeed.tech/tags/effect.md>), [either](<https://devfeed.tech/tags/either.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [ktor](<https://devfeed.tech/tags/ktor.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [suspend](<https://devfeed.tech/tags/suspend.md>), [webinar](<https://devfeed.tech/tags/webinar.md>)

### AI overview

A webinar with Anton Arhipov demonstrates an end-to-end functional microservices workflow using Kotlin, Ktor, and Arrow, including request handling, database interaction, and response generation.

### Source excerpt

Webinar with Anton Arhipov on functional microservices with Ktor and Arrow.

## Diagonal Badging

DevFeed: [Diagonal Badging](<https://devfeed.tech/articles/diagonal-badging-19287.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/diagonal-badging/>)

Author: Shai Almog

Published: 2020-07-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Website](<https://devfeed.tech/topics/website.md>), [Stack Overflow](<https://devfeed.tech/topics/stackoverflow.md>)

Tags: [arrow](<https://devfeed.tech/tags/arrow.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [code](<https://devfeed.tech/tags/code.md>), [component](<https://devfeed.tech/tags/component.md>), [edge](<https://devfeed.tech/tags/edge.md>), [effect](<https://devfeed.tech/tags/effect.md>)

### AI overview

A tutorial explains how to implement a diagonal badge in Codename One and corrects earlier drawing behavior that caused the banner to be cropped into an arrow shape.

### Source excerpt

Recently I got a question on stackoverflow about doing a diagonal badge that's actually quite similar to the one on our website. This isn't hard to do in Codename One but it requires a bit of tinkering so here's how you would implement that. As a matter of fact the original code I provided in the answer had a bit of a misbehavior which I'm fixing for this blog post so everything will look correct: