HNHacker News
TopNewBestAskShowJobs

m8s

520 karma · joined December 3, 2020

submissionscomments
m8s··on Gleam Is Now on Tangled
There is no source because it's not true
m8s··on Gleam v1.17.0
Hmm they all seem to be working for me
m8s··on Google Workspace CLI
I’ve been really unhappy with pretty much every Google product I’ve used except their consumer productivity tools — Gmail, Calendar, and Meet. Diving into Google Cloud has been extremely unsatisfactory
m8s··on Parrot – type-safe SQL in Gleam, supports SQlite, PostgreSQL and MySQL
The two feel very different. Elixir is introducing gradual set-theoretic typing (https://hexdocs.pm/elixir/1.18.4/gradual-set-theoretic-types...) while Gleam has a static Hindley-Milner style type system.

To me, Gleam feels like if Elm’s type system met Rust’s syntax. I really like it. But I also really liked Elixir too, I just can’t live without Gleam’s type system anymore.

m8s··on I spent five years building a webapp and got my first $1 (2022)
It’s a good lesson. We found PMF with a shared google sheet and a bit of data processing behind the scenes. The level of polish I’d come to expect as an engineer at an enterprise company was astronomically higher than what was actually needed for our customers to give us their dollars.
m8s··on Governor Newsom signs landmark bill to protect kids from social media addiction
This is a really gross comment and should be removed.
m8s··on "Frost crack" sounds may come from sky, not trees
That reminds me, there’s a really great survival game called The Long Dark in which you survive a plane crash in something like the arctic circle and must survive. If anyone is into survival games, definitely check this one out!
m8s··on Enhancing Your Elixir Codebase with Gleam
Two quite different things!

Elixir’s use: https://hexdocs.pm/elixir/main/alias-require-and-import.html...

Gleam’s use: https://tour.gleam.run/advanced-features/use/

m8s··on Enhancing Your Elixir Codebase with Gleam
Erika wrote “Using use in Gleam” in part because I didn’t understand how to use `use`, so I feel at least a little bit qualified to answer this.

I find that `use` is quite effective when needed. This is the part referenced in her article where I find `use` particularly helpful. Something like:

    fn outer() -> Result(success, failure) {
      result.map(parse_id(), fn(id) {
        ... // More code that uses the id
      })
    }
Becomes:

    fn outer() -> Result(success, failure) {
      use id <- result.map(parse_id())
      ... // More code that uses the id
    }
In more concrete terms, I’m building an application with Gleam and Wisp that uses Wisp’s `require_form`. The type signature for `require_form` is:

    pub fn require_form(
      request: Request(Connection),
      next: fn(FormData) -> Response(Body),
    ) -> Response(Body)
But I get to use it like this:

    use form <- wisp.require_form(req)
I’m not sure if I have the appropriate nomenclature here, and I consider myself a beginner of writing strongly typed functional languages, but when I use `use`, I get to invoke the callback with the value on the left side of the arrow.

As Erika so thoughtfully put it:

> The key is to use `use` when it allows you to highlight the happy path of your code … A use expression is syntax sugar, and it’s always possible to write Gleam code without it, though maybe not as clearly.

You can see more here [1] if you want, but note that there are a lot of structural changes in this codebase while I learn and figure out how to best use Gleam and Wisp :)

1. https://github.com/usepriceflow/app/blob/main/src/app/web/ad...

m8s··on The Guide to Gleam Concurrency [video]
Awesome video, and definitely captures some of the super powers of targeting the BEAM! Thanks for sharing
m8s··on Gleam v1.0.0 Released
Congrats to the community, Gleam is a really awesome language! This is such exciting news!
m8s··on Building ColdFusion for the Web
Hands up if you’ve still got ColdFusion powering critical apps in production to this day
m8s··on Ask HN: Is React Native still popular?
It doesn’t really matter what can be done natively versus in a browser. For many folks, apps are the internet. This take is very developer-centric but it doesn’t account for the real world. Many people prefer using apps, especially middle-age to older demographics. That’s what our analytics say at least.
m8s··on My Favorite Gleam Feature
I think one of the most important "features" of Gleam is that it intentionally has a small footprint. I agree with your main point here: that Gleam is highly discoverable. You arrive at this conclusion via "reading someone else's code", which I agree with, but I think there's a second important piece regarding discoverability as well: you can read the standard library and be fairly confident that there aren't hidden "better ways" of doing things. I really like Elixir's standard library documentation too, there are numerous examples of how to actually use each function, which is really helpful for beginners.

