HNHacker News
TopNewBestAskShowJobs

POiNTx

611 karma · joined April 28, 2015

Website: https://wout.space

Contact: hn@wout.space

submissionscomments
POiNTx··on Ask HN: What are you working on? (August 2026)
I've been working on a puzzle game Quilt. Hope to get the demo out this coming week or next week.

https://store.steampowered.com/app/4760970/Quilt/

POiNTx··on Raylib v6.0
Can recommend Odin[0] if you want to play with Raylib. Great for prototyping, although I'm not sure if it will last further on in development. Still have to figure that one out.

[0] https://odin-lang.org/

POiNTx··on Simplify your code: Functional core, imperative shell
You use UTC which doesn't adjust daylight savings.
POiNTx··on Simplify your code: Functional core, imperative shell
I was just referring to how pipes make these kinds of chained function calls more readable. But on your point, I think using Date.now() is perfectly ok.
POiNTx··on Simplify your code: Functional core, imperative shell
In Elixir this would be written as:

  db.getUsers()
  |> getExpiredUsers(Date.now())
  |> generateExpiryEmails()
  |> email.bulkSend()
I think Elixir hits the nail on the head when it comes to finding the right balance between functional and imperative style code.
POiNTx··on Massive Attack turns concert into facial recognition surveillance experiment
That's a really cool concept, I'd love to see more art like this that uses modern technology. Do you have a demo available somewhere to see what the effect would look like? This is one of those things where you should just do it without asking for permission. The portals[0] art installation in some cities doesn't ask for consent either.

[0] https://www.portals.org/

POiNTx··on Why Elixir? Common misconceptions
Something like https://github.com/mrdotb/live_react might be what you're looking for.
POiNTx··on Happy 20th Birthday, Django
https://backpex.live/ is a pretty good Phoenix Admin. Django's admin is still unmatched though.
POiNTx··on Python in LibreOffice (LibrePythonista Extension)
Does this allow external programs/servers to interact with a workbook (xlsx file)? Or is this just to run more complex calculations inside cell(s)?

There's UNO and there's also openpyxl to interact with workbooks from Python, but both solutions were a bit slow when testing it.

There's a lot of value in having existing workbooks which a lot of businesses already use, and extending them so they can be interacted with or queried from a server. For example to allow further access from a webapp without allowing changes to the entire workbook or hiding the full dataset.

POiNTx··on Ask HN: Freelancer? Seeking freelancer? (April 2025)
SEEKING WORK | Remote | Part time | Vancouver, Canada

Availability: 20 hours or less per week

Technologies: Elixir, Phoenix, Svelte

- GitHub: https://github.com/woutdp

- LiveSvelte: https://github.com/woutdp/live_svelte

- Website: https://wout.space/

- Contact: hn@wout.space

Full-stack web developer with 10+ years of professional experience. Creator of LiveSvelte, a popular library integrating Svelte with Phoenix LiveView. I'm looking for Elixir/Phoenix projects with a defined scope—preferably fixed-fee or milestone-based. Open to equity or profit-sharing arrangements for the right opportunity.

POiNTx··on Learn You Some Erlang for Great Good (2013)
Fly.io for Elixir is very popular
POiNTx··on Serialization Is the Secret
Memory is actually shared in Elixir until it's required to create new memory because of a change. So even if you have a big dictionary and something changes, part of the dictionary that remained the same will actually share memory until it's required to create new memory because of a change in that part of the dictionary.

So in effect, most immutable languages actually do copy by reference, it's just abstracted away for the programmer and you can reason about it as copy by value.

I can't find the article now but I remember reading about this and someone can probably link it.

POiNTx··on Orion, our first true augmented reality glasses
If the wristband works well, it'd be a very convenient gadget to wear if it can integrate with a bunch of devices like smart-lights, phones, tv etc...
POiNTx··on Arrest of Pavel Durov, Telegram CEO, charges of terrorism, fraud, child porn
I'm generally very pro EU, but this anti-encryption stuff they try to pull these last couple of years needs to stop. If it's proven that Pavel Durov is facilitating bad actors with purpose, that's a different story, but creating a secure messaging platform by itself should not constitute a crime.
POiNTx··on Managing my motivation as a solo dev
Customer validation is also super easy to get.

