Helix uses a selection-first action model: you select the word/paragraph/whatever you want to perform an action on, then you change/delete/whatever on that selection.
I think this is more intuitive than the "verb object" model Vim uses: if you get your selection wrong in Vim, you then need to undo the action and try again. In Helix, I can see what I am about to manipulate before I make the action.
I think at this point Vim wins out for being so ubiquitous, but I wish the Helix model took off first.
I've set up myself once to learn Helix. First there was Kakoune that sounded exciting with its new modal model, but what had me wanting to really give Helix a go, beyond being exciting, was that it advertised itself "batteries included". It promised to deliver all the cool things programmers' editors do recently.
But then I stopped abruptly when realized Helix misses a key feature of Vim: swap files. I can just start editing and have not have to worry about losing my work, may whichever of computer panic, computer running off charge, environment (desktop env or tmux) crash, etc. occur.
So edit semantics is cool, but fundamentals like recovery should be got right before being a serious contender.
(I did a quick search to see if there is any news on this front, but what I found is all about "recovery hooks for panic", which is far more less than what's needed - it's about an emergency saving of the work if something goes awry with the editor. I need to be protected from loss if something goes awry with the environment too...)
Does anyone else use swap files? Personally, I find them annoying. Saving every time I leave insert mode is my preferred alternative: `autocmd! InsertLeave * silent! update`
Interesting how every use case is different. I personally hate swap files (they pollute directories and cause annoying warnings when opening the same file two times).
I use both in vim - if the selection is tricky use v or V to define the selection first, but most of the time "verb object" makes sense to me since that's how english works (tho could see it being unintuitive for non-SVO languages). "delete the next word" or "change inside the parentheses" roll off the brain and into the keyboard
To achieve something similar in vim one could use visual selection first and then run the verb on it. Helps with spotting mistakes or just tweaking selections in general. It is a tad bit tedious but a small bonus is `gv` which invokes the previous visual selection at a later point. That said selecting first isn't perfect because large selections often move the viewport around especially on small screens and that's really annoying but ahh that's life, always with the compromises.
The lead of NeoVim indicated that it would be possible to make this "grammar" an option for users. He didn't seem like it was something that's high priority, but he definitely was open to PRs to implement it.
I remember thinking roughly the same thing when I was a regular vim user. This was a long time ago now, so I forget the details, but from memory I used to use visual mode quite a lot, meaning I'd get to use the motion commands to select the region of interest first and then choose the operation to perform on it.
The typical vim model is a bit weird, but once I got practised with it it was actually quite surprising how much complicated stuff I could do purely by sight. But while the muscle memory aspect got me further than I'd have expected, it did only get me so far. Selecting the region first always seemed like it'd be the better way in general, being no worse when your fingers can do it automatically, while being better in the case where you're having to think about what you're doing.
Helix splits the "select" and "verb" portions into two separate actions, so you can't easily repeat the last whole action (which you can do in Vim by pressing the dot key).
Which one is more intuitive is probably subjective, but personally, I find "dip -> delete inside parenthesis" far more intuitive (and closer to my line of thinking) than "select inside parenthesis. delete selection".
No, you can't, vim visual mode always extends the selection, so moving by two words would select two, not the last one, but to see how it's different the best way is to just use the visual-first editor a little bit
yes it works the same but for example in vim you do 'delete-inner-word' rather than `inner-word-delete`. The selection first model allows you to see what you are going to affect before you perform some verb on it.
I once wanted to try that, but I'm familiar with vim enough that these kind of manipulation is done without even thinking about it. Only visual line mode proves useful when I need to yank/delete whole sections.
For arrivals, SFO has signs that direct passengers to a designated rideshare pickup area, and the rideshare apps direct passengers to a designated stall.
It would be possible to monitor how many cars are picking up passengers there with cameras, because non-rideshare cars would not pick up people there. It would also be possible for an auditor to spot-check with the Uber app and see if they get charged the fee or not, and whether the app directs them to the rideshare pick up area. From there it’s easy to see if a company is circumventing the surcharge.
As others have commented, it would be relatively simple for airports to deploy ANPR[0] to detect cars picking up passengers at the curb more frequently than an average person would be expected to, at which point they have the usual trespassing remedies at their disposal.
Your second point is why the stores need to be opened up.
Nintendo breaks compatibility almost every generation, so if you want to replay old games you already purchased on a previous console, you have to repurchase the ported versions or buy Nintendo’s subscription service. I’ve dropped hundreds in the eShop but worry I’ll lose access one day, when the Switch is EOL.
In comparison, I’ve been able to run my Steam games on multiple devices through the years because PC is a much more open platform. There are multiple shops, so Steam has incentive to keep games forward compatible.
That seems like a very uniquely Nintendo problem rather than a modern console problem.
Yeah, PS3 was from the era of consoles where backwards compatibility wasn’t as heavily demanded (given that Steam was in its infancy too), so they went with a notoriously and uniquely overcomplicated making games for it (and, by extension, compatibility). But PS4 era and onwards, any digital purchase you made back then for PS4 is accessible on PS5 as well.
And hell, even for PS3 digital purchases it is still kind of true. Unfortunately, PS4/5 cannot play PS3 games natively, but if you purchased a digital PS3 game back then, you are able to stream it using PS Remote Play on your PS4/5.
As far as I am aware, a similar thing happened in the Xbox space as well. Xbox One generation and onwards, any digital purchases you made back then are available on the most recent Xbox consoles. And for older games that aren’t natively compatible (and even a bunch of those that are compatible), they provide streaming too (through xCloud). Though don’t quote me on the exact details about how it works for Xbox consoles, as I haven’t used one since the Xbox360 days.
Meanwhile, Nintendo resells SNES era games in their “virtual console” section of Switch eShop at a pretty significant premium.
> PS3 was from the era of consoles where backwards compatibility wasn’t as heavily demanded
I don't think so for PlayStaion. PS3 and PS2 had compatibility to older PS by implement old chip. I think why there's no PS3 compatibility is because PS3 unique Cell architecture was dead end.
Yes and no. PS2 was compatible with PS1, but only the first batch of PS3 consoles was compatible with PS2 (as you said, they quite literally just built-in a PS2 chip inside a PS3). After that first initial batch, Sony stopped including the PS2 chip inside a PS3, so PS2 backwards compatibility was pretty much dead. And yeah, the lack of backwards compatibility was almost certainly due to the Cell chip architecture.
So yeah, as you pointed out, for Sony it seems like their compatibility goes a bit further into the pre-PS3 era, but for other console makers it wasn't quite the case. Couldn't play original Xbox games on Xbox360 (there is a list of like a dozen games that are backwards compatible, and even then there are issues with some of them like framerate), and neither could you do that with Nintendo/Sega consoles. In that sense, Sony was a bit of an outlier in that they came early to the backwards compatibility game. But these days, 2 out of 3 major console manufacturers pretty much standardized backwards compatibility as a simple "plug and play" feature.
Past the edit cutoff, so here is an important edit.
In the 2nd paragraph, i missed a word and meant to say “[…] they went with a Cell chip, making gamedev experience for it notoriously and uniquely overcomplicated.”
Those in power decide what constitutes an acceptable agenda. What can go wrong there? You can already see from the books banned it's not being equally applied.
It's the same "protect the children!" farce we've seen countless times. See the forest for the trees, it's just to control information and erase the fact LGBTQ people exist.
The payment processors are only charged a tiny fee, not a percentage of the transaction. Up until a few years ago Stripe, Paypal and others had no issues with refunding the entire amount.
Calculation is trivial if you are only operating in a single tax jurisdiction, maybe.
Tax calculation software handles all the different tax rates for product categories your business sells, changes in city/district/federal tax rates, brackets and min/max caps, sales tax holidays, etc. It costs money to maintain those databases.
Saying it can be done by any developer in a day is absurd.
This article is too long for the simple point it makes. “Don’t name your service fun cryptic names because it doesn’t scale well” could have been a paragraph on why it’s bad.
I was hoping for a framework on naming services/APIs when a good technical name is not obvious. How do I know if “fee-record-srv” is a good or bad name? What do I do if my service’s responsibility changes over time, etc.
Parent poster most likely works at Amazon. When the rate of purchases falls below a threshold, many engineers across the company get paged to find the issue. As you can imagine a news event would decrease activity on Amazon for a while.
I think this is more intuitive than the "verb object" model Vim uses: if you get your selection wrong in Vim, you then need to undo the action and try again. In Helix, I can see what I am about to manipulate before I make the action.
I think at this point Vim wins out for being so ubiquitous, but I wish the Helix model took off first.