I put together a list of open-source voice-first AI tools to help devs and makers get more done without touching a keyboard. Curious what the HN community thinks — anything I missed?
"Torvalds: I really never wanted to do source control management at all and felt that it was just about the least interesting thing in the computing world."
I love how this story underlines the 'just do it' attitude. Git wasn't born from a grand plan but from an immediate need and a pragmatic approach. Sometimes, that's all it takes to start something revolutionary.
I believe that's working but it's kind of pain because we need to passing context across function call. So I wonder whether there is better way to do that.
I believe node.js has async_hook feature that can capture context without passing function call, but it's still in experimental phase and won't work for tracing
When developing new things, I always used Terraform and Jenkins.
The reason is because:
1. Terraform
You can abstract the deployment logic and requirements into single unit because developers ideally should spend more time building products rather than dealing with the deployment and cloud stuff. Furthermore, this will be one source of truth for any deployment configuration and documentation, that will be super worthed in onboading as well especially when you're working with big engineering team (> 50 engineers)
2. Jenkins
We actually can run terraform from our local computer, but with Jenkins we can standardize the way people update and create the resource in consistent way. Also, by using Jenkins we can track all deployment that happened
My future plan is for combining this workflow with management configuration tools like Ansible since Terraform is not only for creating cloud resource, not for manage configuration. Currently, I'm ussing bash command which obviously won't be easily scalable and understandable by engineers.
But maybe will be good if you can provide the difference between envkey and vault or some similar stuff like AWS Parameter Store? Especially in reliability side
Ah also one thing that I wonder in Packer is versioning. Since in docker we can tag every release of the image, we can somehow do versioning on that.
1. How is the versioning in Packer?
2. Also, do you have plan to adopt docker image/ other containerization pattern even if you already used packer for 3+ years? Maybe you have different use cases for adopting docker?
1. For your AWS deployment, could I know why you didn't use docker image for your deployment?
Because essentially you can use docker for building the image instead of packer. Furthermore, Docker also has caching mechanism which make the build much faster. I'm not sure packer also has capabilities for caching.