HNHacker News
TopNewBestAskShowJobs

mhahn

15 karma · joined February 28, 2012

submissionscomments
mhahn··on Stop syncing everything
I looked at using turso embedded replicas for a realtime collaboration project and one downside was that each sync operation was fairly expensive. The minimum payload size is 4KB IIRC because it needs to sync the sqlite frame. Then they charge based on the number of sync operations so it wasn't a good fit for this particular use case.

I'm curious if the graft solution helps with this. The idea of just being able to ship a sqlite db to a mobile client that you can also mutate from a server is really powerful. I ended up basically building my own syncing engine to sync changes between clients and servers.

mhahn··on New Book: 'Relevant Search'
I've only read this and the Definitive Guide to ES. "Relevant Search" is more focused on working through how to tune search results and understand why things are happening and how you can make them work in your favor. They work through a lot of great examples and go much deeper than anything else I've come across.
mhahn··on New Book: 'Relevant Search'
Awesome book. I read the pre-release and it was a great deep dive into various topics that will help improve your search application. I highly recommend for anyone who is working with Elasticsearch (I think they also have a Solr appendix, but I was only interested in ES)!
mhahn··on Using Protobuf instead of JSON to communicate with a front end
I use Protobufs for my startup and it has saved us an incredible amount of time building out iOS, Android, and Web clients. With a small team, any time we can shave by not having to re-write the modeling layer in all of these languages is a big win. As the writer of the APIs, I publish the new Protobuf models/services and then can switch over and instantly start working with real objects in Swift or Java.

Coming from a larger startup, I've also experienced the pains of trying to maintain JSON objects between different services. Protobufs have some quirks, but I think its a great solution to get behind at any stage.

mhahn··on Using Protobuf instead of JSON to communicate with a front end
I'm curious if Google has a common envelope they send all service messages with. Ie. A common way of specifying pagination parameters, auth tokens etc. when sending protobuf messages between services. I've been using protobufs for my services and wrote a ServiceRequest object which has worked well. I was more just surprised about not being able to find much documentation on actual deployments as opposed to just simple tutorials.
mhahn··on Show HN: EventGrid – Event Management and Ticketing
1. https://www.eventbrite.com/reserved-seating/ 2. your event pages look identical
mhahn··on GitHub Down with a 503
all the overachieving engineers working on a saturday...
mhahn··on Show HN: Automatic weekly meal planner, also plans your leftovers
this would be awesome if it had an integration with instacart, ie. you send me the groceries every week
mhahn··on Things I Wish I Had Known About Django Development Before Starting My Company
solid list, I would also add that it is extremely useful (I would argue necessary) to use vagrant (http://www.vagrantup.com/) to manage your development environment.
mhahn··on Django Redis Pipeline trick
if len(request.pipeline):

you want to execute only if it has a length.

cool though, I am using pipelines for something at work and read this post and realized I was executing even if there was nothing to execute!

mhahn··on Django Redis Pipeline trick
I would argue that it is more readable to do:

if request.pipeline.command_stack: request.pipeline.execute()

rather than

if len(request.pipeline) > 0: request.pipeline.execute()

thoughts?