# Template

Published articles for Template.

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

## The New Default Nix Flake Template Explained

DevFeed: [The New Default Nix Flake Template Explained](<https://devfeed.tech/articles/the-new-default-nix-flake-template-explained-32440.md>)

Original publisher: [Read original article](<https://nixcademy.com/posts/new-default-nix-flake-template/>)

Author: Jacek Galowicz

Published: 2026-08-17T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [Template](<https://devfeed.tech/topics/template.md>), [Development](<https://devfeed.tech/topics/development.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [learn](<https://devfeed.tech/tags/learn.md>), [packages](<https://devfeed.tech/tags/packages.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [shell](<https://devfeed.tech/tags/shell.md>), [standard](<https://devfeed.tech/tags/standard.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

An explanation of the new default Nix flake template, which supports multiple platforms without flake-utils. The article describes the underlying pattern, how to extend it for real projects, and its limitations and advanced cases.

### Source excerpt

The default Nix flake template is now multi-platform without flake-utils. Learn how the new pattern works and how to extend it for real projects.

## Claude Code for PMs: The Beginner's Guide

DevFeed: [Claude Code for PMs: The Beginner's Guide](<https://devfeed.tech/articles/claude-code-for-pms-the-beginner-s-guide-39174.md>)

Original publisher: [Read original article](<https://www.productcompass.pm/p/claude-code-beginners-guide>)

Author: Paweł Huryn

Published: 2026-05-12T21:39:56Z

Content type: tutorial

Language: en

Sources: [The Product Compass](<https://devfeed.tech/sources/the-product-compass.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Vibe coding](<https://devfeed.tech/topics/vibe-coding.md>)

Tags: [beginner](<https://devfeed.tech/tags/beginner.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [codex](<https://devfeed.tech/tags/codex.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [install](<https://devfeed.tech/tags/install.md>), [llm](<https://devfeed.tech/tags/llm.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [openai](<https://devfeed.tech/tags/openai.md>), [skills](<https://devfeed.tech/tags/skills.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

A beginner-focused guide for product managers explains how to install Claude Code with its Visual Studio Code extension, configure MCP servers, use and create skills, and work with free frontier models. It also includes a ready-to-use template with plugins, skills, permissions, and configuration.

### Source excerpt

No Cowork experience needed. Install Claude Code, configure MCP servers, build skills, and run free frontier models. Ready-to-use template included.

## Keeping sponsor lists up-to-date

DevFeed: [Keeping sponsor lists up-to-date](<https://devfeed.tech/articles/keeping-sponsor-lists-up-to-date-37848.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/sponsors-gen/>)

Author: Carlos Alexandro Becker

Published: 2026-03-25T00:00:00Z

Content type: tutorial

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [Tool](<https://devfeed.tech/topics/tool.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Template](<https://devfeed.tech/topics/template.md>), [sensitive data](<https://devfeed.tech/topics/sensitive-data.md>)

Tags: [commit](<https://devfeed.tech/tags/commit.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [go](<https://devfeed.tech/tags/go.md>), [scheduled](<https://devfeed.tech/tags/scheduled.md>), [sensitive-data](<https://devfeed.tech/tags/sensitive-data.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

The article introduces a Go tool that automates updating sponsor lists across README files and websites. It fetches sponsors from GitHub Sponsors and OpenCollective, renders content with Go templates, supports shared configuration and remote templates, and can run daily through GitHub Actions with automatic commits.

### Source excerpt

Keeping sponsor lists up-to-date across multiple READMEs and websites is tedious - so I wrote a tool to automate it.

## How I Use Obsidian

DevFeed: [How I Use Obsidian](<https://devfeed.tech/articles/how-i-use-obsidian-37185.md>)

Original publisher: [Read original article](<https://calv.info/how-i-use-obsidian>)

Author: Calvin French-Owen

Published: 2026-01-07T22:00:00Z

Content type: tutorial

Language: en

Sources: [Calvin French-Owen](<https://devfeed.tech/sources/calvin-french-owen.md>)

Topics: [Obsidian](<https://devfeed.tech/topics/obsidian-md.md>), [Local-First](<https://devfeed.tech/topics/local-first.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>)

Tags: [local-first](<https://devfeed.tech/tags/local-first.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [notes](<https://devfeed.tech/tags/notes.md>), [obsidian](<https://devfeed.tech/tags/obsidian.md>), [research](<https://devfeed.tech/tags/research.md>), [setup](<https://devfeed.tech/tags/setup.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

A personal guide to using Obsidian as a local-first Markdown environment for thinking and writing. The author's central principle is that note-taking should elicit thought, with minimal emphasis on organization and automation beyond practical needs.

### Source excerpt

Obsidian has become my personal operating system for thinking and writing. Here's the golden rule I follow and the systems I use.

## Detecting field names with C++ metaprogramming

DevFeed: [Detecting field names with C++ metaprogramming](<https://devfeed.tech/articles/detecting-field-names-with-c-metaprogramming-40505.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/shortform/2024-06-25-1534/>)

Published: 2024-06-25T22:34:59Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Code](<https://devfeed.tech/topics/code.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [code](<https://devfeed.tech/tags/code.md>), [metaprogramming](<https://devfeed.tech/tags/metaprogramming.md>), [shortform](<https://devfeed.tech/tags/shortform.md>), [template](<https://devfeed.tech/tags/template.md>), [templates](<https://devfeed.tech/tags/templates.md>)

### AI overview

This short note explains how C++11 templates can detect whether a struct has a field with a specific name and type, then use the result for compile-time branching. It presents a SFINAE-based implementation using HasStaticSize and type traits.

### Source excerpt

A quick note: you can use C++11 templates to detect struct fields by name and type, and statically branch on them. I first heard of this solution from breeze1990. Say I want to detect if a struct has a field size of type int. Create two template instantiations of the same name, here HasStaticSize that defaults to false. #include <type_traits> template <typename T, typename = void> struct HasStaticSize : std::false_type {}; template <typename T> struct HasStaticSize< T, typename std::enable_if< std::is_same<int, std::decay_t<decltype(T::size)>>::value, void>::type> : std::true_type {}; The latter is only resolved if T::size is declared as int, or more specifically, something that "decays" to int.

## KMMBridge Quick Start - Kevin Galligan, Russell Wolf

DevFeed: [KMMBridge Quick Start - Kevin Galligan, Russell Wolf](<https://devfeed.tech/articles/kmmbridge-quick-start-kevin-galligan-russell-wolf-38243.md>)

Original publisher: [Read original article](<https://touchlab.co/kmmbridge-quick-start>)

Published: 2023-10-06T09:00:28Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmmbridge](<https://devfeed.tech/tags/kmmbridge.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [quick-start](<https://devfeed.tech/tags/quick-start.md>), [repo](<https://devfeed.tech/tags/repo.md>), [template](<https://devfeed.tech/tags/template.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A Quick Start guide for KMMBridge explains the prerequisites and initial setup for publishing iOS Kotlin modules and Android libraries from a shared Kotlin Multiplatform repo. It uses GitHub, GitHub Actions, and GitHub Packages, with setup for Swift Package Manager and additional CocoaPods configuration.

### Source excerpt

For native mobile teams looking to publish Xcode Frameworks and Android Libraries from a shared Kotlin repo, our template project can have you up and running in minutes.

## SKIE comes to KaMPKit - Russell Wolf

DevFeed: [SKIE comes to KaMPKit - Russell Wolf](<https://devfeed.tech/articles/skie-comes-to-kampkit-russell-wolf-38142.md>)

Original publisher: [Read original article](<https://touchlab.co/2023-09-21-skie-in-kampkit>)

Published: 2023-09-29T09:00:28Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Template](<https://devfeed.tech/topics/template.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [interoperability](<https://devfeed.tech/tags/interoperability.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [skie](<https://devfeed.tech/tags/skie.md>), [swift](<https://devfeed.tech/tags/swift.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

The article describes integrating SKIE into the KaMPKit Kotlin Multiplatform template. SKIE improves Kotlin-Swift interoperability by generating Swift wrappers for Objective-C headers, enabling Kotlin sealed classes to be represented as Swift enums and supporting more idiomatic exhaustive switches in Swift.

### Source excerpt

We've introduced SKIE to KaMPKit to demonstrate the new standard for greenfield KMP development.

## Presenting Cabinet to the World!

DevFeed: [Presenting Cabinet to the World!](<https://devfeed.tech/articles/presenting-cabinet-to-the-world-40808.md>)

Original publisher: [Read original article](<https://www.bloco.io/blog/presenting-cabinet-to-the-world>)

Author: Cláudia

Published: 2022-11-30T17:17:35Z

Content type: article

Language: en

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

Topics: [App](<https://devfeed.tech/topics/app.md>), [Android](<https://devfeed.tech/topics/android.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>), [Ktor](<https://devfeed.tech/topics/ktor.md>), [User experience (UX)](<https://devfeed.tech/topics/ux.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [app](<https://devfeed.tech/tags/app.md>), [design](<https://devfeed.tech/tags/design.md>), [development](<https://devfeed.tech/tags/development.md>), [directory](<https://devfeed.tech/tags/directory.md>), [games](<https://devfeed.tech/tags/games.md>), [google-play](<https://devfeed.tech/tags/google-play.md>), [internship](<https://devfeed.tech/tags/internship.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [ktor](<https://devfeed.tech/tags/ktor.md>), [launch](<https://devfeed.tech/tags/launch.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

Bloco introduces Cabinet, a paid Android app directory designed to help users discover hand-picked apps and alternatives without download-based rankings or false marketing. The article describes its categories, launch results, business goals, and implementation with technologies including Jetpack Compose, Paging 3, DataStore, Ktor, and Coil.

### Source excerpt

Presenting Cabinet, Bloco's new app! Cabinet helps you discover amazing new apps and alternatives to the ones you use every day.

## Miro Threat Modeling Template for EoP

DevFeed: [Miro Threat Modeling Template for EoP](<https://devfeed.tech/articles/miro-threat-modeling-template-for-eop-36779.md>)

Original publisher: [Read original article](<https://shostack.org/blog/eop-miro/>)

Author: Brett Crawley

Published: 2022-11-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [Template](<https://devfeed.tech/topics/template.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [repo](<https://devfeed.tech/topics/repo.md>)

Tags: [repo](<https://devfeed.tech/tags/repo.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [template](<https://devfeed.tech/tags/template.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

This guest post explains how to use a Miro template to run the Elevation of Privilege threat-modeling card game remotely. It covers team composition, required architecture and requirements diagrams, board setup, and documenting exported threat models alongside application code.

### Source excerpt

A Miro template for Elevation of Privilege

## Wrapping-up 2021

DevFeed: [Wrapping-up 2021](<https://devfeed.tech/articles/wrapping-up-2021-40815.md>)

Original publisher: [Read original article](<https://www.bloco.io/blog/wrapping-up-2021>)

Author: Cláudia

Published: 2022-02-23T11:43:46Z

Content type: opinion

Language: en

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

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Android](<https://devfeed.tech/topics/android.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Internet](<https://devfeed.tech/topics/internet.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [about](<https://devfeed.tech/tags/about.md>), [android](<https://devfeed.tech/tags/android.md>), [business](<https://devfeed.tech/tags/business.md>), [clients](<https://devfeed.tech/tags/clients.md>), [dev](<https://devfeed.tech/tags/dev.md>), [internet](<https://devfeed.tech/tags/internet.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

Bloco reviews its 2021 highlights, including the launch of the Stationhead Android app, the Awala app suite, work on OONI Probe, the Circles authenticator app, updates to Large Text Mobile and its Android App Starter Template, and changes to its publishing and work schedule.

### Source excerpt

A ritual we do every year is to write our annual highlights. We always start with the feeling "we haven't done much" but then we realise it's not true.

## Starting a TypeScript Project in 2021

DevFeed: [Starting a TypeScript Project in 2021](<https://devfeed.tech/articles/starting-a-typescript-project-in-2021-31858.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2021/04/starting-a-typescript-project-in-2021/>)

Author: Chris Hager

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

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Jest](<https://devfeed.tech/topics/jest.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [GitLab](<https://devfeed.tech/topics/gitlab.md>)

Tags: [api-documentation](<https://devfeed.tech/tags/api-documentation.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [browser](<https://devfeed.tech/tags/browser.md>), [es6](<https://devfeed.tech/tags/es6.md>), [esbuild](<https://devfeed.tech/tags/esbuild.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jest](<https://devfeed.tech/tags/jest.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [project](<https://devfeed.tech/tags/project.md>), [setup](<https://devfeed.tech/tags/setup.md>), [template](<https://devfeed.tech/tags/template.md>), [testing](<https://devfeed.tech/tags/testing.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A practical guide to starting a TypeScript 4 project with modern tooling, covering project setup, esbuild bundling, linting, Jest testing, npm publishing, continuous integration, and automatic API documentation.

### Source excerpt

This is a guide for starting a TypeScript project in 2021 with modern tooling. TypeScript 4 Optionally esbuild to bundle for browsers (and Node.js) Linting with typescript-eslint (tslint is deprecated) Testing with Jest (and ts-jest) Publishing a package to npm Continuous integration (GitHub Actions / GitLab CI) Automatic API documentation with TypeDoc

## Starting a TypeScript Project in 2021

DevFeed: [Starting a TypeScript Project in 2021](<https://devfeed.tech/articles/starting-a-typescript-project-in-2021-31856.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2021/03/bootstrapping-a-typescript-node.js-project/>)

Author: Chris Hager

Published: 2021-03-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Jest](<https://devfeed.tech/topics/jest.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [browser](<https://devfeed.tech/tags/browser.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [es6](<https://devfeed.tech/tags/es6.md>), [esbuild](<https://devfeed.tech/tags/esbuild.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [github](<https://devfeed.tech/tags/github.md>), [gitlab-ci](<https://devfeed.tech/tags/gitlab-ci.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jest](<https://devfeed.tech/tags/jest.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [project](<https://devfeed.tech/tags/project.md>), [setup](<https://devfeed.tech/tags/setup.md>), [template](<https://devfeed.tech/tags/template.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A practical guide to starting a TypeScript project with modern tooling, covering project setup, linting, Jest testing, esbuild bundling, npm publishing, continuous integration, and automatic API documentation.

### Source excerpt

Moved to /2021/04/starting-a-typescript-project-in-2021/

## New Airflow website

DevFeed: [New Airflow website](<https://devfeed.tech/articles/new-airflow-website-32555.md>)

Original publisher: [Read original article](<https://airflow.apache.org/blog/announcing-new-website/>)

Author: Apache Airflow

Published: 2019-12-11T00:00:00Z

Content type: release

Language: en

Sources: [Apache Airflow Blog](<https://devfeed.tech/sources/apache-airflow-blog.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [airflow](<https://devfeed.tech/topics/airflow.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [User experience (UX)](<https://devfeed.tech/topics/ux.md>), [Information Architecture](<https://devfeed.tech/topics/information-architecture.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [User interface design](<https://devfeed.tech/topics/ui-design.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [apache-airflow](<https://devfeed.tech/tags/apache-airflow.md>), [community](<https://devfeed.tech/tags/community.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [github](<https://devfeed.tech/tags/github.md>), [information-architecture](<https://devfeed.tech/tags/information-architecture.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [template](<https://devfeed.tech/tags/template.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ux](<https://devfeed.tech/tags/ux.md>), [website](<https://devfeed.tech/tags/website.md>)

### AI overview

Apache Airflow announces a redesigned website with improved landing pages, information architecture, UX, UI, accessibility, and multilingual translation capabilities. The site is built on Docsy, with open source code hosted on GitHub, and is intended to make Airflow documentation easier to find and contribute to.

### Source excerpt

The brand new Airflow website has arrived! Those who have been following the process know that the journey to update the old Airflow website started at the beginning of the year. Thanks to sponsorship from the Cloud Composer team at Google that allowed us to collaborate with Polidea and with their design studio Utilo, and deliver an awesome website. Documentation of open source projects is key to engaging new contributors in the maintenance, development, and adoption of software. We want the Apache Airflow community to have the best possible experience to contribute and use the project. We also took this opportunity to make the project more accessible, and in doing so, increase its reach. In the past three and a half months, we have updated everything: created a more efficient landing page, enhanced information architecture, and improved UX & UI. Most importantly, the website now has capabilities to be translated into many languages. This is our effort to foster a more inclusive community around Apache Airflow, and we look forward to seeing contributions in Spanish, Chinese, Russian, and other languages as well! We built our website on Docsy, a platform that is easy to use and contribute to. Follow these steps to set up your environment and to create your first pull request. You may also use the new website for your own open source project as a template. All of our code is open and hosted on GitHub. Share your questions, comments, and suggestions with us, to help us improve the website. We hope that this new design makes finding documentation about Airflow easier, and that its improved accessibility increases adoption and use of Apache Airflow around the world. Happy browsing!

## Preparing for a Tech Talk, Part 3: Content

DevFeed: [Preparing for a Tech Talk, Part 3: Content](<https://devfeed.tech/articles/preparing-for-a-tech-talk-part-3-content-36189.md>)

Original publisher: [Read original article](<https://overreacted.io/preparing-for-tech-talk-part-3-content/>)

Published: 2019-07-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dan Abramov](<https://devfeed.tech/sources/dan-abramov.md>)

Topics: [structure](<https://devfeed.tech/topics/structure.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [presentation](<https://devfeed.tech/tags/presentation.md>), [structure](<https://devfeed.tech/tags/structure.md>), [talks](<https://devfeed.tech/tags/talks.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

A personal guide to creating content for a tech talk. The author combines top-down outlining with bottom-up development, continually revises a living outline, removes filler, and often uses the Hero's Journey to structure the presentation.

### Source excerpt

Turning an idea into a talk.

## Multiline strings in ES6 JavaScript

DevFeed: [Multiline strings in ES6 JavaScript](<https://devfeed.tech/articles/multiline-strings-in-es6-javascript-32304.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/multiline-strings-in-es6-javascript/>)

Author: Jack Tarantino

Published: 2015-11-29T23:59:53Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [string](<https://devfeed.tech/tags/string.md>), [template](<https://devfeed.tech/tags/template.md>), [template-strings](<https://devfeed.tech/tags/template-strings.md>), [templates](<https://devfeed.tech/tags/templates.md>)

### AI overview

A tutorial on ES6 Template Strings in JavaScript, covering multiline strings, interpolation, tagged template strings, and older ES5 techniques for writing multiline strings.

### Source excerpt

The new kid in town is called Template Strings. Template Strings are demarked by a backtick(`) on either end and can contain other backticks if they are escaped by a backslash(ie. let my_string = `some cool \`escaped\` thing`). This new kind of primitive in JavaScript is different from

## Presentation slides and writer's block

DevFeed: [Presentation slides and writer's block](<https://devfeed.tech/articles/presentation-slides-and-writer-s-block-35544.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/slides-writers-block/>)

Author: Monica Dinculescu

Published: 2014-04-09T00:00:00Z

Content type: article

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Template](<https://devfeed.tech/topics/template.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [gist](<https://devfeed.tech/topics/gist.md>), [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [gist](<https://devfeed.tech/tags/gist.md>), [java](<https://devfeed.tech/tags/java.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [presentation](<https://devfeed.tech/tags/presentation.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

The author describes a workflow for overcoming writer's block when creating presentation slides: outline the talk, let the outline develop, use a simple presentation template focused on content, and rehearse with presenter's notes.

### Source excerpt

I am the poster child for writer's block. I can't write the #ifdef header guard correctly for a brand new C++ class, I don't remember the order of the public static void main args incantation in Java, and for the life of me, I can't start working on an empty presentation. Not even if you promise me pizza. (Please promise me pizza though.) Start with an outline There's already an amazing speaking.io post about writing outlines which you should read. The tl;dr is that you start with the top-level things that you want to talk about (feel free to s/2Pac/Biggie/g in that example if a) you have good taste or b) you're from the East Coast because c) yolo), and then slowly, but with gumption, start developing dem ideas. I personally take that post literally and write my outline as a markdown gist. The top-level ideas are ## headers, the supporting points are sub-bullets, and there's a lot of "???. Profit!" and notes to future-Monica, because present-Monica is usually a jerk. Time to procrastinate This is great! You have an outline! You deserve a break. No, really; take a break. I let this baby stew for a couple of days, so that it gets nice and tender. Nobody likes an undercooked outline. It's also not a terrible idea at this point to ask some of your friends to read your outline and tell you if this would be a talk they wouldn't hate listening to. Time for Skeletor™ Once you think you've procrastinated enough and it's time to actually work on your presentation, you'll be tempted to start thinking about slide design, typefaces, and the kind of cat gifs you'll include for bonus points. Don't. I mean, definitely include cat gifs, but that time isn't now. I'm pretty sure "being OCD about typography" is correlated with "being really good at writer's block", so I can promise that you'll waste many evenings choosing drop shadows before you realize how screwed you are for content. I've sorted this out by having a really basic presentation template, affectionately named Skeletor, t

## App Engine Boilerplate

DevFeed: [App Engine Boilerplate](<https://devfeed.tech/articles/app-engine-boilerplate-31821.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2011/04/app-engine-boilerplate/>)

Author: Chris Hager

Published: 2011-04-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [Code](<https://devfeed.tech/topics/code.md>), [Google](<https://devfeed.tech/topics/google.md>), [HTML5](<https://devfeed.tech/topics/html5.md>), [jQuery](<https://devfeed.tech/topics/jquery.md>), [openid](<https://devfeed.tech/topics/openid.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [datasets](<https://devfeed.tech/topics/datasets.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [cache](<https://devfeed.tech/tags/cache.md>), [code](<https://devfeed.tech/tags/code.md>), [google](<https://devfeed.tech/tags/google.md>), [html5](<https://devfeed.tech/tags/html5.md>), [openid](<https://devfeed.tech/tags/openid.md>), [template](<https://devfeed.tech/tags/template.md>)

### AI overview

The article introduces appengine-boilerplate, a BSD-licensed repository of reusable boilerplate code for Google's App Engine. It describes included HTML5 and jQuery resources, OpenID authentication, user preference data, memcached datastore objects, request handlers, template tags, development tools, and configuration for different access levels.

### Source excerpt

I recently started appengine-boilerplate, a repository of often used boilerplate code for Google's App Engine, which allows to quickly setup new projects without having to re-invent the most common wheels. All code is released under the BSD license, and It comes with the following goodies: html5-boilerplate (incl. jQuery) OpenID authentication User preferences data model (with gravatar image link) Memcache for datastore objects Handlers for /, /profile, /login and /logout Custom template tags Various tools such as is_testenv(), decode(input) and slugify(title) app.