HNHacker News
TopNewBestAskShowJobs

fizx

5,360 karma · joined March 9, 2008

Kyle Maxwell

@kmx

Previously @twittereng, websolr.com, bonsai.io, Houseparty, etc

kyle@kylemaxwell.com

submissionscomments
fizx··on Netflix has created a self-fulfilling cancelation loop with its new shows
Wheel of Time was made by a team that respects the source material about as much as the team that ruined the last seasons of Game of Thrones. Unfortunately, you're not missing much.
fizx··on Devpod: Remote development environment at Uber
This is the problem i hope WebAssembly fixes. 2GB of RAM per microservice is nuts. If we can get this back down to 10-100MB, then maybe we can run a company's dev env from a laptop again.
fizx··on Platform certificates used to sign malware
Can we call this Death Star security? Invincible quintillion-dollar project, unless you hit the tiny trash vent at the back of canyon 35.
fizx··on Dynamic types have the potential to be more than "no static types"
As a sometimes-clever programmer, I find it interesting that Github Copilot is discouraging my inherent cleverness.
fizx··on US annual inflation declines to 7.7% in October vs. 7.9% expected
Really wish we reported the 4.8% number. Seems more reasonable for a monthly report to focus on the changes of the month.
fizx··on Ask HN: How did you stop drinking?
There's a great selection of craft non-alcoholic beers on the market these days.

My personal favorite is this one: https://athleticbrewing.com/products/downwinder-gose-non-alc...

fizx··on Dear Chess World
Half the reason people believe Hans was cheating is cause he couldn't do this for the game in question.
fizx··on Dear Chess World
Anyone 1500+ can recognize the natural move--that's what makes it natural.

Probably the easiest case of "natural move but blunder" is anything that is a top 3 engine move when looking 3-5 moves deep, but losing significantly on deeper evaluation.

Also, this sort of categorization is at the heart of how chess puzzle collections are automatically assembled. A good chess puzzle contains an unnatural move that wins--the exact opposite of the natural but blunder. Chess sites scan their online play databases for these all the time, and serve them up as puzzles.

fizx··on Online art communities begin banning AI-generated images
People were saying this stuff when Deep Blue beat Kasparov. Chess is perhaps thriving more than ever.
fizx··on Dropping playground latency by porting SpiceDB to WASM
You mentioned your uncompressed binary was 25MB. The compressed version still must be huge.

Did you look at using the TinyGo compiler? It should help some, and I'm curious what the difference is, and whether there were any blockers to using it.

fizx··on Oven: The Company Behind Bun
I've done this solo sprint for a year to get a startup running a few times in my career.

The time it worked, I worked 10-4pm (heads down) in the ideation phase, ate well, slept well, got two hours of exercise daily, and had an interesting social life. Once the startup took on a life of its own, the personal life started to suffer and I got up to 80+hrs for a month or two before settling into ~60.

The two times it didn't work, I embraced the 60hr/week grind and was a bit more isolated, perhaps drank a bit more to unwind, and my focus deeply suffered.

I really love the solo thing, but in the early days, be creative and happy. The grind will find you. Market fit means more work. No doubt Jarred will find building a company and Bun at the same time even more challenging that just building Bun.

fizx··on We switched to cursor-based pagination
parent-child in lucene is a hack. It only works when the children immediately follow the parent, and that never happens when it's in a different file because you updated the child. It's a minor miracle you didn't notice the error with numeric pagination.
fizx··on Connect-Web: TypeScript library for calling RPC servers from web browsers
There seems to be two groups of protobuf libraries for HTTP 1.1, the ones that want to make it look like binary+HTTP/2 grpc (grpc-web, grpc-gateway), and the ones that make it look like idiomatic web tech (twirp).

I'm excited to see more ideas in the second category.

fizx··on Pikascript: An ultra-lightweight Python engine that can run in 4Kb of RAM
I wonder if this works in webassembly?
fizx··on WebAssembly in my browser desktop environment
It could be reading and writing to a virtual filesystem in your browser. You could then view the transformed file inside the browser as well.
fizx··on WebAssembly in my browser desktop environment
All of the old Java (and ActiveX, ewww) was operating under the principle that you'd grant the applet more permissions than javascript, whereas WASM grants the same or fewer permissions!
fizx··on Ask HN: What do you do when competition signs up for your service?
There's only been one time that did real damage. Talked with a security firm, got an audit, and the bad guy did a good enough job of covering their tracks (did the recon with their account, actual attack over TOR) to make it hard to prosecute.

Another time, when one of our competitors was creating a bunch of spam accounts on our app, we just had our VC call their VC. They blamed it on an intern and stopped.

I was at a drinking event at a conference 3 years after an acquisition talk fell through, and an employee of the acquirer told me that they got our customer list from a specific endpoint manipulation, and that caused them to lose interest.

Everyone tries querystring and url manipulation. It's too tempting not to poke around.

In the real world, you can't prosecute any of this.

