HN user

TwistedWeasel

448 karma

frasergraham.net

Posts7
Comments111
View on HN

last 50 years of change includes modern nail guns, engineered lumber, hurricane anchors, plywood roof sheathing, vapor barriers, and countless other differences in how homes are built and the tools we use to do it. There is nothing special about software, other industries also evolve and grow their methods and tools. We just change software with reckless abandon and little regard for the reasons we started down any given path in the first place.

yep, both are significantly different in many way, houses built 50 years ago have a lot of differences to modern houses. Software from 50 years ago, is also significantly different but the fundamentals of both are the same, foundations, walls, roof trusses, siding, filesystems, operating systems, processes, threads, data structures etc. We may use Go instead of C and we may use engineered lumber instead of Douglas Fir for door headers.

The whole point of my last comment was that the impact of bad software cannot be fully understood if we don't have ways to monitor and measure it. You are correct that many industries have high standards and many other industries have no need for any standards as market forces will decide, but there's likely a huge grey area in between that we don't know much about.

Are you sure? Construction materials are evolving and changing every few years (engineered lumber, modern environmentally friendly methods, etc) whilst we still use base operating systems designed in the 60's for most of our services.

At NASA, sure. You can't say that with any certainty for all the other systems in the world where software has a huge impact on daily life and human wellbeing. We can't know for sure because there is no regulation or independent monitoring.

How do you define mature? Is it about stability? There are newer and more modern methods of construction and engineering and the field is always evolving. Maturity in those fields is about consistency and agreements of best practices enforced by standards and regulations. Software is not mature because it's not regulated. If you want software engineering to mature and stabilize, it needs more regulation.

web apps are a small fraction of the software development world. Software Engineers are responsible for code that runs in hospitals, aircraft, power switching stations, and many many other safety critical systems. In many cases code that was never written for safety critical work is deployed in those environments. What OS and software runs the elevator controls in a hospital or military base? We never know the real impact of our work.

I'm with you, we should approach problems with optimism not fear. However, teaching that approach to kids is a long term strategy, and helping them adapt to a new routine is a slow process, it's less about the difficulty and more about the emotional cost that you have to pay to succeed.

I have three kids, all elementary school age and I am prepping to start the school year all remote. I'm not afraid of the challenge but i'm honest with myself that it will take a toll on my kids and my marriage that I cannot avoid. No matter how hard I work, it will take time and getting into the routine cannot be done overnight.

It's okay to be daunted by that prospect.

My results show 1.3s for HTTP/1.1 and 3.0 seconds for HTTP/2 using Chrome on OS X. So, this demo wasn't very impressive for me.

Once you scale your worker pool up beyond a couple of machines you need some sort of config management with Celery. We use SaltStack to manage a large pool of celery workers and it does a pretty good job.

I used Redis for celery in production with great success for a year but then we started running some long running jobs that needed the ACKS_LATE setting and the Redis delivery timeout kept hurting us by resending the task to another worker. It's configurable but in the end we just switched to RabbitMQ. I found it quite painless to setup and migrate to.

Convincing people to make the long trip to Mars in the future will be much easier if they can be sure there will be coffee served on the trip.

Ok, but large corporations are supposed to be able to avoid human centric mistakes with good operations workflows that provide checks and balances in their pipeline.

I would assume MS is not shipping products directly from the engineering lab to the factory, so for something glaring to get all the way to the customer then there is something wrong in their process that failed to correct for human error.

I somewhat disagree, it depends on how QA fits into your organization and how you scope its role. UX needs Quality Assurance too, and sometimes things get past the UX team and into a product - at that point new issues come to light during testing and should be fed back up to the responsible teams.

In general I view QA as the last line of defense before the customer, if your QA doesn't speak up about ANY issues with the product, technical, UX or otherwise then who will?

Of course, my view of the role of QA in product design may be different from others.

Yes, me too. However i'd hope that for a product as big and important to MS as this then there would be more checks and balances in place to make sure that such things don't get overlooked.

It's understandable for one engineer to overlook it, maybe even a whole team but for an entire division of design, engineering, QA, marketing etc? Something is rotten in their process.

A lot of QA departments these days put their effort behind automated testing, which is very valuable but will never replace actual human usage of a device.

Automation should catch one class of problems but real world usage is necessary to catch a whole different type of issue.

It's admirable that MS is responding to criticism of their device and working for a solution.

However, all the issues he experienced seem like they would be quite obvious to anyone testing the device usage for any kind of drawing application (which, for a device with a stylus seems like a common enough use case to be testing), perhaps Microsoft needs to spend more time and effort on their QA process for the next round of the Surface instead of playing catch up after release.

"... but this language, once released, will be fixed for a decade at least. Something with that lifespan should be great from day one."

I'm not sure why the author believes that once the language ships it cannot change. Surely all languages evolve and change over time, it would be foolish to think Swift as it ships in September will not change for a decade after that.

The hard part for me was that managing engineers takes a lot of time and energy, it's not possible to be a full time engineer and a full time manager.

Over time your understanding of the technical details of the work your team is doing will atrophy and where once you may have been an expert on all aspects of the system you must now rely on the judgement of the senior members of your team when making decisions. This is hard for a lot of people, to know that you don't know enough to make a decision and then to trust your team enough to help you make the right one.

Building that trust is important, because without it you'll make bad (or at least uninformed) technical decisions. it's easier if you moved up into a managerial role from a team you worked on instead of being hired to manage a team you just met.

Fair point, it's just how I interpreted it, others may read that differently.

I was just focused on the "missing" term, to me that implies something that was once there or is notable in it's absence. However, as with many of the things that describe themselves in this way, that is not the case.

In this particular case, HTTP clients for the OSX ecosystem are not missing, they're just not that great.

In general I just dislike the wording.

The App Store description calls this "Paw – The missing HTTP Client for OS X".

Why do we keep describing apps as "missing" from an OS? Surely we're not implying that an OS should ship with all these different tools, right?

https://duckduckgo.com/?q=%22the+missing%22+*+from+OSX (not the best search but it shows a few. In my mind I seem to recall having read this a lot though)

Also, the app looks great. I'm using RESTed right now and looks like this does all the things I wish RESTed would do.