The easiest way I've found is to include a simple Google Form in the product. It's super rewarding to get feedback from users. Ask simple questions like: "What's your favorite thing about X", "What's your least favorite thing about X", "How did you learn about X" and "Anything else you wanted to let me know?". And make all the questions optional so there's a minimal amount of friction.

POiNTx··on LiveView Is Best with Svelte
You can still use LiveView/Phoenix/Elixir, but have your game logic be in Gleam. I haven't used it though so I could be wrong here.

A little bit more about it here: https://katafrakt.me/2021/10/13/app-with-elixir-business-log...

You'd call Gleam code like this inside Elixir:

`:game.move(game, player_1, :left)`

And you'd receive an Elixir map `%Game{}` which you can then use in LiveView. If that makes sense.

POiNTx··on LiveView Is Best with Svelte
That's true. And another downside is that once you're in the Svelte environment you can't use your Phoenix components inside those Svelte components.

I've thought about adding a library of default Svelte components which mirror the core components you get from Phoenix out of the box. But then again you lose forms and changesets etc, it's just annoying.

Where I see LiveSvelte fit is where you really need a lot of complex client side state. Sprinkle it in, but keep using phoenix components as your default, even with hooks

POiNTx··on LiveView Is Best with Svelte
It's a little bit different from generals.io but the points you mention are very valid. I originally started working on it as a showcase of LiveSvelte + I like generals.io a lot and thought it could be improved visually + UX wise. Then afterwards started thinking a bit about the game design and what I could improve, but eventually burned out on the project. Was also at a time when I wasn't working but am working again.

Maybe I'll pick it up at some point, but also open to other people working on it if they're interested. I'd be open to partner up with someone to eventually make it monetized. It's not open source as I wanted to add paid features (cosmetic features, not pay to win).

A solution for most of these issues is a modifier system. I have a basic one in place and wanted to experiment with different modifiers. A modifier can be anything, like prevent spawning in the center, to increasing rewards for capturing cities, to even allow crossing the border of the map into the other side, like pacman (which could address point 1). Then the goal would be to see which modifiers stick with the player base, and make them the default, while still allowing for custom games with different modifiers. Generals has a similar system in place and they sometimes make the modifier the default for the day, which I like a lot.

POiNTx··on LiveView Is Best with Svelte
Definitely possible. Tick rate isn't the problem, Elixir is very performant. Just the predictive elements are an issue if you're working with 2 different languages. I'd go with Gleam from the start and look into compiling to js.
POiNTx··on LiveView Is Best with Svelte
That's what I did with: https://territoriez.io/

It's a clone of https://generals.io/

It's built with LiveSvelte. It doesn't need any predictive features as it's basically a board game and runs at 2 ticks per second. It does use optimistic updates to show game state before it actually updates on the server. The server overrides the game state if they're not in sync.

All game logic is done inside Elixir. To do predictive correctly, you'd need to share logic between the server and the client. Otherwise you're writing your logic twice and that's just a recipe for disaster.

One possible solution which I didn't investigate, but should work, is to write all game logic in gleam (https://gleam.run/). Gleam is compatible with Elixir, AND it also can compile to js, so you could in theory run the same code on the server and the client.

Now this is a big mess to understand, you could say "why don't write it all in js and be done with it" and you'd make a very good point and I'd probably agree. The main advantage you get is that you can use the BEAM and all it's very nice features, especially when it comes to real time distributed systems. It's perfect for multiplayer games, as long as you don't take into account the frontend :)

POiNTx··on LiveView Is Best with Svelte
Out of the box, they don't work offline. But there's recently been a project showing it's possible to create a PWA with CRDT's and LiveSvelte:

https://github.com/tonydangblog/liveview-svelte-pwa

