HNHacker News
TopNewBestAskShowJobs

alance

75 karma · joined March 25, 2012

submissionscomments
alance··on Replacing my mail server with AWS SES
For many years I used an EC2 server for my personal email (running Debian and Postfix) but I recently decided it might be better to have one less internet-facing server to worry about.

This article documents the setup for AWS SES to handle incoming/outgoing mail delivery.

alance··on Using extended attributes to tag files
Ha, it suddenly sounds like trouble.

Eg: one could piggy-back an entirely new file onto an existing file (it might have to be text encoded?).

It looks like the kernel might impose a limit of 64KiB on a file's metadata, but that's still quite a lot of room for data smuggling...

alance··on Using extended attributes to tag files
Yes concerning. The possibility of losing them between filesystems is worrying too.

One rule of thumb is `mv` will keep the attributes by default (given similar filesystem) and everything else needs tweaking/extra args. There's a section on it over here:

https://wiki.archlinux.org/title/Extended_attributes#Preserv...

alance··on Using extended attributes to tag files
My recent journey sorting through years of files and categorizing/tagging them with the built-in Extended File Attribute functionality.
alance··on How I block all online ads
Uhh? I didn't ask anyone for an explanation.
alance··on How I block all online ads
Except my 1-sentence comment was not an AI callout that said: "Hey this is AI slop". I validate the content of the article but express personal disappointment in the AI writing style.

I admit it is perhaps unkind of me to not provide the laundry list of AI-tells in their article, but I see their response to me as being a direct lie ("I haven't used AI to write this post, that's just my style") so what explanation do I owe them?

alance··on How I block all online ads
Yeah not helping you design your next "be more human" prompt.
alance··on Ask HN: Abandoned/dead projects you think died before their time and why?
I liked del.icio.us, it was online bookmark sharing, but with actual people I knew, and it had genuinely useful category tagging. I guess it was basically replaced with https://old.reddit.com and maybe twitter.
alance··on Ask HN: Abandoned/dead projects you think died before their time and why?
Worth remembering it was the Microsoft partnership with Nokia that intentionally killed it.
alance··on Why Self-Host?
Felt like a ramble:

I've gone through a few different incarnations of self-hosting email and web over the years.

- Used to have a little rack machine sitting in a data center (that I would occasionally have to go and "fix" in the middle of the night, because flakey KVM). It was running Openvz (sort of a precursor to lxc/docker) to host my web projects and email. I think it was about $70 per month to host (this was maybe about 2009ish)

- At some point I moved things over to servers in Vultr, and then later, EC2 in AWS. And was quite happy for say, a decade or so. Accessing email meant ssh-ing over to a tmux session that was running mutt on the mail server. Email setup was postfix, procmail, bogofilter, mutt. Costs were more like $30-40 per month. I never liked having web-accessible servers "out there" that needed to be looked after, but I did my best to keep them locked down and actually, everything went fine. Ssh on a non-standard port with TOTP 2FA seemed to work very well.

- Recently my email has gone sort of "serverless" (big double-quotes there) and my web projects are now all AWS lambda functions sitting behind API Gateways + Cloudfront for static items. Email is AWS SES delivering to an S3 bucket which gets polled by a super basic script running in my local home network.

All my personal boxes (including my phone) are connected via wireguard (VPN) so I realised I don't actually need to have any globally accessible linux servers anymore (i.e. I can access email at home from anywhere via wireguard on my laptop/phone). The monthly bill is a couple of dollars (with billing alerts in AWS), and I like having less machines to worry about.

alance··on Stategraph: Terraform state as a distributed systems problem
I'm wondering how access controls play into this.

Team A manages VPCs and Security groups, for example.

Team B manages autoscaling groups, EC2, etc.

It's great that now the two teams can look after their own things and not be too worried about resource contention with the other team. But if it's a centralized Postgres database (as you seem to be suggesting?) and both teams have write access to it...

How do we prevent teams from making changes to stuff that isn't "theirs" ?

And if the answer is "well this team only has IAM access to resources xyz", well then might it be a little tricky to represent the Stategraph DAG permission boundaries in IAM policy?

