HNHacker News
TopNewBestAskShowJobs

mattste

90 karma · joined February 1, 2013

submissionscomments
mattste··on Ash Framework – Model your domain, derive the rest
This is the beauty of Elixir's macros. For a lot of libraries, they are usually just calls to an underlying function with the same name. Because of Elixir's functional style and immutability, it makes it much easier to read through the magic compared to macros in other languages.

That being said, I don't have any hands-on experience with Ash so I can't speak for its approach to macros. I do think Zach's work in the community with Ash/Igniter is something to be applauded for. I'm currently working in a Python codebase that lacks conventions and would kill for something like Ash that provides consistent design patterns.

mattste··on Show HN: Earthly Cloud – simple, fast, consistent builds
It's great to see this publicly launch! Congrats to the team on making a great product. The Earthfile + Earthly CI approach is so much better than GHA or CircleCI. I feel like the only piece missing is distributed builds. Maybe one day?

And the pricing scheme is awesome, especially for smaller teams.

mattste··on Earthly CI: Launching a new era for CI
I've been a very happy user of Earthly and this is one of the final pieces of the puzzle that I've been waiting on[1]. I've found Earthly to be the perfect balance between declarative, repeatable, flexible yet easily understandable.

While I've been fortunate to have early access to Earthly CI, the cool thing is that the Earthly primitives it uses are available for everyone to see in the latest launched version [2]. The only puzzle piece missing is distributing the compute amongst different machines but that appears to be on the team's mind.

And the zero-margin compute pricing is a breath of fresh air.

[1] https://news.ycombinator.com/item?id=30869904

[2] https://github.com/earthly/earthly/releases/tag/v0.7.0

mattste··on Launch HN: IcePanel (YC W23) – Onboard engineers with explorable system designs
I came here to echo the pricing sentiment. I just encountered this problem and documented my company's architecture using Whimsical. I felt it was lacking.

We're a <10 person start-up. $40/mo seems too much relative to how often we'd use the tool. I would use this tool if there was a cheaper option ($10/mo/editor) for a team of our size.

mattste··on Why I program in Erlang (2012)
As someone in the ecosystem, I've found a noticeable uptick in job postings the past few years. I haven't applied for such jobs so I can't personally attest to it.

After gaining some recent experience in Go, I'd still choose Elixir for any web project. Phoenix/Ecto/Absinthe/LiveView are all extremely productive libraries for web projects. Tooling/infrastructure work may be another discussion.

mattste··on Angular without SSR is faster than Next.js with SSR
I agree heavily with this assessment.

I think there is room for a framework similar to Phoenix LiveView but also allows compiling certain interactivity to the client. Next.js and Remix are kind-of fulfilling this but they have downsides.

