Drop #537 (2024-09-30): It’s About Time

Time As A Grid; Greptime; Primitive

Today, we’ve got three resources that — each in their own way — deal with time in some fashion.

In other news, the new TL;DR setup I mentioned in the Bonus Drop over the weekend required a bit of prompt re-tweaking for its inaugural use. The Modelfile in the repo has been slightly modified accordingly to produce better results.


TL;DR

(This is an AI-generated summary of today’s Drop using Ollama + llama 3.2 and a custom prompt.)

Today’s Drop:


Time As A Grid

Time as a Grid” reimagines how we visualize time, turning the mundane ticking of a clock into a spiffy graphical experience. Inspired by Devine’s Arvelie-Neralie grid clock featured on the XXIIVV wiki, coder Josh Leeb-du Toit brought this concept to life using the more familiar Gregorian calendar and 24-hour time format.

Devine’s original clock captivated viewers with lines and grids scanning across the screen, displaying the current date and time in a complex-yet-artistic manner. Josh saw the potential to adapt this innovative idea, transforming traditional time representation into a dynamic visual grid that resonates with everyday users.

In Josh’s implementation, time unfolds through a series of grids and partitions:

  • Hours are depicted as 12 vertical partitions, each representing a two-hour segment of the day in 24-hour time.
  • Minutes are shown by splitting each hour partition into 12 horizontal sections, further divided into five positions to capture the precise minute.
  • Seconds add another layer of detail, represented by 12 horizontal partitions with five vertical positions, making the passage of time a visual journey across the grid.

Josh’s work compiles to WebAssembly (WASM) and the code is openly available on Sourcehut. This means it can seamlessly run as a desktop application or be embedded into web pages (as Josh demonstrates).

Looking ahead, several enhancements are on the horizon:

  1. Introducing color scheme options, including dark, light, and customizable themes to suit different aesthetics.
  2. Adding toggles for seconds and milliseconds, allowing users to personalize the level of detail displayed.
  3. Enabling switching between 24-hour and 12-hour time formats to accommodate various preferences.
  4. Developing an enhanced analog feel for smoother, more continuous movement across the grid.
  5. Incorporating an optional Arvelie-Neralie mode for enthusiasts of the original time formats.

This is definitely a project to (heh) watch.


Greptime

GreptimeDB (GH) is a Rust-based open-source, “cloud-native” (sigh) database designed for efficiently managing hybrid workloads, particularly time series data, especially if you have lots of events. It treats all time series data as time-stamped events, simplifying the processing of metrics, logs, and events in a unified manner.

It supports both SQL and PromQL query languages, and has streaming capabilities, including computing continuous aggregations.

The database has various real-world applications. In observability, it manages metrics, logs, and events, making it useful for system health and performance monitoring. It is also well-suited for large-scale IoT deployments, where devices generate yuge amounts of time-stamped data. It’s also likley handy for finserv folks, where it can process very time-sensitive data for transactions and market analysis.

The keepers of GreptimeDB position it as a cost-effective alternative to solutions like InfluxDB, offering fast, scalable, and long-term storage for Prometheus metrics. It also integrates with tools like Streamlit, so it’s ready to handle data analysis workflows.

We’re moving of of TimescaleDB at work and I’m poking at some other TSDBs to see if they’re suitable for storing historical time series data from our sensor network. After I kick the tyres a bit more on Greptime and a couple other TSDBs I’ll report back on what I find.


Primitive

This resource is included as it takes lots of time to perform the computations.

Michael Fogleman’s Go-based Primitive, offers a neat take on image processing and artistic recreation. His tool reproduces an input image using basic geometric shapes like triangles, rectangles, ellipses, and other forms. While the concept is deceptively simple, the results can be surprisingly intricate, reflecting a perfect blend of art and algorithmic efficiency.

The project operates primarily through a command-line interface (the macOS native GUI app seems to be defunt). We can customize the number of shapes used to recreate an image. Different tweaks let us balance between computational effort and output fidelity. It uses a hill-climbing algorithm that iteratively adds shapes, optimizing for the closest resemblance to the original image. It also supports Simulated Annealing.

I’m looking forward to trying this out on some Maine autumn forest photos as the foliage changes before the deep, dark of winter sets in.


FIN

Remember, you can follow and interact with the full text of The Daily Drop’s free posts on Mastodon via @dailydrop.hrbrmstr.dev@dailydrop.hrbrmstr.dev ☮️

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.