Ankhers

Ankhers

Hey folks,

I’ve been contributing to Hologram and building applications with it lately. It just hit a big milestone: v0.9 was recently released and includes real-time features (release post here if you want to read more). This release has unblocked me from building real applications with it. So, to learn the framework better, I put together a small project to test out how Hologram holds up in a real, albeit very small, project. The result is Holodeck.

It currently includes three applications:

  • Chat - Pick a name, create/join rooms, and chat. Messages are persisted and broadcast to everyone in the room over a Hologram subscription. Joining a room pulls the full room history.
  • Dashboard - A live look at the running BEAM: per-core CPU, memory breakdown, scheduler/uptime info, and the top processes (sortable by memory, reductions, or pid). It also streams the app’s logs into the page live.
  • Polls - Create a simple poll, vote, and watch the results update live. The results page also demos Hologram’s JS interop by working directly with Chart.js.

Keep in mind that I left a few things out on purpose, since I wanted to focus on Hologram and on keeping the app easy to pick up and use. So there’s no authentication in chat, a fixed number of answers in polls, and so on.

Live demo: https://holodeck-divine-dream-8428.fly.dev
Source: ~ankhers/holodeck - A showcase of different hologram applications - sourcehut git

Feedback is welcome! If you know a better way to accomplish something, please let me know. And if there’s another part of Hologram you’d like to see demoed, say the word and I’ll see about building it. Contributions are welcome too.

Showing Posts 1 to 10

jam

jam

Cool! For some reason, on mobile the buttons don’t seem to work. For example I wasn’t able to create a chat room.

The source hut link has a typo. I found the repo here ~ankhers/holodeck - A showcase of different hologram applications - sourcehut git but can’t seem to find the hologram specific code.

FlyingNoodle

FlyingNoodle

The poll demo is broken. I enter a name, 4 options, click “Create” and nothing happens.

nxy7

nxy7

Chat is also broken, swallows some messages for some reason (I think they’re visible after refresh though)

Ankhers

Ankhers OP

I should have mentioned it in the original post, but I had the same issue on mobile. I haven’t been able to fully figure out why yet. When it, it was crashing on saving the username actually which is used for room creation. I believe it was claiming that crypto.randomUUID was not a function. Still need to dig a bit deeper on that one.

Ankhers

Ankhers OP

Sorry about that, I had a todo to forward to the poll page after the poll was created but clearly forgot to do it. I am deploying a fix for that now.

Ankhers

Ankhers OP

https://git.sr.ht/~ankhers/holodeck/tree/main/item/lib/holodeck_web/pages is where you can find most of the hologram specific code. There is some code in lib/holodeck/ that calls Hologram.Realtime in order to broadcast to the different pages/components.

Ankhers

Ankhers OP

Unfortunately I have not seen this happen, but thanks for letting me know. I will see if I can replicate and get it fixed. When you saw this, did you see it from different browsers / tabs? Or is this something that you were seeing from just a single tab and not seeing the message from the client that sent it?

Dmk

Dmk

Most things are broken?

Ankhers

Ankhers OP

Are you on mobile? Because that is unfortunately known at the moment that some things weren’t working there.

I just ran through everything about 30m ago and it was all working for me. If you are able to be more specific about what is broken and in what environment, it would be appreciated so that I am able to fix it.

nxy7

nxy7

I was typing and sometimes my own messages didn’t show up until I’ve refreshed.
Polling tab was also throwing some errors in the console.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
GES233
I’m posting this in response to Jose’s recent tweet (Cr. link) : People are sleeping on Elixir for a coding harness: Hot-code swappi...
New
_mfierro
Hello, I wrote Stop My Hand, a Scattergories-like web application using Phoenix/LiveView as my learning project for Elixir (after readin...
New
nseaSeb
AcmeScript — Writing JS hooks as if I were still using Elixir I’ve been having fun building a little something over the last few days: Ac...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews