<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Developer Tools on jason grey</title><link>https://jason-grey.com/tags/developer-tools/</link><description>Recent content in Developer Tools on jason grey</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 04 Apr 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://jason-grey.com/tags/developer-tools/index.xml" rel="self" type="application/rss+xml"/><item><title>Enterprise Rust 2025: Miscellaneous Tools</title><link>https://jason-grey.com/posts/2025/enterprise-rust-miscellaneous/</link><pubDate>Fri, 04 Apr 2025 00:00:00 +0000</pubDate><guid>https://jason-grey.com/posts/2025/enterprise-rust-miscellaneous/</guid><description>&lt;h1 id="miscellaneous-tools-for-rust-enterprise-applications"&gt;
 Miscellaneous Tools for Rust Enterprise Applications
 &lt;a class="heading-link" href="#miscellaneous-tools-for-rust-enterprise-applications"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;Building enterprise applications requires more than just frameworks and libraries for core functionality. In this final post of our series, we&amp;rsquo;ll explore essential miscellaneous tools for Rust enterprise applications, focusing on observability, logging, and machine learning integration.&lt;/p&gt;
&lt;h2 id="observability-in-rust-applications"&gt;
 Observability in Rust Applications
 &lt;a class="heading-link" href="#observability-in-rust-applications"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Observability is crucial for understanding the behavior and performance of enterprise applications in production. It encompasses metrics, logging, and distributed tracing.&lt;/p&gt;</description></item><item><title>Miscellaneous Tools - Enterprise Rust</title><link>https://jason-grey.com/posts/2023/enterprise-rust-5-miscellaneous-tools/</link><pubDate>Sat, 04 Nov 2023 00:00:00 +0000</pubDate><guid>https://jason-grey.com/posts/2023/enterprise-rust-5-miscellaneous-tools/</guid><description>&lt;h1 id="series-outline"&gt;
 Series Outline
 &lt;a class="heading-link" href="#series-outline"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://jason-grey.com/posts/2023/enterprise-rust-1-overview/" &gt;Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Framework analysis and selection:&lt;/strong&gt; Delving into the specifics of framework selection and application.
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://jason-grey.com/posts/2023/enterprise-rust-2-core-components/" &gt;Core Components&lt;/a&gt;: Database management, modularization, internal RPC, AMQP.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jason-grey.com/posts/2023/enterprise-rust-3-web-api/" &gt;Web and API&lt;/a&gt;: Web Server, GraphQL API.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jason-grey.com/posts/2023/enterprise-rust-4-application-development/" &gt;Application Development&lt;/a&gt;: Web, CLI, desktop, and mobile app development.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jason-grey.com/posts/2023/enterprise-rust-5-miscellaneous-tools/" &gt;Miscellaneous Tools&lt;/a&gt;: Observability, logging, machine learning.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Boilerplate project:&lt;/strong&gt; A comprehensive guide including setup instructions for selected frameworks, architectural diagrams, and development environment configurations.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="mlstats"&gt;
 ML/stats
 &lt;a class="heading-link" href="#mlstats"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Crate&lt;/th&gt;
 &lt;th&gt;Downloads&lt;/th&gt;
 &lt;th&gt;Dependents&lt;/th&gt;
 &lt;th&gt;Github Stars&lt;/th&gt;
 &lt;th&gt;Github Contributors&lt;/th&gt;
 &lt;th&gt;Github Used By&lt;/th&gt;
 &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;polars&lt;/td&gt;
 &lt;td&gt;500k&lt;/td&gt;
 &lt;td&gt;88&lt;/td&gt;
 &lt;td&gt;21k&lt;/td&gt;
 &lt;td&gt;302&lt;/td&gt;
 &lt;td&gt;4.3k&lt;/td&gt;
 &lt;td&gt;Dataframes for data prep/filtering/etc - this is easily the best choice. Can now do streaming, so, can handle &amp;gt; in memory as well.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;linfa&lt;/td&gt;
 &lt;td&gt;162k&lt;/td&gt;
 &lt;td&gt;24&lt;/td&gt;
 &lt;td&gt;3k&lt;/td&gt;
 &lt;td&gt;37&lt;/td&gt;
 &lt;td&gt;321&lt;/td&gt;
 &lt;td&gt;decent set of algorithms. OpenBLAS, netlib, intel MKL (all linux)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;rustlearn&lt;/td&gt;
 &lt;td&gt;16k&lt;/td&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;599&lt;/td&gt;
 &lt;td&gt;8&lt;/td&gt;
 &lt;td&gt;121&lt;/td&gt;
 &lt;td&gt;Not nearly as robust as linfa, but does have some unique algorithms.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h1 id="loggingmetrics"&gt;
 Logging/Metrics
 &lt;a class="heading-link" href="#loggingmetrics"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Crate&lt;/th&gt;
 &lt;th&gt;Downloads&lt;/th&gt;
 &lt;th&gt;Dependents&lt;/th&gt;
 &lt;th&gt;Github Stars&lt;/th&gt;
 &lt;th&gt;Github Contributors&lt;/th&gt;
 &lt;th&gt;Github Used By&lt;/th&gt;
 &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;log&lt;/td&gt;
 &lt;td&gt;197M&lt;/td&gt;
 &lt;td&gt;14770&lt;/td&gt;
 &lt;td&gt;1.9k&lt;/td&gt;
 &lt;td&gt;102&lt;/td&gt;
 &lt;td&gt;605k&lt;/td&gt;
 &lt;td&gt;Default choice. syslog, systemd, slog, android, windows, database, console, and a lot more.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;tracing&lt;/td&gt;
 &lt;td&gt;109M&lt;/td&gt;
 &lt;td&gt;4967&lt;/td&gt;
 &lt;td&gt;4.4k&lt;/td&gt;
 &lt;td&gt;277&lt;/td&gt;
 &lt;td&gt;241k&lt;/td&gt;
 &lt;td&gt;Compatible with log, which is nice. metrics, tracing, and logging. wasm support.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h1 id="distributed-locking-using-redis"&gt;
 Distributed Locking using Redis
 &lt;a class="heading-link" href="#distributed-locking-using-redis"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;Redis is assumed for caching - but for dist lock, we have lots of options&amp;hellip;&lt;/p&gt;</description></item><item><title>Handy is going open source...</title><link>https://jason-grey.com/posts/2003/handy-going-opensource/</link><pubDate>Fri, 05 Mar 2004 00:00:00 +0000</pubDate><guid>https://jason-grey.com/posts/2003/handy-going-opensource/</guid><description>&lt;p&gt;There were a few sugestions by members of the CF community to make Handy CFC tester open source&amp;hellip; so I&amp;rsquo;m going to give it a try.&lt;/p&gt;
