# import

Import is a programming-language mechanism for making code from another module available, including through Python's import system and JavaScript import declarations.

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

## Untangling our Python Code

DevFeed: [Untangling our Python Code](<https://devfeed.tech/articles/untangling-our-python-code-27401.md>)

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

Author: Khan Academy

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

Content type: tutorial

Language: en

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

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Code](<https://devfeed.tech/topics/code.md>), [import](<https://devfeed.tech/topics/import.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [news](<https://devfeed.tech/tags/news.md>), [organization](<https://devfeed.tech/tags/organization.md>), [python](<https://devfeed.tech/tags/python.md>), [refactor](<https://devfeed.tech/tags/refactor.md>), [structure](<https://devfeed.tech/tags/structure.md>)

### AI overview

This article explains how Khan Academy addressed tangled dependencies in its Python codebase during its 2017 and 2018 refactoring work. It describes why dependency order matters, the problems caused by circular and poorly organized imports, and the use of package-based rules to guide code organization and detect problematic dependencies.

### Source excerpt

By Carter Bastian The previous posts about The Great Khan Academy Python Refactor of 2017 and Also 2018 ... Read more

## Isovalent Networking for Kubernetes 1.19: BGP Route Import, Policy Tiers, and Timescape enhancements

DevFeed: [Isovalent Networking for Kubernetes 1.19: BGP Route Import, Policy Tiers, and Timescape enhancements](<https://devfeed.tech/articles/isovalent-networking-for-kubernetes-1-19-bgp-route-import-policy-tiers-and-timescape-enhancements-31331.md>)

Original publisher: [Read original article](<https://isovalent.com/blog/post/isovalent-networking-for-kubernetes-119-bgp-route-import-policy-tiers-and-timescape-enhancements/>)

Author: Dean Lewis

Published: 2026-07-10T08:58:39Z

Content type: release

Language: en

Sources: [Isovalent - The latest articles covering eBPF-based Networking, Observability, and Security](<https://devfeed.tech/sources/isovalent-the-latest-articles-covering-ebpf-based-networking-observability-and-security.md>)

Topics: [networking](<https://devfeed.tech/topics/networking.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [BGP](<https://devfeed.tech/topics/bgp.md>), [import](<https://devfeed.tech/topics/import.md>)

Tags: [bgp](<https://devfeed.tech/tags/bgp.md>), [import](<https://devfeed.tech/tags/import.md>), [isovalent](<https://devfeed.tech/tags/isovalent.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [latest](<https://devfeed.tech/tags/latest.md>), [networking](<https://devfeed.tech/tags/networking.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Isovalent Networking for Kubernetes 1.19 is presented as a release featuring BGP route import, policy tiers, and Timescape enhancements.

### Source excerpt

Learn about the latest Isovalent Networking for Kubernetes 1.19 release

## Kubo 0.42.0 release: on-demand CID announcements, partial CAR import and export, and reprovide changes

DevFeed: [Kubo 0.42.0 release: on-demand CID announcements, partial CAR import and export, and reprovide changes](<https://devfeed.tech/articles/just-released-kubo-0-42-0-35642.md>)

Original publisher: [Read original article](<https://github.com/ipfs/kubo/releases/tag/v0.42.0>)

Author: Ipfs

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

Content type: release

Language: en

Sources: [IPFS](<https://devfeed.tech/sources/ipfs.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [version](<https://devfeed.tech/topics/version.md>), [export](<https://devfeed.tech/topics/export.md>), [import](<https://devfeed.tech/topics/import.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>)

Tags: [block](<https://devfeed.tech/tags/block.md>), [export](<https://devfeed.tech/tags/export.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [import](<https://devfeed.tech/tags/import.md>), [kubo](<https://devfeed.tech/tags/kubo.md>), [migration](<https://devfeed.tech/tags/migration.md>), [other](<https://devfeed.tech/tags/other.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [releases](<https://devfeed.tech/tags/releases.md>), [retries](<https://devfeed.tech/tags/retries.md>), [routing](<https://devfeed.tech/tags/routing.md>), [store](<https://devfeed.tech/tags/store.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Kubo 0.42.0 adds on-demand CID announcements, supports streaming CIDs from standard input, and introduces partial CAR export and import. It also changes providing semantics, fixes pin operations blocked by reprovide cycles, and improves migration retries for older repositories.

### Source excerpt

Just released: Kubo 0.42.0!

## How to bypass SSL for PROJ reprojection

DevFeed: [How to bypass SSL for PROJ reprojection](<https://devfeed.tech/articles/how-to-bypass-ssl-for-proj-reprojection-35590.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/how-to-bypass-ssl-for-proj-reprojection/>)

Author: Robin Wilson

Published: 2026-03-23T16:23:36Z

Content type: tutorial

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Security](<https://devfeed.tech/topics/security.md>), [SSL](<https://devfeed.tech/topics/ssl.md>), [import](<https://devfeed.tech/topics/import.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [osx](<https://devfeed.tech/topics/osx.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [academic](<https://devfeed.tech/tags/academic.md>), [command](<https://devfeed.tech/tags/command.md>), [computing](<https://devfeed.tech/tags/computing.md>), [gis](<https://devfeed.tech/tags/gis.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [linux](<https://devfeed.tech/tags/linux.md>), [osx](<https://devfeed.tech/tags/osx.md>), [remote-sensing](<https://devfeed.tech/tags/remote-sensing.md>), [security](<https://devfeed.tech/tags/security.md>), [ssl](<https://devfeed.tech/tags/ssl.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This tutorial explains how to temporarily disable SSL verification for PROJ during coordinate reprojection when self-signed or misconfigured certificates cause downloads of conversion data to fail. It notes the security trade-off and points to setting a PROJ environment variable.

### Source excerpt

A friend was using GDAL's ogr2ogr command to import some data to PostGIS recently, and as part of the import they were doing a reprojection of the data. They got the following error: PROJ: Cannot open https://cdn.proj.org/uk_os_OSTN15_NTv2_OSGBtoETRS.tif: schannel: the certificate or certificate chain is based on an untrusted root They've had various SSL errors on [...]

## How to fix osm2pgrouting error 'relation "\_\_waysXXXX" does not exist' and speed up the import

DevFeed: [How to fix osm2pgrouting error 'relation "\_\_waysXXXX" does not exist' and speed up the import](<https://devfeed.tech/articles/how-to-fix-osm2pgrouting-error-relation-waysxxxx-does-not-exist-and-speed-up-the-import-35593.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/how-to-fix-osm2pgrouting-error-relation-__waysxxxx-does-not-exist-and-speed-up-the-import/>)

Author: Robin Wilson

Published: 2026-01-31T10:33:00Z

Content type: tutorial

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [import](<https://devfeed.tech/topics/import.md>), [Database](<https://devfeed.tech/topics/database.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [cloud](<https://devfeed.tech/tags/cloud.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [database](<https://devfeed.tech/tags/database.md>), [error](<https://devfeed.tech/tags/error.md>), [gis](<https://devfeed.tech/tags/gis.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [speed](<https://devfeed.tech/tags/speed.md>)

### AI overview

A practical guide to fixing an osm2pgrouting error involving a missing __waysXXXX relation while importing OpenStreetMap data into PostGIS. It explains that increasing the command's chunk-size parameter can prevent crashes and reduce the import time to about 45 minutes, while requiring substantial RAM.

### Source excerpt

I don't seem to have time or energy for long posts these days, but here's another quick post which might save you some time and frustration. Recently, I've been trying to import OpenStreetMap data into a PostGIS database to use with pgRouting. I wanted to import data for the whole of England - which has [...]

## Apple Photos App Corrupts Images

DevFeed: [Apple Photos App Corrupts Images](<https://devfeed.tech/articles/apple-photos-app-corrupts-images-39002.md>)

Original publisher: [Read original article](<https://tenderlovemaking.com/2025/09/17/apple-photos-app-corrupts-images/>)

Published: 2025-09-16T23:59:23Z

Content type: article

Language: en

Sources: [Aaron Patterson](<https://devfeed.tech/sources/aaron-patterson.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [file](<https://devfeed.tech/topics/file.md>), [import](<https://devfeed.tech/topics/import.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Image](<https://devfeed.tech/topics/image.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [USB](<https://devfeed.tech/topics/usb.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [camera](<https://devfeed.tech/tags/camera.md>), [debug](<https://devfeed.tech/tags/debug.md>), [file](<https://devfeed.tech/tags/file.md>), [files](<https://devfeed.tech/tags/files.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [images](<https://devfeed.tech/tags/images.md>), [import](<https://devfeed.tech/tags/import.md>), [photo](<https://devfeed.tech/tags/photo.md>), [photos](<https://devfeed.tech/tags/photos.md>), [trust](<https://devfeed.tech/tags/trust.md>), [usb](<https://devfeed.tech/tags/usb.md>)

### AI overview

The article describes intermittent image corruption in Apple Photos when importing photos from an OM System OM-1 camera. The author reports corrupted JPEG and RAW files, estimates losing about 30% of the images from one event, investigates possible hardware causes, and changes to a different import workflow after losing trust in Photos.

### Source excerpt

The Apple Photos app sometimes corrupts images when importing from my camera. I just wanted to make a blog post about it in case anyone else runs into the problem. I've seen other references to this online, but most of the people gave up trying to fix it, and none of them went as far as I did to debug the issue. I'll try to describe the problem, and the things I've tried to do to fix it. But also note that I've (sort of) given up on the Photos app too. Since I can't trust it to import photos from my camera, I switched to a different workflow. Here is a screenshot of a corrupted image in the Photos app: How I used to import images I've got an OM System OM-1 camera. I used to shoot in RAW + jpg, then when I would import to Photos app, I would check the "delete photos after import" checkbox in order to empty the SD card. Turns out "delete after import" was a huge mistake. Getting corrupted images I'm pretty sure I'd been getting corrupted images for a while, but it would only be 1 or 2 images out of thousands, so I thought nothing of it (it was probably my fault anyway, right?) But the problem really got me upset when last year I went to a family member's wedding and took tons of photos. Apple Photos combines RAW + jpg photos so you don't have a bunch of duplicates, and when you view the images in the photos app, it just shows you the jpg version by default. After I imported all of the wedding photos I noticed some of them were corrupted. Upon closer inspection, I found that it sometimes had corrupted the jpg, sometimes corrupted the RAW file, and sometimes both. Since I had been checking the "delete after import" box, I didn't know if the images on the SD card were corrupted before importing or not. After all, the files had been deleted so there was no way to check. I estimate I completely lost about 30% of the images I took that day. Losing so many photos really rattled me, but I wanted to figure out the problem so I didn't lose images in the future. Narrowing down t

## GIMP 3.0 Released With Updated UI, Wayland Support, Improved File Compatibility, and Plugin API Changes

DevFeed: [GIMP 3.0 Released With Updated UI, Wayland Support, Improved File Compatibility, and Plugin API Changes](<https://devfeed.tech/articles/download-of-the-day-gimp-3-0-is-finally-here-41958.md>)

Original publisher: [Read original article](<https://www.cyberciti.biz/linux-news/download-of-the-day-gimp-3-0-is-finally-here/>)

Author: Vivek Gite

Published: 2025-03-18T03:45:26Z

Content type: release

Language: en

Sources: [nixCraft: Linux Tips, Hacks, Tutorials, And Ideas In Blog Format (RSS/FEED)](<https://devfeed.tech/sources/nixcraft-linux-tips-hacks-tutorials-and-ideas-in-blog-format-rss-feed.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Wayland](<https://devfeed.tech/topics/wayland.md>), [API](<https://devfeed.tech/topics/api.md>), [Compression](<https://devfeed.tech/topics/compression.md>), [file](<https://devfeed.tech/topics/file.md>), [format](<https://devfeed.tech/topics/format.md>), [export](<https://devfeed.tech/topics/export.md>), [import](<https://devfeed.tech/topics/import.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [centos](<https://devfeed.tech/tags/centos.md>), [compression](<https://devfeed.tech/tags/compression.md>), [css](<https://devfeed.tech/tags/css.md>), [debian-linux](<https://devfeed.tech/tags/debian-linux.md>), [downloads](<https://devfeed.tech/tags/downloads.md>), [export](<https://devfeed.tech/tags/export.md>), [file](<https://devfeed.tech/tags/file.md>), [format](<https://devfeed.tech/tags/format.md>), [freebsd](<https://devfeed.tech/tags/freebsd.md>), [gimp](<https://devfeed.tech/tags/gimp.md>), [import](<https://devfeed.tech/tags/import.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-news](<https://devfeed.tech/tags/linux-news.md>), [macos](<https://devfeed.tech/tags/macos.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [release](<https://devfeed.tech/tags/release.md>), [sysadmin](<https://devfeed.tech/tags/sysadmin.md>), [unix](<https://devfeed.tech/tags/unix.md>), [upgrades](<https://devfeed.tech/tags/upgrades.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

GIMP 3.0 was released on March 16, 2025. The release adds a GTK3 interface, HiDPI and tablet improvements, Wayland support, CSS-based themes, updated icons, broader file-format compatibility, painting and text improvements, and updates to the core plugin API.

### Source excerpt

Wow! After years of hard work and countless commits, we have finally reached a huge milestone: GIMP 3.0 is officially released! I am excited as I write this and can't wait to share some incredible new features and improvements in this release. GIMP 2.10 was released in 2018, and the first development version of GIMP 3.0 came out in 2020. GIMP 3.0 released on 16/March/2025. Let us explore how to download and install GIMP 3.0, as well as the new features in this version. Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit The post Download of the day: GIMP 3.0 is FINALLY Here! appeared first on nixCraft.

## Nix Import From Derivation: How It Works and When to Use It

DevFeed: [Nix Import From Derivation: How It Works and When to Use It](<https://devfeed.tech/articles/nix-ifd-a-ticking-time-bomb-in-your-build-pipeline-32453.md>)

Original publisher: [Read original article](<https://nixcademy.com/posts/what-is-ifd-ups-and-downs/>)

Author: Jacek Galowicz

Published: 2024-12-30T00: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>), [import](<https://devfeed.tech/topics/import.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [graph](<https://devfeed.tech/tags/graph.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This tutorial explains Nix Import From Derivation (IFD), including how it differs from non-IFD builds and how Nix evaluates and realizes derivations. It discusses IFD's benefits for dependency management alongside its potential to slow build times, helping readers decide when to use it.

### Source excerpt

Nix's Import From Derivation (IFD) can speed up development but also cause slow builds. Learn how IFD works, its pros/cons, and when to use it effectively.

## garn v0.0.19: Bringing existing flake files into your garn project

DevFeed: [garn v0.0.19: Bringing existing flake files into your garn project](<https://devfeed.tech/articles/garn-v0-0-19-bringing-existing-flake-files-into-your-garn-project-32405.md>)

Original publisher: [Read original article](<https://garnix.io/blog/flake-imports>)

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

Content type: release

Language: en

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

Topics: [import](<https://devfeed.tech/topics/import.md>), [Nix](<https://devfeed.tech/topics/nix.md>), [version](<https://devfeed.tech/topics/version.md>), [Internet](<https://devfeed.tech/topics/internet.md>)

Tags: [existing](<https://devfeed.tech/tags/existing.md>), [files](<https://devfeed.tech/tags/files.md>), [import](<https://devfeed.tech/tags/import.md>), [project](<https://devfeed.tech/tags/project.md>), [release](<https://devfeed.tech/tags/release.md>), [repository](<https://devfeed.tech/tags/repository.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

garn v0.0.19 adds support for importing Nix flakes from the internet and from an existing repository into a garn project.

### Source excerpt

Release announcement for garn version v0.0.19, which includes the ability to import Nix flakes from the internet and from your repository.

## 10x faster python test iteration via fork(2)

DevFeed: [10x faster python test iteration via fork(2)](<https://devfeed.tech/articles/10x-faster-python-test-iteration-via-fork-2-20122.md>)

Original publisher: [Read original article](<https://benchling.engineering/10x-faster-python-test-iteration-via-fork-2-3aae52d2f6?source=rss----3d4aa8fb07ea---4>)

Author: raylu

Published: 2023-07-20T16:01:45Z

Content type: tutorial

Language: en

Sources: [Benchling](<https://devfeed.tech/sources/benchling.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [SQLAlchemy](<https://devfeed.tech/topics/sqlalchemy.md>), [modules](<https://devfeed.tech/topics/modules.md>), [import](<https://devfeed.tech/topics/import.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [benchling](<https://devfeed.tech/tags/benchling.md>), [code](<https://devfeed.tech/tags/code.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [developer-productivity](<https://devfeed.tech/tags/developer-productivity.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [fork](<https://devfeed.tech/tags/fork.md>), [import](<https://devfeed.tech/tags/import.md>), [modules](<https://devfeed.tech/tags/modules.md>), [python](<https://devfeed.tech/tags/python.md>), [sqlalchemy](<https://devfeed.tech/tags/sqlalchemy.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This Benchling Engineering article explains how the Build team reduced Python test iteration time in a dependency-heavy codebase. It discusses the limitations of importlib.reload() and describes a fork-based approach that made the second test run start 10 times faster, reducing waiting by 90%.

### Source excerpt

It's ideal to get feedback on your code faster -- to make a code change and see the result instantly. But, as projects get larger, reload times get longer. Each incremental dependency or bootstrap code block that adds 200ms feels worth it, but 50 of them later and it takes 10 seconds to see the result of a code change. On the Build team at Benchling, that's where we found ourselves one day. We used 146 packages which pull in 128 transitive dependencies for a total of 274 packages. We also spent a lot of time waiting for SQLAlchemy models to initialize. The result is our test harness took 10 seconds to set up. After making a code change, you'd start the test runner, wait a few seconds, alt+tab to your browser, get distracted for a few minutes, and then find out you had a typo in your code. This is a common challenge for a growing codebase, but it's something we knew we needed to fix. Here's the process we arrived at which allowed the second run of tests to start 10x faster -- 90% less waiting. While it'll work a little differently for your codebase depending on the language, dependencies, etc. you're using, hopefully this can inspire you on your journey to faster feedback and testing. importlib.reload() Since the problem is that we spend so long setting up a bunch of modules just right and then want to see the change in a single file we're editing, the most obvious solution is to use importlib.reload from the standard library. import importlib import sys import test_harness_stuff # takes 10 seconds import tests def rerun_tests(changed_path): for mod in sys.modules.values(): if mod.__file__ == changed_path: importlib.reload(mod) tests.run_tests() break if __name__ == '__main__': setup_file_watcher(rerun_tests) tests.run_tests() This (with some special handling for built-in modules, relative path resolution, and batching to handle editors that perform multiple filesystem operations per save) works alright when the file being changed is a test file (or any other leaf node

## Music Stats with DuckDB

DevFeed: [Music Stats with DuckDB](<https://devfeed.tech/articles/music-stats-with-duckdb-29367.md>)

Original publisher: [Read original article](<https://arturdryomov.dev/posts/music-stats-with-duckdb/>)

Author: Artur Dryomov

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

Content type: article

Language: en

Sources: [Artur Dryomov](<https://devfeed.tech/sources/artur-dryomov.md>)

Topics: [DuckDB](<https://devfeed.tech/topics/duckdb.md>), [data](<https://devfeed.tech/topics/data.md>), [import](<https://devfeed.tech/topics/import.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [csv](<https://devfeed.tech/tags/csv.md>), [data](<https://devfeed.tech/tags/data.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [import](<https://devfeed.tech/tags/import.md>), [json](<https://devfeed.tech/tags/json.md>), [music](<https://devfeed.tech/tags/music.md>)

### AI overview

The article describes using DuckDB to combine and analyze music scrobbles from sources including Last.fm and Spotify, working with JSON and CSV data in different formats.

### Source excerpt

Music! Everyone likes music. Well, I certainly hope so. Stats! Well, not everyone likes stats but I certainly do. In this article I'll describe an approach to work with music scrobbles from different sources and in different formats using DuckDB. DuckDB is a perfect match for such ad-hoc scenarios -- it has a minimal footprint, great performance and useful features. Scrobbles I've been using multiple music sources over the past decade. Fortunately, I had a Last.fm account from the beginning. It allowed me to track almost everything I've listened -- resulting in almost 110+ thousands of scrobbles. Unfortunately, I haven't used it all the time.

## A few Kotlin constructs

DevFeed: [A few Kotlin constructs](<https://devfeed.tech/articles/a-few-kotlin-constructs-25265.md>)

Original publisher: [Read original article](<https://kau.sh/blog/important-kotlin-constructs/>)

Author: Kaushik Gopal

Published: 2022-11-27T12:12:29Z

Content type: tutorial

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>), [import](<https://devfeed.tech/topics/import.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [import](<https://devfeed.tech/tags/import.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [type-alias](<https://devfeed.tech/tags/type-alias.md>)

### AI overview

A Kotlin tutorial reviewing several language constructs, including SAM fun interfaces, function types, type aliases, import aliases, and value classes. It explains that function types and interfaces serve similar purposes but are distinct, and notes that import aliases can disambiguate identically named types.

### Source excerpt

A few Kotlin constructs have been introduced into the language over time. I wrote this post as a personal/public service advisory to remind us of their significance. Would love to credit img owner 1. fun interface (SAM) 1.1. (vs) function types 2. type alias 3. import alias 4. value class 5. data object Revisions 1. fun interface (SAM) # Many languages (like Java) did not initially treat functions as first-class citizens. They would emulate this functionality by using an interface with exactly one abstract method (a.k.a Single Abstract Method or SAM) interfaces. fun interface OnClickListener { // single abstract function fun onClick(view: View) } fun Button.setOnClickListenerXXX(listener: OnClickListener) { // listener then invoked at some point listener.onClick(this) } When fun interface is used like the above, we typically must pass an instance of an object that implements this SAM interface. val clickListener = object: OnClick { override fun onClick(view: Button) { Toast.makeText(context, "Button 1 Clicked", Toast.LENGTH_SHORT).show() } } // You can now "pass this function" around myButton.setOnClickListenerXXX(clickListener) In practice, modern JVMs allow a far less verbose version of the above via lambdas: myButton.setOnClickListenerXXX { view -> Toast.makeText(view.context, "testing 1", Toast.LENGTH_SHORT).show() } introduced in Kotlin 1.4 official docs purpose is to achieve first-class functions 1.1. (vs) function types ## Kotlin treats functions as first-class citizens and bakes the concept of "function types" right into the language. Function types and interfaces are not the same thing but serve a similar purpose (treat functions as first-class citizens). The book Effective Kotlin does good justice in pointing out the nuance between these two concepts. At a time when lambdas were not properly supported with most modern JVMs, function types were the elegant alternative. This makes it confusing today (the existence of two similar concepts) because they can ap

## Exporting Node Modules in 2022

DevFeed: [Exporting Node Modules in 2022](<https://devfeed.tech/articles/exporting-node-modules-in-2022-26220.md>)

Original publisher: [Read original article](<https://medium.com/groupon-eng/exporting-node-modules-in-2022-e8fd97f0f5a9?source=rss----5c13a88f9872---4>)

Author: David Bushong

Published: 2022-09-01T20:01:47Z

Content type: tutorial

Language: en

Sources: [Groupon Engineering -- Medium](<https://devfeed.tech/sources/groupon-engineering-medium.md>)

Topics: [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [npm](<https://devfeed.tech/topics/npm.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [import](<https://devfeed.tech/topics/import.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [import](<https://devfeed.tech/tags/import.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node](<https://devfeed.tech/tags/node.md>), [npm](<https://devfeed.tech/tags/npm.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

This tutorial explains CommonJS and native ES Module exports in Node.js, including how modules can be imported across module systems. It also compares the output of Babel, Webpack, and TypeScript with native Node.js module behavior, highlighting compatibility concerns and TypeScript's non-standard export syntax.

### Source excerpt

Groupon maintains literally hundreds of NPM modules, both open source and internal. Many of these are consumed by our custom NodeJS-based middleware web layer we call "The Interaction Tier" (itself a topic for another post someday). As folks write new modules, a common question is "what's the best way to export things from our published modules to maximize compatibility?" -- and that is the topic of this post. First, some background and history: Flavors of exported modulesCommonJS in Node In the beginning, there was CommonJS: Here are 3 sample files with exports: // export1.js - exporting individual properties w/ CommonJS 'use strict';function foo() { } exports.foo = foo; exports.bar = 42;// export2.js - exporting a single object w/ CommonJS 'use strict';function baz() { } const garply = 88; module.exports = { baz }; // dynamically (conditionally!) exported! if (Math.random() > 0.5) module.exports.garply = garply;// export3.js - exporting a bare function w/ CommonJS 'use strict';function quux() { } module.exports = quux;// sometimes there are extra properties added to the bare function quux.yadda = 42; Those CommonJS exports can be imported either into other CommonJS files or into ES Module (more on that below) files: // import.js - importing CommonJS modules into a CJS file 'use strict';const { foo, bar } = require('./export1'); const { baz, garply } = require('./export2'); if (Math.random > 0.9) { // can also dynamically decide when to import const quux = require('./export3'); // can poke into properties tacked onto functions const { yadda } = require('./export3'); }// import.mjs - importing CommonJS modules into an ESM file // node is willing to turn exported objects into named exports import { foo, bar } from './export1.js'; import { baz, garply } from './export2.js'; import quux from './export3.js'; // cannot access added property "yadda" directly; hence: const { yadda } = quux; You can read more elsewhere, but the key features are: The module files are synchron

## Presenting @trivago/prettier-plugin-sort-imports

DevFeed: [Presenting @trivago/prettier-plugin-sort-imports](<https://devfeed.tech/articles/presenting-trivago-prettier-plugin-sort-imports-28016.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2021-12-17-aprettierpluginthatsortsyourimports/>)

Author: Ayush Sharma Software Engineer; Learner; Open Source Enthusiast Follow

Published: 2021-12-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Prettier](<https://devfeed.tech/topics/prettier.md>), [import](<https://devfeed.tech/topics/import.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [modules](<https://devfeed.tech/topics/modules.md>), [formatting](<https://devfeed.tech/topics/formatting.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [import](<https://devfeed.tech/tags/import.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [modules](<https://devfeed.tech/tags/modules.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

trivago released @trivago/prettier-plugin-sort-imports, a Prettier plugin that sorts TypeScript and JavaScript import declarations according to a configured order. The article explains its motivation, configuration, and handling of third-party and local modules.

### Source excerpt

I'm happy to share that trivago has released a Prettier plugin which sorts import declarations in TypeSCript and JavaScript modules for a given configured order. Throughout this article, I'll explain to you the motivation behind this Prettier plugin and how it works in detail.

## Using the new prebuilt builder on GoReleaser

DevFeed: [Using the new prebuilt builder on GoReleaser](<https://devfeed.tech/articles/using-the-new-prebuilt-builder-on-goreleaser-37759.md>)

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

Author: Carlos Alexandro Becker

Published: 2021-09-12T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [import](<https://devfeed.tech/topics/import.md>), [builds](<https://devfeed.tech/topics/builds.md>)

Tags: [binaries](<https://devfeed.tech/tags/binaries.md>), [build](<https://devfeed.tech/tags/build.md>), [import](<https://devfeed.tech/tags/import.md>), [performance](<https://devfeed.tech/tags/performance.md>), [split](<https://devfeed.tech/tags/split.md>)

### AI overview

GoReleaser adds support for importing pre-built binaries into its release process. The article explains using another build tool and splitting builds across multiple machines, including for performance or CGO-related reasons.

### Source excerpt

You can now import pre-built binaries into GoReleaser!

## A/B Tested, Feature Flagged, White-Label Apps with Webpack

DevFeed: [A/B Tested, Feature Flagged, White-Label Apps with Webpack](<https://devfeed.tech/articles/a-b-tested-feature-flagged-white-label-apps-with-webpack-19118.md>)

Original publisher: [Read original article](<https://medium.com/rbi-tech/a-b-tested-feature-flagged-white-label-apps-with-webpack-fddd4c629f1f?source=rss----904782439303---4>)

Author: Andy Weiss

Published: 2020-06-17T19:15:05Z

Content type: tutorial

Language: en

Sources: [RBI Tech](<https://devfeed.tech/sources/rbi-tech.md>)

Topics: [Webpack](<https://devfeed.tech/topics/webpack.md>), [React](<https://devfeed.tech/topics/react.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [import](<https://devfeed.tech/topics/import.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [a-b-testing](<https://devfeed.tech/tags/a-b-testing.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [feature-flagging](<https://devfeed.tech/tags/feature-flagging.md>), [import](<https://devfeed.tech/tags/import.md>), [react](<https://devfeed.tech/tags/react.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

This tutorial explains how to customize Webpack in a Create React App project to build and deploy multiple application variants from one codebase. It discusses use cases including A/B testing, feature flagging, platform targeting, and custom themes, with attention to file-extension resolution and import behavior.

### Source excerpt

For most of us, the thought of tweaking our app's Webpack configuration inspires about the same level of excitement as a bi-annual trip to the dentist. We know it's important, necessary even -- certainly better than the alternative -- and yet, the goal is mostly to get in and out without anything going wrong. The popularity of Create React App and other tools is largely built upon their ability to abstract away these configuration details and allow developers to focus on shipping features quickly. But the better we know our tools, the more likely we are to recognize when they fit a particular problem we face in our work. For a certain class of project, it's worth considering Create React App's defaults as a starting point, rather than the end of the conversation. Thoughtfully applied, some small modifications can unlock a world of possibility. For example, we often know at the outset of a project that we will need to build and deploy different versions of our application. Whether it's for A/B testing, feature flagging, targeting specific platforms, or applying a custom theme, we want the ability to maintain multiple parallel universes around a single codebase without unnecessary duplication or complexity. Webpack's ability to select from a variety of file extensions at build time makes it an especially useful tool for this task. You'd probably be surprised to see how just easy it is to achieve a high level of flexibility with minimal configuration. More Intentional File Extensions Part of Webpack's magic comes from its ability to guess our intentions when we leave off the file extension at the end of an import. We do it so often we may barely notice, but how many times have we written code like this? https://medium.com/media/2f79921db578db57aa03929c826ccb82/href Maybe there's a Nav.js file in the components directory, or possibly the extension is .jsx or .tsx. Maybe Nav is actually a directory itself, and there's an index.js or index.jsx that's exporting the component

## Loading Zip Codes with SmarterCSV Gem

DevFeed: [Loading Zip Codes with SmarterCSV Gem](<https://devfeed.tech/articles/loading-zip-codes-with-smartercsv-gem-28266.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/rails/2020/03/18/loading-zip-codes-with-smartercsv-gem.html>)

Author: Fuzzygroup

Published: 2020-03-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [Code](<https://devfeed.tech/topics/code.md>), [import](<https://devfeed.tech/topics/import.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [covidnearme-org](<https://devfeed.tech/tags/covidnearme-org.md>), [csv](<https://devfeed.tech/tags/csv.md>), [data](<https://devfeed.tech/tags/data.md>), [import](<https://devfeed.tech/tags/import.md>), [rails](<https://devfeed.tech/tags/rails.md>), [rake](<https://devfeed.tech/tags/rake.md>), [trace](<https://devfeed.tech/tags/trace.md>), [transformation](<https://devfeed.tech/tags/transformation.md>), [zip](<https://devfeed.tech/tags/zip.md>)

### AI overview

A Rails example shows how to load U.S. ZIP code data with the SmarterCSV gem while preserving leading zeros. It uses a rake task and excludes the ZIP field from numeric conversion because the documented transformation did not work as expected.

### Source excerpt

Zip code data is always problematic due to the leading zeros. The smarter_csv gem in Rails defaults to automatically handling numbers as numerics, not strings, which means that you lose 00408 to just 408. Here's an example of a work around using a rake task to load data: # bundle exec rake data:import_geography --trace task :import_geography => :environment do path = File.join(Rails.root, 'lib/tasks/data/', 'Geocodes_USA_with_Counties.csv') geographies = SmarterCSV.process(path, { hash_transformations: [ :convert_values_to_numeric_unless_leading_zeros], convert_values_to_numeric: { except: [:zip] }} ) geographies.each do |g| g_obj = Geography.find_or_create(g) end end Note: This wasn't the accepted work around but a hack; sigh. The :convert_values_to_numeric_unless_leading_zeros transformation doesn't seem work. Issue filed; I hope to fix this myself down the road.

## Reloading the REPL in Python

DevFeed: [Reloading the REPL in Python](<https://devfeed.tech/articles/reloading-the-repl-in-python-28231.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/python/2020/03/07/reloading-the-repl-in-python.html>)

Author: Fuzzygroup

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

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Code](<https://devfeed.tech/topics/code.md>), [import](<https://devfeed.tech/topics/import.md>), [IPython](<https://devfeed.tech/topics/ipython.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [import](<https://devfeed.tech/tags/import.md>), [python](<https://devfeed.tech/tags/python.md>), [rails](<https://devfeed.tech/tags/rails.md>)

### AI overview

A tutorial on reloading changed Python modules in an interactive REPL using importlib.reload(), with a comparison to Rails' reload! command and an example of automating the process through an IPython configuration.

### Source excerpt

When you know something well you always look to learn by analogy. Today's short topic is reloading the REPL (read-evaluate-print-loop) interactive console in Python and then contrast between Python and Rails. And, yes, I get that Python is a language and Rails is a framework but where you tend to work directly in the Python console, you also tend to work directly in the Rails console (as opposed to the IRB Ruby console on which the Rails console is based but the Rails console improves it a lot). The reason this is important is that if you use a REPL a lot, well, you are constantly switching between editor and REPL and until this damn blog post, I had to quit my Python console every damn time. Just imagine me cursing up a blue streak and you will get a small fraction of my frustration when you see the difference below between Python and Rails. Python - Launching the Console python3 Rails - Launching the Console rails c Note: You may have to type this as bundle exec rails c (also knowing as the "bundle exec" tax). Python - Reloading the Console When You Change Your Code import importlib importlib.reload(your_module_name_here) Example: import expert_classification # try some code; find bug; fix bug import importlib importlib.reload(expert_classification) # try code again Rails - Reloading the Console When You Change Your Code reload! Note: If you change your Rails gem stack then you have to exit the console entirely. I'll give you that. Why This Matters, Why Rails is Better Here And a Rant It is hard to know when you're changing stuff with more than a single module exactly what you changed. The Rails method of typing reload! and having your whole environment reloaded solved this entirely. Note: The reload method on importlib is new in Python 3.4. Insert emoji of Munsch scream here How the hell is this possible that reloading came only on March 17, 2014 when Python started shipping in December 1989? I can't remember ever not having reload! in Rails. Sidebar: Making this

## Advice on Importing Wunderlist to Todoist

DevFeed: [Advice on Importing Wunderlist to Todoist](<https://devfeed.tech/articles/advice-on-importing-wunderlist-to-todoist-28357.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/wunderlist/2020/02/22/advice-on-importing-wunderlist-to-todoist.html>)

Author: Fuzzygroup

Published: 2020-02-22T00:00:00Z

Content type: opinion

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [import](<https://devfeed.tech/topics/import.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [import](<https://devfeed.tech/tags/import.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [wunderlist](<https://devfeed.tech/tags/wunderlist.md>)

### AI overview

The article advises Wunderlist users importing their data into Todoist that the free plan has a 50-list limit, which may cause imports to fail. It suggests merging Wunderlist lists or purchasing a paid Todoist plan.

### Source excerpt

Wunderlist is now on the real verge of being shutdown by Microsoft and Todoist claims to be import compatible. One thing to know is that Todoist Free has a limit of 50 lists. If you've used Wunderlist for any number of years then you may find your import failing. Two options: Merge lists in Wunderlist before importing (I think the limit is the number of discrete lists not the total number of list items) Buy Todoist paid edition (I did only the first paid edition) before you import If you import and you get a Failed Import message then that's the sign that you need to do either 1 or 2. The first time I imported, import failed without any feedback. Props to Todoist for fixing this pretty quickly and that's the reason I paid.

## Reading Files to Strings using Python and then Loading them to JSON

DevFeed: [Reading Files to Strings using Python and then Loading them to JSON](<https://devfeed.tech/articles/reading-files-to-strings-using-python-and-then-loading-them-to-json-28225.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/python/2019/11/04/reading-files-to-strings-using-python.html>)

Author: Fuzzygroup

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

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [JSON](<https://devfeed.tech/topics/json.md>), [import](<https://devfeed.tech/topics/import.md>)

Tags: [files](<https://devfeed.tech/tags/files.md>), [import](<https://devfeed.tech/tags/import.md>), [json](<https://devfeed.tech/tags/json.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

A concise Python tutorial showing several ways to read file contents into a string, including context managers, pathlib, and explicit closing. It also demonstrates passing the resulting text to json.loads to create a Python dictionary.

### Source excerpt

I know this is dirt simple but I'm writing it down because it is one of those simple things that I just forget constantly. In each of these cases, the output is to the str variable. Using a With Block to Auto Close the File As a rubyist, I keep reading this as str is local to the with "block". Of course python doesn't have blocks ... with open('data.txt', 'r') as myfile: str = myfile.read() Python 3.5 Path Statement One Liner I really like this approach but pathlib always has to be imported. from pathlib import Path str = Path('data.txt').read_text() Non Auto Closing Not Recommended This is simple but leaves an open file hanging around. Sigh. str = open('jsons/gab_02.json', 'r').read() Auto Closing Single Line This is elegant but it buries the assignment variable in the middle of the line which feels wrong. _ = open('jsons/gab_02.json', 'r'); str = _.read(); _.close() Loading it to JSON The json.loads statement takes a string in and converts it to a Python dict / hash so all you need to do is inline the string reading call from above and get an easy one liner (if you disregard the import lines). from pathlib import Path import json gab = json.loads(Path('jsons/gab_02.json').read_text()) References Stack Overflow Real Python

## Announcing Our Connect v2 Labor API

DevFeed: [Announcing Our Connect v2 Labor API](<https://devfeed.tech/articles/announcing-our-connect-v2-labor-api-27013.md>)

Original publisher: [Read original article](<https://medium.com/square-corner-blog/announcing-our-connect-v2-labor-api-1e1f26c99f7f?source=rss----3650599ae4e2---4>)

Author: Dina Spitzer

Published: 2019-04-04T21:38:53Z

Content type: release

Language: en

Sources: [Square Corner Blog](<https://devfeed.tech/sources/square-corner-blog-medium.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [data](<https://devfeed.tech/topics/data.md>), [import](<https://devfeed.tech/topics/import.md>), [Job](<https://devfeed.tech/topics/job.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [api](<https://devfeed.tech/tags/api.md>), [blog](<https://devfeed.tech/tags/blog.md>), [business](<https://devfeed.tech/tags/business.md>), [data](<https://devfeed.tech/tags/data.md>), [developer](<https://devfeed.tech/tags/developer.md>), [employment](<https://devfeed.tech/tags/employment.md>), [import](<https://devfeed.tech/tags/import.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [job](<https://devfeed.tech/tags/job.md>), [release](<https://devfeed.tech/tags/release.md>), [scheduling](<https://devfeed.tech/tags/scheduling.md>), [search](<https://devfeed.tech/tags/search.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

Square announces the release of the Connect v2 Labor API, renamed from the Timecard API. The release adds functionality for employee shifts, break tracking, multiple jobs and wages, labor data import/export, and shift search.

### Source excerpt

Capture employee working hours with breaks and hourly pay rateHeads up, we've moved! If you'd like to continue keeping up with the latest technical content from Square please visit us at our new home https://developer.squareup.com/blog We're very excited to announce the release of the Square Connect v2 Labor API. Having visibility into daily employee operations and labor costs is a critical part of managing a business. It helps business owners better understand the performance of their business, employees, and ultimately make more informed & cost-effective staffing decisions. With the Labor API, partners can build stronger, more accurate, and more comprehensive labor management integrations on behalf of our shared customers. To highlight the changes and additional functionality recently implemented (i.e. break tracking, multiple wages, etc...), we updated the name from Timecard API to Labor API. The new name better aligns with the breadth of labor management functionalities our partners can power with the Labor API. You can more easily manage employee's hours, breaks, shift wages, and import/export labor data. How to create a Shift (including break and wage information):https://medium.com/media/281fb8863abf67cb66c58e404143445e/hrefHow to query a set of closed shifts from a workweek:https://medium.com/media/b15dbea66bdaaf0f8f8a3a6a6cf48d29/href You will find below a list of functionalities we implemented with this release: Employee shifts: View/create shifts worked by any employee, including the business location where the shift was worked, shift start/end times, and regular, overtime, and double time hours worked during the shift. Employee break tracking: Track employee breaks over the course of a worked shift, including break start/end times, durations, and whether they were paid/unpaid. Employee job tracking: View/edit the job (and wage) worked by an employee for any given shift, including the ability for one employee to have multiple jobs (and wages). Search: Searc

## KV Storage: the Web's First Built-in Module

DevFeed: [KV Storage: the Web's First Built-in Module](<https://devfeed.tech/articles/kv-storage-the-web-s-first-built-in-module-29512.md>)

Original publisher: [Read original article](<https://philipwalton.com/articles/kv-storage-the-webs-first-built-in-module/>)

Published: 2019-03-12T05:27:02Z

Content type: tutorial

Language: en

Sources: [Philip Walton](<https://devfeed.tech/sources/philip-walton.md>)

Topics: [Chrome](<https://devfeed.tech/topics/chrome.md>), [modules](<https://devfeed.tech/topics/modules.md>), [import](<https://devfeed.tech/topics/import.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web](<https://devfeed.tech/topics/web.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [Demo](<https://devfeed.tech/topics/demo.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [demo](<https://devfeed.tech/tags/demo.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [import](<https://devfeed.tech/tags/import.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [modules](<https://devfeed.tech/tags/modules.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>)

### AI overview

This article introduces Chrome's experimental Built-in Modules and Import Maps, focusing on KV Storage, an asynchronous key/value storage API built on IndexedDB. It explains how to use these APIs and demonstrates deploying them on the web with fallbacks for browser compatibility.

### Source excerpt

Chrome is experimenting with two new features that I firmly believe will completely change how we bundle and deploy JavaScript applications in the future (for the better): Built-in Modules and Import Maps.

## Dynamic import() into your Ember app

DevFeed: [Dynamic import() into your Ember app](<https://devfeed.tech/articles/dynamic-import-into-your-ember-app-28399.md>)

Original publisher: [Read original article](<https://eaf4.com/dynamic-import-into-your-ember-app/>)

Author: Edward Faulkner

Published: 2018-07-13T15:04:09Z

Content type: tutorial

Language: en

Sources: [Edward Faulkner](<https://devfeed.tech/sources/edward-faulkner.md>)

Topics: [Ember](<https://devfeed.tech/topics/ember.md>), [import](<https://devfeed.tech/topics/import.md>), [App](<https://devfeed.tech/topics/app.md>), [Code](<https://devfeed.tech/topics/code.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [demo](<https://devfeed.tech/tags/demo.md>), [ember](<https://devfeed.tech/tags/ember.md>), [import](<https://devfeed.tech/tags/import.md>), [load](<https://devfeed.tech/tags/load.md>), [source](<https://devfeed.tech/tags/source.md>), [videos](<https://devfeed.tech/tags/videos.md>)

### AI overview

A screencast demonstrates using ECMA dynamic import() with ember-auto-import to lazily load a dependency into an Ember app. The example fetches real city data and plots it with Highcharts, loading the Highcharts code only when needed.

### Source excerpt

A screencast where we build an app that loads real data, lazily loads Highcharts on demand, and plots the data using Highcharts.

## Dependencies BOM

DevFeed: [Dependencies BOM](<https://devfeed.tech/articles/dependencies-bom-27296.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201804/dependencies-bom/>)

Published: 2018-04-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [Software](<https://devfeed.tech/topics/software.md>), [coding](<https://devfeed.tech/topics/coding.md>), [import](<https://devfeed.tech/topics/import.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [develop](<https://devfeed.tech/tags/develop.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [versioning](<https://devfeed.tech/tags/versioning.md>)

### AI overview

This article explains how semantic versioning and Maven Bill of Materials import scope can simplify managing and updating dependencies across connected libraries or services. It discusses major, minor, and patch version changes and presents BOMs as a way to let consumers upgrade multiple dependencies through one dependency update.

### Source excerpt

Managing and versioning a bunch of connected libraries or services is hard. It doesn't matter if you are a consumer or a provider of it. In this post, I'm exploring two simple solutions which might come in handy if you develop an ecosystem of libraries/services or when you are a consumer of those. It is all about semantic versioning and import scope of BOM in maven dependencies. Read more

[Next page](<https://devfeed.tech/topics/import.md?cursor=WyIyMDE4LTA0LTE4VDAwOjAwOjAwKzAwOjAwIiwgIjg0YzRlOTU2LTU5NjktNGY0NS05OWVkLTMzYzI5ODJhZGIwNCJd>)