While this document starts strong and has some good points, it strongly conflates “scrum” with “agile” and goes downhill pretty quickly.
> wrong answer: what’s a sprint cycle?
You don’t have to have sprints to be agile. What’s important are the four values.
The manifesto says, “Individuals and interactions over process and tools” but this document then goes on to talk a lot about specific processes and tools.
This is just rubbish. Safety arises from multiple dimensions - Kevlar-threaded armour is a single, last line of defence that helps only when everything else has failed.
Actual safety comes from training, practice and operations - such as understanding how the tool works, what unexpected dangers exist, what techniques to avoid, the state of the immediate environment, prioritising safety (eg by not creating time pressure) and the design of the tool itself (eg chain guards and anti whip mechanisms)
By the time your Kevlar armour comes into play you are well outside the safety zone and deep into the shit your pants zone.
> The needs of security are opposed to the needs of a convenient user experience. Improving one typically hurts the other.
I must be Dr Contrary tonight but this strikes me as bullshit.
SSH is more convenient that telnet. Passkeys are more convenient than passwords. TouchID and FaceID are more convenient than passwords.
In general, security is an afterthought that is inconvenient to developers to add back. But in the digital world I haven’t seen many examples of security being less convenient than the alternative.
(I am writing this from an airport and definitely do not assert that this applies to the built environment.)
Safety is not a “luxury enabled by profit”. It’s one of many necessary dimensions for efficiently creating value over time.
If you are a sole trader and you fall off a ladder and hurt yourself because you took some stupid shortcut, the cost is extremely high.
If you work for someone and they make you do something stupid that hurts you, the cost to them has traditionally been relatively low, so they are motivated to push you because that’s better for them. Fortunately, in most modern countries this is no longer the case.
Safety only becomes a “luxury” when capital becomes concentrated into the hands of people for whom other people are disposable.
These are just assertions with little to back them up. As TFA says, you can make all the same claims for REST. And GraphQL works the same as REST. But instead of a complex mishmash if positional and named parameters, it has a super simple query structure.
When you create a stack of REST APIs, you’re creating a DSL. But it’s a DSL with arbitrary and frequently undocumented relationships between objects, no type safety, and masses of hidden complexity.
GraphQL is simple. If you don’t think it’s simple, you don’t understand it.
> One big issue of GraphQL is also that API clients tend to suck. That's not a problem for OpenAPIs.
The clients are unnecessary. You can get ridiculously complex clients for REST, too. But you can also use GraphQL just using fetch().
The only material difference between the two from a client perspective is:
* REST gives you everything, even if you don’t want it
* GraphQL requires you to request what you want using a minimal query language.
GraphQL also lets you perform multiple queries in parallel, on the server, which REST can’t easily do.
REST is a PITA for any data model that’s more complex than CRUD.
Unfortunately I’m on a bus to the airport for a couple of days so I’m a bit constrained.
If you know Postgres, I would recommend taking a look at Postgraphile. It’s awesome, and comes with an explorer web UI that really helps (GraphIQL with extras). Everything happens in real time. so if you update a view, the UI updates.
There are lots of GraphQL clients but many of them do all sorts of crap you don’t need. I just use graphql-request which is super simple. But of course you can just use fetch() too.
There are also lots of “standards” for GraphQL that make it seem more complex than it is. Ignore that stuff and just start playing with a good server like Postgraphile.
This is nonsense. GraphQL queries are simple HTTP requests, with no more complexity than REST. You POST a query string and some JSON and it’s done. If your client makes it harder than that, don’t use it.
Here’s my workflow for creating an API with Postgraphile:
create view graphql.object as select some,columns from table;
(That’s it)
It’s trivial to query it with curl, I’d give an example but I’m afk rn.
I’ve been using GraphQL for about the same amount of time as in the article and it solved a bunch of problems for me.
It’s so easy to use, and saves so much time - once you spend the time to understand it.
I don’t disagree with you in principle, but this history is not quite right. IIRC the IE6 team was shut down. Basically only Mozilla and Apple were building browsers at scale until Chrome came along.
The US has the worst health outcomes in the OECD - in particular for life expectancy, infant mortality, healthcare access, and chronic disease. So if you care about health, “another example” is literally any other OECD country.
And every one of those FAANGs would not exist without ASML, a European company.
You obviously don’t know what you’re talking about. I’m checking out of this thread.
Why smart people continue to say this is beyond me. There were so many problems with the USSR - central planning, corruption, bureaucracy, secrecy, misaligned incentives - and it's just not true that everyone was equal. Very few rational people would agree that the USSR is something that we should aspire to.
As far as I can tell, "look how well it worked for the USSR" is just a trope that's trotted out by people who don't want to accept that alternatives to the status quo might be possible.
Isn’t the only real difference that the yield function is being passed into the iterator instead of being a reserved word? I don’t think it’s clunky, although it took a few minutes for me to get it.
Hmm, I recently found my old official “Zilog Z80 CPU Programmer’s Reference Guide” from October 1982. I thought I’d lost it. It was very much loved by my teenage self!
> I found myself on the phone to Rackspace, leaning on a desk for support, listening to their engineer patiently explain that backups for this MySQL instance had been cancelled over 2 months ago. Ah.
There is no part of this story that’s the protagonist’s fault. What a mess.
Witness K and Bernard Collaery came to mind when I was writing it. They blew the whistle on illegal espionage used to pillage the resources of our tiny neighbour, and the government threw the book at them. Absolutely shameful.
> wrong answer: what’s a sprint cycle?
You don’t have to have sprints to be agile. What’s important are the four values.
The manifesto says, “Individuals and interactions over process and tools” but this document then goes on to talk a lot about specific processes and tools.
It’s a trap!