&lt;p&gt;Along with the move to open source, I&amp;rsquo;m going to make &amp;ldquo;Handy&amp;rdquo; more of a suite of usefull ColdFusion/Mach-II stuff. To be included at launch will be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Handy/TestSuite/index.cfm - the Handy CFC browser/tester.&lt;/li&gt;
&lt;li&gt;Handy/BeanGen/index.cfm - a simple utility to generate CFCs with Java Bean get/set methods. Usefull if you do any Mach-II development.&lt;/li&gt;
&lt;li&gt;handy.dao - a base class for all my dao objects, has only one fuction right now to convert results of a query to a struct - for passing instance data to an object (memento).&lt;/li&gt;
&lt;li&gt;handy.validatable - a base class for all my objects which need to have a &amp;ldquo;validate&amp;rdquo; funciton. Has functions for keeping track of what&amp;rsquo;s wrong with certain fields, or in general.&lt;/li&gt;
&lt;li&gt;handy.plugins.ServerProperties - lets you have mach-ii properties defined outside of the mach-ii config file - usefull if you want to manage mach-ii with Source control, but need different properties on different servers.&lt;/li&gt;
&lt;li&gt;handy.plugins.EventData - allows you to have an XML config file to specify data for events. You can also specify other buckets of data which you can include on specified events (like an include) This allows powerful setup of meta-data per-event, but doesn&amp;rsquo;t tie you to your mach-ii.xml file to do so.&lt;/li&gt;
&lt;li&gt;Handy/MachIIMapper/index.cfm - maps a mach-ii application in many ways. Requires GraphViz to be installed, and you need CFEXECUTE permissions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;m submitting &amp;ldquo;Handy Suite&amp;rdquo; to SourceForge today, so with any luck, I&amp;rsquo;ll have all the code and docs up there, along with the CVS repository.&lt;/p&gt;</description></item></channel></rss>