HNHacker News
TopNewBestAskShowJobs

zeendo

245 karma · joined January 1, 2015

submissionscomments
zeendo··on Replacing tmux in my dev workflow
Run WezTerm on the server, too. https://wezterm.org/multiplexing.html
zeendo··on XSLT: A Precision Tool for the Future of Structured Transformation
I used XSLT and Active Server Pages to build my school district's website back around 2000 - each school had their own page and each teacher had their own, too - teachers could modify their pages directly in the browser.

I forget the _exact_ mechanics but it was definitely all done in Internet Explorer with XML as the actual content per-page and transformation was done using XSLT.

Interesting but I definitely hate XSLT as a result. Considering this was my first real programming job, it's surprising I continued.

zeendo··on Helix Editor 25.07
To anti-pile-on to the other replies - this is exactly why I haven't given it much of a spin.

I'm glad to find out about evil-helix.

zeendo··on Trunk-Based Development
Every time this comes up it feels like two groups of people meet where one group either thought the other didn't exist or was much smaller than it really is. It's bizarre.
zeendo··on I don't do Domain Driven Design
I'm tempted to guess where you were that this occurred (A large payroll/benefits software company - maybe even the ultimate one...)

But then again this story has probably happened thousands of times...

zeendo··on Intel announces Arc B-series "Battlemage" discrete graphics with Linux support
Or literally "just" take the "just" out of the question and 90% of the time the tone becomes inquisitive instead of rhetorical.
zeendo··on 8 months of OCaml after 8 years of Haskell in production (2023)
Yeah - we definitely consider the language edition as we revise our internal lang extension rules...but we still find ourselves even a little more conservative than even GHC2024.
zeendo··on 8 months of OCaml after 8 years of Haskell in production (2023)
Being conservative in the language extensions you use/allow in an organization is pretty important to maintaining usability of Haskell as a language.

Do we ever use TypeFamilies and DataKinds? Sure, but it's very rare.

https://www.simplehaskell.org/ is a pretty reasonable set of guidelines (though we opt for a more conservative approach ourselves)

zeendo··on Playground Wisdom: Threads Beat Async/Await
What is with the unprovoked condescension?

I guess I get the article author was trying to be provocative but what are you doing?

zeendo··on Ask HN: How do you communicate in a remote startup?
Not everything is out to get you. Gather doesn't have any automatic idle detection.

I doubt Gather would work well for a large company where there is less trust between individuals - maybe that's the scenario you're imaginging it in?

It works well in our small company where trust is implied by being here and we have few concrete expectations. In practice it's no different than being signed in to Slack.

You have the option to mark yourself as away or to passively lock your desk area so people have to knock to come in but this status isn't apparent unless someone comes by.

zeendo··on Ask HN: How do you communicate in a remote startup?
We've had great success with Gather. Organic conversations happen a _lot_ more often than when we only used Slack. We still keep Slack for async communication.

We have a decent spread of people across the introvert-extrovert band and we don't set concrete expectations on camera on or spending time in common areas - but both are encouraged.

I'm surprised how well it works. We've been using it for almost 2 years now, I think.

Our company is about 15 people.

zeendo··on What's New in Ruby on Rails 8
Surely one can imagine a middle ground between one giant monolith and a huge mess of microservices?
zeendo··on What Does It Mean to Be a Signal Competitor?
The strength and security of any good protocol, especially Signal's, does not come from obscurity.

See https://en.wikipedia.org/wiki/Security_through_obscurity

zeendo··on What Does It Mean to Be a Signal Competitor?
Interesting how the issue there was both usage of their servers and the name.

