# Deep

Published articles for Deep.

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

## Quoting Laurie Voss

DevFeed: [Quoting Laurie Voss](<https://devfeed.tech/articles/quoting-laurie-voss-31178.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/14/laurie-voss/>)

Author: Simon Willison

Published: 2026-09-14T14:34:29Z

Content type: opinion

Language: en

Sources: [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [Code](<https://devfeed.tech/topics/code.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>), [agentic-engineering-63](<https://devfeed.tech/tags/agentic-engineering-63.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-2-236](<https://devfeed.tech/tags/ai-2-236.md>), [careers](<https://devfeed.tech/tags/careers.md>), [careers-83](<https://devfeed.tech/tags/careers-83.md>), [deep](<https://devfeed.tech/tags/deep.md>), [deep-blue](<https://devfeed.tech/tags/deep-blue.md>), [deep-blue-12](<https://devfeed.tech/tags/deep-blue-12.md>), [generative](<https://devfeed.tech/tags/generative.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-982](<https://devfeed.tech/tags/generative-ai-1-982.md>), [laurie-voss](<https://devfeed.tech/tags/laurie-voss.md>), [laurie-voss-6](<https://devfeed.tech/tags/laurie-voss-6.md>), [llms](<https://devfeed.tech/tags/llms.md>), [llms-1-948](<https://devfeed.tech/tags/llms-1-948.md>)

### AI overview

A quotation from Laurie Voss argues that the cost of writing code has collapsed and that reviewing, fixing, and operating software may follow. It suggests that identifying user needs, defining them precisely, and making software pleasant to use could become the dominant remaining work as software production expands.

### Source excerpt

The cost of writing code collapsed, and the cost of reviewing, fixing and operating it is following, and I'm assuming it gets there. What's left of making software is finding out what people actually want, defining it precisely, and making it pleasant to use. That cost is per piece of software and doesn't transfer, so as the amount of software goes to infinity, which it will because there's no ceiling on demand, that cost becomes the whole job. -- Laurie Voss, We are all Product Engineers now Tags: laurie-voss, generative-ai, agentic-engineering, ai, llms, deep-blue, careers

## Paul Ford on AI, software development, and the limits of making coding widely accessible

DevFeed: [Paul Ford on AI, software development, and the limits of making coding widely accessible](<https://devfeed.tech/articles/quoting-paul-ford-31173.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/12/paul-ford/>)

Author: Simon Willison

Published: 2026-09-12T18:00:21Z

Content type: opinion

Language: en

Sources: [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Generative AI](<https://devfeed.tech/topics/generative-ai.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-2-236](<https://devfeed.tech/tags/ai-2-236.md>), [deep](<https://devfeed.tech/tags/deep.md>), [deep-blue](<https://devfeed.tech/tags/deep-blue.md>), [deep-blue-12](<https://devfeed.tech/tags/deep-blue-12.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-982](<https://devfeed.tech/tags/generative-ai-1-982.md>), [llms](<https://devfeed.tech/tags/llms.md>), [llms-1-948](<https://devfeed.tech/tags/llms-1-948.md>), [paul-ford](<https://devfeed.tech/tags/paul-ford.md>), [paul-ford-17](<https://devfeed.tech/tags/paul-ford-17.md>)

### AI overview

Paul Ford argues that AI can produce very good software while also making it easier for people to do other jobs poorly. He suggests that developing truly cutting-edge software still depends on humans collaborating and practicing their respective crafts.

### Source excerpt

For a while, I must admit, it looked as if software developer roles like mine were done for. How could we fight against tireless robots? But our industry is slowly realizing that making truly cutting-edge software still requires humans to think and work together, to maximize their skill sets and to practice their respective crafts. A.I. can write very good software, but it also makes it easy to do someone else's job badly, which is part of why all those projects fail. Now that everyone can code, it's become clearer why many shouldn't. -- Paul Ford, A.I. Was Supposed to Give Us New Killer Apps. What Happened? Tags: paul-ford, generative-ai, deep-blue, ai, llms

## System helps humans predict when self-driving cars will make mistakes

DevFeed: [System helps humans predict when self-driving cars will make mistakes](<https://devfeed.tech/articles/system-helps-humans-predict-when-self-driving-cars-will-make-mistakes-37982.md>)

Original publisher: [Read original article](<https://news.mit.edu/2026/system-helps-humans-predict-when-self-driving-cars-will-make-mistakes-0902>)

Author: Adam Zewe | MIT News

Published: 2026-09-02T15:00:00Z

Content type: news

Language: en

Sources: [MIT AI News](<https://devfeed.tech/sources/mit-ai-news.md>)

Topics: [autonomous vehicles](<https://devfeed.tech/topics/autonomous-vehicles.md>), [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Robotics](<https://devfeed.tech/topics/robotics.md>), [Simulation](<https://devfeed.tech/topics/simulation.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>)

Tags: [aeronautical-and-astronautical-engineering](<https://devfeed.tech/tags/aeronautical-and-astronautical-engineering.md>), [ai](<https://devfeed.tech/tags/ai.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [autonomous-vehicles](<https://devfeed.tech/tags/autonomous-vehicles.md>), [computer-science-and-artificial-intelligence-laboratory-csail](<https://devfeed.tech/tags/computer-science-and-artificial-intelligence-laboratory-csail.md>), [computer-science-and-technology](<https://devfeed.tech/tags/computer-science-and-technology.md>), [concept-wrapper-network](<https://devfeed.tech/tags/concept-wrapper-network.md>), [cw-net](<https://devfeed.tech/tags/cw-net.md>), [deep](<https://devfeed.tech/tags/deep.md>), [electrical-engineering-and-computer-science-eecs](<https://devfeed.tech/tags/electrical-engineering-and-computer-science-eecs.md>), [eoin-kenny](<https://devfeed.tech/tags/eoin-kenny.md>), [human-computer-interaction](<https://devfeed.tech/tags/human-computer-interaction.md>), [julie-shah](<https://devfeed.tech/tags/julie-shah.md>), [laura-major](<https://devfeed.tech/tags/laura-major.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [mit-schwarzman-college-of-computing](<https://devfeed.tech/tags/mit-schwarzman-college-of-computing.md>), [momchil-tomov](<https://devfeed.tech/tags/momchil-tomov.md>), [motional](<https://devfeed.tech/tags/motional.md>), [research](<https://devfeed.tech/tags/research.md>), [robotics](<https://devfeed.tech/tags/robotics.md>), [safety](<https://devfeed.tech/tags/safety.md>), [school-of-engineering](<https://devfeed.tech/tags/school-of-engineering.md>), [self-driving](<https://devfeed.tech/tags/self-driving.md>), [self-driving-cars](<https://devfeed.tech/tags/self-driving-cars.md>), [simulation](<https://devfeed.tech/tags/simulation.md>), [transparency](<https://devfeed.tech/tags/transparency.md>)

### AI overview

MIT and Motional researchers developed CW-Net, a method that translates an autonomous vehicle's deep-learning decisions into understandable concepts. Tests found that the explanations helped safety drivers and nonexpert users better predict vehicle behavior.

### Source excerpt

A new method, called CW-Net, translates the reasoning process of an autonomous vehicle's AI system into understandable concepts that explain its behavior.

## How to Apply SOLID Principles in Programming

DevFeed: [How to Apply SOLID Principles in Programming](<https://devfeed.tech/articles/how-to-be-a-solid-programmer-28570.md>)

Original publisher: [Read original article](<https://thehustlingengineer.substack.com/p/how-to-be-a-solid-programmer-d9c>)

Author: Hemant Pandey

Published: 2026-06-18T14:27:58Z

Content type: tutorial

Language: en

Sources: [The Hustling Engineer](<https://devfeed.tech/sources/the-hustling-engineer.md>)

Topics: [solid principles](<https://devfeed.tech/topics/solid-principles.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [deep](<https://devfeed.tech/tags/deep.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [programming](<https://devfeed.tech/tags/programming.md>), [solid](<https://devfeed.tech/tags/solid.md>), [solid-principles](<https://devfeed.tech/tags/solid-principles.md>)

### AI overview

A deep dive into SOLID principles and their application in programming.

### Source excerpt

Deep Dive into SOLID principles in Programming

## AI model choices 2026-06

DevFeed: [AI model choices 2026-06](<https://devfeed.tech/articles/ai-model-choices-2026-06-25214.md>)

Original publisher: [Read original article](<https://kau.sh/blog/ai-model-choices-2026-06/>)

Author: Kaushik Gopal

Published: 2026-06-01T17:00:00Z

Content type: opinion

Language: en

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

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Text-based user interface](<https://devfeed.tech/topics/tui.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [audio](<https://devfeed.tech/tags/audio.md>), [code](<https://devfeed.tech/tags/code.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [deep](<https://devfeed.tech/tags/deep.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [gpt](<https://devfeed.tech/tags/gpt.md>), [model](<https://devfeed.tech/tags/model.md>), [models](<https://devfeed.tech/tags/models.md>), [opencode](<https://devfeed.tech/tags/opencode.md>)

### AI overview

A developer shares their current AI tool stack, preferring Kimi 2.6 as a general-purpose workhorse, GPT 5.5 for coding and planning, Opus 4.8 for deep thinking and writing, and Gemini for image, video, and audio tasks. They also describe using OpenCode with OpenChamber as their preferred harness.

### Source excerpt

My 2026 Jan AI tool stack. Six months since my last post and the whole list has turned over. Models ### Kimi 2.6 has become my overall workhorse model. By default I start most AI sessions with Kimi 2.6 now. GPT 5.5 remains my coding model of choice. My detailed planning, creating of exec-plans1, code review, simplification, and one-shot feature changes, reliably happen with GPT 5.5 (high). Opus 4.8 for deep thinking, writing and overall hard tasks. It's been four days since the release, so my opinion is still forming but I've been fascinated how quickly Opus 4.8 is giving me the right solutions, especially for the slightly more complex problems. - I still only reach out to, when other models are struggling, cause 💸🔥 Gemini for anything image, video, or audio. Nothing else is close. It has collapsed work that used to eat hours2 of mine. Harness ### I constantly try multiple harnesses but I think I've firmly settled on OpenCode paired with OpenChamber as my harness of choice. I've since written up my power tips for OpenCode, but I put a lot of these harnesses through the ringer and am really happy with this combo atm. I still drop often into TUI land with OpenCode and while like others I had my dalliance with cmux, I've found it's not great on performance and runs into memory issues. So I'm back to naked Ghostty. OpenCode on the other hand is really good at managing sessions, so often I don't even find myself needing to use tmux. Also, I use Hermes but having discovered OpenChamber, I don't find myself needing to reach as often. Again, this deserves a longer post, if you're curious. What surprised me ### I've just been blow away by Kimi 2.6. I've found it often keeps pace with GPT 5.5 with Medium reasoning. There have even been time it's results matched Opus 4.8 (though Opus typically gets the results one-shot). I'm not sure if I've engineered my harness in some way to work better with Kimi, but dang I love the results I'm getting. If you want to give it a shot, I rec

## Gemma 3 AI model in Clojure

DevFeed: [Gemma 3 AI model in Clojure](<https://devfeed.tech/articles/gemma-3-ai-model-in-clojure-20729.md>)

Original publisher: [Read original article](<http://dragan.rocks/articles/25/Gemma-3-AI-model-in-Clojure>)

Published: 2025-12-09T22:35:00Z

Content type: tutorial

Language: en

Sources: [Dragan Djuric](<https://devfeed.tech/sources/dragan-djuric.md>)

Topics: [Clojure](<https://devfeed.tech/topics/clojure.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [onnx](<https://devfeed.tech/topics/onnx.md>), [gemma](<https://devfeed.tech/topics/gemma.md>)

Tags: [3](<https://devfeed.tech/tags/3.md>), [ai](<https://devfeed.tech/tags/ai.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [code](<https://devfeed.tech/tags/code.md>), [deep](<https://devfeed.tech/tags/deep.md>), [diamond](<https://devfeed.tech/tags/diamond.md>), [gemma](<https://devfeed.tech/tags/gemma.md>), [inference](<https://devfeed.tech/tags/inference.md>), [llms](<https://devfeed.tech/tags/llms.md>), [onnx](<https://devfeed.tech/tags/onnx.md>)

### AI overview

This tutorial demonstrates loading and running a one-step Gemma 3 inference in Clojure through the ONNX runtime integration in Deep Diamond. It configures a smaller one-billion-parameter model, uses main-memory tensors with the oneDNN engine, and explains that the demonstrated output is a next-token tensor rather than a complete generated response.

### Source excerpt

Recently I've been working on the ONNX runtime integration into Deep Diamond, backed by the grant sponsored by the Clojurists Together Foundation. In the past few articles, we've seen how ONNX models are integrated into Deep Diamond, using only a single function onnx, with almost no need for additional configuration (which is available). I used a simple MNIST model in the demonstration. But, can we now load and run the inference on the real deal models, such as the open LLMs from the Hugging Face, for example? Let's see! The Hugging Face model card has this to say about Gemma 3: "Gemma is a family of lightweight, state-of-the-art open models from Google, built from the same research and technology used to create the Gemini models." (etc., etc.) So, it seems to be something worth trying. I'll try to be brief, and skip the unnecessary talk. Let's just show the code, which I've just lifted up and adapted from the Diamond's midje tests. What we need for this? First, decide on the backend engine; this time we'll use tensors in main memory backed up by the oneDNN engine (DNNL). (def fact (dnnl-factory)) (def neand-fact (neanderthal-factory fact)) Next, load and configure a particular flavor of Gemma 3 (a smaller one, only 1 billion parameters). The onnx function creates a generalized blueprint, which can create the actual functions when evaluated with the specific input tensors. (def onnx-bp (onnx fact "data/gemma-3-1b-it-ONNX-GQA/onnx/model.onnx" {:options (-> (options) (override-dimension! "batch_size" 1) (override-dimension! "sequence_length" 1) (override-dimension! "past_sequence_length" 1) (override-dimension! "total_sequence_length" 1))}) Gemma 3 has 63 inputs and 61 outputs. We'll need to provide these, but even here we can automate some parts with Clojure, since past-key values are pretty uniform. We only need to provide inputs, while the engine can create the outputs for us. (def src-tz (tensor fact [1 1 28 28] :float :nchw)) (def input-ids (tensor neand-fact [1

## Four ways to run ONNX models on a GPU with CUDA in Clojure

DevFeed: [Four ways to run ONNX models on a GPU with CUDA in Clojure](<https://devfeed.tech/articles/not-one-not-two-not-even-three-but-four-ways-to-run-an-onnx-ai-model-on-gpu-with-cuda-20728.md>)

Original publisher: [Read original article](<http://dragan.rocks/articles/25/Four-Ways-to-ONNX-on-GPU-in-Clojure-and-CUDA>)

Published: 2025-11-09T17:49:00Z

Content type: tutorial

Language: en

Sources: [Dragan Djuric](<https://devfeed.tech/sources/dragan-djuric.md>)

Topics: [CUDA](<https://devfeed.tech/topics/cuda.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [onnx](<https://devfeed.tech/topics/onnx.md>), [Clojure](<https://devfeed.tech/topics/clojure.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Deep neural networks](<https://devfeed.tech/topics/deep-neural-networks.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [code](<https://devfeed.tech/tags/code.md>), [cuda](<https://devfeed.tech/tags/cuda.md>), [deep](<https://devfeed.tech/tags/deep.md>), [diamond](<https://devfeed.tech/tags/diamond.md>), [examples](<https://devfeed.tech/tags/examples.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [image-recognition](<https://devfeed.tech/tags/image-recognition.md>), [model](<https://devfeed.tech/tags/model.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>), [onnx](<https://devfeed.tech/tags/onnx.md>), [tensors](<https://devfeed.tech/tags/tensors.md>)

### AI overview

A tutorial presents four ways to run ONNX models on a GPU with CUDA using Clojure libraries including Diamond ONNX RT, Deep Diamond, and ClojureCUDA. It covers GPU tensor backends and a configuration that keeps input and output tensors in main memory while executing the model on the GPU.

### Source excerpt

Two weeks ago, I announced a new Clojure ML library, Diamond ONNX RT, which integrates ONNX Runtime into Deep Diamond. In that post, we explored the classic Hello World example of Neural Networks, MNIST handwritten image recognition, step-by-step. We run that example on the CPU, from main memory. The next logical step is to execute this stuff on the GPU. You'll see that with a little help of ClojureCUDA and Deep Diamond built-in CUDA machinery, this is both easy and simple, requiring almost no effort from a curious Clojure programmer. But don't just trust me; let's fire up your REPL, and we can continue together. Here's how you can evaluate this directly in your REPL (you can use the Hello World that is provided in the ./examples sub-folder of Diamond ONNX RT as a springboard). Require Diamond's namespaces First things first, we refer functions that we're going to use. (require '[uncomplicate.commons.core :refer [with-release]] '[uncomplicate.neanderthal.core :refer [transfer! iamax native]] '[uncomplicate.diamond [tensor :refer [tensor with-diamond]] [dnn :refer [network]] [onnxrt :refer [onnx]]] '[uncomplicate.diamond.internal.dnnl.factory :refer [dnnl-factory]] '[uncomplicate.diamond.internal.cudnn.factory :refer [cudnn-factory]] '[hello-world.native :refer [input-desc input-tz mnist-onnx]]) None of the following ways to run CUDA models has preference, you use the one that best suits your needs. Way one One of the ways to run ONNX models on your GPU is to simply use Deep Diamond's cuDNN factory as the backend for your tensors. Then, the machinery recognizes what you need and proceeds doing everything on the GPU, using the right stream for tensors, Deep Diamond operations, and ONNX Runtime operations. This looks exactly the same as any other Deep Diamond example from this blog or the DLFP book. (with-diamond cudnn-factory [] (with-release [cuda-input-tz (tensor input-desc) mnist (network cuda-input-tz [mnist-onnx]) classify! (mnist cuda-input-tz)] (transfer! input

## Get Ready for Clojure, GPU, and AI in 2026 with CUDA 13.0

DevFeed: [Get Ready for Clojure, GPU, and AI in 2026 with CUDA 13.0](<https://devfeed.tech/articles/get-ready-for-clojure-gpu-and-ai-in-2026-with-cuda-13-0-20730.md>)

Original publisher: [Read original article](<http://dragan.rocks/articles/25/Get-Ready-Clojure-GPU-AI-2026-CUDA-13>)

Published: 2025-10-30T16:37:00Z

Content type: tutorial

Language: en

Sources: [Dragan Djuric](<https://devfeed.tech/sources/dragan-djuric.md>)

Topics: [Clojure](<https://devfeed.tech/topics/clojure.md>), [CUDA](<https://devfeed.tech/topics/cuda.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [OpenCL](<https://devfeed.tech/topics/opencl.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [coding](<https://devfeed.tech/tags/coding.md>), [cuda](<https://devfeed.tech/tags/cuda.md>), [deep](<https://devfeed.tech/tags/deep.md>), [diamond](<https://devfeed.tech/tags/diamond.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [opencl](<https://devfeed.tech/tags/opencl.md>), [tensors](<https://devfeed.tech/tags/tensors.md>)

### AI overview

The article introduces ClojureCUDA 0.25.0, which supports CUDA 13.0.2, and encourages Clojure developers to try GPU programming interactively through the Clojure REPL. It explains that GPU acceleration is most useful for large vectors and sufficiently complex workloads because data transfer costs can outweigh computation gains.

### Source excerpt

A little anniversary Did you know that CUDA has been available in Clojure for the last 9 years through ClojureCUDA, and GPU programming through OpenCL for more than 10? I almost forgot about these anniversaries. Ten years ago most people liked it a lot, starred it on Github, patted me on the back, but then concluded that they don't have an Nvidia card available on their laptops, or, if they had GPUs, that they won't have time to learn to think in massive parallel algorithms, or if they have time and will, that there are no GPUs in the servers, so what would they do with their applications, even if they created them in Clojure, and so on, and so off :) But, ClojureCUDA and ClojureCL continued living on for these 10 years, I used them in creating Neanderthal, Deep Diamond, and Diamond ML, and they proved themselves as simple and reliable tools. I still had trouble convincing Clojure programmers that they can write GPU programs that run as fast as they'd wrote them in C++, but interactively in the Cloujre REPL, without C++ hell. But I'm not easy to shake off! If it's necessary, I'll continue for 10 more years, for I'm convinced there'd be a moment when Clojure programmers are going to say "hmmm, this is something that we can use and be good at!". CUDA 13 is here! I've recently released ClojureCUDA 0.25.0, with support for the latest CUDA 13.0.2! Why not celebrate that by opening the REPL, and coding your first Hello World application on the GPU? I promise, it won't be a usual GPU carpet of text; this is ClojureCUDA, it follows the Clojure philosophy by being simple and interactive! There's not much sense in wielding a GPU to print out "Hello World". Note that it is also not very useful to work with scalar numbers and call a GPU function to add or multiply two numbers. No. Unless you have many, many, numbers to crunch, stay by your trusty CPU. For our purposes, many, many, numbers would be two vectors of dimension 3 (hey, it's hello world; imagine it's 3 billion). Also,

## Clojure API for Running ONNX Models with ONNX Runtime

DevFeed: [Clojure API for Running ONNX Models with ONNX Runtime](<https://devfeed.tech/articles/clojure-runs-onnx-ai-models-now-join-the-ai-fun-20727.md>)

Original publisher: [Read original article](<http://dragan.rocks/articles/25/Clojure-Runs-ONNX-AI-Models-Now>)

Published: 2025-10-26T15:56:00Z

Content type: tutorial

Language: en

Sources: [Dragan Djuric](<https://devfeed.tech/sources/dragan-djuric.md>)

Topics: [Clojure](<https://devfeed.tech/topics/clojure.md>), [onnx](<https://devfeed.tech/topics/onnx.md>), [AI Models](<https://devfeed.tech/topics/ai-models.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [deep](<https://devfeed.tech/tags/deep.md>), [diamond](<https://devfeed.tech/tags/diamond.md>), [onnx](<https://devfeed.tech/tags/onnx.md>), [tensors](<https://devfeed.tech/tags/tensors.md>)

### AI overview

The author describes work on a Clojure API for using pre-trained models exported in ONNX format through ONNX Runtime. The approach uses ONNX Runtime's underlying C library rather than Python interoperability.

### Source excerpt

Hello, Clojurians! I haven't written here in a long time. Was I tired? Is anybody reading blogs anymore? Who knows. But that was not the main reason. I've been working on several Clojure projects sponsored by the Clojurists Together Foundation. I did a ton of things, but after all this programming, I was kinda tired, and kept slugging when it comes to telling people about the work done! That's not very smart, but you know how it goes... :) But, then, if we don't tell people about awesome software that we have, nobody is going to use it, so finally I had to stop kicking this down the road, sit, and write the first post. It's been long overdue, so expect more posts soon! ONNX Runtime in one line of Clojure The most recent thing I'm currently working on started its life as Clojure ML (again, superthanks to Clojurists Together for sponsoring this). I proposed to create a human-friendly Clojure API for AI/DL/ML models, and back it by the first implementation, in this case based on ONNX Runtime. Of course, it should all be integrated into existing Clojure libraries, and follow the Clojure way of doing stuff as much as possible! The idea is to get an existing, pre-trained ML model previously exported to the ONNX format from whatever technology the authors chose (which in today's world is typically Python and PyTorch), and put it into production in Clojure and JVM. It should be seamless and in-process, without any clunky interoperability, copy, translation, etc. Of course, our Clojure numerical libraries fully support GPU computing, so it goes without saying that we want that, too! Just to be clear, we do not use nor need any Python or Python interop for this, we use the ONNX Runtime's underlying C library. Nice idea, but what parts of this well intended story can we evaluate in our REPLs right now? At least some promising demo? Are we on the trail? To access that AI goodness, we surely have to do a sophisticated dance? Are the steps hard to learn? Do we need to watch careful

## Deep dive into annotations in Jetpack Compose

DevFeed: [Deep dive into annotations in Jetpack Compose](<https://devfeed.tech/articles/deep-dive-into-annotations-in-jetpack-compose-25711.md>)

Original publisher: [Read original article](<https://blog.shreyaspatil.dev/deep-dive-into-annotations-in-jetpack-compose/>)

Author: Shreyas Patil

Published: 2025-05-19T05:16:29Z

Content type: tutorial

Language: en

Sources: [Shreyas Patil's Blog](<https://devfeed.tech/sources/shreyas-patil-s-blog.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [app-development](<https://devfeed.tech/tags/app-development.md>), [compose](<https://devfeed.tech/tags/compose.md>), [deep](<https://devfeed.tech/tags/deep.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [examples](<https://devfeed.tech/tags/examples.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [recomposition](<https://devfeed.tech/tags/recomposition.md>), [state](<https://devfeed.tech/tags/state.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial explains how Jetpack Compose uses compiler annotations and runtime mechanisms such as recomposition, skipping, and restartability. It describes how these mechanisms affect composable execution and performance, with practical examples.

### Source excerpt

An extensive deep dive into annotations in Jetpack Compose. Understand how @Composable, @Stable, @ReadOnlyComposable, and others work under the hood.

## Worth Reading: Terminal Line Editing

DevFeed: [Worth Reading: Terminal Line Editing](<https://devfeed.tech/articles/worth-reading-terminal-line-editing-11048.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2024/07/worth-reading-terminal-line-editing/>)

Published: 2024-07-10T09:01:00Z

Content type: opinion

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [Terminal](<https://devfeed.tech/topics/terminal.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [deep](<https://devfeed.tech/tags/deep.md>), [linux](<https://devfeed.tech/tags/linux.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [worth-reading](<https://devfeed.tech/tags/worth-reading.md>)

### AI overview

This recommendation highlights Julia Evans's deep dive into why command-line editing is unavailable in some Linux utilities, including the ancient sh. It covers how CTRL-A moves to the beginning of a line and how to enable command-line editing in these utilities.

### Source excerpt

In another wonderful deep dive, Julia Evans explains why you can't edit the command line in some Linux utilities like the ancient sh. You'll also figure out: Why does CTRL-A jump to the beginning of the line? How can you enable command line editing in ancient utilities? Have fun!

## Third edition of Kotlin Coroutines: Deep Dive released with expanded exercises and revised chapters

DevFeed: [Third edition of Kotlin Coroutines: Deep Dive released with expanded exercises and revised chapters](<https://devfeed.tech/articles/the-third-edition-of-kotlin-coroutines-deep-dive-book-is-finally-ready-39262.md>)

Original publisher: [Read original article](<https://kt.academy/article/coroutines-third-release>)

Published: 2024-05-20T00:00:00Z

Content type: release

Language: en

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

Topics: [kotlin-coroutines](<https://devfeed.tech/topics/kotlin-coroutines.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [cancellation](<https://devfeed.tech/topics/cancellation.md>), [Exception handling](<https://devfeed.tech/topics/exception-handling.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>)

Tags: [book](<https://devfeed.tech/tags/book.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [deep](<https://devfeed.tech/tags/deep.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [release](<https://devfeed.tech/tags/release.md>), [testing](<https://devfeed.tech/tags/testing.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

The third edition of the Kotlin Coroutines: Deep Dive book has been released. It adds more than 40 exercises, expands and clarifies the chapters on cancellation and exception handling, revises material on coroutine lifecycles and suspension, and adds practical examples and synchronization coverage.

### Source excerpt

Learn about the new release of the famous book about Kotlin Coroutines.

## Building a sub-sampling image viewer for Compose UI

DevFeed: [Building a sub-sampling image viewer for Compose UI](<https://devfeed.tech/articles/building-a-sub-sampling-image-viewer-for-compose-ui-29021.md>)

Original publisher: [Read original article](<https://saket.me/compose-sub-sampling-image-viewer/>)

Author: Saket Narayan

Published: 2023-08-09T21:07:52Z

Content type: tutorial

Language: en

Sources: [Saket Narayan](<https://devfeed.tech/sources/saket-narayan.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [4k](<https://devfeed.tech/tags/4k.md>), [android](<https://devfeed.tech/tags/android.md>), [building](<https://devfeed.tech/tags/building.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-ui](<https://devfeed.tech/tags/compose-ui.md>), [deep](<https://devfeed.tech/tags/deep.md>), [developers](<https://devfeed.tech/tags/developers.md>), [display](<https://devfeed.tech/tags/display.md>), [image](<https://devfeed.tech/tags/image.md>), [library](<https://devfeed.tech/tags/library.md>), [loading](<https://devfeed.tech/tags/loading.md>), [memory](<https://devfeed.tech/tags/memory.md>), [ui](<https://devfeed.tech/tags/ui.md>), [zoom](<https://devfeed.tech/tags/zoom.md>)

### AI overview

An Android developer describes building Telephoto, a zoomable image viewer for Compose UI. The article explains sub-sampling and tiling techniques for displaying large images while reducing memory usage.

### Source excerpt

How do you display a 100mb image on Android without running into OutOfMemoryError? You can't. But you can cheat. For years Android developers have used Dave Morrissey's excellent library, subsampling-scale-image-view for displaying large bitmaps with deep zoom. It optimizes memory usage by loading lower resolution bitmaps whenever possible and avoiding loading parts of the original [...] The post Building a sub-sampling image viewer for Compose UI appeared first on Saket Narayan.

## The Value of Deep Work for Peak Performance

DevFeed: [The Value of Deep Work for Peak Performance](<https://devfeed.tech/articles/the-value-of-deep-work-for-peak-performance-39948.md>)

Original publisher: [Read original article](<https://mende.io/blog/the-value-of-deep-work-for-peak-performance/>)

Author: tobi@techunicorn.builders (Tobias Mende)

Published: 2023-03-11T06:00:00Z

Content type: opinion

Language: en

Sources: [Tobias Mende](<https://devfeed.tech/sources/tobias-mende.md>)

Topics: [code productivity](<https://devfeed.tech/topics/code-productivity.md>), [Software](<https://devfeed.tech/topics/software.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Tech Lead](<https://devfeed.tech/topics/tech-lead.md>)

Tags: [culture-deep-work-employee-happiness-developer-productivity-engineering-excellence](<https://devfeed.tech/tags/culture-deep-work-employee-happiness-developer-productivity-engineering-excellence.md>), [deep](<https://devfeed.tech/tags/deep.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [meetings](<https://devfeed.tech/tags/meetings.md>), [performance](<https://devfeed.tech/tags/performance.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [scheduling](<https://devfeed.tech/tags/scheduling.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [tech-lead](<https://devfeed.tech/tags/tech-lead.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

This article explains why uninterrupted deep work matters for software engineers and teams, how distractions and meetings reduce available focus time, and how scheduling protected work blocks can improve productivity and quality. It also introduces a four-part series on balancing deep work with approachability in a developer experience team.

### Source excerpt

The Value of Deep Work for Peak Performance As somebody who juggled various roles and responsibilities as a software engineer, architect and tech lead, I certainly understand the importance of deep work and how difficult it can be to get it when working with other people.

## Recurrent Networks Hello World in Clojure with new Deep Diamond RNN support on CPU and GPU

DevFeed: [Recurrent Networks Hello World in Clojure with new Deep Diamond RNN support on CPU and GPU](<https://devfeed.tech/articles/recurrent-networks-hello-world-in-clojure-with-new-deep-diamond-rnn-support-on-cpu-and-gpu-20724.md>)

Original publisher: [Read original article](<http://dragan.rocks/articles/22/Recurrent-networks-hello-world-sequence-prediction-in-Clojure-with-new-Deep-Diamond>)

Published: 2022-08-26T14:25:00Z

Content type: tutorial

Language: en

Sources: [Dragan Djuric](<https://devfeed.tech/sources/dragan-djuric.md>)

Topics: [Clojure](<https://devfeed.tech/topics/clojure.md>), [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Time Series](<https://devfeed.tech/topics/time-series.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [clojure](<https://devfeed.tech/tags/clojure.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [deep](<https://devfeed.tech/tags/deep.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [diamond](<https://devfeed.tech/tags/diamond.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [learning](<https://devfeed.tech/tags/learning.md>), [networks](<https://devfeed.tech/tags/networks.md>), [neural](<https://devfeed.tech/tags/neural.md>), [programming](<https://devfeed.tech/tags/programming.md>), [recurrent](<https://devfeed.tech/tags/recurrent.md>), [rnn](<https://devfeed.tech/tags/rnn.md>), [time-series](<https://devfeed.tech/tags/time-series.md>)

### AI overview

A beginner-friendly Clojure tutorial demonstrates recurrent neural networks in Deep Diamond by training a model to predict the next value in a simple numerical sequence. It introduces time-series prediction and notes that the example can run on CPU and GPU.

### Source excerpt

I've been busy in the last period working on new major features in Deep Diamond, one of which is the support for Recurrent Neural Networks (RNN). It's not been an easy ride, but I can finally show you some results! Big thanks for everyone that's helping me with this by buying my books (or subscribing to the upcoming editions), and Clojurists Together, who generously funded me in the past year to work on this. I know that most of you probably don't have much more than passing familiarity with deep learning, let alone recurrent neural networks, and that's why I'll try to show a very simple example on the level of Hello World that anyone interested in machine learning and programming can understand and try. So, enough talk, let's get down to business. What are we doing We are demonstrating a hammer: recurrent neural networks. Just kidding; we would like to create a (software) device that can learn to predict the next data point in a series. Depending on the data, this can be done in a number of ways (even by convolutional neural networks (CNN) that Deep Diamond already supported), one of which is RNN. So, we are creating a recurrent network, and training it with a set of data for this task. An example of data that fits this task would be temperature at some place, stock prices, and any other (possibly infinite) sequence of numbers in one of more dimensions that have an ordinal relation, that is, has an abstract notion of time attached to it. Then, we are trying to forecast one or more values that are happening in the future (temperature the next day, or the closing price of a stock, etc.). Since Hello World has to be dead simple, a real example would have too many opaque numbers, so we'll solve an artificially trivial task of teaching our network to predict the next number in the series for obvious series such as 1, 2, 3, 4, 5. Of course, in real life we rarely need to solve that exact task with such a bazooka as RNN, but if this is your first contact with time series

## Advanced Tips for Using the SEOmatic Craft CMS Plugin

DevFeed: [Advanced Tips for Using the SEOmatic Craft CMS Plugin](<https://devfeed.tech/articles/advanced-seomatic-tips-31309.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/tips-for-using-seomatic-effectively>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2019-04-05T15:06:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Search engine optimization (SEO)](<https://devfeed.tech/topics/seo.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [advanced](<https://devfeed.tech/tags/advanced.md>), [article](<https://devfeed.tech/tags/article.md>), [better](<https://devfeed.tech/tags/better.md>), [cms](<https://devfeed.tech/tags/cms.md>), [deep](<https://devfeed.tech/tags/deep.md>), [dive](<https://devfeed.tech/tags/dive.md>), [easier](<https://devfeed.tech/tags/easier.md>), [features](<https://devfeed.tech/tags/features.md>), [functionality](<https://devfeed.tech/tags/functionality.md>), [life](<https://devfeed.tech/tags/life.md>), [look](<https://devfeed.tech/tags/look.md>), [make](<https://devfeed.tech/tags/make.md>), [offers](<https://devfeed.tech/tags/offers.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [seo](<https://devfeed.tech/tags/seo.md>), [seomatic](<https://devfeed.tech/tags/seomatic.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

This tutorial presents advanced tips for using the SEOmatic plugin with Craft CMS 3. It explains how to override SEOmatic configuration files in a Craft config directory and discusses sharing metadata across routes, including custom-router and Google AMP scenarios.

### Source excerpt

SEOmatic is a plugin that offers deep functionality. In this article, we dive in to look at some of the more advanced features that will make your life easier, and your SEO better.

## React as a UI Runtime

DevFeed: [React as a UI Runtime](<https://devfeed.tech/articles/react-as-a-ui-runtime-36191.md>)

Original publisher: [Read original article](<https://overreacted.io/react-as-a-ui-runtime/>)

Published: 2019-02-02T00:00:00Z

Content type: article

Language: en

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

Topics: [React](<https://devfeed.tech/topics/react.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>)

Tags: [deep](<https://devfeed.tech/tags/deep.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [programming](<https://devfeed.tech/tags/programming.md>), [react](<https://devfeed.tech/tags/react.md>), [user-interfaces](<https://devfeed.tech/tags/user-interfaces.md>)

### AI overview

An in-depth explanation of React as a programming runtime rather than only a user interface library. It describes how React programs produce changing host trees and how React predictably manages those trees in response to external events.

### Source excerpt

An in-depth description of the React programming model.

## Choosing a Deep Learning library for developing and deploying your App/Service

DevFeed: [Choosing a Deep Learning library for developing and deploying your App/Service](<https://devfeed.tech/articles/choosing-a-deep-learning-library-for-developing-and-deploying-your-app-service-26523.md>)

Original publisher: [Read original article](<http://engineering.curalate.com/2018/03/23/DL-lib-for-app-dev-and-prod.html>)

Published: 2018-03-23T10:11:36Z

Content type: article

Language: en

Sources: [Curalate](<https://devfeed.tech/sources/curalate.md>)

Topics: [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Library](<https://devfeed.tech/topics/library.md>), [App](<https://devfeed.tech/topics/app.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Code](<https://devfeed.tech/topics/code.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [caffe](<https://devfeed.tech/tags/caffe.md>), [cntk](<https://devfeed.tech/tags/cntk.md>), [code](<https://devfeed.tech/tags/code.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [deep](<https://devfeed.tech/tags/deep.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [learning](<https://devfeed.tech/tags/learning.md>), [library](<https://devfeed.tech/tags/library.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mxnet](<https://devfeed.tech/tags/mxnet.md>), [network](<https://devfeed.tech/tags/network.md>), [neural](<https://devfeed.tech/tags/neural.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pytorch](<https://devfeed.tech/tags/pytorch.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [tensorflow](<https://devfeed.tech/tags/tensorflow.md>), [vs](<https://devfeed.tech/tags/vs.md>)

### AI overview

This article discusses how to choose a deep learning library for developing and deploying applications or services. Drawing on Curalate's experience using several libraries in production, it identifies factors such as application needs, deployment platforms, deep network architecture, API language requirements, and codebase quality.

### Source excerpt

Interest in deep learning is growing and growing and, with it at peak hype right now, a lot of people are looking to find the best deep learning library to build their new app or bring their company into the modern age. There are many deep learning toolkits to choose from ranging from the long used, supported, and robust academic libraries to the new state-of-the-art, industry backed platforms. At Curalate, we've been working on deep learning problems since 2014, meaning we've had the chance to watch the deep learning community and its open source libraries grow. We have also had the fortunate (unfortunate?) experience of using a few of the deep learning libraries in our production services and applications, and along the way, we have learned a lot about what to look for in a deep learning library to build reliable, production-ready applications and services. In this post, I'll share our lessons learned knowledge in hopes it will help you in your search for the perfect deep learning library match. You might even find that your best fit is using more than one! Important factors The specifics needs of your application/service The platform you are developing on and deploying to. Develop in OSX? Linux? Windows? Plan on having your application run in a web browser? A smart phone? A massive multi-node GPU cluster? It's not surprising that each of the libraries have prioritized different environments and some will work much better for your specific situation. The specific deep net architecture you are trying to implement If you are just trying to implement a typical, pre-trained classification net, this factor may not be as important for you. Some libraries are more performant and appropriate for certain types of deep nets (LSTMs, RNNs), but more on this later. API language requirements If you already have a code base written in language A, you probably would like to keep it that way without having to figure out some convoluted way to fit a deep net interface in language B

## R&D At Curalate: A Case Study of Deep Metric Embedding

DevFeed: [R&D At Curalate: A Case Study of Deep Metric Embedding](<https://devfeed.tech/articles/r-d-at-curalate-a-case-study-of-deep-metric-embedding-26522.md>)

Original publisher: [Read original article](<http://engineering.curalate.com/2018/02/01/deep-metric-embedding.html>)

Published: 2018-02-01T10:11:36Z

Content type: article

Language: en

Sources: [Curalate](<https://devfeed.tech/sources/curalate.md>)

Topics: [Computer vision](<https://devfeed.tech/topics/computer-vision.md>), [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [dataset](<https://devfeed.tech/topics/dataset.md>)

Tags: [case-study](<https://devfeed.tech/tags/case-study.md>), [computer](<https://devfeed.tech/tags/computer.md>), [computer-vision](<https://devfeed.tech/tags/computer-vision.md>), [deep](<https://devfeed.tech/tags/deep.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [e-commerce](<https://devfeed.tech/tags/e-commerce.md>), [embedding](<https://devfeed.tech/tags/embedding.md>), [learning](<https://devfeed.tech/tags/learning.md>), [machine](<https://devfeed.tech/tags/machine.md>), [metric](<https://devfeed.tech/tags/metric.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [research](<https://devfeed.tech/tags/research.md>), [vision](<https://devfeed.tech/tags/vision.md>)

### AI overview

A Curalate engineering case study describes building a visual search engine to identify clients' products in user-generated photos. It explains how a literature review led the team to use deep metric learning, which learns image embeddings that place images of the same product close together in Euclidean space.

### Source excerpt

At Curalate, we make social sell for hundreds of the world's largest brands and retailers. Our Fanreel product is a good example of this; it empowers brands to collect, curate, and publish social user-generated photos to their e-commerce site. A vital step in this pipeline is connecting the user generated content (UGC) to the product on our client's web site. Automating this process requires cutting edge computer vision techniques whose implementation details are not always clear, especially for production use cases. In this post, I review how we leveraged Curalate's R&D principles to build a visual search engine that identifies which of our clients' products are in user generated photos. The resulting system allows our clients to quickly connect user generated content to their e-comm site, enabling the UGC to generate revenue immediately upon distribution. Step 1: Do Your Homework We start every R&D project by hitting the books and catching up on the relevant research. This lets us understand what is feasible, the (rough) computational costs, and any pitfalls of various techniques. In this case, our goal is to find which products are in any UGC image using only the product images from the client's e-comm site. This is extremely difficult: UGC photos have dramatic lighting conditions, generally contain multiple objects or clutter, and may have undergone non rigid transformations (especially if it's a garment). Knowing we had a difficult problem on our hands, we did an extensive literature review on papers from leading computer vision conferences, journals, and even arxiv to ensure we have a good understanding of the state of the art. One approach stood out in the literature review: deep metric learning. Deep metric learning is a deep learning technique that learns an embedding function that, when applied to images of the same product, produces feature vectors that are close together in Euclidean space. This technique is perfect for our use case: we can train the sys

## Good books for deep hacks

DevFeed: [Good books for deep hacks](<https://devfeed.tech/articles/good-books-for-deep-hacks-21475.md>)

Original publisher: [Read original article](<https://begriffs.com/posts/2017-04-13-longterm-computing-reading.html>)

Published: 2017-04-13T00:00:00Z

Content type: article

Language: en

Sources: [Joe Nelson](<https://devfeed.tech/sources/joe-nelson.md>)

Topics: [Learning](<https://devfeed.tech/topics/learning.md>), [coding](<https://devfeed.tech/topics/coding.md>), [D](<https://devfeed.tech/topics/d.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [systems](<https://devfeed.tech/topics/systems.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [networking](<https://devfeed.tech/topics/networking.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Git](<https://devfeed.tech/topics/git.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>)

Tags: [books](<https://devfeed.tech/tags/books.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [css](<https://devfeed.tech/tags/css.md>), [deep](<https://devfeed.tech/tags/deep.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [git](<https://devfeed.tech/tags/git.md>), [history](<https://devfeed.tech/tags/history.md>), [learning](<https://devfeed.tech/tags/learning.md>), [networking](<https://devfeed.tech/tags/networking.md>), [sql](<https://devfeed.tech/tags/sql.md>), [systems](<https://devfeed.tech/tags/systems.md>), [technical](<https://devfeed.tech/tags/technical.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

A curated reading list for long-term study of computer technology through projects and technically deep books. It emphasizes mature and historical ideas, C, manual memory management, concurrency, performance measurement, experimentation, debugging, SQL, transactions, recovery, TCP/IP, IPv6, radio, mesh networking, and delay-tolerant networked programs.

### Source excerpt

2017-04-13 For the past few months I've been compiling a list of books for a deep dive into interesting technical topics. My theory is that working on projects based on these topics will be like strong individual threads I can weave into epic hacks. This list is basically a curriculum for decades of learning about the wonders of computers. What's exciting about many of these books is how they draw on the good ideas from history.

## Image Scaling using Deep Convolutional Neural Networks

DevFeed: [Image Scaling using Deep Convolutional Neural Networks](<https://devfeed.tech/articles/image-scaling-using-deep-convolutional-neural-networks-31890.md>)

Original publisher: [Read original article](<http://engineering.flipboard.com//2015/05/scaling-convnets>)

Author: https://twitter.com/normantasfi (Norman Tasfi)

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

Content type: article

Language: en

Sources: [Flipboard](<https://devfeed.tech/sources/flipboard.md>)

Topics: [Deep neural networks](<https://devfeed.tech/topics/deep-neural-networks.md>), [Machine Learning & Artificial Intelligence](<https://devfeed.tech/topics/machine-learning-artificial-intelligence.md>), [Image](<https://devfeed.tech/topics/image.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Web](<https://devfeed.tech/topics/web.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [deep](<https://devfeed.tech/tags/deep.md>), [image](<https://devfeed.tech/tags/image.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [presentation](<https://devfeed.tech/tags/presentation.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This engineering article examines image upscaling for Flipboard and introduces convolutional neural networks alongside traditional interpolation methods. It explains how enlarging low-resolution images can produce pixelation, smoothing, noise, haloing, and other artifacts, and outlines the model discussion, preliminary results, design decisions, and possible product applications.

### Source excerpt

This past summer I interned at Flipboard in Palo Alto, California. I worked on machine learning based problems, one of which was Image Upscaling. This post will show some preliminary results, discuss our model and its possible applications to Flipboard's products. High quality and a print-like finish play a key role in Flipboard's design language. We want users to enjoy a consistent and beautiful experience throughout all of Flipboard's content, as if they had a custom print magazine in hand. Providing this experience consistently is difficult. Different factors, such as image quality, deeply affect the overall quality of the presented content. Image quality varies greatly depending on the image's source. This varying image quality is especially apparent in magazines that display images across the whole page in a full bleed format. When we display images on either the web or mobile devices they must be above a certain threshold to display well. If we receive a large image on our web product we can create breathtaking full bleed sections. Full bleed High Quality Image Lower resolution images introduce pixelation, over smoothing and artifacts when scaled above 100%. This is especially apparent in a full bleed presentation as seen below. This severely reduces the quality of presentation in our products. Full bleed Low Quality Image What is the cause of this? In general, when we need an image of size X that is required to be of size Y it must be run through a scaling algorithm. This algorithm performs a mathematical operation to scale the image pixels to the desired size Y. Some of the possible algorithms are bicubic, bilinear, and nearest-neighbor interpolation. Many of the algorithms listed above perform an interpolation between pixel values to create a transition. These algorithms use the surrounding pixels to guess what the missing values should be in the new image. The problem in the case of scaling the image to a larger size is when there are too many 'new' values