SShortSingh.
Back to feed

How a Caffeine Tracker Uses Decay Math to Show What's Still in Your System

0
·14 views

A developer built a manual caffeine tracker that estimates residual caffeine in the body using an exponential decay formula based on a default five-hour half-life. Unlike a simple daily total, the tool sums the decayed residuals of every logged drink, meaning a late-night coffee from the previous day can still show up in the current estimate. Records are kept for 48 hours rather than reset at midnight, preventing the misleading scenario where a low daily total masks significant leftover caffeine. The tracker includes a Chart.js projection of residual levels over the next 24 hours, sampled at 30-minute intervals, with a configurable 50 mg sleep threshold line and a separate 400 mg daily reference. The project's key design principle is keeping dose, time, half-life, and display thresholds as distinct variables rather than collapsing them into a single opaque figure.

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
ProgrammingHacker News ·

Richest 0.1% of People Produce More Carbon Emissions Than Nearly Half of Humanity

A report citing Oxfam, linked from a Hacker News discussion, finds that the richest 0.1% of the world's population, roughly 8 million people, generate more carbon pollution than about 3.5 billion people. The figure highlights the sharp disparity in emissions between the ultra-wealthy and much of the global population. The source material available here is limited to the headline and link, so the full methodology and time frame are not confirmed. The findings are presented by Oxfam as a press release on the emissions footprint of the ultra-rich.

0
ProgrammingDEV Community ·

GitHub's new star history endpoint powers a README star chart generator

GitHub restricted its stargazers listing to repo admins and collaborators this year, which broke existing star history tools. In September it added a star history endpoint that returns stars grouped by calendar week for any public repo without authentication. The author built a README chart generator on it, fetching pages in parallel and summing weekly totals, which matched live star counts on seven tested repos. Because README images cannot run scripts, the chart is a server-rendered Svelte component producing an animated SVG, while a separate plain SVG converted to PNG handles social previews.

0
ProgrammingDEV Community ·

Why Word Counting Is Harder Than a Simple Space Split Suggests

A common naive word counter splits text on whitespace, which breaks on contractions, hyphens, em dashes, decimals, and emoji. The article argues this is a text segmentation problem rather than a rounding issue. It recommends the browser's Intl.Segmenter API, using word granularity and filtering by isWordLike to exclude emoji from word counts. It also notes that text.length counts UTF-16 code units rather than visible characters, so grapheme granularity is better for character counts. The author discloses that they built a browser-based word counter that processes text locally without uploading it.

0
ProgrammingDEV Community ·

How Shell Redirection and Pipes Work: >, >>, 2> and |

The article explains that every command has three text channels: stdin for input, stdout for normal results, and stderr for error messages. The > operator sends stdout to a file and overwrites it, while >> appends to the end of an existing file. Because stderr is stream 2, the 2> operator captures error messages separately, and 2>&1 merges errors into the same destination as normal output, with the order of redirections mattering. A pipe (|) passes one command's stdout directly into the next command's stdin, allowing small tools to be chained together. The piece notes that pipes carry only stdout, so errors from the left-hand command bypass the pipe.