Archive for April 2, 2024

Tuesday, April 2, 2024

Switching From Xcode to Neovim

Wojciech Kulik:

To give you an idea what it means, here is a simple example. Let’s say you want to delete the current line in Xcode. You would probably use the mouse to select the line, then press cmd + x to cut it or backspace to delete it. In Neovim, you can do the same thing with just one command: dd.

Another example is let’s say deleting everything within the nearest brackets. In Xcode, you would have to manually select the text, while in Neovim you can do it with dib or cib if you want to start typing right away.

These are both pretty easy to do in Xcode. You can use Control-A, Control-K to delete the current line. And I assign Command-Shift-B to Xcode’s Balance command to select everything within the nearest brackets. It does not have editor macros, though.

You could have thought: “ok, but what’s the difference between Neovim and VSCode? It also offers thousands of plugins.”

The difference is that Neovim allows you to extend the environment without creating the whole plugin and the knowledge on how to do that. You just need to know the basics of Lua language (which is very easy to learn) and you can right away customize whatever you want directly in your config.


Update (2024-04-03): Timothy Perfitt:

i just discovered recently that xcode has a VIM mode as well. so you literally can do dd in xcode as well.

Where iPad Fits In

Matt Birchler:

Well, nearly 2 months later and it turns out the Vision Pro replaced precisely zero of my iPad use cases, and every day I find myself thinking, “sure would be nice if I had an iPad right now.”


The iPad is not a good replacement for a Mac or an iPhone for me, but damn it all if I didn’t enjoy having it around for some situations where neither of those devices were perfect. It’s cliche, but the iPad was the G.O.A.T. for doing stuff on the couch.


A Mac that could run on iPad hardware would be a dream for me, but that product doesn’t exist today.

Rowan Johnson:

It’s on these occasions that — like Matt — I miss my iPad. In fact, I would be incredibly reluctant to live without one in my life. Yet, the iPad still feels like it’s finding a place as far as work and productivity goes. So which is it? Is it an indispensable tool or is it a toy?


In theory, everything I’ve described above is possible to accomplish on an iPad. But MacOS is simply more reliable and capable. From obvious things, like the variety of software available on the Mac, to less visible things like the way MacOS handles app multitasking, I know that if I take my Mac on a job it will handle whatever gets thrown at it. I simply can’t say that same about my iPad.

iPadOS has a “death by a thousand cuts” issue, where all of the little things it can’t do results in the iPad being unreliable for anything particularly mission critical. On my iPad, if I start uploading a big video file to WeTransfer or in Safari, the system will almost certainly boot it from memory before it’s finished the upload unless I keep that Safari tab open in front of me the whole time.


But my iPad can be used as a teleprompter with the right accessory for my camera. It can be used for drawing sketches of my tech plans for live streams with an Apple Pencil. It can act as a monitor to allow a presenter to get Q&A questions from Slido, Zoom or Teams during a live stream; far more discretely than a laptop or computer monitor could.


In short, my iPad is a big iPhone, but with more room to breathe.

Via Eric Schwarz:

Despite my M2 MacBook Air being an excellent piece of hardware, I don’t love macOS in its current state as much as the earlier OS X days. It feels colder, unfriendlier, and in some ways like a bad iOS skin on top of older versions of Mac OS X—it does get used for all the heavy-lifting that is just too cumbersome on iPadOS.


Oregon Passes Right-to-Repair Law

Karl Bode (Hacker News, MacRumors):

Oregon has officially become the seventh state (behind New York, California, Massachusetts, Colorado, Maine, and Minnesota) to pass “right to repair” legislation, making it easier and more affordable for consumers to independently repair their own electronics.


But it also takes aim at “parts pairing,” or the practice of preventing you from replacing device parts without the approval of a company or its restrictive software. Apple, which routinely uses this practice to try and monopolize repair, lobbied extensively against the Oregon bill. As usual, under the (false) claim that eliminating parts pairing would put public safety and security at risk[…]

Nick Heer:

Quick note: the bill (PDF) specifically exempts restrictions on parts pairing related to battery safety in paragraph 3(f). Of course, Apple has made the same dire warnings for years in protest of right-to-repair legislation, and it is hard to know how seriously to take these claims. Oregon’s law does impose some new rules about the ways parts pairing can be used which appear to address some gaps in Apple’s repair policies.


AI and the Web Developer Job Market

Baldur Bjarnason:

We have the worst job environment for tech in over two decades and that’s with the “AI” bubble in full force. If that bubble pops hard before the job market recovers, the repercussions to the tech industry will likely eclipse the dot-com crash.


Not every CEO is predicting the end of programming as a profession. GitHub’s CEO instead thinks that programmers will be the primary beneficiaries of the introduction and improvement of LLM tools for coding.


This world-view assumes that the purpose of software development is the productive creation of successful, defect-free, software projects. LLMs would increase productivity.

The alternate world-view, one that I think is much more common among modern management, is that the purpose of software development is churn.

Via Kyle Hughes:

The overwhelming thing I agree with is: the observable disconnect between software quality and business outcomes is what is ripe for exploitation in the short-to-mid-term with LLMs. We don’t need to agree on the efficacy of LLMs to agree on this. If management could reduce quality and cost by an order of magnitude while maintaining or slightly sinking outcomes, wouldn’t they?

I think Apple platform developers are more likely to be caught off-guard by the viability of business success on top of bad software. I think we assume the success of iOS in particular is due to software quality but I have always suspected it was a secondary factor, if relevant at all. We could all collectively uphold that illusion because we were the self-selected people that cared and did the work. It’s hard to tell if it’s just our pet concern.