(ps: huge fan of terrateam's offerings -- Alex from tfstate.com)

alance··on Signal Secure Backups
Is that a real thing?
alance··on Signal Secure Backups
> Signal doesn’t let me donate Mobilecoin from the wallet right inside Signal. What’s the point of having a payments feature if I can’t use it to pay you?

"Grift for thee, but not for me"

alance··on The dirtiest CRM: a tale of woe for a Slack app that deserved better
There's a version of it hosted over here:

https://www.crazygames.com/game/10x10

(I thought at first it was a bit like tetris, but there's a sort of key difference in the cadence/timing/pressure system)

alance··on The dirtiest CRM: a tale of woe for a Slack app that deserved better
Btw that 10 by 10 game is crazy addictive. It's sort of like tetris but it's not. Would love to know whether the game code intentionally gives you the blocks you need, sometimes.
alance··on The dirtiest CRM: a tale of woe for a Slack app that deserved better
Bit of a yarn going over a recent bit of creative work that made me feel good: creating a janky client management system to help with the Dibs slack app.

You can probably get a feeling for where my priorities sit - secure, low-tech, terminal accessible. Got a recommendation?

alance··on Ask HN: What Are You Working On? (June 2025)
https://dibsonstuff.com

a Slack and Discord app to help take turns (i.e. queue) with your teammates, overwhelmingly used for sharing tech resources like staging servers. It's crazy something that started so tiny (almost as a joke for my old workplace) has grown into my main "thing".

https://tfstate.com

an infrastructure configuration monitoring solution for terraform/opentofu managed stacks. I am unsure how to proceed with this tbh. It's sort of the underdog in this space - it's much cheaper than the competitors. But really, it's yet to make a dent.

(I am maybe prowling around for something new to build)

alance··on Re-architecting a Slack bot for scale
Dibs On Stuff is a Slack bot (and now also a Discord bot) that was built to help developers take turns with server hardware, so that they could demo their changes to various stakeholders.

After publishing the bot on the Slack App Directory there were some immediate scaling and performance challenges. In this post: I've gone into the how and why of the Dibs On Stuff re-architecture, and dunked a stubby quill into its origin story.

alance··on Facebook Is Ending Support for PGP Encrypted Emails
Wondering if this is FB's attempt at a toothy grimace towards the UK's Online Safety Act.

https://en.wikipedia.org/wiki/Online_Safety_Act_2023

alance··on A more mature take on stateless Terraform
For secrets or credentials, I've had a reasonable experience putting the name of the secret into a terraform resource, but then setting the secret's actual value outside of terraform (i.e. via web or cli).

This avoids storing the secret's value in the state file (it's stored as an empty string) and also keeps the terraform plan clean.

alance··on Cellebrite asks cops to keep its technology secret
Still an interesting read:

https://signal.org/blog/cellebrite-vulnerabilities/

alance··on HashiCorp adopts Business Source License
The licensing changes seem to imply that if they have a service and you also build a similar service, but offer it for cheaper, then (if they want to) they can price you out of the market with licensing fees.

One of my weekend projects https://tfstate.com is intended to aid with statefile configuration drift detection. Which (I've since discovered) is also something that Hashicorp offers as a service.

I feel worried.

alance··on Pa – a simple password manager based on age
oh hey - I too made a password manager - and it's named paw! Pronounced however the heck you like.

https://github.com/alexlance/paw

It's a wrapper around gpg symmetric encryption that accesses a store of encrypted passwords sitting on a remote server accessible via ssh.

alance··on Ask HN: Comment here about whatever you're passionate about at the moment
Three things recently:

1) I made a Slack app in my spare time to help with a thing at work. Jumped through the hoops in the Slack marketplace, and then it was live (Dibs On Stuff). A few people at work used it and that was great! Solved the problem.

Blinked and then about 100 organizations had installed it. Xmas 2022 came and I used my free time to add (a ton of) extra features, and a paid mode to access them.

I feel like I have made quite a few side projects in the last 20 years - eg I spent 8 years on ONE of them (do you know how many commits you can make in 8 years?) Anyway this weekend Slack project that ate up one little Xmas has some legs!

I get an email every time someone uses the thing. There's new mail every day and honestly it is just - imagine this next bit uppercase and uncensored, possibly ending in 1 or 2 exclamation marks: f-ing awesome.

2) The private message app Signal has had to make some difficult decisions around continuing to support sms. It's fair enough sms is problematic. But there's also an aspect of "sorry but bad luck" to all the people that not only are stuck still using sms, but who acted as evangelists for Signal - helping our family members help themselves etc.

So I wrote an exporter for Signal: extract sms, mms and all Signal messages, into an xml file that can be re-imported into the stock Android message store. So at least you can choose to move them somewhere else.

I don't actually feel great about this, and more generally I do think Signal are saying all the right things, but it's still definitely a walled garden, eg:

You are free to fork Signal - it's open source - but you're not going to be able to message anyone on "original" Signal from your fork. They own the servers, and that's fair enough. Data tx/rx isn't cheap when you multiply it by hundreds of millions.

I am aware of Moxie's article from ages ago, touting the benefits of being able to upgrade people overnight to encrypted end to end protocols. But wow, the walled garden aspect is actually - STILL - after all these years and learnings - just terrible. I can pick up any phone and call anyone on any phone network. I can send an email to someone on goddamn hotmail or yahoo for example (if only it were encrypted by default). But Signal, Whatsapp - private networks, walled gardens, selfish, un-open, and disappointing considering what we're capable of.

