<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: POiNTx</title><link>https://news.ycombinator.com/user?id=POiNTx</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Apr 2026 10:17:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=POiNTx" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by POiNTx in "Raylib v6.0"]]></title><description><![CDATA[
<p>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.<p>[0] <a href="https://odin-lang.org/" rel="nofollow">https://odin-lang.org/</a></p>
]]></description><pubDate>Thu, 23 Apr 2026 17:14:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47878411</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=47878411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47878411</guid></item><item><title><![CDATA[New comment by POiNTx in "Simplify your code: Functional core, imperative shell"]]></title><description><![CDATA[
<p>You use UTC which doesn't adjust daylight savings.</p>
]]></description><pubDate>Tue, 28 Oct 2025 10:27:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=45731105</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=45731105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45731105</guid></item><item><title><![CDATA[New comment by POiNTx in "Simplify your code: Functional core, imperative shell"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Tue, 28 Oct 2025 05:20:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=45729426</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=45729426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45729426</guid></item><item><title><![CDATA[New comment by POiNTx in "Simplify your code: Functional core, imperative shell"]]></title><description><![CDATA[
<p>In Elixir this would be written as:<p><pre><code>  db.getUsers()
  |> getExpiredUsers(Date.now())
  |> generateExpiryEmails()
  |> email.bulkSend()
</code></pre>
I think Elixir hits the nail on the head when it comes to finding the right balance between functional and imperative style code.</p>
]]></description><pubDate>Mon, 27 Oct 2025 20:19:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45725779</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=45725779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45725779</guid></item><item><title><![CDATA[New comment by POiNTx in "Massive Attack turns concert into facial recognition surveillance experiment"]]></title><description><![CDATA[
<p>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.<p>[0] <a href="https://www.portals.org/" rel="nofollow">https://www.portals.org/</a></p>
]]></description><pubDate>Mon, 15 Sep 2025 23:43:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=45256305</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=45256305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45256305</guid></item><item><title><![CDATA[New comment by POiNTx in "Why Elixir? Common misconceptions"]]></title><description><![CDATA[
<p>Something like <a href="https://github.com/mrdotb/live_react">https://github.com/mrdotb/live_react</a> might be what you're looking for.</p>
]]></description><pubDate>Wed, 23 Jul 2025 21:36:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=44664309</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=44664309</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44664309</guid></item><item><title><![CDATA[New comment by POiNTx in "Happy 20th Birthday, Django"]]></title><description><![CDATA[
<p><a href="https://backpex.live/" rel="nofollow">https://backpex.live/</a> is a pretty good Phoenix Admin. Django's admin is still unmatched though.</p>
]]></description><pubDate>Mon, 14 Jul 2025 21:38:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=44565654</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=44565654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44565654</guid></item><item><title><![CDATA[New comment by POiNTx in "Python in LibreOffice (LibrePythonista Extension)"]]></title><description><![CDATA[
<p>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)?<p>There's UNO and there's also openpyxl to interact with workbooks from Python, but both solutions were a bit slow when testing it.<p>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.</p>
]]></description><pubDate>Sun, 25 May 2025 04:09:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=44085449</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=44085449</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44085449</guid></item><item><title><![CDATA[New comment by POiNTx in "Ask HN: Freelancer? Seeking freelancer? (April 2025)"]]></title><description><![CDATA[
<p>SEEKING WORK | Remote | Part time | Vancouver, Canada<p>Availability: 20 hours or less per week<p>Technologies: Elixir, Phoenix, Svelte<p>- GitHub: <a href="https://github.com/woutdp" rel="nofollow">https://github.com/woutdp</a><p>- LiveSvelte: <a href="https://github.com/woutdp/live_svelte" rel="nofollow">https://github.com/woutdp/live_svelte</a><p>- Website: <a href="https://wout.space/" rel="nofollow">https://wout.space/</a><p>- Contact: hn@wout.space<p>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.</p>
]]></description><pubDate>Tue, 01 Apr 2025 19:50:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43550686</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=43550686</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43550686</guid></item><item><title><![CDATA[New comment by POiNTx in "Learn You Some Erlang for Great Good (2013)"]]></title><description><![CDATA[
<p>Fly.io for Elixir is very popular</p>
]]></description><pubDate>Sun, 16 Mar 2025 15:18:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43379712</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=43379712</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43379712</guid></item><item><title><![CDATA[New comment by POiNTx in "Serialization Is the Secret"]]></title><description><![CDATA[
<p>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.<p>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.<p>I can't find the article now but I remember reading about this and someone can probably link it.</p>
]]></description><pubDate>Thu, 03 Oct 2024 03:22:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=41727065</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=41727065</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41727065</guid></item><item><title><![CDATA[New comment by POiNTx in "Orion, our first true augmented reality glasses"]]></title><description><![CDATA[
<p>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...</p>
]]></description><pubDate>Wed, 25 Sep 2024 19:59:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=41651252</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=41651252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41651252</guid></item><item><title><![CDATA[New comment by POiNTx in "Arrest of Pavel Durov, Telegram CEO, charges of terrorism, fraud, child porn"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Sun, 25 Aug 2024 15:47:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=41348161</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=41348161</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41348161</guid></item><item><title><![CDATA[New comment by POiNTx in "Managing my motivation as a solo dev"]]></title><description><![CDATA[
<p>Customer validation is also super easy to get.<p>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.</p>
]]></description><pubDate>Wed, 05 Jun 2024 20:37:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=40590290</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=40590290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40590290</guid></item><item><title><![CDATA[New comment by POiNTx in "LiveView Is Best with Svelte"]]></title><description><![CDATA[
<p>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.<p>A little bit more about it here: <a href="https://katafrakt.me/2021/10/13/app-with-elixir-business-logic-with-gleam/" rel="nofollow">https://katafrakt.me/2021/10/13/app-with-elixir-business-log...</a><p>You'd call Gleam code like this inside Elixir:<p>`:game.move(game, player_1, :left)`<p>And you'd receive an Elixir map `%Game{}` which you can then use in LiveView. If that makes sense.</p>
]]></description><pubDate>Wed, 03 Apr 2024 18:45:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=39921355</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=39921355</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39921355</guid></item><item><title><![CDATA[New comment by POiNTx in "LiveView Is Best with Svelte"]]></title><description><![CDATA[
<p>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.<p>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.<p>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</p>
]]></description><pubDate>Wed, 03 Apr 2024 17:31:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=39920409</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=39920409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39920409</guid></item><item><title><![CDATA[New comment by POiNTx in "LiveView Is Best with Svelte"]]></title><description><![CDATA[
<p>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.<p>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).<p>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.</p>
]]></description><pubDate>Wed, 03 Apr 2024 17:26:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=39920350</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=39920350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39920350</guid></item><item><title><![CDATA[New comment by POiNTx in "LiveView Is Best with Svelte"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Wed, 03 Apr 2024 16:43:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=39919667</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=39919667</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39919667</guid></item><item><title><![CDATA[New comment by POiNTx in "LiveView Is Best with Svelte"]]></title><description><![CDATA[
<p>That's what I did with: <a href="https://territoriez.io/" rel="nofollow">https://territoriez.io/</a><p>It's a clone of <a href="https://generals.io/" rel="nofollow">https://generals.io/</a><p>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.<p>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.<p>One possible solution which I didn't investigate, but should work, is to write all game logic in gleam (<a href="https://gleam.run/" rel="nofollow">https://gleam.run/</a>). 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.<p>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 :)</p>
]]></description><pubDate>Wed, 03 Apr 2024 16:07:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=39919223</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=39919223</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39919223</guid></item><item><title><![CDATA[New comment by POiNTx in "LiveView Is Best with Svelte"]]></title><description><![CDATA[
<p>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:<p><a href="https://github.com/tonydangblog/liveview-svelte-pwa">https://github.com/tonydangblog/liveview-svelte-pwa</a></p>
]]></description><pubDate>Wed, 03 Apr 2024 15:56:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=39919087</link><dc:creator>POiNTx</dc:creator><comments>https://news.ycombinator.com/item?id=39919087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39919087</guid></item></channel></rss>