SShortSingh.
Back to feed

Developer builds C library to render histograms directly in the terminal

0
·59 views

A developer built a lightweight C plotting library called plt.c to visualize histograms inside the terminal using Unicode block characters. The project was motivated by a desire to inspect random number distributions without relying on external tools like Python's matplotlib. The library works by bucketing float data into columns, scaling the Y-axis relative to the maximum bucket count, and mapping values to Unicode block characters for sub-row precision. It also handles X-axis scaling by normalizing the data range to fit the configured number of columns. The final library exposes a single function, plt_hist, and was tested with up to 10,000 samples across uniform and normal distributions.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

DEV Community Post Covers Python Bitwise, Shift and Ternary Operators

A Python learning log from DEV Community documents a day spent on operators and a brief overview of the language's built-in datatypes, including int, float, str, list, tuple, set and dict. The author notes that Python integers have no fixed size limit, so very large values can be stored without issue. Bitwise examples demonstrate AND, OR and XOR, along with the behavior of the tilde operator, which the post explains through two's complement representation. The piece also covers shift operators and ternary conditional expressions, including a nested example for finding the largest of three numbers that the author admits is hard to read, and it closes with the identity and membership operators.

0
ProgrammingDEV Community ·

Why LLM Agents Need Deterministic Tools for Exact Fraction Arithmetic

Large language models predict tokens statistically, so they can err on precise calculations such as multiplying fractions. The article argues that this weakness is a liability in fields like engineering, finance, and scientific computing. Standard floating-point arithmetic also introduces rounding drift because some decimals cannot be represented exactly. The author proposes routing exact math to external tools via the Model Context Protocol, including a fractions connector that parses, computes, and simplifies rational numbers using integer arithmetic. The piece also discusses deploying such connectors reliably through the Vinkius platform and the open-source MCPFusion framework.

0
ProgrammingDEV Community ·

CredentialWatch: a standard-library Python tool for finding expiring and unrotated credentials

Development servers, build runners, and staging machines often accumulate forgotten secrets such as TLS certificates, JWTs, service account configs, and SSH keys. These files can expire silently and break scripts, or remain unrotated for months with overly permissive file permissions. A tutorial introduces CredentialWatch, a tool built solely on Python's standard library that scans directories for expiration dates, stale modification times, and dangerous permission bits. It parses certificate validity windows by decoding PEM content and reading ASN.1 time fields without external cryptographic libraries. Users can configure warning, critical, and staleness thresholds and receive an ASCII summary table of findings.

0
ProgrammingDEV Community ·

AudioSavy: New Tool Extracts MP3 Audio From Instagram Reels Quickly

A developer has launched AudioSavy, a web utility that converts Instagram Reels, Stories, and video links into MP3 audio files. The creator built it because existing converters often take 5 to 10 seconds, since they download the full video before extracting sound. According to the post, AudioSavy streams audio directly to aim for delivery in under two seconds, and it requires no account or software installation. The tool is served through a Cloudflare CDN and uses a mobile-first design for one-tap link pasting. The developer shared the project on DEV Community and asked users for feedback on its speed and experience.