thenrich99 | 11 months ago | on: Ask HN: Who is hiring? (May 2025)
thenrich99's comments
thenrich99 | 1 year ago | on: Ask HN: Who is hiring? (April 2025)
Applicants must be able to acquire a Public Trust, be US citizens residing in the US, and submit to a technical pre-screening.
Reach out to tim [dot] henrich [at] asetpartners [dot] com for more information.
thenrich99 | 1 year ago | on: Ask HN: Who is hiring? (March 2025)
ASET Partners is building a geospatial analytics platform used by analysts across the US. We're looking for individuals to join the small but talented team to help us continue to build out the platform and develop new products and capabilities.
Tech stack includes: AWS, Terraform, Kubernetes, Go, Python, Django, Postgres, React, etc.
Requirements: must be able to obtain a Public Trust
To apply, send your CV to tim [dot] henrich [@] asetpartners [dot] com
thenrich99 | 7 years ago | on: Djbsort: A new software library for sorting arrays of integers
If anyone has any reservations about learning Go, don't judge the language based on a list of flaws written by some programmers who used it for a few months, became frustrated, and wrote a blog post.
Go has tradeoffs just like any other language and plenty of programmers leverage it for its positives: https://github.com/avelino/awesome-go
thenrich99 | 7 years ago | on: Djbsort: A new software library for sorting arrays of integers
thenrich99 | 7 years ago | on: Djbsort: A new software library for sorting arrays of integers
I see programmers that are new to Go often struggle with trying to apply their object-oriented mindset into a language that's not object-oriented and run into trouble, complain about the language, and call it rubbish. Or, focus on the lack of generics and other part of the language they don't like (e.g. slice manipulation).
Go is certainly far from perfect but after spending the better part of 7 years with it, it's usually the first tool I reach for.
thenrich99 | 7 years ago | on: Show HN: Posthook – Job Scheduling as a Service
Keep it up!
thenrich99 | 7 years ago | on: Show HN: Posthook – Job Scheduling as a Service
thenrich99 | 8 years ago | on: AnyRoom – A self-hosted, Twilio-based system for temporary conference calls
Yes, this is plain telephone conferencing and the landing page could definitely do a better job explaining that.
API Gateway + Lambda might still be an upcoming deployment option for this. App Engine was chosen as the initial deployment target because some of the additional features that will be added are cheaper / free for low volume usage when compared to AWS. This already requires Twilio, so releasing this initially for App Engine seems to resonate better.
thenrich99 | 9 years ago | on: Heroku CI Is Now Generally Available
thenrich99 | 9 years ago | on: Heroku CI Is Now Generally Available
thenrich99 | 9 years ago | on: Ansible, Puppet, Chef: No Thanks
Care to elaborate on your experiences here? Mine have been the opposite for smaller systems.
> Only if you're stupid enough not to package your dependencies, if you use distribution not suited for servers (like Fedora or Ubuntu non-LTS), or if you use external repositories you don't control that don't have stable retention policy for packages. And mind you, these three were always a bad idea. Appearance of Kubernetes and other magic faerie dust of Docker haven't changed it.
Valid point -- though I would still argue that packaging and distributing dependencies at the container level is easier to get right than at the system level. I might be in the minority, but having managed custom RPM repositories for projects and leveraged tools like FPM, (Effing Package Manager), the move to containers was a huge win in terms of flexibility (each container having its own dependencies) and organization.
thenrich99 | 10 years ago | on: The easiest way to run cron jobs on AWS
We support JSON in the CLI so users can access the response data with tools like jq (http://stedolan.github.io/jq/), but leaving off the json parameter will respond with human readable output.
The pricing is regrettably not up yet, but we'll definitely work on some other examples.
Cheers! Tim
thenrich99 | 10 years ago | on: The easiest way to run cron jobs on AWS
ADP is a complex service designed to transport and process data between AWS products in a time-sensitive manner. Minimum intervals of 15 minutes and the inability to run jobs on a set of existing machines (i.e. running a shell command pipeline requires a separate instance launched for each execution) doesn't support a number of use-cases.
Cronally is a simple platform that augments an existing AWS cluster by allowing those same machines (or others) to perform work, while handling locks transparently and supporting resolution down to the minute.
thenrich99 | 11 years ago | on: HMAC in Go, Python, Ruby, PHP, and Node.js
thenrich99 | 11 years ago | on: HMAC in Go, Python, Ruby, PHP, and Node.js
The original reasoning behind this post was to provide a single reference for signature generation and verification in some common languages -- something I struggled to locate myself. Admittedly, I should've provided warnings about using simple and hardcoded keys in the examples, which were done that way for readability.
While there is still a lot of debate about the ability to perform true constant-time comparisons in many of these languages (https://bugs.python.org/issue15061, https://github.com/joyent/node/issues/8560) I agree that for those who would be otherwise using the unsafe string comparisons, the benefits certainly outweigh the slightly added complexity.
The updated gists are available in the post to anyone with comments or improvements.
Cheers!
thenrich99 | 13 years ago | on: Ask HN: Where do you keep your ideas?
ASET Partners is developing a geospatial intelligence platform and we're looking for talented individuals who enjoy working on a small team that moves fast and makes significant impact. Applicants must be able to acquire a Public Trust, be US citizens residing in the US, and submit to a technical pre-screening.
Reach out to tim [dot] henrich [at] asetpartners [dot] com for more information.