fizx··on Ask HN: What do you do when competition signs up for your service?
Every competitor that has signed up for any service I've been involved with has tried to hack us. Whether it's something relatively benign like some querystring manipulation, or something interesting like an elasticsearch zero-day, they all try.

This is a good time to think about security. Can they find competitive information in your urls (you use sequential customer ids?)? Are there areas not locked down?

Remember their IP addresses and cookies, and do a scan of your logs in a month.

Still, it's not worth the trouble of kicking them out. Fake emails are a dime-a-dozen.

fizx··on My guiding principles after 20 years of programming (2020)
This is pretty similar to the "pantsers vs plotters" debate in creative writing. Do you need an outline before writing a novel? How much of one?
fizx··on Vintage Startup Employee Swag?
If anyone has a copy of the twitter "#shirt" or the Andy Warhol bird shirt, I'd buy them off you too (lost mine moving sometime).
fizx··on The sunny side of firing someone
Not at a growing young company.

There are cases where a late-stage startup got into too many businesses and the next investor wants them to cut a line of business. Like I can imagine Uber having to shed UberEats if that was going poorly, but the investor liked the core driving business.

fizx··on Single dependency stacks
This is great, but you might want to have multiple postgreses for the different workloads. DB postgres != rate-limit PG != search PG. It's pretty hard to optimize one DB for every workload.
fizx··on Make the “semantic web” web 3.0 again – with the help of SQLite
You can host this on a requestor pays S3 bucket.
fizx··on Make the “semantic web” web 3.0 again – with the help of SQLite
Effectively, this is a pretty cool way to get an OSS version of something like https://www.snowflake.com/guides/public-data. Also something like a lighter version of https://datasette.io/.

The thing it's kinda missing for me is the ability to compose multiple SQLite databases, possibly provided by different domains.

It'd be nice to join together different public datasets. In a weird personal example, if Strava exposed SQLite, I'd love to do a join to weather.com and see when the last time I biked in the rain was.

It'd be cool if one half of some table was at foo.com and I could add a few rows to it on my bar.com domain, and then the combined dataset was queryable as a single unit.

fizx··on ‘I felt powerless – so I started filming’: CyclingMikey vs. dangerous drivers
The USA has a philosophy of having loose laws and occasional enforcement. This is partly cultural, and has a lot of negative side effects, particularly for minorites. It's pretty easy to do drugs or drive 5-10mph over the speed limit as a white person, but it's much more risky if not.

Contrast much of Europe, where speed enforcement is done by camera. I got a $20 mailed ticket for driving 5kph over the limit. Fair, easy, scales with the offence, and there's not an excuse to pull over people for racial profiling.

So yes, I would love to live in a world where people got tickets for jaywalking on an empty street. Because that would encourage us all to respect laws, and would also encourage reform of laws that aren't working.

Unfortunately, reform takes time, and there's a lot wrong with the system. Until then, I'm not judging the "regular person snitching," particularly if they're complaining about behavior that's dangerous to others.

fizx··on Trying Out Generics in Go
I use Go because it compiles quickly, the GC is reasonable, the ecosystem is good enough, and it's not rocket science (Scala/Rust/etc).

While generics moves Go in the direction of rocket science, it feels like this is solving a problem I always have.

fizx··on From Node to Ruby on Rails
5 years on Rails, 6 months on next.js+prisma.

React is way better on the view side than ERb/HAML/whatever.

I miss ActiveRecord. Prisma is relatively clunky. I like having fat models integrated with the DB.

It also feels like I'm fighting with the type system because every variation of a row with different joins becomes a different type. I'd rather be lazy about joins.

fizx··on Up all night with a Twitch millionaire
It's probably more stressful having a camera on you for with thousands of fans offering critical feedback every second.

Maybe something like an engineering management role where all you do is share performance reviews?

fizx··on Zinc Search engine. A lightweight alternative to Elasticsearch written in Go
sqlite is itself a full text search engine. It's gotten pretty good over the years.

https://www.sqlite.org/fts5.html

fizx··on T-Wand: beating Lucene in less than 600 lines of code
Lucene has the concept of "minimum match," [1] which is what you're playing with. You can implement your algorithm on top of this relatively trivially, by re-querying with min_match=n, min_match=n-1, etc until you get results. If you wrote a Lucene plugin to do this, it would also be small (<600 lines) and fast.

People have chosen not to do this because (1) it adds complexity, and (2) the bold declaration you made (A good top-K algorithm should rank a document containing more user query terms higher than a document containing less number of user query terms) turns out to be only somewhat true in practice. It's pretty common for pagerank and other non-linguistic ranking signals etc to trump linguistic preciseness.

That said, everything is a tradeoff, and the industry has clearly chosen to return more candidates than strictly necessary, then prune them after the fact with better ML & relevance, rather than trying to construct the perfectly minimal candidate set while missing some possible results.

[1] See https://www.elastic.co/guide/en/elasticsearch/reference/curr...

← PreviousPage 5 of 34Next →