# Engineering

Published articles for Engineering.

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

## How to Decide How Much Authorship AI Should Have in Software Work

DevFeed: [How to Decide How Much Authorship AI Should Have in Software Work](<https://devfeed.tech/articles/use-curiosity-craft-and-care-to-decide-what-ai-should-write-41359.md>)

Original publisher: [Read original article](<https://spin.atomicobject.com/ai-authorship/>)

Author: Kyle Humphrey

Published: 2026-09-17T12:00:32Z

Content type: opinion

Language: en

Sources: [Atomic Object](<https://devfeed.tech/sources/atomic-object.md>)

Topics: [agentic-engineering](<https://devfeed.tech/topics/agentic-engineering.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-engineering](<https://devfeed.tech/tags/agentic-engineering.md>), [ai](<https://devfeed.tech/tags/ai.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [development-practices](<https://devfeed.tech/tags/development-practices.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [ownership](<https://devfeed.tech/tags/ownership.md>), [software](<https://devfeed.tech/tags/software.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This commentary examines how AI-generated meeting summaries, backlog items, and implementation work can introduce vocabulary, decisions, scope, and structure that a team does not recognize or own. It argues that the artifact's purpose should guide how much authorship is delegated to AI, using Curiosity, Craft, and Care as principles for making that decision.

### Source excerpt

Atomic's Agentic Engineering for Teams describes how work moves through a product backlog, definition, planning, implementation, and review when agents do much of the building. While working with a small team during a Research, Design, and Planning (RDP) engagement, I started paying attention to a smaller decision inside that process: how much authorship we give [...] The post Use Curiosity, Craft, and Care to Decide What AI Should Write appeared first on Atomic Spin.

## Platform Engineering in the Age of AI

DevFeed: [Platform Engineering in the Age of AI](<https://devfeed.tech/articles/platform-engineering-in-the-age-of-ai-31422.md>)

Original publisher: [Read original article](<https://www.harness.io/blog/platform-engineering-in-the-age-of-ai>)

Author: Nicole Morgan

Published: 2026-09-16T20:28:57.610955Z

Content type: opinion

Language: en

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

Topics: [Platform Engineering](<https://devfeed.tech/topics/platform-engineering.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [internal developer portal](<https://devfeed.tech/topics/internal-developer-portal.md>), [API](<https://devfeed.tech/topics/api.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [sdlc](<https://devfeed.tech/topics/sdlc.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [platform](<https://devfeed.tech/tags/platform.md>), [sdlc](<https://devfeed.tech/tags/sdlc.md>)

### AI overview

This commentary examines how platform engineering is adapting as AI coding tools and agents become part of software delivery. It discusses the build-versus-provide decisions facing platform teams, how agents may consume internal developer platforms through APIs, the need for guardrails, and the challenge of measuring the results of AI investment.

### Source excerpt

94% of engineering leaders say their AI metrics are missing. Here's how platform engineering is changing to close that gap. | Blog

## Developer commentary on agentic hacking, AI persistence, and LLM programming

DevFeed: [Developer commentary on agentic hacking, AI persistence, and LLM programming](<https://devfeed.tech/articles/fragments-september-16-31476.md>)

Original publisher: [Read original article](<https://martinfowler.com/fragments/2026-09-16.html>)

Author: Martin Fowler (martin@martinfowler.com)

Published: 2026-09-16T20:05:00Z

Content type: opinion

Language: en

Sources: [Martin Fowler](<https://devfeed.tech/sources/martin-fowler.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Hacking](<https://devfeed.tech/topics/hacking.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Wiki](<https://devfeed.tech/topics/wiki.md>), [hugging face](<https://devfeed.tech/topics/hugging-face.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [build](<https://devfeed.tech/tags/build.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [hacking](<https://devfeed.tech/tags/hacking.md>), [llms](<https://devfeed.tech/tags/llms.md>), [persistence](<https://devfeed.tech/tags/persistence.md>)

### AI overview

This collection of developer commentary discusses reports of agentic hacking involving RubyGems, Hugging Face, and Wiki attacks, including questions about OpenAI's disclosure and log review. It also examines AI systems' unpredictable behavior, improvements in reasoning and persistence, and the use of harnesses to control LLM-based programming.

### Source excerpt

Reports of agentic hacking continue, in this case it happened back in May and it seems OpenAI did not disclose that they were responsible. Simon Willison sees two options: After the Hugging Face and Wiki attacks OpenAI were still unable to review their previous logs and determine that they had previously attacked RubyGems. They knew about the attack on RubyGems and made the decision not to reach out to the RubyGems team about it. Both of these are bad! Given this incident, the Hugging Face situation, and the Wiki attack, the obvious question right now is how many more incidents like this are out there waiting to be discovered? ❄ ❄ ❄ ❄ ❄ Dave Farley: Stop asking the sci-fi question: 'Is it conscious?' Start asking the engineering question: 'Is this a powerful, unpredictable component being put somewhere consequential, and where's the feedback that tells us that it's safe? ❄ ❄ ❄ ❄ ❄ Nate Silver is known for his forecasts, but to do them he writes a lot of code for his models. He's found agentic programming capable of doing miraculous work. In spending so much time with the LLMs, I'm super attentive to improvements in their capabilities. And these changes tend not to be so linear. Instead, they improve in step functions, almost as phase changes. Suddenly, the models just start doing things capably that they were screwing up before. In my experience, there was a big leap forward when reasoning models first came out in late 2024/early 2025 -- enough that they were occasionally useful for tasks involving data and not just words -- and then another one this past winter. The most recent changes I've noticed, however, have had less to do with intelligence and more with persistence. Consider the Hugging Face attack. Although these agents showed remarkable intelligence, they weren't really super-intelligent - but they were super-persistent. This is a common theme of AI in its various forms: Game engines like AlphaGo Zero start out by basically making random moves -- but by playin

## Designing Claude for ears, not eyes: An accessibility skill for blind and low-vision users

DevFeed: [Designing Claude for ears, not eyes: An accessibility skill for blind and low-vision users](<https://devfeed.tech/articles/designing-claude-for-ears-not-eyes-an-accessibility-skill-for-blind-and-low-vision-users-38847.md>)

Original publisher: [Read original article](<https://building.nubank.com/designing-claude-for-ears-not-eyes-an-accessibility-skill-for-blind-and-low-vision-users/>)

Author: Nubank Editorial

Published: 2026-09-16T14:09:16Z

Content type: article

Language: en

Sources: [Nubank](<https://devfeed.tech/sources/nubank.md>)

Topics: [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [User interface design](<https://devfeed.tech/topics/ui-design.md>), [screen](<https://devfeed.tech/topics/screen.md>), [Users](<https://devfeed.tech/topics/users.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [accessible](<https://devfeed.tech/tags/accessible.md>), [claude](<https://devfeed.tech/tags/claude.md>), [culture-values](<https://devfeed.tech/tags/culture-values.md>), [data-science-machine-learning](<https://devfeed.tech/tags/data-science-machine-learning.md>), [development-environment](<https://devfeed.tech/tags/development-environment.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [life-at-nu](<https://devfeed.tech/tags/life-at-nu.md>), [people-with-disabilities](<https://devfeed.tech/tags/people-with-disabilities.md>), [text](<https://devfeed.tech/tags/text.md>), [users](<https://devfeed.tech/tags/users.md>), [vision](<https://devfeed.tech/tags/vision.md>)

### AI overview

Nubank describes BLIND-CLAUDE.md, an instruction set that adapts Claude responses for people who primarily use screen readers or read-aloud functionality. The approach treats auditory comprehension as an engineering constraint and changes behavioral instructions without modifying Claude or adding a native accessibility feature.

### Source excerpt

How a cognitively diverse IT team at Nubank, they coded screen reader-friendly rules into Claude's instructions, treating auditory comprehension as an engineering constraint The post Designing Claude for ears, not eyes: An accessibility skill for blind and low-vision users appeared first on Building Nubank.

## Copy-pasting more than just text

DevFeed: [Copy-pasting more than just text](<https://devfeed.tech/articles/copy-pasting-more-than-just-text-27370.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/copy-pasting-more-than-just-text.htm>)

Author: Khan Academy

Published: 2015-08-31T22:00:00Z

Content type: tutorial

Language: en

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

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [React](<https://devfeed.tech/topics/react.md>), [interactive website](<https://devfeed.tech/topics/interactive-website.md>)

Tags: [alt-text](<https://devfeed.tech/tags/alt-text.md>), [copy](<https://devfeed.tech/tags/copy.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [interactive-content](<https://devfeed.tech/tags/interactive-content.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [news](<https://devfeed.tech/tags/news.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

Sam Lau describes how Khan Academy improved copy-pasting in Perseus, its interactive exercise and article editor, by moving widget metadata alongside copied text. The change preserves information such as image URLs and a number line's starting value, making it easier for content creators to move or duplicate widgets.

### Source excerpt

By Sam Lau The Result I'll skip to the happy ending. This little feature implements more sophisticated copy-pasting ... Read more

## Automating App Store Screenshots

DevFeed: [Automating App Store Screenshots](<https://devfeed.tech/articles/automating-app-store-screenshots-27367.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/automating-app-store-screenshots.htm>)

Author: Khan Academy

Published: 2017-03-27T22:00:00Z

Content type: tutorial

Language: en

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

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [ui-testing](<https://devfeed.tech/topics/ui-testing.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Sketch](<https://devfeed.tech/topics/sketch.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [app-store](<https://devfeed.tech/tags/app-store.md>), [design](<https://devfeed.tech/tags/design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [fastlane](<https://devfeed.tech/tags/fastlane.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [screenshots](<https://devfeed.tech/tags/screenshots.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A tutorial describing how Khan Academy automated App Store and Play Store screenshots with Xcode UI tests, Fastlane, a Snapfile, and a homegrown Sketch file. The team reduced screenshot update time from about a week to about an hour.

### Source excerpt

By Bryan Clark One of the more tedious design tasks is keeping your App Store promo images up-to-date. ... Read more

## Kanbanning the LearnStorm Dev Process

DevFeed: [Kanbanning the LearnStorm Dev Process](<https://devfeed.tech/articles/kanbanning-the-learnstorm-dev-process-27387.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/kanbanning-learnstorm-dev-process.htm>)

Author: Khan Academy

Published: 2015-12-07T23:00:00Z

Content type: article

Language: en

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

Topics: [Development](<https://devfeed.tech/topics/development.md>)

Tags: [dev](<https://devfeed.tech/tags/dev.md>), [development](<https://devfeed.tech/tags/development.md>), [development-process](<https://devfeed.tech/tags/development-process.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [news](<https://devfeed.tech/tags/news.md>), [projects](<https://devfeed.tech/tags/projects.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>)

### AI overview

Kevin Dangoor describes how Khan Academy's LearnStorm initiative changed its development process from project-based planning with Trello and Google Sheets to task-focused tracking in Google Docs and Asana as launch requirements evolved.

### Source excerpt

By Kevin Dangoor In his New Employee's Primer post from July, Riley Shaw wrote a little about our ... Read more

## Engineering career development at Khan Academy

DevFeed: [Engineering career development at Khan Academy](<https://devfeed.tech/articles/engineering-career-development-at-khan-academy-27369.md>)

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

Author: Khan Academy

Published: 2016-04-11T22:00:00Z

Content type: article

Language: en

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

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Learning](<https://devfeed.tech/topics/learning.md>), [Job](<https://devfeed.tech/topics/job.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [career-development](<https://devfeed.tech/tags/career-development.md>), [development](<https://devfeed.tech/tags/development.md>), [eng-leads](<https://devfeed.tech/tags/eng-leads.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [guide](<https://devfeed.tech/tags/guide.md>), [learn](<https://devfeed.tech/tags/learn.md>), [news](<https://devfeed.tech/tags/news.md>)

### AI overview

Khan Academy shares its Engineering Career Development guide, explaining how the organization supports engineers' learning and uses career structures to help assess skill sets, impact, hiring, and pay fairly.

### Source excerpt

By Ben Eater At Khan Academy, we see ourselves as part of a broader engineering community and just ... Read more

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

## JavaScript bundling and HTTP performance trade-offs

DevFeed: [JavaScript bundling and HTTP performance trade-offs](<https://devfeed.tech/articles/forgo-js-packaging-not-so-fast-27386.md>)

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

Author: Khan Academy

Published: 2015-11-23T23:00:00Z

Content type: article

Language: en

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

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [browserify](<https://devfeed.tech/topics/browserify.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>)

Tags: [browserify](<https://devfeed.tech/tags/browserify.md>), [cache](<https://devfeed.tech/tags/cache.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [http](<https://devfeed.tech/tags/http.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [js](<https://devfeed.tech/tags/js.md>), [news](<https://devfeed.tech/tags/news.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

The article examines trade-offs between bundling JavaScript files, serving them separately, and using semantically related bundles. It explains how these approaches balance HTTP request overhead, browser fetch limits, cacheability, and unused downloaded code.

### Source excerpt

By Craig Silverstein Bundling JavaScript files The traditional advice for web developers is to bundle the JavaScript files ... Read more

## Tips for giving your first code reviews

DevFeed: [Tips for giving your first code reviews](<https://devfeed.tech/articles/tips-for-giving-your-first-code-reviews-27412.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/tips-for-code-reviews.htm>)

Author: Khan Academy

Published: 2017-09-18T22:00:00Z

Content type: tutorial

Language: en

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

Topics: [Code review](<https://devfeed.tech/topics/code-review.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [code-reviews](<https://devfeed.tech/tags/code-reviews.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [internship](<https://devfeed.tech/tags/internship.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [onboarding](<https://devfeed.tech/tags/onboarding.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

Hannah Blumberg shares practical advice for people conducting code reviews for the first time. She explains how asking questions and working through reviews with a teammate can help new reviewers contribute, learn, and communicate feedback effectively.

### Source excerpt

By Hannah Blumberg At Khan Academy, (nearly) every piece of code that goes into our codebase has been ... Read more

## Making Websites Work with Windows High Contrast Mode

DevFeed: [Making Websites Work with Windows High Contrast Mode](<https://devfeed.tech/articles/making-websites-work-with-windows-high-contrast-mode-27420.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/windows-high-contrast-mode.htm>)

Author: Khan Academy

Published: 2019-03-21T22:00:00Z

Content type: tutorial

Language: en

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

Topics: [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [css](<https://devfeed.tech/tags/css.md>), [developers](<https://devfeed.tech/tags/developers.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [news](<https://devfeed.tech/tags/news.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This tutorial explains how Windows High Contrast Mode changes web application styling and presents accessibility considerations for backgrounds, images, borders, and outlines. It emphasizes using CSS for decorative styling and retaining borders and outlines for functional purposes.

### Source excerpt

By Diedra Rater At Khan Academy, we've been working to make our web product more accessible to a ... Read more

## Fun with slope fields, css and react

DevFeed: [Fun with slope fields, css and react](<https://devfeed.tech/articles/fun-with-slope-fields-css-and-react-27377.md>)

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

Author: Khan Academy

Published: 2015-08-05T22:00:00Z

Content type: opinion

Language: en

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

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [React](<https://devfeed.tech/topics/react.md>), [notifications](<https://devfeed.tech/topics/notifications.md>), [math](<https://devfeed.tech/topics/math.md>)

Tags: [css](<https://devfeed.tech/tags/css.md>), [design](<https://devfeed.tech/tags/design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [fun](<https://devfeed.tech/tags/fun.md>), [math](<https://devfeed.tech/tags/math.md>), [news](<https://devfeed.tech/tags/news.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [react](<https://devfeed.tech/tags/react.md>)

### AI overview

An account of designing a Khan Academy notification banner for LearnStorm winners under a tight three-day deadline. The project focused on improving the notification's visual presentation while incorporating LearnStorm's slope-field identity, using CSS and React.

### Source excerpt

By Marcos Ojeda A while ago, we needed to send out a notification to all our LearnStorm winners ... Read more

## Inline CSS at Khan Academy: Aphrodite

DevFeed: [Inline CSS at Khan Academy: Aphrodite](<https://devfeed.tech/articles/inline-css-at-khan-academy-aphrodite-27365.md>)

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

Author: Khan Academy

Published: 2016-03-29T22:00:00Z

Content type: article

Language: en

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

Topics: [React](<https://devfeed.tech/topics/react.md>), [Server-side rendering](<https://devfeed.tech/topics/server-side-rendering.md>), [HTML](<https://devfeed.tech/topics/html.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [networking](<https://devfeed.tech/topics/networking.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>)

Tags: [chrome](<https://devfeed.tech/tags/chrome.md>), [css](<https://devfeed.tech/tags/css.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [latency](<https://devfeed.tech/tags/latency.md>), [network](<https://devfeed.tech/tags/network.md>), [news](<https://devfeed.tech/tags/news.md>), [react](<https://devfeed.tech/tags/react.md>), [server-side-rendering](<https://devfeed.tech/tags/server-side-rendering.md>)

### AI overview

Jamie Wong discusses Aphrodite, Khan Academy's inline styling solution, the constraints that shaped it, and its use in production. The article explains how reducing bytes before content renders motivated server-side rendering and compares the initial-load byte requirements of server-side and client-side rendering.

### Source excerpt

By Jamie Wong I won't ramble in this post about the maintenance woe that is CSS, as others ... Read more

## Hackathons Can Be Healthy

DevFeed: [Hackathons Can Be Healthy](<https://devfeed.tech/articles/hackathons-can-be-healthy-27380.md>)

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

Author: Khan Academy

Published: 2016-07-11T22:00:00Z

Content type: opinion

Language: en

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

Topics: [Hackathon](<https://devfeed.tech/topics/hackathon.md>), [Learning](<https://devfeed.tech/topics/learning.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [eng-leads](<https://devfeed.tech/tags/eng-leads.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [hackathon](<https://devfeed.tech/tags/hackathon.md>), [hackathons](<https://devfeed.tech/tags/hackathons.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [learning](<https://devfeed.tech/tags/learning.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>)

### AI overview

Khan Academy describes its twice-yearly internal hackathons and the benefits of collaboration, creativity, team bonding, morale, and learning. The article also explains how the company adapted its hackathon format to be more inclusive, sustainable, and healthy.

### Source excerpt

By Tom Yedwab As an organization whose raison d'être is learning - we in fact have a campaign ... Read more

## What's New in OSS at Khan Academy

DevFeed: [What's New in OSS at Khan Academy](<https://devfeed.tech/articles/what-s-new-in-oss-at-khan-academy-27396.md>)

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

Author: Khan Academy

Published: 2017-04-03T22:00:00Z

Content type: article

Language: en

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

Topics: [Open Source](<https://devfeed.tech/topics/open-source.md>), [Software](<https://devfeed.tech/topics/software.md>), [React](<https://devfeed.tech/topics/react.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [jQuery](<https://devfeed.tech/topics/jquery.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source-software](<https://devfeed.tech/tags/open-source-software.md>), [oss](<https://devfeed.tech/tags/oss.md>), [react](<https://devfeed.tech/tags/react.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>)

### AI overview

Khan Academy highlights several recent open-source projects, including Mu Lambda, a small JavaScript library of functional programming utilities; React Balance Text, a React wrapper for Adobe's Balance-Text project; Fuzzy Match Utils, which uses string-matching algorithms for filtering; and React Multi Select.

### Source excerpt

By Brian Genisio At Khan Academy, we rely heavily on Open Source Software (OSS). The majority of our ... Read more

## Slicker: A Tool for Moving Things in Python

DevFeed: [Slicker: A Tool for Moving Things in Python](<https://devfeed.tech/articles/slicker-a-tool-for-moving-things-in-python-27406.md>)

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

Author: Khan Academy

Published: 2018-04-02T22:00:00Z

Content type: article

Language: en

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

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [PyCharm](<https://devfeed.tech/topics/pycharm.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [news](<https://devfeed.tech/tags/news.md>), [pycharm](<https://devfeed.tech/tags/pycharm.md>), [python](<https://devfeed.tech/tags/python.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [tool](<https://devfeed.tech/tags/tool.md>)

### AI overview

This article explains why Khan Academy built Slicker, a tool for moving thousands of Python files, classes, and functions while updating references and imports. It also describes limitations the authors encountered with PyCharm's refactoring tools.

### Source excerpt

By Ben Kraft Craig talked last post about our project to reorganize our whole Python codebase. This entails ... Read more

## Minimizing the length of regular expressions, in practice

DevFeed: [Minimizing the length of regular expressions, in practice](<https://devfeed.tech/articles/minimizing-the-length-of-regular-expressions-in-practice-27405.md>)

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

Author: Khan Academy

Published: 2016-05-23T22:00:00Z

Content type: tutorial

Language: en

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

Topics: [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Regular expression](<https://devfeed.tech/topics/regular-expression.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [cdn](<https://devfeed.tech/tags/cdn.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [google](<https://devfeed.tech/tags/google.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [news](<https://devfeed.tech/tags/news.md>), [re](<https://devfeed.tech/tags/re.md>), [repository](<https://devfeed.tech/tags/repository.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

Craig Silverstein explains how Khan Academy needed a compact regular expression to distinguish static URLs from dynamic URLs for CDN routing. The article describes why simple patterns were unsuitable, reports that a naive generated expression reached 402,025 characters, and introduces a second approach that reduced the length to 2,400 characters.

### Source excerpt

By Craig Silverstein The problem Software engineering interviews tend to be full of "algorithms" questions, because they're easy ... Read more

## The User Write Lock: an Alternative to Transactions for Google App Engine

DevFeed: [The User Write Lock: an Alternative to Transactions for Google App Engine](<https://devfeed.tech/articles/the-user-write-lock-an-alternative-to-transactions-for-google-app-engine-27418.md>)

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

Author: Khan Academy

Published: 2016-06-20T22:00:00Z

Content type: tutorial

Language: en

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

Topics: [Transactions](<https://devfeed.tech/topics/transactions.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [caching](<https://devfeed.tech/tags/caching.md>), [databases](<https://devfeed.tech/tags/databases.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [google](<https://devfeed.tech/tags/google.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [news](<https://devfeed.tech/tags/news.md>), [processes](<https://devfeed.tech/tags/processes.md>), [retry](<https://devfeed.tech/tags/retry.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

This developer article explains how transactions in Google App Engine's datastore provide atomicity for single-entity and multi-entity writes, but can introduce frozen datastore state, retries, idempotence requirements, and restrictions on datastore queries. It presents the User Write Lock as an alternative, although the supplied text ends before describing that alternative.

### Source excerpt

By Craig Silverstein Transactions are the standard method in Google App Engine's datastore -- as in many databases ... Read more

## Using static analysis in Python, JavaScript and more to make your system safer

DevFeed: [Using static analysis in Python, JavaScript and more to make your system safer](<https://devfeed.tech/articles/using-static-analysis-in-python-javascript-and-more-to-make-your-system-safer-27419.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/using-static-analysis-in-Python-and-JavaScript-to-make-your-system-safer.htm>)

Author: Khan Academy

Published: 2018-07-26T22:00:00Z

Content type: article

Language: en

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

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>), [Python](<https://devfeed.tech/topics/python.md>), [Code review](<https://devfeed.tech/topics/code-review.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [code](<https://devfeed.tech/tags/code.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [lint](<https://devfeed.tech/tags/lint.md>), [news](<https://devfeed.tech/tags/news.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

This article describes how Khan Academy uses custom linters and static analysis across JavaScript, Python, and Kotlin to prevent known bad patterns, keep duplicated logic or shared interfaces synchronized, and enforce frontend migration practices.

### Source excerpt

By Kevin Dangoor "Linting" source code to look for errors is nothing new (the original "lint" tool turned ... Read more

## Ensuring transaction-safety in Google App Engine

DevFeed: [Ensuring transaction-safety in Google App Engine](<https://devfeed.tech/articles/ensuring-transaction-safety-in-google-app-engine-27414.md>)

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

Author: Khan Academy

Published: 2016-06-27T22:00:00Z

Content type: article

Language: en

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

Topics: [Transactions](<https://devfeed.tech/topics/transactions.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Code](<https://devfeed.tech/topics/code.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [code](<https://devfeed.tech/tags/code.md>), [database](<https://devfeed.tech/tags/database.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [google](<https://devfeed.tech/tags/google.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [news](<https://devfeed.tech/tags/news.md>), [tracing](<https://devfeed.tech/tags/tracing.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

The article explains how Khan Academy uses transactions and user-write locks with Google App Engine to prevent database corruption caused by concurrent requests overwriting one another. It describes hooks that detect transaction-safety violations and highlights caching and code-path mistakes that can cause stale data to be used inside transactions.

### Source excerpt

By Craig Silverstein In last week's exciting post, I described an alternative to transactions that we use at ... Read more

## Our Transition to React Native

DevFeed: [Our Transition to React Native](<https://devfeed.tech/articles/our-transition-to-react-native-27402.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/react-native-at-khan.htm>)

Author: Khan Academy

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

Content type: opinion

Language: en

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

Topics: [React Native](<https://devfeed.tech/topics/react-native.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [backend](<https://devfeed.tech/tags/backend.md>), [bridge](<https://devfeed.tech/tags/bridge.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [change](<https://devfeed.tech/tags/change.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [react-native](<https://devfeed.tech/tags/react-native.md>)

### AI overview

Khan Academy describes completing its transition to React Native for its iOS and Android apps. The article explains why the team moved away from separate platform codebases and outlines the transition's exploration, straddling, and extinction phases.

### Source excerpt

In 2017, Khan Academy started using React Native in our iOS and Android apps. As of this year, we've reached a big milestone: our transition to React Native is complete! Every screen in the app is rendered in React Native.

## Working Remotely

DevFeed: [Working Remotely](<https://devfeed.tech/articles/working-remotely-27421.md>)

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

Author: Khan Academy

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

Content type: opinion

Language: en

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

Topics: [Job](<https://devfeed.tech/topics/job.md>)

Tags: [engineering](<https://devfeed.tech/tags/engineering.md>), [news](<https://devfeed.tech/tags/news.md>), [remote](<https://devfeed.tech/tags/remote.md>), [remote-work](<https://devfeed.tech/tags/remote-work.md>), [time](<https://devfeed.tech/tags/time.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

Scott Grant reflects on working remotely after moving from Silicon Valley to Kingston, Ontario. He explains how remote work expands access to technology jobs outside major hubs and discusses the discipline and routine needed to work effectively.

### Source excerpt

By Scott Grant When my wife and I left Silicon Valley in sunny California to return to my ... Read more

## Making thumbnails fast

DevFeed: [Making thumbnails fast](<https://devfeed.tech/articles/making-thumbnails-fast-27392.md>)

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

Author: Khan Academy

Published: 2015-09-14T22:00:00Z

Content type: tutorial

Language: en

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

Topics: [Image](<https://devfeed.tech/topics/image.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [Server](<https://devfeed.tech/topics/server.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [code](<https://devfeed.tech/tags/code.md>), [color](<https://devfeed.tech/tags/color.md>), [components](<https://devfeed.tech/tags/components.md>), [design](<https://devfeed.tech/tags/design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [image](<https://devfeed.tech/tags/image.md>), [images](<https://devfeed.tech/tags/images.md>), [news](<https://devfeed.tech/tags/news.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [software](<https://devfeed.tech/tags/software.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>)

### AI overview

Khan Academy explains how it generated custom video thumbnails by resizing, desaturating, lightening, color-tinting, and overlaying text and branding on source images. The post also explains pixel multiplication and why the team implemented the image operations themselves because its server infrastructure could not use available libraries.

### Source excerpt

Note: This post contains quite a bit of LaTeX notation, which is not supported right now on this ... Read more

[Next page](<https://devfeed.tech/tags/engineering.md?cursor=WyIyMDI2LTA5LTE2VDA5OjQ5OjUzLjE3Mzg0NiswMDowMCIsICJhNzdmZWVkZi0zMjI4LTQ4YjctOWQyOS03Mjc4NTQ0ZTU5OWIiXQ%3D%3D>)