HN user

korzun

327 karma
Posts6
Comments421
View on HN

Good article. I want to offer my thoughts on a couple of things from my personal experience.

If the change deployed is small, there is less code to look through in case of a problem. If you only deploy new software every three weeks, there is a lot more code that could be causing a problem.

That's relative. Pushing out an accumulated amount of small changes once a week will most likely have the same end the result. The difference is, if you commit more than one breaking change you are dynamically expanding the window of service degradation. One release with three breaking changes is better than three broken pushes.

If a problem can’t be found or fixed quickly, it is also a lot easier to revert a small deploy than a large deploy.

It is also harder to revert two non-consecutive deploys out of three.

If I deploy a new feature as soon as it is ready, everything about it is fresh in my mind. So if there is a problem, trouble shooting is easier than if I have worked on other features in between.

Personally, I favor stability vs. easier troubleshooting. This works for some products and not others.

It is also frees up mental energy to be completely done with a feature (including deployed to production).

Anecdotal evidence, but my team would usually catch and correct bugs when they have to come back to green light a production push. Engineers that ship clean and fast are rare.

All things being equal, the faster a feature reaches the customer, the better. Having a feature ready for production, but not deploying it, is wasteful.

Something like this would usually be pushed out manually to align with other non-engineering parties within your company. Pushing broken features to the customer faster is not a good thing. Unless you can assume 100% success rate; which is not possible.

The sooner the customer starts using the new feature, the sooner you hear what works, what doesn’t work, and what improvements they would like.

This depends on the stage of the company, the product, and your customers.

Furthermore, as valuable as testing is, it is never as good as running new code in production. The configuration and data in the production environment will reveal problems that you would never find in testing.

All of the environments I govern match production 1:1 (sans data sanitation) in every way possible. I feel pretty strongly about this, if you can't test your code without pushing it into production, you should not be automating anything.

Continuous delivery works best when the developers creating the new features are the ones deploying them. There are no hand-offs – the same person writes the code, tests, deploys and debugs if necessary. This quote (from Werner Vogels, CTO of Amazon) sums it up perfectly: “You built it, you run it.”

Don't compare a start-up to Amazon. Amazon has dedicated teams to govern the process and you most likely not replicate that. Also, hiring people that 'just send it' without doing damage takes money, time and a lot of training. It's expensive.

I briefed the original story, and one thing that stood out to me is that the author threw a 'bomb' named collaboration into the mix AFTER firing so-called Rick.

What author fails to understand, is that the problem could have been addressed by collaboration as well.

I caught a 'scrum-master' CTO wanna-be that wrote an article about (omitting my name) how he is happy I was gone because I was hard to manage. This guy showed up and hanged his scrum-master certificate on the wall and promoted a (fresh out of college) junior developer to management because he was there for a year longer than me and proceeded to enable and reward the most idiotic technical decisions I have ever seen while the rest of us was battling scalability problems.

He never talked to me; he was in the room with his new director of engineering (1 year of non-management experience, seriously) trying to come up with a strategy on how to do things and then try to run with it without getting any feedback.

Obviously, I shot them down, and it got to the point where they would come up with this stuff (no communication) and could not provide any details (why will this work? why is it better?).

I simply quit and never looked back at that point, they probably did collaborate a lot more. And by collaboration, I mean circle jerk whatever ideas sound great and force them on junior developers that do not know any better.

And when the plant grows?

Great question. I build something similar without a moisture sensor, the key to obtaining proper data is to know (and control) the exact amount of water you elect to distribute.

The self-learning (ghetto A.I) software that I wrote would try to predict the next (optimal) watering event. You can start to tell how much weight the water adds and how fast the plant consumes it after a couple of iterations. Plus the soil will usually outweigh a plant by a considerable margin.

This could get hairy, very quickly.

I thought Coinbase had insurance that only covered the online portion but not offline vaults, where most of the 'money' is stored?

If an offline vault is compromised through their system then what? The promise of keeping things separate doesn't guarantee anything.

But.. but.. an 'analyst' for CoinDesk said this was normal and the exchanges will just need to get a license and China welcome them back with open arms.

The bullshit artists that already 'invested' in this scheme will now tell you that China did not matter and the people under them will parrot it.

Anybody that disagrees simply doesn't understand Bitcoin or just mad that they could not get on the choo-choo train at the right time.

I talked about this before, and most people instantly wrote this off.

The typical response was 'If X bans the cryptocurrency, we will just trade in another country. That's the whole point!'.

Can somebody explain what will happen if U.S starts to feel the pressure from Bitcoin and kills it at the point of exchange? Sure, you will still have your Bitcoins, but they will drop in value and become useless.

Furthermore, what will happen to the market if 1%'s attempt to convert a couple of billions to USD at the same time? Who will honor that transaction? The banks will not touch it.

This will end up just like the banking crisis sans a bailout. People can't get the 'money' out because the exchange rate is not going to be honored, and the value of their money will drop over night.

I will let somebody else chime in. There may be instances where something like this could be upheld, but I don't think it will apply here.

My case involved an employee that committed fraud by offering me bogus shares of a non-existent entity. They terminated me after I brought this up and asked me to sign a waiver in exchange for severance. 100% not enforceable.

Nginx Unit 9 years ago

Thanks for linking that. Typically, if you know what you are doing, a setup of this nature would be segmented out from the rest of internal network.

I did compliance work for a lot of start-ups and never came across a company that understood this concept. The majority thinks that their wireless router is already doing this via the Guest account.

Vagrant 2.0 9 years ago

It makes life hard in companies where binary whitelisting is used.

The application would still have to be audited, signed or not, prior to whitelisting.

Nginx Unit 9 years ago

Technically, you can expose the Unit API within an internal network.

Nginx Unit 9 years ago

I don't understand why people want to write something off without even trying it.

This is not'nginx'. You can't sit and write this off because Apache did something similar ten years ago. The build in API alone is worth exploring.

Nginx Unit 9 years ago

You would be able to merge your services under a single server and have them talk to each other internally sans latency overhead. It also allows you to easily scale up and down and segment things on demand.

In most cultures, you don't criticize somebody for something while doing the exact opposite.

Whataboutism does not apply to 90% of conversations but don't tell that to people who think they are smart by bringing it up.

Whataboutism:

A) 'You interfered with our elections!!' B) 'You bombed a children hospital! What about that?'

NOT Whataboutism:

A) 'You interfered with our elections!! YOU HACKED OUR ELECTIONS!!! PUTIN ORDERED TO STEAL OUR VOTES!!! B) 'That's great, you have been doing the same thing for decades all over the world. Mind shutting up?'