theswan's comments

theswan | 8 years ago | on: Ask HN: Who is hiring? (April 2018)

Samsara | Product, Infrastructure, Mobile, Site Reliability, Security Engineers | San Francisco, Onsite

Build aws for physical infrastructure.

Samsara was started by the founders of Meraki and has a small, tight-knit engineering team that's quickly growing. We are looking for people who love building and seeing their code get used by customers.

Our backend is powered by golang/graphql/grpc and our frontend applications use react/react native/typescript.

Apply/more info at https://www.samsara.com/jobs

theswan | 8 years ago | on: Show HN: Generating GraphQL servers for Go

At Samsara our golang graphql implementation (https://github.com/samsarahq/thunder) works this way. We write out resolver functions using plain old go types and use some reflection magic at startup to compute the graphql type information.

Our docs are a bit spare at the moment, but this means with code like:

  type User struct {
    Id int64
    Name string
  }

  func rootUser(ctx context.Context, args struct { id int64 }) (*User, error) {
    // ...
  }

  schemaRoot.FieldFunc("user", rootUser);
We can derive the graphql SDL types automatically (looking at the arguments and return values) and use them with other graphql tooling, but it saves folks time from writing out a separate schema and keeping it in sync.

theswan | 8 years ago | on: Apollo Server 1.0  – GraphQL Server for Node.js Frameworks

I think this is something that graphql implementations are still trying to figure out. At work (samsara.com) we use a time-based batch[0] for our queries to help with n+1 issues in our graphql server.

Separate branches of the the graphql query are handed to independent goroutines. When batchable rpcs (to the database, or other services) occur, we delay execution by ~1ms and wait for any other rpcs of the same type (and keep delaying for up to ~20ms). This works pretty well for our more expensive field resolvers. We've also thought about ways to examine and track the execution of the goroutines (similar to the facebook/dataloader approach), but the time-based batches have worked pretty well for us so far.

We also aggressively cache queries and rpcs so that the same data is not expensive to fetch across different branches of a query.

[0] You can see the batching implementation here: https://github.com/samsarahq/thunder/blob/master/batch/batch...

theswan | 11 years ago | on: Ask HN: Who is hiring? (May 2015)

Clara Labs (https://claralabs.com/, YC S14) - San Francisco, Engineering, Full-Time

Clara is building the simplest possible interface to getting work done. Every person on our team is involved in the thinking that creates their work - full stack in the broadest sense of the term. This means identifying, owning, and driving projects to completion.

We believe shipping early and frequently builds better products. An extreme example: we scheduled thousands of meetings entirely manually for our first Clara customers before building any software at all.

Accepting human dependency is the fastest way to building useful machine intelligence. The failure of intelligence products to date has fundamentally been a failure to build trust. It is the consequence of unreliability and lack of focus (think: Siri). Conversely, Clara has delivered a highly reliable, focused, and useful natural language interface from day one.

We’re looking for frontend, backend, and machine learning engineers to join our early team. Check out our full descriptions for each role [1], and feel free to ping me directly at [email protected] if you have any questions!

[1] https://jobs.lever.co/claralabs/

theswan | 11 years ago | on: Ask HN: Who is hiring? (April 2015)

Clara Labs (https://claralabs.com/, YC S14) - San Francisco, Engineering, Full-Time

Clara is building the simplest possible interface to getting work done.

Every person on our team is involved in the thinking that creates their work - full stack in the broadest sense of the term. This means identifying, owning, and driving projects to completion.

We believe shipping early and frequently builds better products. An extreme example: we scheduled thousands of meetings entirely manually for our first Clara customers before building any software at all.

Accepting human dependency is the fastest way to building useful machine intelligence. The failure of intelligence products to date has fundamentally been a failure to build trust due to unreliability and lack of focus (think: Siri). Conversely, Clara has delivered a highly reliable, focused, and useful natural language interface from day one.

We’re looking for frontend, backend, and machine learning engineers to join our early team. Check out our full descriptions for each role [1], and feel free to ping me directly at [email protected] if you have any questions!

[1] https://jobs.lever.co/claralabs/

theswan | 11 years ago | on: Ask HN: Who is hiring? (February 2015)

Clara Labs (https://claralabs.com/, YC S14) - San Francisco, Engineering, Full-Time

Clara is building the simplest possible interface to getting work done.

Every person on our team is involved in the thinking that creates their work - full stack in the broadest sense of the term. This means identifying, owning, and driving projects to completion.

We believe shipping early and frequently builds better products. An extreme example: we scheduled thousands of meetings entirely manually for our first Clara customers before building any software at all.

Accepting human dependency is the fastest way to building useful machine intelligence. The failure of intelligence products to date has fundamentally been a failure to build trust. It is the consequence of unreliability and lack of focus (think: Siri). Conversely, Clara has delivered a highly reliable, focused, and useful natural language interface from day one.

We’re looking for frontend, backend, and machine learning engineers to join our early team. Check out our full descriptions for each role [1], and feel free to ping me directly at [email protected] if you have any questions!

[1] https://jobs.lever.co/claralabs/

theswan | 11 years ago | on: The Books We Talk About (and Those We Don’t)

Hmm, GoodReads seems to be an imdb for books.

I'd be more interested in a format more suited toward discussion/annotation - like what you'd get out of a good college-level literature course.

theswan | 11 years ago | on: The Books We Talk About (and Those We Don’t)

Tangentially - I consistently find myself wanting to discuss a book I've read, but unable to do so for lack of others who're in the same position.

Are there places on the internet for good discussion around individual books?

theswan | 11 years ago | on: Stellar

Where do the 10 microstellars go? Are they actually destroyed?

theswan | 12 years ago | on: Hacking Sonos

Thank you! Would love further feedback (stephen at stephenwan.net) if you find yourself having any problems using it. The code is very-much early stage, so there are some issues to squash.

theswan | 12 years ago | on: Hacking Sonos

Thanks! Behind the scenes, I've written an node.js component that's able to talk to OS X/iOS devices (https://github.com/stephen/nodetunes) via AirTunes and stream in raw audio data. From there, AirSonos converts the audio into a "radio" stream that Sonos can understand.

The code is still very much 'alpha-stage' at the moment; functional but not completely consistent yet. I'm planning on doing a writeup with further progress!

theswan | 12 years ago | on: Hacking Sonos

@por and @berberous -

Does audio play at all even when the error happens, or completely doesn't work? I've noticed that sometimes it occurs but the streaming still works fine.

"strange error flushing buffer" is emitted from one of the dependencies, the lame encoder - I'm currently looking into the issue..

Would love to diagnose this further, via github or stephen at stephenwan.net.

theswan | 12 years ago | on: Hacking Sonos

Very cool!

I bought a Play:3 a few months back and was also dissatisfied with the given OS X/iOS apps - I'm currently working on enabling AirPlay support for Sonos devices. (http://stephen.github.io/airsonos/)

Would love feedback from any Sonos users!

theswan | 12 years ago | on: Ask HN: Idea Sunday

Had this very probably on Friday - wanted to learn more about what was new with the SpaceX launch and ended up spending a couple hours on Wikipedia.
page 1