News for hackers. Stuff that matters.

doctor_eval

Re:U.S. Department of Defense – Detecting Agile BS [pdf] on Thursday July 25, 2024 @06:12PM (#41073928)
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.

It’s a trap!

Re:"Security Is Our Top Priority" Is BS on Wednesday July 17, 2024 @06:11PM (#40990840)
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.

Re:"Security Is Our Top Priority" Is BS on Wednesday July 17, 2024 @04:37AM (#40983697)
> 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.)

Re:"Security Is Our Top Priority" Is BS on Wednesday July 17, 2024 @04:33AM (#40983676)
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.

Re:Eight Years of GraphQL on Wednesday July 17, 2024 @04:20AM (#40983611)
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.

Re:Eight Years of GraphQL on Wednesday July 17, 2024 @03:42AM (#40983423)
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.

Good luck!

Re:Eight Years of GraphQL on Wednesday July 17, 2024 @02:56AM (#40983236)
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.

Re:iOS 18 could 'sherlock' $400M in app revenue on Tuesday July 16, 2024 @11:25PM (#40982279)
I’ve always felt that writing apps for Apple devices is more like creating phone accessories than building products.

Apple cares about selling iPhones and other devices. If your idea can help them sell more, and they can do it better, they will.

I think that’s perfectly natural and OK - and what’s more, I think it’s on the app developers to understand this and to plan for it.

You might get a few years head start on Apple, but you gotta be able to read the tea leaves.

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.

I might be misremembering?

Not my partner, but I bet they knew each other, it was a great little community and she was there for the better part of 20 years.

Great parties in the 00’s!

Curious where that was? My partner was a jeweller in the Nicholas Building in Melbs.
Re:Just Be Rich (2021) on Monday July 15, 2024 @05:31AM (#40966387)
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.

Re:Just Be Rich (2021) on Monday July 15, 2024 @05:22AM (#40966357)
Allow me to introduce you to the Sackler family.

https://en.m.wikipedia.org/wiki/Sackler_family

Re:Just Be Rich (2021) on Sunday July 14, 2024 @07:55PM (#40964161)
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.

Re:Go Range Iterators Demystified on Sunday July 14, 2024 @07:20AM (#40960254)
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.
What was the uptake like? Would be super handy to know how well it was tolerated or if there were any unexpected surprises.

I’m pretty much decided on Capacitor for my new B2B SaaS, but I honestly had forgotten about the possibility of PWA deployment.

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!
Re:Firing Myself on Saturday July 13, 2024 @04:31PM (#40956646)
> 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.

Re:"GitHub" Is Starting to Feel Like Legacy Software on Saturday July 13, 2024 @02:01AM (#40952136)
Yeah - I understand why they do this but I reckon they could have made them renewable without having to replace the tokens themselves.

Also granular PATs still don’t work everywhere.

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.
I understand that Wikileaks is controversial but I don't think there is any dispute that he has acted in the role of whistleblower to some extent. But that's not really the point I'm trying to make, so I've removed the reference.
Are strong whistleblower protections what’s needed to balance this?

As an Australian I am absolutely horrified that we continue to put people in jail who have blown the whistle on the government here, and it makes me think that large organisations are absolutely terrified about strong whistleblowing protections.

This all suggests to me that whistleblower laws would be very effective.

Re:"GitHub" Is Starting to Feel Like Legacy Software on Friday July 12, 2024 @05:34PM (#40949658)
It feels this way with PATs as well, with legacy PATs still necessary for most of the things I use them for, despite being pushed into the newer ones. And the documentation is terrible. I had the exact same thought, the PAT transition feels like an unfinished feature as does the API transition.

For me the API transition is even more bizarre since it’s almost trivial to wrap REST calls with GraphQL.

What it feels like to me is a mounting level of serious technical debt which isn’t being addressed, and if that’s not a sign of trouble in a product like GitHub, I don’t know what is.

Re:Iconography of the X Window System: The Boot Stipple on Thursday July 11, 2024 @11:08PM (#40942466)
> For a long time the X Window System had a reputation for being difficult to configure.

Honestly I thought it was hard to configure because until I used Linux, my X terminals didn’t need to be configured at all!

I may be misremembering but I think my NCD terminal used bootp and probably a little tftp, then off it went. The hardest part was probably finding an Ethernet drop to plug it into.

Now - get off my lawn!

I first used Slackware Linux off floppies in the mid 90s, yet every time I see linux in the browser I am gobsmacked.

I’ve said for a while that a browser is basically its own operating system. Now it can host operating systems!

Re:Why Use Onion Layering? on Wednesday July 10, 2024 @06:47AM (#40925583)
There is a lot more to meeting a customer’s needs than blindly doing what they say. Sometimes, you need to write code to protect them from their own (sometimes-but-not-always rational) decisions - or to protect other customers and stakeholder from them.

You also need to keep your own team nimble. I’ve seen plenty of systems that have just thrown code at the product, and they end up with SQL tables with 150 columns - most of which nobody uses, and which can’t be removed, and the customer ends up pissed off anyway because you can no longer turn their requests around quickly.

A good, layered design mitigates against this and makes it possible to continue to be productive even in the face of customer demands.

Externalising customisations is a huge benefit to productivity.

Before. That’s why I bothered to look it up. And that’s when I discovered that the “savages” were actually employees of the Tongan government acting with the authority of the Pacific Forum.

You’re not very good at this “good faith” business are you, friend?

For me the real kicker was that Boeing convinced the FAA that the aircraft did not need redundant Angle of Attack sensors, even though they knew that this meant that there was a single point of failure in a system which had control authority (ie, MCAS).

Boeing did not disclose the existence of MCAS to pilots, and therefore did not train the pilots on how to recover from MCAS failure, and there was no redundancy in the key sensors that fed MCAS.

IIRC at least one of the crashes was caused by an AoA sensor failure.

> The Foundation's next attempt to establish a libertarian state [after Minerva] was in 1973 on the island of Abaco in the Bahamas. In the period approaching Bahamian independence, a number of white residents objected to living under black rule.

!

Pretty sure we tried that.

Older »