HNHacker News
TopNewBestAskShowJobs

sperand_io

6 karma · joined March 31, 2014

submissionscomments
sperand_io··on Product Path Dependence
Thanks for flagging. I'll share with the author. Glad you got over the hump— this is definitely an important framework for product builders!
sperand_io··on Segment Sources – Load Salesforce, Zendesk, Stripe into Redshift and Postgres
Sorry for the confusion there — our integration that sends data to Salesforce is on the integrations growth tier, but the pricing for data sources and warehouses is separate (and does indeed have a free trial :).

Your point prompted us to add a callout in the UI to prevent this sort of confusion going forward (see here: https://www.dropbox.com/s/yoc6a3nvsoupesa/Screenshot%202016-...)... and more generally we'll be working to make the distinction between data sources and data destinations clearer from a UX perspective in the near future.

sperand_io··on Segment Sources – Load Salesforce, Zendesk, Stripe into Redshift and Postgres
Great question! When you enable a source, we begin running a job on an interval for you that pulls the data from the source, applies some light normalizations and transformations, and sends the data to our Object API (which is in charge of upserting the data into Segment and flushing it to your warehouse).

In Salesforce's case, we issue bulk queries to pull the complete collection on the first run, then modify the queries thereafter to request only data that's changed since the last run.

We don't do any aggregation of the data. We load it into a data warehouse (redshift or postgres) in its complete, raw form so that you can use SQL to aggregate/join to your heart's content. Here's an example: https://help.segment.com/hc/en-us/articles/208215583-Salesfo...

sperand_io··on Building Building Blocks
Ian and Peter really nailed it with their comments. For me, the mental complexity of trying to hold a huge API in my head all at once greatly outweighs the cost associated with taking some time to find a well maintained, tested repo that does the exact thing I need really well :) Another great example came to me today: syntax highlighting. The readme on our solution [here](https://github.com/segmentio/highlight) hints at why the decision to break things apart made sense for us. As for both mental complexity and ease of use, I think this is a lot simpler than something more traditional like, for example, highlightjs.

Rather than go to highlightjs's website to download a custom build of the script that doesn't have 22 languages (20 of which you probably don't need), adding it to your asset pipeline, then repeating whenever you need to add a new one, with highlight's plugin approach + a simple package manager and build process like duo, you can easily add and remove each language from your build ad hoc.