POiNTx··on LiveView Is Best with Svelte
With hooks you are able to render your html server side while still having some js functionality. Technically you can also render server side with LiveSvelte as it supports SSR out of the box, but this SSR uses Node and that introduces a slight performance decrease (around 3ms I believe).

I've been looking at Bun to see if it would help but it's still unclear to me.

Heex rendering is just way faster.

If you don't care about SSR for certain components (for example modals, they don't need SSR generally), then I don't see a clear advantage for hooks.

POiNTx··on LiveView Is Best with Svelte
I created LiveSvelte, let me know if you have any questions :)
POiNTx··on "Niksen": The art of doing nothing
I'm a native Dutch (Flemish) speaker. For me 'Niksen' means you're doing something without intent/purpose and with low importance. You can watch a movie, just because you don't know what to do and you're filling the time, maybe your mind is wandering to other things while watching. Or you can watch a movie because you want to see it, like going to the movies instead of watching at home. Only the former is 'Niksen'.

'Puttering' is an English term which I feel is closely related to 'Niksen' but not exactly the same. With 'Puttering' there's always an action. But with 'Niksen' you can be sitting in a chair, looking around, 'doing nothing'.

I would even argue that meditation is not 'Niksen', because with meditation there's intent. It's actively calming yourself down.

POiNTx··on Git commit messages are useless
If you work with more than 1 person on a project, commit messages can be very useful during reviews. Sometimes a change sets up a later change, and you need context on why the change is being done. It also forces you to split up your code into bite sized chuncks so changes are easier to understand for other contributors.

That being said, this is the only reason I think of for writing a commit message. After adding the commits into master (via rebase preferably), I've rarely read a commit message.

POiNTx··on Some Useful Bash Aliases (2022)
Not bash but if you're using fish you can use https://github.com/nickeb96/puffer-fish
POiNTx··on Ask HN: Who wants to be hired? (December 2023)
Location: Vancouver Canada, Remote: Yes (Remote only)

Willing to relocate: no

Technologies: Elixir, Phoenix, Svelte, Django, Python

Résumé/CV: Upon request

Email: hn@wout.space

GitHub: https://github.com/woutdp

Website: https://wout.space/

Current project: https://territoriez.io/ (Elixir/Phoenix/LiveSvelte)

Past projects: https://geoquest.gg/ (made with SvelteKit), https://github.com/woutdp/live_svelte

Full-Stack Web Developer. Looking for Elixir/Phoenix work. 8+ years of professional experience working with various web technologies, mainly Python, Django and Svelte(Kit). Would be open for working with Python/Django/Svelte(Kit). Also open to work on frontend and/or backend only projects. Website refresh/new website projects is also something I'm interested in.

Availability: part-time, +- 20 hours per week or less

POiNTx··on Ask HN: Freelancer? Seeking freelancer? (December 2023)
SEEKING WORK | Remote | Part time | Vancouver, Canada

Availability: +- 20 hours per week or less, hourly or contract work

- Current project: https://territoriez.io/ (Elixir/Phoenix/LiveSvelte)

- Past projects: https://geoquest.gg/ (made with SvelteKit), https://github.com/woutdp/live_svelte

- GitHub: https://github.com/woutdp

- Website: https://wout.space/

- Contact: hn@wout.space

Full-Stack Web Developer. Looking for Elixir/Phoenix work. 8+ years of professional experience working with various web technologies, mainly Python, Django and Svelte(Kit). Would be open for working with Python/Django/Svelte(Kit). Also open to work on frontend and/or backend only projects. Website refresh/new website projects is also something I'm interested in.

POiNTx··on Stephen Fry reads Nick Cave's stirring letter about ChatGPT and human creativity [video]
Of course there are, but I don't see a world where AGI doesn't become a thing. So then it's a question of what to do with that.
POiNTx··on Stephen Fry reads Nick Cave's stirring letter about ChatGPT and human creativity [video]
What I'm trying to say is that people should integrate whatever is coming. You can't fight it.

But one can invent a car and still ride a horse. What's lost is that everyone now rides a car and not a horse.

You can still find your own values and express them in your own way, AI doesn't prevent that.

Page 1 of 6Next →