Readit News logoReadit News
TheHydroImpulse commented on Libaws: A simpler way to declare AWS infrastructure   github.com/nathants/libaw... · Posted by u/ithkuil
throwaway894345 · 4 years ago
In the early days, people would write imperative scripts to provision infrastructure, but once it's out there you can't just delete resources that you no longer want by deleting the relevant blocks from your script and re-running it--you had to delete them manually or write a "migration script". This was untenable.

Then some tools came out which let you use YAML or JSON to describe the desired state of the world, and some tool would diff that against the current state of the world to determine which resources to create, which to delete, and which to update. People started to conflate "YAML" with this sort of diffing tool and they conflated imperative programming languages with the legacy imperative scripting approach. Early infra-as-code vendors capitalized on the YAML=good/programs=bad myth and re-emphasized it by showing cute toy examples and passing off the simplicity as an effect of the YAML/etc rather than the inherent simplicity of the example.

Unfortunately, pure YAML/HCL/etc doesn't scale--you end up needing to reference resources from other resources (and/or attributes on those resources), and you end up needing to DRY up many repetitious blocks and so on. What you naturally want is to generate those static YAML configs from a programming language; however, IaC vendors had committed themselves to the "YAML = simple" brand so instead they started building half-assed programming language features into their YAML dialect (effectively using YAML to represent abstract syntax trees for the world's crappiest programming languages). Terraform and CloudFormation fall into this bucket.

I guess Helm looked at the landscape and decided it wasn't easy enough to generate syntactically invalid YAML blobs, and consequently decided to use text templates.

Eventually the industry caught on to the scam and demanded programming languages back, so we got CDKs which misunderstand the assignment in a different way. Rather than emitting YAML/etc that can be passed into a diff engine, you get some weird bindings that calls (and is called from) a node process (I can't tell what this node process actually does even after reading the docs).

TheHydroImpulse · 4 years ago
CDK outputs CloudFormation templates that you can pass to any other tool if you wish. CDK is technically just a glorified shim over CFN (although 1000x better but you do get caught in the awkwardness that is CFN many times).
TheHydroImpulse commented on Amazon has acquired Facebook's satellite internet team   engadget.com/amazon-has-a... · Posted by u/alexrustic
chrislan815 · 5 years ago
I heard they are still very much different from amazon after the merge which is good to hear. However, it was told by a hiring manager :) So it's not from my personal experience.
TheHydroImpulse · 5 years ago
still very different but amazon has its influences in many parts of the company now.
TheHydroImpulse commented on AWS Cognito is having issues and health dashboards are still green   status.aws.amazon.com/##... · Posted by u/rcardo11
one2know · 5 years ago
At amazon, admitting to a problem will guaranteed lead to having to open a COE, correction of error, which means meetings with executives, inevitable "least effective" rating, development plan, scapegoating, PIP, and firing.
TheHydroImpulse · 5 years ago
If anyone notices a problem you'll likely need to write a COE, there's no way to get around that. Not updating the status page absolutely doesn't get you out of that task.

COE also doesn't lead to negative marks on anyone at AWS that I know of. It's a learning experience to know why it happened and action items so it doesn't happen again.

TheHydroImpulse commented on Compare career levels across companies   levels.fyi/SE/Google/Face... · Posted by u/kposehn
oculusthrift · 7 years ago
right but thinking for instance. would it make sense to leave to facebook just for the comp bump at l4 even if you really like your job at google? just because being a new hire would give you more comp?
TheHydroImpulse · 7 years ago
yes, that's a really good way to grow your comp. You have actual leverage when joining a new company that you can use to negotiate.

Obviously you can't really do it too often but whenever you do, your earning potential can be increased by quite a bit.

TheHydroImpulse commented on Compare career levels across companies   levels.fyi/SE/Google/Face... · Posted by u/kposehn
usaar333 · 7 years ago
> You will not be hired as T7 either.

What do you mean by this? (I know someone that was)

TheHydroImpulse · 7 years ago
Companies usually like to downgrade when hiring. Amazon does it a lot. So even if you qualified as an L7 they may hire you as an L6 (sometimes with L7 pay) and you need to go through a promotion cycle to get back to L7.
TheHydroImpulse commented on Dear-GitHub: Host Github by itself as an open source project   github.com/dear-github/de... · Posted by u/joelhandwell
joelhandwell · 8 years ago
I did a search and found http://highscalability.com/blog/2009/11/6/product-resque-git...

