3,922 karma · joined November 20, 2008
I'm also surprised that someone ... selling something ... gets such negativity on Hacker News of all places. Again, if you don't like it or it doesn't have value to you, don't buy it!
I started after enrolling my children in it, and then figuring "why the hell not, I should train too."
I live in a large neighborhood of single-family homes and know many of my neighbors, most of which have become good, trusted friends.
It works very well, is completely transparent to the end user, has automatic query logging, and provides a clean URL that can be easily shared.
B2B software with figures like the OP means you're building a professional relationship with a customer (as opposed to a transactional one), and can push back when they're complaining about something, for example.
> "Your software isn't giving us the numbers you said it would!"
> "It will, if you use it as you were instructed, we're happy to review that with you again, but you have to have the internal SOP that you'll use it in the way it was intended if you want the numbers it can provide."
ngrok http 8000 -subdomain=my-custom-subdomain
from the root of my application (which is wrapped in a single line shell script). For a business, paying $10/dev/month for ngrok is a rounding error.I love the idea of a library trying to squeeze every last bit of performance out of the CPU, but I'm genuinely curious at the problems it solves in the real world.
But, virtual servers I can understand. I've been using Vagrant since 2013 and it ... just works. We've built our own custom box to standardize our development environment as well.
If there is one company and person I'd like to mimic, it's Hashicorp and Mitchell. Work to build an amazing product or products, get it ready for a sale or IPO, and then transition into an IC to continue doing what I love: hacking.
Congratulations on the success!
In our system, by default, all objects start at 1000. If a new account is created, and they want to increase a sequence to some value (say they already have 5000 invoices in QuickBooks and they want to start all new invoices at 10000 so they know every invoice #IN10000 and higher was created in our system), we have a simple interface that one of our support staff can go to arbitrarily increase the next value.
Customer #C1010 may have 2 locations #L1899 and #L8443 and many invoices #IN1940 and #IN2399 for example.
When we first built the system, I considered using native Postgres sequences to track these, but decided against them because of how they are affected during a rollback. In our system, each account has a record in a table that controls the next value of the sequence.
We have an event in our ORM to automatically generate the next sequence value as part of the transaction so if the transaction is rolled back, the next sequence value is as well. Sure, it requires locking the sequence record but it's a very small table and generating a sequence is quick. We wrapped everything up in a stored procedure named generate_sequence() which returns the next value of the sequence and increments it. It's scaled to millions of records quite well without issue.