10,337 karma · joined January 18, 2008
Can we make a programming language that will save developers from that? Maybe, but that would be very hard and that's not what Apps Script is trying to do. It already allows non-idempotence, trusting developers to write idempotent code when they need to. So it could run on the client just fine.
No, it's not. Built-in functions like SUM recalculate instantly, and custom formatting rules (e.g. "color green if above zero") get applied instantly, even when there are multiple users editing a sheet. Running custom functions and triggers on the server is just a decision they made.
1) Everything runs on the server, including triggers and even custom functions! This means every script call requires a roundtrip, every cell using a custom function requires a roundtrip on each change, and it feels much slower than the rest of the UI.
2) You can't put a change trigger on a cell or subset of cells, only on the whole sheet. So you have to manually check which cell the trigger happened on.
3) Reading and writing cell values is so slow (can be a second or more per read or write) that the semi-official guidance is to do all reads in a bunch, then all writes in a bunch. And it's still slow then.
4) A lot of functionality, like adding custom menus, silently doesn't work on mobile. If your client wants to use Sheets on mobile, get ready to use silly workarounds, like using checkboxes as buttons to trigger scripts and hoping the user doesn't delete them.
Overall I got the feeling that Google never tried to "self host" any functionality of core Sheets using Apps Script. If they tried, it'd be much faster and more complete.
Funny how this "long now" date format will stop working in 99999, but the normal way of writing years as integers will keep working just fine.
Among 2D platformers in general, I think the medal for best movement feel goes to the Fancy Pants Adventure series. (You can still play it online on sites that have Flash replacements, start with the 4th game because it has everything.) But that's a deliberately easy game, you just run through the levels and have fun.
Among difficult precision platformers, I'd say the N/N+/N++ series has the best movement. (The first game is also still playable online.) Be careful, this one is like a drug, it has a huge number of levels and it's really hard to stop playing.
EDIT: I want to add that "training on chat logs" isn't even the issue. In fact it understates the danger. It's better to imagine things like this: when a future ad-bot or influence-bot talks to you, it will receive your past chatlogs with other bots as context, useful to know what'll work on you or not.
EDIT 2: And your chatlogs with other people I guess, if they happened on a platform that stored them and later got desperate enough to sell them. This is just getting worse and worse as I think about it.
That said, there's another problem with comment culture that seems worth mentioning. I seem to have gotten good at expressing thoughts that fit in a comment. That gives me a false sense of competence; but when I need to write something longer, like a blog post several pages long, the structure just completely falls apart. And writing a book I can't even imagine. It seems writing at different lengths is essentially different skills, which need to be practiced separately. And if that's the case, then as Annie Dillard says, why not just write something long to begin with? I'm actually thinking of that now.
For example, if pressing a "Save" button makes a "Save successful" toast appear on top of the screen, it's tempting to animate it in, so that the user notices it. But it's better to replace the button text with "Saved" and gray it out, which achieves the same goal and feels great without any animation.
Today there's another thing going for Bear: the discovery page. It's gradually becoming a driver of visibility, attracting more authors to Bear to get readers who are there. But I'm wary of these "flywheel" kind of things, even if they have an indie look. To me it still feels better to have my own website, and participate only in those discovery systems that support it, like Reddit or HN.
Remote: Yes
Willing to relocate: No
Technologies: Web stuff
Resume/CV: https://vladimirslepnev.me
Email: vladimir.slepnev@gmail.com
This is a long shot but yolo. I've scrubbed my corporate experience, and instead of a resume I have a list of personal projects. Drop me a line if you can vibe with that and have some fun idea to make. No AI please.
In fact I'd double down on the "strictly better" bit. There's an instrument that's literally strictly better than the theremin: it makes a very similar sound, looks every bit as cool and weird, but is much easier to play well. The musical saw! https://www.youtube.com/watch?v=q7cMJn0HAdE
Combining the theremin with the keyboard helps with pitch, but the low dimension problem remains. You might as well play a keyboard with one hand and a trackpad or joystick with the other, it's easier and the number of dimensions is the same.
Required reading: https://buttondown.com/monteiro/archive/how-to-not-build-the...
I think it's also possible for other shapes, all the way up to square blocks. But you need to build a bunch of nested "clamp" arrangements, instead of just one.
Amusingly, just like XSLT, document.write is in the process of being deprecated: https://developer.mozilla.org/en-US/docs/Web/API/Document/wr...