Molly (https://github.com/mollyim) uses their servers but not their name and seems to be operating just fine. I've been using it for almost a year now.

I found it primarily because I wanted to run Signal on a tablet.

zeendo··on Ask HN: Is it possible to make FAANG salaries without working there?
You've been brainwashed.
zeendo··on Parse, Don't Validate (2019)
Haskell has this simply for historical reasons. It's a wart and we wish it weren't so but changing it would break a lot of legacy code (and probably have adverse performance impacts in some cases) so it remains. So as it is today, [a] indeed means it can be empty or not. And a function signature of "[a] -> a" is essentially an unsafe partial function.

That isn't to say you _have_ to write it this way for new things and there are packages like https://hackage.haskell.org/package/safe which provide non-partial/safe versions of the various unsafe base functions (like head, maximum and friends).

The base package in Haskell also includes nonempty which is probably what you want in a lot of cases, anyway.

zeendo··on Parse, Don't Validate (2019)
Please don't do the first. Handle the bad cases. "sane default" fallback should be extremely rare.

Explicit > Implicit

zeendo··on Induced demand is not a useful concept
It sounds more like people use "induced demand" with negative connotations when referring to "induced driving demand" rather than truly meaning that any source of induced demand is bad. i.e. it's just a conventional shorthand?
zeendo··on Man convicted after mother of bike theft victim holds protest outside his house
There are at least two u-locks out there which have a reasonable amount of angle grinder resistance now. Hiplok's D1000 and The Litelok X3.
zeendo··on MDMA and the Quest for Connection in a Fractured World
I read about NAC (N-Acetyl L-Cysteine) in various forums and it seems to be a relatively safe antioxidant that does wonders for MDMA after effects and "losing the magic". YMMV but I highly recommend.
zeendo··on Walking naturally after spinal cord injury using a brain–spine interface
Distraction.

Dentures? Distraction.

Prosthetic arms and legs? Distraction. Why aren't we regrowing limbs yet? Lizards can do it. Follow the money.

zeendo··on Security audit of account and payment services
Has there been something discrediting Private Internet Access? Or are they just not as transparent as Mullvad?
zeendo··on Async message-oriented systems vs. REST for inter-microservice communications
To quote the gp

    hide the queue under the API layer of the receiver
zeendo··on Tell HN: Firefox Is an awesome browser right now
Which part of their comment reads as blaming Firefox?
zeendo··on Ask HN: What would be your stack if you are building an MVP today?
Frontend - Elm + Tailwind (possibly Miso, it has been a while since I tried and dismissed it)

Backend - Haskell, Postgres

Infra - My most recent experience is with AWS and ECS but I'd likely try out Nomad and HAProxy.

Pretty much any other moving parts would depend on the MVP itself.

zeendo··on Ask HN: What's on your home server?
Ohhh, glad you asked this. Can't wait to read what others have running.

Here's my setup.

I have a mini-pc with 32gigs of ram running as my combo "compute" and "storage" server.

It has an attached 5 bay enclosure with 8TB of storage on it.

On it I run

- Caddy to host static sites (my blgo) and to terminate HTTPS for other services - audiobookshelf (mostly unused)

- calibre-web (organizes ebooks)

- diun (notifications about docker image updates)

- gitea (personal git repos, mostly useless honestly but I do put some things in here before they go to GitHub)

- home-assistant (heavily used)

- mealie (heavily used)

- mpd (music player daemon, moderately used throughout my house)

- a VPN container for things that I want to only run inside a VPN and never when the VPN is down

- plex (heavily used to organize and play media elsewhere in the house)

- postgres

- scrutiny (for consolidated reporting of disk issues across my machines)

- shiori (read-it-later style bookmark manager)

- snapcast (coordinates multi-room audio throughout my house on a bunch of raspberry pis attached to speakers, heavily used)

- syncthing (heavily used)

- vaultwarden (heavily used)

- woodpecker (self-hosted CI, moderately used)

- zwave-js-ui (manages the zwave based smart home devices I have...about 20 or so)

My router/firewall is a separate devices running OPNsense and I use Wireguard to remote in - also works wonderfully.

I run all the services with docker-compose. The server itself is a bit of a snowflake but all the critical parts of the services are in their respective docker directories so backup is a snap (aside from postgres which has a separate backup process).

Currently I'm working on documenting a recovery procedure for Vaultwarden from our Backblaze backups so that in the event something happens to me my wife will be able to recover the Vaultwarden instance and our passwords. That's a fun exercise in documentation and simplifying the process.

Snapcast has really been a dream for multi-room audio setup. It presents a Spotify Connect device to anyone on my wifi. It has a separate stream which comes from whatever is being played on MPD and it is easily configured to play audio from whichever of those two streams is actively playing music...so I don't have to manually switch between them.

Caddy has been great for organizing everything and ensuring each service has HTTPS. I understand Traefik is somewhat more purpose built for doing this with a bunch of containers but I haven't had a need to switch.

I do use https://github.com/lucaslorentz/caddy-docker-proxy for letting the containers themselves describe their respective domains and mapping.

I do have a VPS and use it for the occasional site that needs to be more reliable than my home internet (which itself is quite reliable but I'm not counting 9s there). More and more I find I'm comfortable putting random static sites on my machine at home, though.

Parting thought: Exposing all of these details is a bit of a security concern, for sure. But ultimately I think it's (a) Not a huge security concern -- I need to assume any attacker knows what I'm running anyway, and (b) part of the fun is talking about it so I lose some value if I don't.

zeendo··on Ask HN: How many of you are open to Piracy again?
Readarr, Sonarr, Prowlarr (and others)

Modern versions of CouchPotato or SabNZB if you were familiar with those

zeendo··on The expanding dark forest and generative AI
Your out of hand dismissal of this is to point at technologies that practically no one uses in total and definitely no one uses for the scenarios the author is referring to (e.g. search results)?

You think suddenly everyone is going to start signing their tweets and blog posts and people will en-masse assign a trust score to said content based on the people they know and trust in their PGP keychains?

I'd like that world quite a bit but it's decidedly not going to happen - probably at all and definitely not at scale. Are you so sure that's what we'll all do in response to automated content that you're calling this article a "sky-is-falling thesis"? If so then I'm genuinely baffled by your confidence here. Where does it come from?

zeendo··on Arizona inducing the labor of pregnant prisoners against their will
Do you understand that there's a difference between legal and moral?
zeendo··on WireGuard for the ESP32
As a consumer wanting local control ZigBee is an advantage for off the shelf products. Almost every off the shelf product that uses WiFi does not offer local control (and if it does then it often only offers that in conjunction with cloud control).
← PreviousPage 2 of 5Next →