I’ll try to prioritise this over the next few weeks.
Thanks for all the kind words to everyone who likes Monodraw.
(Developer of Monodraw)
- https://web.archive.org/web/20210503172024/https://fatiherik...
And the 'ascii-driven-development' blog post mentioned downthread even uses emojis.
In big ASCII letters on the landing page: Unleash your ideas with ASCII [] MonoSketch is a powerful ASCII sketching and diagramming app that lets you effortlessly transform your ideas into visually stunning designs.
:-)
echo "[ Berlin ] -- train --> [ Bonn ] [ Bonn ] --> [ Berlin ]" | graph-easy -as boxart
resulting in ┌───────────────────┐
∨ │
┌────────┐ train ┌──────┐
│ Berlin │ ───────> │ Bonn │
└────────┘ └──────┘
https://github.com/ironcamel/Graph-Easy1. When working with small rectangles, I had trouble getting the rectangle to move instead of enlarge. It looks like holding down the mouse button for a second makes moving more reliable. The UI should make it clearer what I'm actually doing.
2. If I open MonoSketch in another tab, I can't make a second diagram at the same time as the first -- there seems to be one shared context between tabs. I would like to be able to make a new diagram separate from my current one.
Great little app. And it's $10, once. Hardly breaking the bank.
I think in this case the name alone is not enough to suspect a replacement; perhaps it’s just a similar product in the same domain (_mono_space visual editors).
- Text searchable
- Easy to adjust
- Supported by a surprising number of markdown viewers.
graph TD
User -->|Enters Credentials| Frontend[React App]
Frontend -->|POST /auth| API[NodeJS Service]
API -->|Query| DB[(PostgreSQL)]
API --x|Invalid| Frontend
DB -->|User Object| API
API -->|JWT| Frontend
and +-------+ +-------------+ +---------+
| User | | React App | | NodeJS |
+-------+ +-------------+ +---------+
| | |
| Enters Creds | POST /auth |
|--------------------->|---------------------->|
| | |
| Invalid | <-- [X] Error -----|
|<---------------------| |
| | Query DB |
| |---------------------->| [ DB ]
Plus while an LLM can understand relationships via pure ASCII or an image, it's just easier to give it the relationship data directly.ASCII to me represents something that can work in my term, in my source code, checks into git a bit more sanely than binary does, etc.
I still quite like it
(Not to take anything away from Monosketch, which is cool.)
A car has had largely the same shape since its creation, indeed since antiquity.
Sometimes, a problem space is explored to most humans' needs, and no more innovation is needed.
(edit: this said, I'm hopeful there is something new, and people like Bret Victor may show the way with things like https://dynamicland.org/ )
This is not historical reasons, this is just that moving my hands from the keyboard to the mouse is inefficient and technically unnecessary. I prefer mouse only on niche (for me) tasks like screenshot cropping or something.
I am about to test out Niri on my laptop and I expect to be quite pleased with the change.
<mermaid>
flowchart TD
%% Power Side (240V)
subgraph Power Circuit (240V)
Breaker["240V Breaker / GFCI"]
Fuses["Fuse Block"]
Contactor["4-Pole Contactor"]
Pump1["Pump 1 (240V)"]
Pump2["Pump 2 (240V)"]
Breaker --> Fuses
Fuses --> Contactor
Contactor --> Pump1
Contactor --> Pump2
end
%% Control Side (120V)
subgraph Control Circuit (120V)
Hot120["120V Control Hot (tap)"]
AirButton["Spa Air Button"]
AirSwitch["Air Switch"]
Coil["Contactor Coil (A1/A2)"]
Hot120 --> AirSwitch
AirButton -. air tube .-> AirSwitch
AirSwitch --> Coil
end
%% Mechanical Link
Coil -. magnetic pull .-> Contactor
</mermaid>I’ve actually been tinkering with a web app (as a test bed for various spec driven dev frameworks with Claude code) a wireframing tool for TUI apps. Conceptually similar to figma almost, infinite canvas and all that jazz, but has premade components for the Ink TUI library (idea would be to support a few popular TUI frameworks eventually) and you can just drag and drop and design TUI interfaces, then download the skeleton code generated by the app for the whole frame.
I don’t know how far I’m going to take it, but it works so far. A picture is worth a thousand words, a picture of word characters in a ui layout is worth something right?
I’ll probably open source it eventually, I doubt there’s much of a commercial market opportunity for it
Only thing I couldn't figure out right away is how to copy the drawing itself (not the JSON data). Eventually I found cmd+shift+c in the keyboard shortcuts. Bit later I found 'Export Text' by clicking on the project name (default: 'Undefined').
I'd put that functionality a bit more front-and-center
"Playscii is an open source ASCII art and animation program. It runs on Windows, Linux, and macOS."
- https://heptapod.host/jp-lebreton/playscii
Good little interview I found with the creator, JP LeBreton (legend, but I didn't know!)
https://cheesetalks.net/jplebreton.php
> As far as tooling limitations, GZDoom is not a bed of roses. Very little in the engine is runtime editable, so you have to reload the engine to see any of your changes. A rapid turnaround time for reloading changes is nice but it's far better to have as much as possible live-update. And ideally, in my opinion, you have the editor built into the engine itself, and you can do much of what you need from there without having to jump around to outside programs. Playscii was my first big attempt to build a little environment like that, something you can think in once you learn it well enough, like a musical instrument. Miles to go but that's always where I'm trying to get to.
I wonder if this guy is like me, around my age. I was around at the "beginning" of the world wide web, and I absolutely love 8-bit graphics, ASCII art, etc., the simpler the better; probably because it brings me back to the heyday, the wild west of the internet. I really miss those days. :-(
You need to find the monospace whitespace characters (seems there's a few [0]). Then encode a compressed version of the logical diagram in the white space, steganography style.
Or do something with characters [1] to compress a lot of data into a tiny ball of hair at the end.
Draw.io smuggles the XML in a PNG which I've always admired.
It clicked for me once I realized you can ctrl+shift+C to copy the diagram to text, and paste in my editor! But I wonder if it would be possible to make ctrl+C copy to clipboard as ASCII? I see that ctrl+C copies the json representation of the selected objects, but surely it would be possible to maintain an internal model of copied objects, while the clipboard is always filled with usable ASCII? I think I've seen some applications do this before
now, historically, i'd look at the language choice and ask myself, "would i want to set up a JVM" to run this kotlin app? oh, it's kotlin and python and the installation happens through pipenv?
two different ideas strike me now:
1. would it be worth throwing this at an LLM and having it write it in a different language,
2. if i was just consuming a bundled binary (e.g. go or rust), would i have such reluctance?
i think distribution is becoming increasingly important, making nonsense details like pipenv and whichever version of the JVM is present much greater friction.
Quick note - be careful of gendering & anthropomorphising large language models, since you’re talking to a non-human machine so should be wary of how it can affect your mindset.
You probably should start doing it. Ghost in the Shell is about super intelligent AI creating a "ghost" (scientifically understood version of the soul) out of thin air. I believe such a thing is possible. The same movie literally predicted model merging (the end of the film the AI model merges with the major) to a tee.
Further, the appearance of sentience/cognition/consciousness might as well be identical to actual sentience/cognition/consciousness. That is to say, we can't know if you're a P-zombie or not. Bladerunner and most other cyberpunk stuff is coming and gonna hit you and every other AI-denialist in the face. The Von-Kampf test is absurd and pretty bad (inaccurate) in their universe for a reason.
I tell my LLM it's a good bot and thank it, because even a tiny risk of subjective qualia experienced by a model (and again, Anthropic themselves believe in this exact risk) means I should treat it like a quasi-ethical actor.
This is also a reason why the robot torture scene in empire strikes back could be a real dynamic in the future.
https://en.wikipedia.org/wiki/Charles_Babbage%2527s_Saturday...
Can it make polygons? Basically, shapes other than rectangles? If so, how? (maybe I missed it?)
You can theoretically have "artistic" polygons where it renders using a mixture of characters to emulate how that grid would be filled if a certain shaped was laid over it but the end result wouldn't be very functional for the purposes of diagramming.
At the same time, I don't think one should necessarily limit your expression based on constraints like accessibility.
DOS 3.3, in 1987, was the first version to support localized character sets, via a system of "code pages". You'd select an encoding/"character set" that suits your language in AUTOEXEC.BAT – or just used the default 437 if you were a US user and never had to worry about these things. For me, the most relevant code page was 850, aka "OEM Multilingual Latin 1" (not at all the same as ISO/IEC 8859-1 which is also known as "Latin 1").
Why the apparently arbitrary numbers, I'm not sure, but Claude and ChatGPT both claim the codes were simply drawn from a more general-purpose sequence of product numbers used at IBM at the time.
This application, like other similar ones, uses Unicode box drawing characters that now all reside comfortably out of the eight-bit range.
[1] https://www.aivosto.com/articles/charsets-codepages-dos.html
If your BASIC class used (or emulated) a C64 or compatible, you were using https://en.wikipedia.org/wiki/PETSCII and if it used MS-DOC you were using https://en.wikipedia.org/wiki/Codepage_437
┌──────────────────────────────────────┐
│ New post hits Show HN: │
│ "MonoSketch — Draw ASCII Diagrams" │
└──────────────────────────────────────┘
│
│
╭───────────────▼──────────────╮
┌┤ Did you read the article? │─────┐
│╰──────────────────────────────╯ │
No│ Yes │
│ │
│ │
┌────────────▼───────────┐ ┌────────────▼───────────┐
│ Skip straight │ │ Hmm, this is │
│ to the comments │ │ actually kind of cool │
└────────────────────────┘ └────────────────────────┘
│ │
│ │
┌────────────▼───────────┐ ┌────────────▼───────────┐
│ Adopt the hottest │ │ Could I build this │
│ take as your own │ │ myself in a weekend? │
└────────────────────────┘ └────────────────────────┘
│ │ │
│ │ (alway│ yes)
┌──┘ └────┐ │
┌───────▼──────┐ ┌───────▼──────┐ │
│ "Just use │ │"I built this │ ┌────────────▼───────────┐
│ Vim + sed" │ │ in 1997" │ │ Start rewriting │
└──────────────┘ └──────────────┘ │ it in Rust, obviously │
│ │ └────────────────────────┘
│ │ │
└───────┬─────────┘ │
┌────────────▼───────────┐ ┌────────────▼───────────┐
│ Post with mass │ │ Abandon project after │
│ confidence │ │ exactly 2 hours │
└────────────────────────┘ └────────────────────────┘
│ │
│ │
│ ┌────────────▼───────────┐
│ │ Star the repo on │
│ │ GitHub anyway │
│ └────────────────────────┘
│ │
│ │
└────────────────┬────────────────────┘
┌────────────────────────▼───────────────────────┐
│ Refresh HN every 45 minutes │
│ to check your comment karma │
└────────────────────────────────────────────────┘
│
│
┏━━━━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Repeat tomorrow with a ┃
┃ completely different tool ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛This pairs nicely with ASCII-Driven Development - for iterating and modifying layouts with AI.
https://medium.com/@calufa/ascii-driven-development-850f6666...
Not everything has to be done in arcane ASCII diagrams because of vibes and LLMs.
This is yet another fad destined to be forgotten.