Feed powered byStream Blue Logo Copy 5Created with Sketch.
Avatar of Josh Frye

Josh Frye

Senior Software Engineer at StackShare

Decision at StackShare about Slack, GitHub, RuboCop, ESLint, Docker, CircleCI, ContinuousIntegration

Avatar of joshfng
Senior Software Engineer at StackShare
SlackSlack
GitHubGitHub
RuboCopRuboCop
ESLintESLint
DockerDocker
CircleCICircleCI
#ContinuousIntegration

We use CircleCI for #ContinuousIntegration. Workflows are configured via a simple yaml file and run inside isolated Docker containers. CircleCI runs ESLint, Brakeman, and RuboCop to enforce code quality and security best practices. It integrates with GitHub and Slack to notify us of build progress and pass/failure statuses.

6 upvotes2.2K views

Decision at StackShare about PostgreSQL, Amazon RDS for Aurora, Heroku Postgres, StackDecisionsLaunch

Avatar of joshfng
Senior Software Engineer at StackShare
PostgreSQLPostgreSQL
Amazon RDS for AuroraAmazon RDS for Aurora
Heroku PostgresHeroku Postgres
#StackDecisionsLaunch

We migrated from Heroku Postgres to Amazon RDS for Aurora not long ago. The driving force behind the migration was the increased performance and cloud tuned PostgreSQL instances. Pricing was also a factor, as RDS delivers more value for the price. We have a staging and production cluster that can be scaled up or down as we need capacity. Snapshots, backups, and maintenance are handled automatically, though the timeframes are configurable. They offer automatic failover, and multi-az replication #StackDecisionsLaunch

5 upvotes973 views

Decision at StackShare about Hubot, DigitalOcean, StackDecisionsLaunch, CloudHosting

Avatar of joshfng
Senior Software Engineer at StackShare
HubotHubot
DigitalOceanDigitalOcean
#StackDecisionsLaunch
#CloudHosting

DigitalOcean is used at StackShare for various tasks, such as serving Hubot and utility work. We have a few different testing environments, and keeping them up to date with fresh production data can be a nightmare to mange manually. DigitalOcean #CloudHosting has allowed us to automate those tasks in an easy way #StackDecisionsLaunch

5 upvotes533 views

Decision at StackShare about Algolia, StackDecisionsLaunch, SearchAsAService

Avatar of joshfng
Senior Software Engineer at StackShare
AlgoliaAlgolia
#StackDecisionsLaunch
#SearchAsAService

Algolia powers many aspects of our feed and Stack Decisions. When you @ mention a tool or tag a topic, their #SearchAsAService engine delivers results quickly and accurately. #StackDecisionsLaunch

5 upvotes440 views

Decision at StackShare about Apollo, Rails, GraphQL Ruby, GraphQL, StackDecisionsLaunch

Avatar of joshfng
Senior Software Engineer at StackShare
ApolloApollo
RailsRails
GraphQL RubyGraphQL Ruby
GraphQLGraphQL
#StackDecisionsLaunch

We use GraphQL and GraphQL Ruby to power our feed api. As we roll out more and more features using GraphQL we've split our Rails app into 2 separate worker pools. One set serves the web site and legacy apis, while the other serves only GraphQL requests for Apollo. This allows us to scale up easier over time to serve additional requests as more features are built out using GraphQL #StackDecisionsLaunch

4 upvotes601 views

Decision at StackShare about LaunchDarkly, FeatureFlagsManagement, StackDecisionsLaunch

Avatar of joshfng
Senior Software Engineer at StackShare
LaunchDarklyLaunchDarkly
#FeatureFlagsManagement
#StackDecisionsLaunch

We used LaunchDarkly for #StackDecisionsLaunch. Their #FeatureFlagsManagement system allowed us to continuously deploy new features behind flags that only we could access. When we set the feature live, it was a simple toggle on the LaunchDarkly dashboard. We later went in and removed any code checks for flags that were enabled for all users. LaunchDarkly also allows percentage based rollouts, and has features to target users in highly specific ways.

4 upvotes354 views

Decision about Docker, VirtualBox, Packer, Ubuntu, Vagrant, VirtualizationPlatform, VirtualMachine, Devops

Avatar of joshfng
Senior Software Engineer at StackShare
DockerDocker
VirtualBoxVirtualBox
PackerPacker
UbuntuUbuntu
VagrantVagrant
#VirtualizationPlatform
#VirtualMachine
#Devops

I use Vagrant to build Railsbox. I base the final image off of another Vagrant base image Ubuntu to speed up build times. In the past I've used Packer to build the image, but installing Ubuntu from scratch takes too much time. Using a base VirtualBox image allows me to compose a Vagrantfile similar to Docker's "FROM image" command #devops #VirtualMachine #VirtualizationPlatform

3 upvotes622 views

Decision at StackShare about Ruby, Stream, StackDecisionsLaunch

Avatar of joshfng
Senior Software Engineer at StackShare
RubyRuby
StreamStream
#StackDecisionsLaunch

We use Stream to power our feed and decisions products. We hook into their api using supplied Ruby SDKs that send records to their system when we create or update them. Their personalization feature allows us to tailor the feed experience for each user based on individual interests and engagement. #StackDecisionsLaunch

3 upvotes497 views