In the BEAM ecosystem, I think there is room for [Gleam](https://gleam.run) to be used to compile to both Javascript and the BEAM.

mattste··on Flutter 3
I'm curious if anyone can comment on their experience using the HTML renderer.
mattste··on Dagger: a new way to build CI/CD pipelines
I recently converted my company's build process to Earthly. I find its syntax to be much easier to grok than CUE. They've also extended/added Docker commands that shore up some of the pain points of working with Dockerfiles.

>Dagger has a wider scope: build, test, deployment, any part of a CI/CD pipeline really

I don't see any reason this can't go into an Earthfile. We have all of these parts in our Earthfiles.

The one common pain point that both Dagger and Earthly haven't solved for me is unifying the machine parallelization with the DAG parallelization. According to this comment[1], it seems like Dagger doesn't have that goal.

For example, we only run our +deploy target if +build, +test and +lint pass. We parallelize each of those targets across workers in Github Actions. I don't know what the solution is to this problem but I know this was annoying to have to handle with Github Action's workflow syntax and horrible to debug locally.

[1] https://news.ycombinator.com/item?id=30859864

mattste··on Show HN: EnvKey 2.0 – End-To-End Encrypted Environments (now open source)
How does this compare to Doppler[1]?

Is there a way to handle the configuration in Terraform?

[1] https://www.doppler.com/

mattste··on Nix Flakes: An Introduction
This was wonderfully written. As a Nix beginner, I found it super helpful and wish there was more documentation that explained the major aspects of Nix this clearly.
mattste··on Discord Launches Threads
Agreed. My gaming persona is different than IRL persona. I personally love the way Slack handles accounts.
mattste··on Metaprogramming in Elixir
My team has had success training experienced devs in Elixir that were coming from other backgrounds. I would caveat this with the fact that we just have a Phoenix app with hardly any code that leverages OTP.
mattste··on Five Oregon counties vote to leave state, create 'Greater Idaho'
Considering that the impacted region has a lot of forestry, there are environmental concerns with how they will protect the land in their new state's regulatory system.
mattste··on DigitalOcean App Platform
This was a pain point for me when I was first evaluating them too. I had to manually email support for them to inform me they run in GCP US West

EDIT: see sibling comment from anurag. It appears they now list the regions they support in their documentation.

mattste··on Build a real-time Twitter clone with LiveView and Phoenix 1.5
I 100% agree about Elixir and its surrounding ecosystem being almost perfect. It's insane how simple the building blocks are and how easy the code is to read and write.

Here are a few pain points I've ran into: 1. Typespecs leave something to be desired compared to other type systems 2. Maps vs structs and easily using one in place of the other

Things that my team would like to see: 1. Components in addition to templates as a first-class citizen in Phoenix. My team loves React because of the component model even though we hardly use an insane amount of interactivity.

mattste··on History of Erlang and Elixir
Phoenix + Ecto has been the best web framework experience I've ever encountered. I have experience with Django, Flask, Express and Rails. I'm a huge fan of Elixir as a language and the BEAM runtime. The libraries have been pretty great too.

I agree that templating could use a more forward-looking approach as a first-class concept (something like https://github.com/github/view_component).

mattste··on Show HN: To fight quarantine boredom I build a site to watch movies with friends
Have you investigated what it'd take to addd Hulu support? I find majority of my shows are split between Netflix and Hulu.
mattste··on SwiftUI Defaults Considered Harmful
I recently started a SwiftUI project and this is a very accurate take based on my experience.

How I spend my time in SwiftUI: 1. Wondering how I can get some conditional logic. Coming from React, this is a major issue that needs to be addressed. 2. Figuring out where and what the error actually is. 3. Restarting Xcode for my view to magically start working again.

The two-way data binding is a blessing and a curse. I like React's method of passing callback functions to keep the state logic separated. This comes up with me when working with sheets.

I see the potential. I like having an all-in-one experience that IDE + framework integration provides but the poor defaults and breaking bugs really make me question the execution.

mattste··on DigitalOcean raises $100M in debt as it scales toward revenue of $300M
I just led a migration for my small team from Zeit Now to Render (https://render.com/). It has filled this need pretty well. There are some features that I wish existed but overall the simplicity has been great for our use case. They do not have auto-scaling but it's planned (https://feedback.render.com/features/p/autoscaling).
mattste··on The Race to Become the Beyond Meat of Fish
If you believe that a vegan or vegetarian diet can't supply adequate nutrition, then your information is outdated.

Source: my wife who is a Registered Dietitian Nutritionist.

mattste··on Now 2.0
NOTE: v1 is fully maintained and supported. We will only announce a deprecation date once we have ensured all our customers workloads are migrated and the tooling is in place for a smooth transition.[0]

Based on that, it seems to me like I will have to migrate to Now 2.0 eventually.

[0] https://zeit.co/docs/v2/platform/upgrade-to-2-0

mattste··on Now 2.0
One of the major pain-points I've hit with this concept of a "Monorepo" is tooling support since many things are built on the premise of separate repos for each code base. Pain points: Git+Github issues, CircleCI, etc. How do you handle those problems?
mattste··on Now 2.0
I'm in the same boat. I've spent a lot of time getting my company's deployments set-up on Now's Docker offering (which was awesome). I'm not looking for my app to be serverless. And I'm also not looking for a "Majestic Monorepo".
mattste··on Basecamp Employee Handbook
The EFF has an excellent guide on this that goes through all of the details[0].

[0]: https://www.eff.org/wp/digital-privacy-us-border-2017

mattste··on Introducing Increment
This is awesome. Is there an email form where I can sign-up to get an alert when a new issue is released?
mattste··on Ask HN: What's your favorite tech talk?
I definitely recommend Philip Roberts's talk. I watched it a couple of months into learning Javascript and then everything "clicked."
mattste··on HyperTerm – JS/HTML/CSS Terminal
This is something I wish more effort was being put into. As more and more apps become V8-based, with each shipping completely separated, I wish there was some way to have them share resources. I know there are a lot of issues with this (different Node versions, possibly security, and figuring out inter-app resource sharing), but it would be magnificent for my computer's battery life. Does anyone know of any work being done on this front or a possible implementation?
mattste··on Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB
I'm continuously impressed by Rethink. When I first used it, I ran into a few issues with changefeeds. Since they work in the open, I could quickly look at the Github issues and see that the fixes/features were already slated for future release milestones. To me, that's a huge win.
mattste··on State of Starfighter
Just a heads up to the Starfighter team browsing this thread: going to starfighter.io with uBlock Origin results in the job listings being blocked.

EDIT: it appears starfighter.io is different than starfighters.io.

mattste··on Facebook CTF Is Now Open Source
I had the opportunity to do two CTFs using this platform during college. Hats off to Gulshan and Javier for releasing this.
Page 1 of 2Next →