As an aside, I really love the citations in the third column of your website. Super cool!

m8s··on Gleam: a type safe language on the Erlang VM
For what purpose? Is Gleam today unable to do things you’d like to be able to do?
m8s··on Gleam: a type safe language on the Erlang VM
It really is. A typed BEAM language (that also compiles to Javascript), a fantastic community, and a growing ecosystem. I’m really excited for the future of Gleam!
m8s··on Gleam: a type safe language on the Erlang VM
Feel free to ignore it then?
m8s··on JDK 21 Release Notes
Are there modern learning resources available for Java?
m8s··on Ask HN: What topics are good for a UI/UX Primer?
https://www.refactoringui.com/ is a great resource for practical UI design concepts.
m8s··on Svelte 4
> Svelte 4 reduces the Svelte package size by nearly 75% (10.6 MB down to 2.8 MB), which means less waiting on npm install. This improvement will be especially noticeable for users who are loading our interactive learning experience on learn.svelte.dev for the first time, users of the Svelte REPL, and users with limited connectivity. The majority of the remaining package size is eslint support, which necessitates distributing a CJS build, and once the eslint rewrite is completed the Svelte package size can drop by over another 50%.

Wow, that’s a pretty big reduction.

m8s··on Gren – an Elm fork
That’s fine, but that’s just your opinion. A lot of people use Elm in production and don’t have issues with it. I’m neutral on Elm. I think it’s a cool language but I don’t use it. I’m not convinced that “constant commits” signal the life of a project though.
m8s··on Gren – an Elm fork
There's more to the story in that Elm is a stable, high-quality frontend language that works as well as its creator wants it to for now. There are a lot of happy Elm users over on the Elm Slack, and it's being used in production at various companies.

There's also [Elm on the Backend](https://gotoaarhus.com/2023/sessions/2529/elm-on-the-backend), a recent talk given by the creator of Elm, about his experiments in using Elm as a full-stack language. There are some notes and a few photos, but no video as far as I'm aware.

I'm not involved in the Elm community nor do I write it for a living though, so I'm only kind of aware of what's going on over in the Elm world.

m8s··on TigerBeetle raises $6.4M to power the future of financial accounting infra
Joran Greef (TigerBeetle's CEO) had a fascinating conversation with Richard Feldman on his Software Unscripted podcast. Highly recommend giving it a listen!

https://twitter.com/sw_unscripted/status/1584695054563954689

m8s··on Carta lays off 10% of the workforce
I was about to ask the same thing. Why would someone leave voluntarily for worse benefits?
m8s··on Slack’s free plan change is causing an exodus
That’s surprising. In what way? I find it to be the most consistent and the most correct out of any chat software I’ve used, including IRC, Slack, Mattermost, and Microsoft Teams. They seem to just get a lot of stuff right.

The only thing that took me some time to adjust to was how overwhelming joining a new server can be. So many channels! Everything needs my attention! But after using it for a long time, I think this is actually a feature. I can mute channels and categories I’m uninterested in, but how many channels on Slack are never found due to poor discoverability?

We run both Slack and Discord at my work and the engineers vastly prefer Discord, for what it’s worth.

m8s··on Browser password managers – flawed security, by design
That was obviously not the actual code :)
m8s··on Browser password managers – flawed security, by design
I recently had to tell my bank, with my voice over the phone, that the make and model of my first car were the three random words 1Password generated for me. “Yes, the make and model of my first car was… a Venerated Breakfast Platoon.”
m8s··on The layoffs at Klarna
Buy now pay later schemes are usually really terrible ideas. Companies like Klarna and Afterpay should be avoided at all costs. Often the loan repayment schedules are intentionally confusing and predatory.

Here’s a relevant You Need A Budget podcast episode for those looking for more on this topic: https://open.spotify.com/episode/0Z9NQoseq5nvutAInURR2r

m8s··on Apple and MLS to present all MLS matches for 10 years, beginning in 2023
Major League Soccer*
m8s··on LaMDA is not sentient
The direct quote from Lemoine in the Washington Post is a little less insulting to his intelligence.

> “If I didn’t know exactly what it was, which is this computer program we built recently, I’d think it was a 7-year-old, 8-year-old kid that happens to know physics,” said Lemoine, 41.

https://www.washingtonpost.com/technology/2022/06/11/google-...

Page 1 of 3Next →