I use Readdle Documents to sync PDF folders with my server PC via FTP. Free version supports PDF highlighting & simple annotations, basic file management, and automatically syncs back everything.
Basically, yes it may write snapshots per-file (never per-commit) locally but there is a separate routine to transparently repack the whole thing with deltas.
There was talk about introducing type syntax as valid but ignored in the JS language, making TS valid JS.
It would take forever to become mainstream but if node and major browsers started to support this tomorrow, along with ESM modules we could drop TS compilation and bundling entirely during development, safely publish npm packages as TS (even a bundled TS) and simplify tooling for monorepos, IDEs, etc.
Unfortunately that wouldn't solve dealing with templates like JSX/TSX or future language syntax/features.
Right yea that solution would be many years out and doesn't work for JSX. As opposed to compiling to JS/JSDoc which could be done today and should solve our problems with stepping into NPM package code without dead ends.
They're turing-complete and modular so it's not really about what they can or cannot do.
Testability, tooling and the open-source ecosystem and either bad or non-existent. Writing PL/SQL is the worst environment I've worked in. That database sent emails, processed CSVs scheduled jobs, etc. yet there was still a web app to maintain next to it.
They're OK for certain things like essential triggers or performance-sensitive functions, but I would never deliberately put app logic in there. Major red flag.
Yep. Releasing, testing, debugging, etc are all more difficult in stored procs than in a “regular” language. Stored procs have other down sides:
- often unique to that DB, so locks you in
- Scaling that code is now tied to scaling your DB tier
- Tooling is often very inadequate
- Versioning and backwards compatibility of code can be a challenge
Some of those concerns apply to any database. Your query could slowdown if the database picks a bad plan, so you could say you will never trust the db to scale. That's separate from scaling the stored proc - just using the db can run into a scaling issue.
No, what I mean is your code scaling is now directly tied to how your DB scales. Your SP code can be impacting the rest of your DB, and vice-versa. I have seen large SP based systems to require Oracle boxes to be scaled up at enormous cost (hundreds of thousands or even millions of lines of SP).
Not because of slow queries, but just the cost of executing the stored procs themselves.
> Testability, tooling and the open-source ecosystem and either bad or non-existent
If you're properly testing the code in your application that exercises persistence, that means your test harness runs a real database like the one you're running in production and thus you can also write the database logic tests using your own application's testing facilities.
Of the things you listed, "the database sends e-mail" is the only one where I'd think you'd have to change the code at all, and have the database go through a mockable middle-man so that it becomes testable; but everything else can be comfortably tested from a test suite that is able to talk to a real database.
Just upgraded to Windows 11 (for its HDR features) and weather is now part of the "Widgets" bombarding me with ads and poor news sources. I genuinely tried to customize my "feed" but it's all junk -no reputable sources whatsoever- and I didn't find a way to remove them.
So the only sane course of action was to disable widgets altogether while I still can. And now I don't have the weather anymore.
In a monorepo with project references where each symlinked (not paths) package has a src/ and output lib/, I've always had issues with VsCode incorrectly proposing to import from src/ over lib/ from other packages. Never got it to work just right.
Does anyone know if the new package.json resolution settings can help resolve these issues?
In our embedded/plugin component scenario where we are given a <div> to load in, it appears we should replace our current pattern ReactDOM.render(React.createElement(... with createRoot(_jsx(....
ReactDOM.render has been deprecated since React 18. If you're running React 18 with ReactDOM.render, you should already see an error urging you to switch because essentially ReactDOM.render works in React 17 mode.
> it has by far the best vertical tab implementation of all browsers (someone please copy this)
TIL. I think it's still far behind TreeStyleTabs (TST) on Firefox. Missing for me:
- No nested groups. I know it's called vertical and not tree, but branches offer more context when navigating deep.
- Groups are standalone containers, while in TST the group is the root tab. This saves space but also allows to close/CTRL-F4 a tab to close the group/branch.
- Open in a new tab adds the tab at the end of the group, loosing context. There might be an extension for that.
- Closing a group and all its tabs requires to open a context menu.
- No automatic collapse behavior when selecting other groups and there are lots of tabs open.
- Open in a new tab doesn't create a group automatically, they must be manually initiated. Killer feature for me: by the time I realize I should have created a group it would be too late to bother assembling one.
- You can hide the titlebar/tab-bar at the top therefore maximizing vertical space
- It can be set to either be sticky (always open) or auto-collapse into a thin icons-only vertical toolbar.
The grouping functionality in Edge is inherited form Chrome without improvements.
The grouping functionality in Firefox with TreeStyleTabs or Sidebery is unmatched but this is all implemented by extensions and Firefox abandoned a lot of interface customizability when it abandoned XUL extensions. (you can theoretically do it by hacking userchrome, but it's buggy)
With old XUL extensions, TreeStyleTabs actually had the option to hide the tab-bar. And you also had the option to move the window controls to one of the toolbars.
Vivaldi does have the option to use vertical tabs but you are left with a titlebar you can't hide.