HNHacker News
TopNewBestAskShowJobs

cpitman

1,920 karma · joined July 27, 2014

submissionscomments
cpitman··on The care and feeding of software engineers, or why engineers are grumpy (2012)
In consulting, I run into this type of engineer pretty often. And these engineers often work at companies that are scared of being disrupted.

So my work in "Digital Transformation" is a two part challenge of teaching management to think of their IT department as a source of creative energy and not bricklayers, while trying to get the engineers out of the mindset of bricklayers themselves after many years of being shoehorned. It is not easy.

cpitman··on Scammers deepfake CEO’s voice to talk underling into $243k transfer?
Working with much larger sums of money quickly distorts your perceptions of what is "a lot". 243k is under the signing authority of a random Director level manager, and to a CEO would likely feel like a rounding error.
cpitman··on Scammers deepfake CEO’s voice to talk underling into $243k transfer?
To be fair, these scammers already claim to be the grandson. My grandma got a call from me, from jail, in Mexico. I guess I had a little too much to drink at a wedding, and I had a cold, so my voice was a little off. And I desperately needed to post bail in a foreign country.

It wasn't the voice that tipped my grandma off. Just that I do not drink. So that was close.

cpitman··on Systemd needs official documentation on best practices
I've used systemd to great effect managing docker containers. Systemd can order the start up/shutdown of containers with other dependencies, the most common one being network file systems that are used as volumes. a very simple and clean unit file can ensure that the container is only started after the file system is mounted, and that it is killed before the file system is unmounted.
cpitman··on Young Homebuyers Are Vanishing from the U.S.
Another thing to keep in mind, North Jersey has atrocious property taxes, and they keep going up.
cpitman··on Young Homebuyers Are Vanishing from the U.S.
Similar situation. If I bought a home, I would likely need to get more house than I rent (since it needs to be a place I can live for 5+ years). Additionally, in my market housing appreciation is not keeping up with the stock market. So it is both more expensive and less convenient to own a home for me.
cpitman··on Those odd-looking security barriers
New York is a special case. Only city I have ever driven in where a police officer actively told me to drive into a crowded crosswalk because that was the only way you would ever get to take a left turn.
cpitman··on Leonard Kleinrock on what went wrong with the internet
I've been using the internet to learn a language for a month now, and have had far more success then I had in multiple years of high school language classes.

Between tools that provide Spaced Repetition learning, to websites that are basically textbooks, to youtube videos both meant to teach and others that are native media, and finally people who curate all these materials, this is way better.

cpitman··on Voting machines pose a greater threat to our elections than foreign agents
Even if there is registration, that only helps if I can verify that the entire chain only includes registered people. So how can I verify everyone who voted is registered, without also knowing which vote is from which person?

Maybe have a separate record for "this person voted" and another record for "1 vote for X", with encrypted references back and forth? Then you could at least verify that there are an equal number of both records, that all the identities are valid and only used up to once, and tabulate the final results. It would still be possible for someone who didn't vote to have a false vote logged, but that is a more narrow attack.

cpitman··on Voting machines pose a greater threat to our elections than foreign agents
That will let you verify that your vote is counted, but is there any way to verify that additional votes are not manufactured?
cpitman··on Thriving on the Technical Leadership Path
As my employer has tried to define the principal IC roles, I've actually seen the perceived qualifications of the original roles go down. IE, what would have been consider senior qualities are now principal qualities, and seniors need supervision. I believe it extends from the same root cause: not knowing how to get value out of a more senior role.
cpitman··on Cameras Could Replace Car Mirrors?
I hope this can fix one of my biggest problems driving at night, car beams reflecting off of the side mirrors and right into my eyes. Dimmable rear view mirrors are standard, but the side mirrors are still enough to tire out my eyes and make driving long hours at night much harder.
cpitman··on Amazon EKS Windows Container Support Now Generally Available
I do consulting around Kubernetes, and many large enterprise clients are interested in Windows Containers. The usual culprit are .Net Framework applications that the customer has no interest in porting to .Net Core.

I haven't actually seen a customer use Windows Containers in production yet, but with them becoming more stable I suspect we'll see more of it in the next year.

cpitman··on Stack Overflow Inc. Fiasco: Timeline
The thread was deleted, viewing it requires getting access to moderator tools by getting 10,000 reputation.
cpitman··on The 2002 mandate for internal communication systems at Amazon
Another favorite:

You integrate a "service" by creating and linking a library that implements the entire service, including data access. Now try tracking down everything accessing the "service" database, or rolling out an upgrade to the "service".

cpitman··on ‘Out here, it’s just me’: one doctor for 11,000 square miles
Keep in mind, people have to pay for these services. Pay doesn't go up in a vacuum.
cpitman··on .NET Core 3.0
A basic requirement for distributing desktop apps should be not requiring root to install/run them.
cpitman··on 200k people applied for jobs at Amazon in a single week
Are you claiming that there are a large number of qualified applicants that are currently unemployed because there are no openings paying as much as they believe they are worth?

Or are you saying that if they paid more, already employed applicants would jump from another company, leaving a job opening at their current company? If this is the case, it still means that there are fewer qualified candidates then openings, and no amount of raising pay will (in the short term of ~4 years) mean there are enough qualified candidates.

cpitman··on IBM introduces z15 mainframe
There is no such thing as a zero downtime system, and it is a fiction that makes it difficult to have real conversations about trade offs with a business. Moving towards zero downtime requires rapidly escalating cost to incrementally move the needle.

