harper
bauble


harper | bauble | |
---|---|---|
10 | 13 | |
3,599 | 476 | |
16.6% | 2.3% | |
9.9 | 9.8 | |
5 days ago | about 2 months ago | |
Rust | Janet | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
harper
- Show HN: A Private Grammar Checker
-
Marksmith – a GitHub-style Markdown editor for Ruby on Rails
Huh. It would be cool to get Harper integrated into this
https://writewithharper.com
- Harper – English grammar checker for Developers
- Show HN: Harper, an Offline Grammarly Alternative
- Harper: The Grammar Checker for Developers
- Harper – The Grammar Checker for Developers
- Scramble: Open-Source Alternative to Grammarly
- Ask HN: What are you working on (August 2024)?
-
languagetool VS harper - a user suggested alternative
2 projects | 29 Jul 2024
bauble
-
Mountains, Cliffs, and Caves: A Guide to Using Perlin Noise for Procedural Gen
If this kinda thing piqued your interest and you want to play around with this idea, paste the following code into https://bauble.studio/:
(def octaves 4)
- Bauble – a playground for making 3D art with Lisp and math
-
Fidget
Reminds me a lot of Ian Henry's https://bauble.studio/
- Bauble 3D Playground
-
I Wrote "Janet for Mortals"
Not to mention https://bauble.studio/ from the same author!
It doesn't work in my browser - which is understandable because my computer is ancient - but sometimes when I want a break from study in the library I'll spend thirty minutes on a library computer playing in bauble there. I might get around to trying to figure out how the thing works, but the graphics you can make just fiddling with numbers is wild.
Long life to Janet.
-
Ask HN: What are you working on (August 2024)?
https://bauble.studio/ is a lisp-based procedural 3D art playground that I hacked together a while ago. It's fun to play with, but it's a very limiting tool: you can do a lot to compose signed distance functions, but there's no way to control the rendering or do anything "custom" that the tool doesn't explicitly allow.
So lately I've been working on a "v2" that exposes a full superset of GLSL, so you can write arbitrary shaders -- even foregoing SDFs altogether -- in a high-level lisp language. The core "default" raymarcher is still there, but you can choose to ignore it and implement, say, volumetric rendering, while still using the provided SDF combinators if you want.
The new implementation is much more general and flexible, and it now supports things like 2D extrusions, mesh export for 3D printing, user-defined procedural noise functions... anything you can do in Shadertoy, you can now do in Bauble. One upcoming feature that I'm very excited about is custom uniforms and embedding in other webpages -- so you can write a blog post with interactive 3D visualizations, for example.
(Also as a fun coincidence: my first cast bronze Bauble arrived today! https://x.com/ianthehenry/status/1827461714524434883)
-
Domain Repetition
If you aren't familiar with SDFs, some rough intuition for what's going on here: you have some primitive functions that define shapes, you have combinators that distort shapes, and you then have combinators that distort space. And then when you trace rays through distorted space, you render an image that looks like your combinators distorted the shapes themselves, but really you're distorting the path that your rays travel along.
The operation here is that you distort space with the modulo operator. So now you have space that repeats -- and when you trace rays through this repeated space, you're basically teleporting the rays back to the origin (using mod in the classic "wrapping around" fashion) every time they pass out of a section of space.
And then ultimately the ray will collide with the shape -- the one shape -- that exists in this distorted space, after wrapping around some number of times.
If the idea of "taking the mod of space" is intriguing, I would encourage you to try playing with SDFs! It's a really incredible technique for real-time rendering of "3D vector graphics."
Also shameless plug for my SDF playground https://bauble.studio, and an example program that uses instanced repetition to render an "infinite" number of varying shapes:
(tile [400 0 300] (fn [i]
-
Why Janet?
Depending on what you're doing, Janet might be a great fit! I wrote a DSL for [expressing and shading 3D shapes](https://bauble.studio), and it was pretty easy. Depending on exactly what you're trying to do, the ease of embedding the Janet interpreter inside of other programs might be a big point in its favor.
- Signed distance functions in 46 lines of Python
-
Is there a name for this? -- Intermediate Representation with Graphics Primitives
For other inspiration check out Pyret in DCIC and the term Constructive Solid Geometry like Bauble
What are some alternatives?
ltapiserv-rs - Server implementation of the LanguageTool API for offline grammar and spell checking, based on nlprule and symspell. And a small graphical command-line client.
sdf-viewer - A fast and cross-platform Signed Distance Function (SDF) viewer, easily integrated with your SDF library.
trippy - A network diagnostic tool
bencode - A Janet library for the Bencode format
PowerTiger - Home power monitoring system - Monitoring energy consumption with better granularity
ghstats - 🤩📈 Self-hosted dashboard for tracking GitHub repos traffic history longer than 14 days.