Anyway, wrote an exporter (alexlance/signal-message-exporter) so you can get your stuff out of Signal. If you want to. (Their built-in exporter doesn't export Signal messages)

3) Before I realized Iran had really seized control of the country's internet - I spent time trying to migrate the Signal proxy to AWS lambda. I think it's still a decent idea. Lambda would let you spin up extremely cheap Signal proxies, regionally located all over the world. I got it working in nginx and also haproxy via docker image and deployed to Lambda, but unfortunately, it doesn't quite work because the lambda https endpoints don't support SNI.

If anyone can convince AWS to permit SNI in their lambda https endpoints then it could still be a goer. It may be the case that other people are wrecking this idea (illicit data over proxies via SNI). But yeah, super-cheap reverse proxy, yes ok with a 15 minute timeout, but it'd do brilliantly in times of need.

alance··on Nextdoor ends its program for forwarding suspicions to police
As someone who is trying to run a vaguely similar service (streetmates.net) I'm wondering how communities can be guided to be constructive and pleasant.

Or maybe people are just people, pleasant and unpleasant and everything else, and it can't really be helped?

It seems like putting something on the front page like "hey don't be a racist busy-body" isn't really enough. And at the other end of the extreme you've got Facebook employing organisations that filter sensitive content - with fairly horrific outcomes for the individuals who do the monitoring.

HackerNews is a pretty good example of getting a certain standard of behaviour out of people en masse. I wonder what the secret sauce was?

alance··on Show HN: Is it conchable? Taking turns using a conch
That's sort of how it works. You request the conch, and if no-one else has it then it's yours.

Otherwise you're in the queue, waiting... always waiting, until finally the conch falls from your predecessor's grip - and you get notified via email or webhook.

Or as a last resort, by polling:

  while [ 1 ]; do
    if [ "$(curl -sfL conchable.com/bearer ...)" == "me" ]; then
      echo "THE CONCH IS MINE!"
      exit 0
    fi
    sleep 30
  done
alance··on Show HN: Is it conchable? Taking turns using a conch
Made this thing, curious if it can actually be useful to anyone.

A problem is happening at work with contention for a particular resource (a pre-production demo environment).

The developers have to continually negotiate taking turns to occupy the environment (to get their changes previewed just before they are launched). There's only one of those preview environments because it uses the same db as the main production system.

So I guess I'm playing with the idea of automating that conversation away. Also, the webhooks are neat; lets the person who adds themselves to the queue decide exactly how (slack/pagerduty/etc) they want to be notified.

SEIZE THE CONCH.

alance··on Show HN: Little site to help connect the people on your street together
That's almost similar to what I'm aiming for. But it (nextdoor) seem very keen to validate an exact person's house address. Not sure how I feel about that. I started signing up and kind of got turned off by the house address confirmation stuff.

Guess it's double-edged though, if you don't confirm a person's exact residence then anyone could read the locality's discussions ... tricky.

Is there something inherently wrong with a random person signing up to a particular neighbourhood's group chat? These aren't exactly going to be super-private conversations if they're with everyone on your street ... and I want to encourage community building ... not necessarily GATED-community building. The end goal is world harmony, not several billion factions.

alance··on Show HN: Little site to help connect the people on your street together
Does that mean you'd need to have their phone number first, like everyone would need to be a WhatsApp contact?

I guess my approach is aimed more toward casual acquaintances, where you might not know the people on your street very well at all, let alone have their phone number. (but I might be misunderstanding how whatsapp groups work).

alance··on Show HN: Little site to help connect the people on your street together
Yeah I'm in two minds about obtaining the precise street address.

On the one hand there is actually nothing to stop you just entering a street name and omitting your residence number - I think it will still setup the notice board and email group exactly the same.

And there is nothing to stop anyone from putting in some other street number than their own. There's no easy way to validate the correctness of that info - and it would be invasive to try.

There might be something useful that can be done with the street number though, I'm not sure. The flexibility of the geographic boundary is basically as general as the google maps API search. So it can be very broad.

As far as yoga groups or parents school groups etc are concerned, it seems like that domain is covered by FB...

I'm keen on fostering better street communities. Very light connections. Making it possible to do things like borrowing tools from each other, or creating a little veggie garden for the street, encouraging the sharing of resources with your neighbours. There's so much overlap and waste with everything...

And e.g. you probably wouldn't lend your spade to some random in your neighbourhood, but maybe lending it to the guy who lives across the road, is less of a big deal. After all - you know where he lives.

Love what you said about having a feel good story, and creating an example notice board page. Thank you will do!

← PreviousPage 2 of 3Next →