At a minimum, supporting infrastructure (power/networking/internet/etc) will eventually fail even with backups. On top of that, no mainframe is going to work when under water (flooding) or on fire (remember the delta outage?).

cpitman··on A Kubernetes/GKE mistake that cost me thousands of dollars
Choosing the right size for nodes comes up often enough that I blogged some rough guidelines last year: http://cpitman.github.io/openshift/2018/03/21/sizing-openshi...
cpitman··on Living Near Trees, Not Just Green Space, Improves Wellbeing
DC and the surrounding metro area both have a surprising amount of trees. I work in Tyson's Corner, not far from DC at all, and the view from the office is trees as far as the eyes can see with occasional outcroppings of towers. Rock Creek Park basically bisects the entire city as well.
cpitman··on Developer Tropes: “Google Does It”
Kubernetes, which is basically supplanting how companies deploy, run, and manage software both on-prem and the cloud.
cpitman··on Developers don't understand CORS
Is this true if the request is a POST? Shouldn't a POST lead to a preflight request, and then the browser refusing to send the real request?
cpitman··on How to write idempotent Bash scripts
100% Agree. I originally got into Puppet after spending several months with a client that wanted me to write bash scripts to push out a major middleware deployment, switchover, and uninstall to 10,000+ stores. There was no standard for the hardware in the stores, and their configuration was all over the place because 100's of teams also used (non-idempotent) shell scripts to push changes.

I learned a lot about catching all the different bad things that can happen, adding prerequisite checks, rolling back changes automatically, etc. In the end, a tool like Puppet/Chef/Ansible would have taken a fraction of the time to develop scripts for.

Containers have definitely lessened the need for mutable configuration management, but they are still useful in the 90% of environments that are still working in a past decade.

cpitman··on Airbnb likely removed 31,000 homes from Canada’s rental market, study finds
Induced Demand (ie "bigger highways leads to more traffic") depends on having an alternative. IE, traffic can take a different route, people can take public transit, people can stay home, etc.

It sounds like you are claiming that it is impossible to out build housing demand. This cannot be true. There is a finite population of people that want to live in any one place.

cpitman··on Dstat project ended due to RedHat replacing it with its own dstat tool
Disclaimer, I work for Red Hat. That being said...

The big things for our customers isn't just support, it is stability. When you build your systems on RHEL 8 (just released), you will get 10+ years of support and patches for that system. Those changes are all guarenteed to be binary compatible, so the risk of patching ever impacting systems is low. If there is a critical security vulnerability (say Heartbleed in openssl), Red Hat will backport the fix to every supported version of RHEL. That means you get the security fix without (1) having to upgrade the entire openssl dependency and risk breaking something else and (2) without pulling in newer changes that might have their own vulnerabilities.

Going along with the stability, vendors can QA their products against RHEL as a known target.

Last reason for now, if you are in an industry with any kind of compliance requirements, like FIPS, Red Hat jumps through the hoops to get the certification. That makes RHEL the only option in many environments.

cpitman··on Employing QUIC Protocol to Optimize Uber’s App Performance
Definitely, I was simplifying a little. For that project we actually were using separate Envoy deployments per team/service. Also needed for grpc-web support, and has a json to grpc transcoder.

We could have bypassed this by having a single pool of shared Envoy instances for ingress, but at the time we wanted to avoid the complexity of multiple teams managing a single Envoy configuration. In the next year we'll hopefully switch to Istio, which will help with the multi-tenant configuration management.

cpitman··on Employing QUIC Protocol to Optimize Uber’s App Performance
The HTTP2 spec actually allows it:

Connections that are made to an origin server, either directly or through a tunnel created using the CONNECT method (Section 8.3), MAY be reused for requests with multiple different URI authority components. A connection can be reused as long as the origin server is authoritative (Section 10.1).

For https resources, connection reuse additionally depends on having a certificate that is valid for the host in the URI. The certificate presented by the server MUST satisfy any checks that the client would perform when forming a new TLS connection for the host in the URI.

There is a way to respond with an error code when a server receives a request for the wrong domain, but it seems like a bad idea to depend on it (because it means lots of failed requests that could be avoided with better certificate management):

A server that does not wish clients to reuse connections can indicate that it is not authoritative for a request by sending a 421 (Misdirected Request) status code in response to the request (see Section 9.1.2).

https://http2.github.io/http2-spec/#rfc.section.9.1.1

cpitman··on Employing QUIC Protocol to Optimize Uber’s App Performance
My team ran into a surprising behavior for HTTP2. Browsers decide whether to reuse a connection not based on the original domain the connection was made to, browsers base the decision on the domains that the returned certificate is signed for!

Our current load balancer doesn't support HTTP2 end-to-end (and we are dong gRPC), so we are load balancing TCP connections to the individual instances. And for certificates, we would use SANs to reduce the number of certificates being requested.

Put those two together, and browsers will assume that the first connection they make to serviceA.example.com can also be used for serviceB.example.com. Oops!

TLDR, certificates for HTTP2 need to be unique to each endpoint that terminates a browser connection.

cpitman··on Uber, Lyft drivers manipulate fares at DCA causing artificial price surges
Metro's hours are usually the problem for me, usually getting to the airport after the last train has left.
← PreviousPage 8 of 16Next →