# Sobel Software Research > Crafting bespoke platforms and infrastructure for AI, ML, and data-intensive systems. ## Primary pages - [Sobel Software Research](https://sobel.io/): Company homepage - [William Rudenmalm](https://sobel.io/staff/whn/): Profile and contact links - [Will vs Technology](https://sobel.io/blog/wvst/): Writing on software, infrastructure, AI, and engineering ## Feeds and discovery - [RSS feed](https://sobel.io/feed.xml) - [JSON Feed](https://sobel.io/feed.json) - [Sitemap](https://sobel.io/sitemap.xml) ## Articles - [Making your LLM run Python code with `llm-chain-tools` in Rust](https://sobel.io/blog/wvst/Giving-your-LLM-tools-with-llm-chain-tools/) - [Using GPT3.5 to summarize financial reports for your favorite stocks](https://sobel.io/blog/wvst/Using-GPT35-to-summarize-quarterly-reports-for-your-favorite-stocks/) - [Leveraging Langchain to iteratively apply Large Language Models to Evaluate Job Candidate CVs](https://sobel.io/blog/wvst/langchain-and-chat-gpt-to-evaluate-cvs/) - [Caching headers for Microfrontends](https://sobel.io/blog/wvst/Caching-headers-for-microfrontends/) - [Thread is taking over IoT: How IP will change the game](https://sobel.io/blog/wvst/thread-is-taking-over-iot-how-ip-will-change-the-game/) - [Deduplication with BTRFS](https://sobel.io/blog/wvst/Dedup-with-btrfs/) - [Web components - Using the Lit library](https://sobel.io/blog/wvst/web-components-onwards-with-frameworks/) - [Web components - a short introduction](https://sobel.io/blog/wvst/web-components-a-short-introduction/) - [Building a Kafka based key-value store in Rust - Part 3: API](https://sobel.io/blog/wvst/building-a-kafka-backed-key-value-store-in-rust-part-3-api/) - [Push-down automatons in Rust](https://sobel.io/blog/wvst/Push-down-automations-in-rust/) - [Building a Kafka based key-value store in Rust - Part 2: Implementation](https://sobel.io/blog/wvst/building-a-kafka-backed-key-value-store-in-rust-part-2-implementation/) - [Building a Kafka based key-value store in Rust - Part 1: Design](https://sobel.io/blog/wvst/building-a-kafka-backed-key-value-store-in-rust-part-1-the-design/) - [Picking a Tech Stack - Part 1 identifying the must-have criteria](https://sobel.io/blog/wvst/picking-a-tech-stack-for-hypergrowth-startups/) - [Functional programming in Java8: Filters](https://sobel.io/blog/wvst/Functional-programming-in-Java-8-Filters/) - [Never write another for-loop: Replacing Java 8 for-loops with forEach calls using the Stream API](https://sobel.io/blog/wvst/Never-write-another-for-loop-Replacing-Java-8-for-loops-with-forEach-calls-using-the-Stream-API/) - [Writing good React components](https://sobel.io/blog/wvst/writing-good-react-components/) - [The Implicit — Explicit Gap](https://sobel.io/blog/wvst/implicit-explicit-gap/) - [Bower.js and the Future of Client-side Modularity](https://sobel.io/blog/wvst/Bower-js-and-the-Future-of-Client-side-Modularity/) - [k-means clustering in R](https://sobel.io/blog/wvst/k-means-clustering-in-R/) - [Installing Meteor on ArchLinux](https://sobel.io/blog/wvst/installing-meteor-on-archlinux/)