Maybe I'm missing something, but to me more frequent builds make proper semver more important, not less.
An easy way of knowing which versions you should be able safely update to without breaking changes seems hugely valuable.
He talks about APIs versioning, but APIs are only a small part of the problem. How about the hundreds of libraries that my site is built with for example? Semver allows me to specify rules in my package file about whether to take only the exact version that I want, the latest patch, or the latest minor version. I didn't spot anything in the article that showed a better way of doing that.
That's exactly what I thought when I started using it.
But as I've got more used to it, I'm not sure it's really an issue, or at least doesn't have to be.
Firstly, JSX isn't really HTML. It's a bit of syntactic sugar around JavaScript "createElement" functions. If you don't want to have something that looks similar to HTML in your JS, you don't have to.
Secondly, if you want dynamically generated HTML, you're going to need some form of logic embedded in there somewhere (loops, conditionals etc). Most template languages end up with their own directives, like Angular 2's "ngFor". The React answer is to use standard JavaScript for that control.
And if you then want to separate out the non-display logic, you can use a combination of "smart" (pure JS logic) and "dumb" (JS/JSX display) components, and treat the JSX files as templates. "Separation of concerns" in this context isn't about not mixing code and markup, it's about not mixing business and display logic, and there's nothing in React that stops you doing that.
It's one of the meanings, and presumably the one that was in mind when the term was coined.
But an awful lot of people seem to take it to mean the other sense - "in good health, especially because of regular physical exercise", and extrapolate that out to mean that it's always the strongest/fastest etc that survive.
I agree. The critical question isn't "should I be attending a meeting when I'm walking in the countryside?". It's "what's the alternative?"
If it's that you can be walking in the countryside when you would previously have had to come into the office for a meeting, then that's great.
If, on the other hand, it's that you've now got no excuse for not working in times you would previously have been resting, then that's pretty bad.
I work in a company that offers pretty good flexibility. You aren't expected to be answering your emails when you're on holiday, but you are often able to work from home if that helps with your particular situation.
I've got my kid's school play in a few weeks, and I could not do a full day in the office and get back to watch it. But I can stay at home, work in the morning and the evening, and then go to the play in the afternoon. I could also choose to take the entire day off as holiday of course, but then I'd be losing a day's holiday. I appreciate this kind of flexibility.
Of course, there's plenty of companies who take the opposite tack - if you've got a work phone, you're now available to be working 24 hours a day, 7 days a week. The advert at the bottom is pretty poor, because it seems to be very much pushing that message.
But most of the original ones could be read either way.
Unfortunately, the vast majority of people doing it are never spotted by police officers. I walk to work most days, and I can't remember the last time I didn't see at least one person (usually it's at least half a dozen on a 30 minute walk) texting while driving.
This morning, as I dropped my daughter off at school, some woman pulled off from the side of the road and drove about 30 yards before bothering to look up to see if there were any kids crossing.
Not the original poster, but I assume they mean daylight saving. Depending on which kind of clock you're talking about, then for most of the world time goes back by an hour.
There's at least one on that list that's (at least in my experience) gone from relatively mainstream to esoteric - self-modification.
Back in the day when both memory and clock cycles were very precious, it wasn't unknown to use self-modifying code as a performance optimisation trick. I did it at least once in the late 80s, when I was working on comms software that had to be as fast as possible in order to avoid missing incoming data.
There was a check that needed to be done on every byte - I think it was whether I was now processing graphics characters or not - but the check was taking valuable time, and the value didn't change very often.
So the most efficient way I found to do it was to wait until I got a "switch to/from graphics" byte in the input stream and then update the instruction at a given location to either be "unconditional jump to graphics routine" or a "no operation (NOP)", which passed straight through to the routine for normal characters.
It was a horrible hack, but it worked.
Thankfully, I've not felt the need to even consider this approach for the past 20 years.
That eventually turned into JITs, and it's still a very powerful technique for tight loops on modern processors, although the pipeline means the benefit happens with more iterations than on the old non-pipelined/cacheless CPUs. It can even be done across multiple cores, as I coincidentally explained here a short while ago:
I don't think SMC has ever been "relatively mainstream", at least after HLLs gained popularity over Asm. But in Asm, it still has its uses where a full JIT would be far too much overhead.
Very long ago, before index registers were a fancy new feature for the cool kids, one would modify the address fields of load/store instructions in order to stride through memory or traverse a list.
I get why IPv6 is going to be massively important in the future, but we're not (as far as I know) in that future yet, and these sites aren't going to be dropping their v4 addresses as soon as they get V6 ones, so it's not going to be freeing any old addresses up.
So - and this is a genuine question - what is the issue right now with, for example, the BBC not yet having an IPv6 address, as long as they have plans in the pipeline for when v6-only clients need to access them?
> So - and this is a genuine question - what is the issue right now with, for example, the BBC not yet having an IPv6 address, as long as they have plans in the pipeline for when v6-only clients need to access them?
Because of the catch-22 problem. The BBC sees that no consumers use IPv6 exclusively, and don't bother supporting IPv6 "yet". ISPs see that "no" content providers support IPv6 at all, and then claim that it doesn't provide any real benefit over CGNAT bullshit.
And so we'll be stuck in this mess for another century at least...
I do the same, but some companies don't seem to be interested. I've had two different emails linked to a magazine's website and had spam to both.
When I've contacted them about it, they've been absolutely adamant that the spammer must have (twice) guessed the exact email address that I've had there.
I've had the same response. When I ask how come the spammer managed to successfully guess exactly the particular unique email address (including unique hashes appended to the service name as part of the username side of the address) on the first and only attempt (verified by looking at mail server logs), they just shrug.
You should report them to their country's data protection body. They are either maliciously selling your data against your explicit wishes or they've been hacked and are ignoring it.
My reading of the ruling is that the EU are saying that it's always been illegal under EU law, but that the Irish government had pretended that it wasn't.
What it looks like they are trying to do is apply a legally compliant level of taxes retroactively, not laws.
An easy way of knowing which versions you should be able safely update to without breaking changes seems hugely valuable.
He talks about APIs versioning, but APIs are only a small part of the problem. How about the hundreds of libraries that my site is built with for example? Semver allows me to specify rules in my package file about whether to take only the exact version that I want, the latest patch, or the latest minor version. I didn't spot anything in the article that showed a better way of doing that.