Resonates deeply with me. I’ve moved personal data out of ~10 SaaS systems into a single directory structure in the last year. Agents pay a higher price for fragmentation than humans. A well-organized system of files eliminates that fragmentation. It’s enough for single player. I suspect we’ll see new databases emerge that enable low multi-player (safe writes etc) scenarios without making the filesystem data more opaque. Not unlike what QMD is for search.
HN user
dzello
developer advocate and indie hacker
So cool to see Rails hooked up with modern front end!
So fun to relive this, what a journey! :D
Orbit (https://orbit.love/) is hiring software engineers to build tools for developer advocates, community organizers and open source maintainers. Companies like Apollo, Nuxt, Typeform, and CircleCI use us to understand & grow their communities. Team is 3 today, 2 engineers. We have 4-5 roles open and are excited to build lots of product and APIs in 2021. Our tech stack is Ruby, Rails, React, Alpine.js, Tailwind CSS, and lots of other goodies. We're pragmatists who care a lot about making an excellent product and learning fast.
To learn more about who we are, our engineering culture, and whether this is the right place for you, read our Key Values profile: https://www.keyvalues.com/orbit. Cheers & good luck with your search.
Good look at the evolution of Jamstack and how much "stack" is required for each different architectural pattern. Really enjoying the conversations and graphics embedded throughout. Thank you for saving some of the best for last - the Teastack! :)
We looked at Pizzly to cut down on integration boilerplate so we could offer connections to a lot more services. Nice to see an open source project solving this.
Didn't know Formspree had integrations like that. Very cool to be able to use Stripe in a serverless way.
You can submit a PR for that and make it awesomer :)
Thanks for sharing your story Frank. Feelin the honesty hard. I was lucky to be on that GOAP trip with you and Doug. Microsoft just got themselves an awesome new advocate.
Not being on the product or engineering team can definitely be a challenge. What I learned at Algolia is that it's critical to build trust between engineering and dev relations. Dev rel needs engineering to be engaged in community initiaves (and to help code stuff) and product/engineering can get great feedback from dev advocates working in the field about the real developer experience :)
Lots of React-related decisions so far - https://stackshare.io/tool/react/decisions. Beyond the reasons why they chose React, I like seeing the complementary tools like react-mentions.
Thanks! Output formats made this much cleaner than it otherwise would have been and are why it's easy to integrate this theme into an existing project. Sometimes they're exactly what you need!
More information about the tech stack here - https://stackshare.io/algolia/how-algolia-reduces-latency-fo...
The encryption is for security. The upload is so we can front the S3 bucket with a CDN for fast download of the binaries from any region.
Thanks! Glad you're liking DocSearch. That's a good post about the journey. There are a few more listed in our awesome-algolia repo: https://github.com/algolia/awesome-algolia#blog-posts.
Thanks for the comment simonw. It's not directly mentioned in the article but we're also using the API clients to implement a DNS fallback strategy. If the hosts are unreachable through their primary hostnames (.algolia.net), the clients try alternate names (.algolianet.com) that are hosted by a different provider.
I was hoping to see some documentation in an announcement of an SDK.
Here's a link to information about Algolia's ranking formula - https://www.algolia.com/doc/guides/relevance/ranking. One thing to note is that 'textual relevance' is considered before 'business relevance'.
One component of textual relevance is the presence of typos. A typo-containing match (error instead of Errol) carries less weight than a typo-free match, so it will be ranked lower even when the business relevance ranking (popularity in likes/comments) is higher.
Algolia is an API so each implementation can be a bit different - developers have the ability to tune the relevance formula to better suit their needs. So don't feel bad about needing an explanation, this stuff can get complicated :)
Love seeing Keen IO go further and solve even more embedded analytics headaches. The embed button sounds like a real win, not having to write any JS could save a lot of time.
[Josh from Algolia here] Places is designed to be very customizable in terms of the UX and the data you put in front of the user. For UX we have sensible defaults but you have full control over the look and feel. For data you can mix in results from you own database or other APIs (e.g. show the names of cities alongside search results for listings in those cities).
Cool idea for how to still let Storm apply its own backpressure, thanks for sharing!
Great post! Makes a lot of sense to move I/O to a thread pool. Do you control max topology I/O with the thread pool size now, in addition to Storm settings like # of executors? Another q - do you monitor how long each bolt blocks waiting for a thread to become available? (as a measure of pool saturation)?
Great post! Makes a lot of sense to move I/O to a thread pool, good thinking :) Now you can control max topology I/O+concurrency not just with Storm but also with thread pool size, yeah? Another question - do you monitor how long a bolt blocks each time waiting for a thread from the pool to be given to it? If the pool has available threads it's instant but if the pool is saturated (backed up on an I/O slowdown for example) it would be good to know?
Thanks!
When we did the migration over to Storm & Cassandra, we did a 1 time ingestion of old events. This was very fast, peaking around 50k events/sec. Additional synthetic testing showed we could easily beat that. It was actually the old system that bottlenecked, and prevented us from turning the dial way up :)
We currently are not. We tried them out, but found that the counter value would spontaneously change from time to time. This could have been user error, but we weren't able to resolve it via our own wits or the user group.
We evolved our design to use simple integers and add to them in a way that didn't require atomicity. That has been rock solid.
Hi everyone, Josh here. Lemme know if you have any questions you'd like to ask.
We use Pingdom for some things but the UI is a bit awkward and drill-down analytics doesn't seem possible.
Thanks again for the typo catch - I updated the original post to show /System/Library not /Library/System.
(from the author) Can totally understand how for some folks this isn't an issue at all. But for spastic me it was a stubborn one I found myself losing time on. Perhaps in part because I have my repeat rate jacked way up using KeyRemap4Macbook - http://pqrs.org/macosx/keyremap4macbook/.
I'd Cmd-Tab my way into Finderland a few times a day and inadvertently trigger new Finder windows instead of new Chrome windows with Cmd+N - stuff like that.
Getting Finder out of the rotation prevents this from happening. While I still might double-tab back to the original window, I usually spot that before too much typing b/c it's where my eyes originally were looking.
And aesthetically I'll always take the less number of icons when I can.