HNHacker News
TopNewBestAskShowJobs

willlll

1,801 karma · joined May 31, 2011

bitfission.com
submissionscomments
willlll··on Crunchy Bridge's Ruby Back End: Sorbet, Tapioca, and Parlour
We use Crystal a lot too at Crunchy Bridge. It is used for all of the on-instance programs, the per-region monitoring service, as well as the customer CLI. I'm a big fan of Crystal, and wrote the postgres driver for the language :)

However a main reason we used Ruby was for the production REPL which lets us manage our entire server fleet with like 1/3 of the staff we'd need otherwise.

willlll··on “You meant to install ripgrep”
I appreciate each and every download.
willlll··on Soft deletion probably isn't worth it
For the control plane part of Crunchy Bridge, on day one I decided to go with the deleted_records table that is mentioned at the end of this post. It's been great. No need to keep around dead data that no one ever looks at.

We don't need to have `where deleted_at is null` on every single query. But the best part though is our actual working data set of records we actually care about is tiny compared to the deleted cruft that would have otherwise been just sticking around forever. Backups and restores take no time at all. It's really cool that postgres lets you have conditional indexes on things, but it's even cooler not to need them.

willlll··on Sorbet: Stripe's Type Checker for Ruby
Overall sorbet has been good and useful, so thank you. But you just have to be careful when you're not using the same version of ruby that stripe uses. I recently got hit by a bug:

    # typed: strict
    extend T::Sig

    sig {params(x: Integer, y: String).void}
    def run(x:, y:)
      puts(x + 1, y)
    end

    args = {
      x: 1,
      y: "Hi"
    }

    run args
type checks just fine in sorbet, but is an error in ruby 3+. It works though (with errors) in 2.7 and lower which is what Stripe uses from what I gather.
willlll··on Nix: An idea whose time has come
If there is something like heartbleed that needs to update a common dependency, how does NixOS deal with that? Do you need to rebuild everything that uses that dependency, instead of just changing the shared library on a more traditional os?
willlll··on Slacktyping: I'm typing when you're typing (2018)
Thank you. please don’t try and right click to steal the source though
willlll··on Watch ing Star Wars in Postgres
Thank you :)
willlll··on Watch ing Star Wars in Postgres
In the video of the talk I also go into watching star wars (or your webcam) in real time in the terminal rendered with emoji
willlll··on Amazon Timestream – Fast, scalable, fully managed time series database
I'm actually impressed at how incredibly expensive they made this. $0.50 per million 1KB writes, which is 20x what aurora charges, since aurora allows 8KB writes. And Aurora is already expensive if you actually read/write to it.
willlll··on Commons Clause
Redis is no longer free and open source software with this move. It is now proprietary software.
willlll··on Chef gives up a Michelin star, reflecting hardship of ‘the Other France’
"He could no longer pay for the personnel, produce and precision that go into charging one-star prices." Apparently the NY Times can no longer pay for the precision that goes into subject-verb agreement.
willlll··on Pspg – Postgres Pager
This is not correct. ctrl+c cancels the query and does not quit psql:

  =# select pg_sleep(10);
  ^CCancel request sent
  ERROR:  canceling statement due to user request
  Time: 1269.674 ms (00:01.270)
willlll··on Pencil and Paper Games
I'm sad it doesn't have the best pencil and paper game, where mostly you write something down in secret and say "done": Escape From The Aliens In Outer Space http://www.eftaios.com/
willlll··on Google Chrome to stop autoplaying content with sound
This is bad news for my personal homepage, the autoplay music is an important part of the experience.
willlll··on How the Collison brothers turned ‘seven lines of code’ into Stripe
> Over the past couple of weeks, Stripe began handling a large, though undisclosed, portion of Amazon’s transactions. Neither company will address the scope of the deal—which was only revealed by Stripe’s addition of Amazon’s logo to its website—but it could help Stripe greatly increase its trans­action volume.

So, reading into this, amazon presumably invested in stripe, then gave it some transaction traffic to juice the numbers to make an S-1 look better?

willlll··on ZFS on Linux v0.7.0 released
Maybe it's fixed with this version, but we've seen kernel pauses on the order of minutes under high memory / OOM situations, with ZoL trying to get memory.
willlll··on Show HN: Webhook – A lightweight configurable tool written in Go
The icon in the readme looks like the heroku logo
willlll··on 0.30000000000000004
https://github.com/marcandrysco/Errol

> Our original evaluation of Errol against the prior work of Grisu3 was erroneous. The evaluation indicates a 2x speed improvement over Grisu3. However, corrected performance measurements show a 2x speed loss to Grisu3.

willlll··on From Ruby to Crystal: A Quick Look
> but hardly any of my Ruby code is CPU constrained,

All of the IO in crystal is async, so even if you're IO bound, crystal is probably a lot more efficient.

willlll··on My 2015 MacBook Pro Retina Exploded
The system puts in random fake images to make sure the techs are paying attention.
willlll··on Wal-E: Continuous Archiving for Postgres
I've used wal-e in production continuously since around march of 2011, so almost 6 years, and it's been great.
willlll··on CSS Grid – Table layout is back. Be there and be square
On my professional web site I just kept using real tables for layout.
willlll··on Security Key for safer logins with a touch
I just implemented U2F, and it's a bit of a pain to detect that the plugin is there. You have to load the real u2f js, then check if functions on the u2f object that are normally there aren't anymore, since the firefox plugin strips all of them off but 2. Doable, but a pain.
willlll··on Spotify excessively writing to drive
I wonder if they are also aggressively vacuuming the sqlite db on mobile devices too.
willlll··on When to Avoid JSONB in a PostgreSQL Schema
Was the 30% disk saving over petabyte+ data set on a single-node Postgres or on your Citus cluster?
willlll··on Show HN: A WebSite Hit Counter in Crystal and Postgres
I found out that µBlockOrigin was blocking the old host of my hit counter, hit-counters.net, so I had to write my own. Sadly lost the 7segment display of the old one, but at least now I can get more accurate hits.
willlll··on Crystal: Fast as C, Slick as Ruby
I recently gave a quick 10 minute talk on Crystal if anyone wants a video introduction https://www.youtube.com/watch?v=oC9IknG40po
willlll··on Typosquatting programming language package managers
My gem has a good downlaod/loc ratio.
willlll··on How to move from Amazon RDS to a dedicated PostgreSQL server
Yeah, I would* do a `pg_dump | pg_restore` with these settings: https://github.com/heroku/heroku/blob/master/lib/heroku/help...

*disclaimer: I wrote that code while at heroku

willlll··on PGHoard: Tools for making PostgreSQL backups to cloud object storages
You can set archive_timeout to something like 1 minute to bound the window.
Page 1 of 4Next →