It's talking about a component of Github backend called Resque (Distrubuted Job Queue)

As long as I see these thing the architecture is highly distributed and it's possibly composed of micro services.

TheHydroImpulse · 8 years ago
Github has been a well known Rails monolith. Absolutely they have services that power all sorts of stuff (they have a few blog posts on it) but it's just impractical to even start a discussion on splitting it up for the reasons you initially argued for.

I've been through a number of large rewrites/reworks that took monoliths much like Github (with many many many services behind it) and split them up into modular pieces and it's an insane amount of work that can take years. You simply need very good reasons (including business reasons) to do that.

Moreover, companies at these sizes just have a LOT of code all over the place. Tooling, infra, supporting services, etc... Not to mention it's just not useful to have external contributors for a business product like Github. Doing code reviews, addressing bugs that were introduced, spending time discussing things with contributors takes an incredible amount of time.

Basically if the reason you want Github open sourced (and reworked into some weird architecture you described) is so that people can contribute to fix things and add features....Github could/will just hire more devs to work on that.

TheHydroImpulse commented on Dear-GitHub: Host Github by itself as an open source project   github.com/dear-github/de... · Posted by u/joelhandwell
joelhandwell · 8 years ago
>Why? >What are you waiting for?

If Github was made with micro services architecture, it could be split into open source "Client side + Test-backend" and closed sourced "Production-backend". Backend can be composed of some interface and multiple implementation such as test impl and prod impl. “the secret sauce” could be the "Production-backend" and MS have good in-house talents who operates Azure so no need for the help from OSS community to improve backend.

However for example +1 button took so long time to be implemented even though it seems like small change in client side code and some adjustments in database. That itch lead to the https://github.com/dear-github/dear-github open letter and signers listed here: https://docs.google.com/spreadsheets/d/1oGsg02jS-PnlIMJ3OlWI...

The last sentence of the open letter says: "Hopefully none of these are a surprise to you as we’ve told you them before. We’ve waited years now for progress on any of them. If GitHub were open source itself, we would be implementing these things ourselves as a community—we’re very good at that!"

I think that's OSS community want, including but not only I want.

TheHydroImpulse · 8 years ago
This just isn't possible. No company in their right mind would take their monolith and rewrite a bunch of stuff just to please a couple randoms on the internet.

I think you're drastically underestimating the amount of code Github is powered by and how freaking long any type of refactor/rewrite would take. We're talking about years.

TheHydroImpulse commented on Docker Considered Harmful (2016)   catern.com/posts/docker.h... · Posted by u/signa11
dom96 · 8 years ago
Starting redis manually isn't that much harder though:

    brew install redis
    redis-server
I personally feel that people reach for Docker too quickly. It's worthwhile to learn how things actually work so that you know what to do when Docker eventually fails you.

TheHydroImpulse · 8 years ago
when you have to manage a large number of services with a bunch of different devs touching things, Docker is almost required to get a consistent development state.

There's literally nothing wrong with reaching for Docker right away. It allows you to have the same, repeatable development environment. Maybe you deploy to production without Docker, but any project I start I'll reach for Docker right away.

TheHydroImpulse commented on Ask HN: Pros and cons of working at a startup in 2018?    · Posted by u/snowmaker
lgregg · 8 years ago
Yeah, I doubt I'll even bother to apply to the big 5, maybe even the big 20. I'm coming out of a yearlong software intensive in October with a liberal art major from a marketing background. I know a few people at those companies but there is also the question of leetcode. I think my chances are much higher with other types of companies, startups included.
TheHydroImpulse · 8 years ago
As someone without a degree, getting an interview at the Big 5 was quite easy. Passing those interviews is another thing entirely but having the right experiences in your resume has been more important in my case.
TheHydroImpulse commented on Tech company career ladders   rachelbythebay.com/w/2018... · Posted by u/tim_sw
zwkrt · 8 years ago
Is that true? I would have guessed it was 3 based on the expected level of responsibility of the respective roles. As an engineer I felt like L5 was a position that meant I could trust the coworker to be effective, but I would be wary of joining a team that had no L6s.
TheHydroImpulse · 8 years ago
L3 at other companies is an L4 at Amazon (I believe only contractors or part-time employees can be < 4). L5 also has a much wider surface area and the gap from L5 to L6 is quite big.

u/TheHydroImpulse

KarmaCake day1392January 20, 2013View Original