HNHacker News
TopNewBestAskShowJobs

fndex

106 karma · joined September 24, 2021

submissionscomments
fndex··on Discord monetization: microtransaction stores and paid 'exclusive memes'
I think one reason Discord is so popular and many people don't talk about is the same reason why games like Minecraft, Tibia, GTA San Andreas and many other old games are still popular today.

The reason is that they allow users to customize the software through code. When you create a Discord or Minecraft server, they act as a "platform" for your server, you can write code to customize every aspect of it. I think that counts a lot.

I don't know any alternative that is as customizable and good as Discord, and I don't think Discord will be replaced any soon while a platform that supports that level of customization comes up.

fndex··on The Design Principles of the Elixir Type System [pdf]
But how will it deal with nulls? For example, let's imagine I have a user schema. This schema has 3 fields, username, is_admin and admin_level. I can guarantee using changesets that when is_admin is true, admin_level must be non null. When is_admin is false, it can be null. admin_level would be always treated as nullable by the type system?
fndex··on The Design Principles of the Elixir Type System [pdf]
> Each “key type” in a map type is either required or optional.

I wonder how that will work with Ecto schemas, or if it will work at all. Ecto Schemas do not specify required/optional keys, the Changesets do. But Changesets only exists in runtime. Loosing the ability to reuse the schema and have required/optional keys defined on the changesets would be a huge step back in my opinion, but pretty much all the type systems I know work that way.

fndex··on Apple Vision
See you in a decade then.
fndex··on Why I Am Getting a Framework
He didn't mention the word "buy" even once on the article. Maybe he needs to use those machines for work :)
fndex··on Rust: The wrong people are resigning
I don't get why he is disappointed at ThePrimeagen and the people that forked the language.

I only got to know about the trademark policy draft because of his video, and he was pretty much just reading the document and commenting about the weird stuff. Why would you be disappointed at someone who is just sharing information? I'm disappointed at who WROTE the document in the first place. What should ThePrimeagen have done? Just ignore it?

And who cares if some people forked the language? The language is open source, they are playing by the rules. Blaming the community won't solve anything, we should blame those in power.

fndex··on Why I Left Rust
https://github.com/crablang/crab
fndex··on Why I Left Rust
Oh, boy... they do have bigger problems than that.
fndex··on Amazon employees plan to walk off the job as tech worker tension rises
https://archive.is/vxqX6
fndex··on Where have all the hackers gone?
> Elm and Clojure both have something like "if Evan/Rich didn't think you should have that thing you wanted, have you considered that maybe you're wrong? "

Might be true for Elm, but how is that the case for Clojure? Clojure, like any other Lisp, has a very powerful macro system. If Rich didn't think you should have that thing you wanted, build it yourself.

fndex··on Running JavaScript in Rust with Deno: Experimenting with Deno's Rust Crates
Imagine you are building a game in Rust where players can write mods. Those mods could be written in JS/TS while the game is written in Rust.
fndex··on PHP Popularity: Is it decreasing and what to do about it?
Please do nothing. Just let it die as it should have had already.
fndex··on Google ordered to pay $500K to Montrealer over links calling him pedophile
What does this have to do with my initial question? I'm not arguing that the links should've been taken down.
fndex··on Google ordered to pay $500K to Montrealer over links calling him pedophile
I was not asking if calling someone a pedophile is freedom of speech under the current legislation of the US, but more on the philosophical idea of freedom of speech.
fndex··on Google ordered to pay $500K to Montrealer over links calling him pedophile
Are you implying that calling someone a pedophile is freedom of speech?
fndex··on How big should a programming language be?
You might like Clojure.
fndex··on Introducing react.dev
> I want the decisions I make to last decades, not just a few years. I don't think that's a sentiment appreciated by most, though.

Clojure and ClojureScript very much appreciate that sentiment. re-frame, a library for creating React apps with ClojureScript is rock solid, many years old, and still on version 1, meaning no breaking changes so far. 5 years old re-frame code still looks the same today.

fndex··on Why big tech companies need so many people
Not something more, IMO. You are free to download any other browser, there are plenty to choose from.
fndex··on Why big tech companies need so many people
Anti-competitive practices is when the government prevents other companies to join the market. That is not the case here. Do you really expect Apple to make life easier for their competitors? You're free to use Samsung, Galaxy Buds, Whatsapp and Spotify if you don't like Apple's products.
fndex··on Erlang: The coding language that finance forgot (2022)
I know Rust is a systems programming language, but I've been playing with it for some time writing high-level stuff like REST/GraphQL APIs, websockets and web backends in general. And I have to admit it is a breath of fresh air.

No crazy enforced OOP with a gazillion classes and inheritance, no non-sense design patterns just because the language enforces you to use OOP for everything, an amazing type system, no null pointer exceptions, great compiler error messages and so on...

Of course there are problems, like any other language, but it is crazy how it as a systems programming language is so good at expressing domain logic.

Java has a much bigger ecosystem, but judging JUST by the language design, I'd pick Rust over Java without thinking twice.

fndex··on Microservices are hard
Could you give some non trivial examples of architectures or techniques in software engineering that work regardless of the context?
fndex··on Breaking up with Python
Yep.
fndex··on Lionel Messi Is Impossible (2014)
Messi plays for PSG too.
fndex··on Modern PHP features – PHP 8.0 and 8.1
PHP has static types.
fndex··on Find a good available .com domain
But Facebook was actually called theFacebook back then, so not sure if this is a valid comparison.
fndex··on We killed our end-to-end test suite
AFAIK, kafka messages doesn't have "types", and even if they did, you would be relying on an external system, not your type system. If you are not convinced, test it by yourself, create two services and a kafka topic and produce a message from one service to another with different types on each service.
fndex··on We killed our end-to-end test suite
clojure.spec is not a type system. Still, my point is, just using a typed language won't remove the need for contracts, you would still need to roll up something like Nubank did even if it means using MyPy reflection features.

For example, imagine you have two services that communicates through a message queue. Service A produces X as a string, but Service B consumes X as an integer. You can type that, both services would compile, but it would break as soon as you tried to consume that message. And yes, you can build something using MyPy reflection or whatever, but you have to build it anyway.

fndex··on We killed our end-to-end test suite
Types are compile checks, they have nothing to do with contracts, having contracts for messages that will transit over a queue are still useful even if you are using a typed language.
← PreviousPage 2 of 2