I would also love to use it this way in Go. Currently we dump SQLite compatible schema to use for SQLite powered integration tests even though we use postgres when live. It allows us to have zero dependency sub-second integration tests using a real database. Being able to use postgres would be even better, allowing us to test functionality requiring PG specific functionality like full text search.
While most mesothelioma (a rare cancer) is known to be caused by asbestos and not other agents, asbestos is known to cause other cancers of the lung, larynx, and ovary, with limited evidence of some other cancers as well.
The GIN index has some similarities to Elasticsearch's inverted indices (last I knew anyway), which also can be quite expensive to write to. If you're doing heavy writes, something to test and consider carefully.
TLDR; writes get a lot more expensive with GIN indices.
One important factor to consider about these 'whiplash' events is that they also deplete the immediate water carrying capacity as the top soil washes away. The top soil normally serves as a 'water battery', and allows the water to absorb quickly with less run off as it slowly absorbs into plants and deeper parts of the ground. As more washes away we can expect more flash floods, more severe drought cycles, and desertification over time.
I really enjoyed this take on this aspect of the problem and future risks[1]. It's astonishing how fascinating and complex the water cycle is. It reveals a lot more than might be obvious about how human activity disrupts water systems of the earth.
The easiest and best way for you (you'll get updates through signed packages, etc) is probably to install via the Ubuntu Software Center.
Though it can be difficult to download and run random software from the internet, I have to say, most Linux distributions have got the software distribution challenge through their package managers right compared to OSX and Windows. First thing I do on an OSX machine is install homebrew which helps a little.
>The easiest and best way for you (you'll get updates through signed packages, etc) is probably to install via the Ubuntu Software Center.
Even that aspect is a confusing mess. On a Ubuntu Desktop installation, click on the 'Show Applications' icon in the dock and you'll see icons for:
* Software & Up...
* Software Upda...
* Ubuntu Software
The first two have virtually the same icon and [as per my transcription above] the names are truncated but are presumably "Software & Uodates" and "Software Update" --why two almost identical looking apps for this?
The third "Ubuntu Software" [which is the one I actually need to install 3rd party applications] isn't even visible until I scroll to the second screen of icons.
So three different apps for installing / updating software. Two of which look almost identical. And that's Ubuntu being the supposedly most user-friendly distro!
I don't use unbuntu. But doesn't it's software centre always try to push you to snaps? Or can this be disabled. Last thing I would want is snap variants.
Moving to Snaps gets us to a world of sandboxed applications, defined permissions, and OS version independence. That's the world that exists on mobile, and it's pretty great. Shouldn't desktop learn from mobile's successful experiment in sandboxing?
They should, that's why Flatpak is excellent for wide-spread, cross-distro software support.
Snap is a slightly worse, proprietary sandboxing mechanism pushed by Canonical, the people making money off it. It has some fundamental problems (boot being slowed down by all the snaps being mounted, for example, Firefox acting weird and sometimes not even launching until I reboot since 22.04) and some ideological problems (the fact you can't host your own snap store without paying Canonical, the fact Snap blatantly refuses to follow standards like XDG or even just folder naming in the home directories, forcing a lowercase "snap" folder on everyone).
Some people are against the appification that's taking a toll on user freedom. Some people are in favour of the excellent permission monitoring and dependency conflict resolution it allows. Both sides seem to conclude that snap isn't the right answer.
This thread is a perfect example of why we don't have clarity on what kind of distribution management we should have. We had:
1. Tar files of compressed binaries
2. No use your release's package manager
3. No, snaps
4. No you fool, flatpak is the superior solution.
5. I'll just finish this off by saying distributing source code is the obviously best way, you posers.
Nobody knows what kind of management we should have. Some people prefer directly distributing executables (AppImage). Some people prefer packages like Android/iOS (Flatpak). Some people prefer compressed files with installer scripts, like Microsoft's MSI files (.deb/.rpm). Some people prefer just a flat folder with binaries they can plonk down anywhere.
I personally prefer the distro-based approach, but for tools that need to be kept up to date independently of the rest of the system I'm a Flatpak fan.
People, collectives, and companies have preferences. There is no one single way.
In a similar vein, how do I distribute Windows software? Do I put it up on the Microsoft store, do I provide a download with instructions for my msix file or is appx more suitable for my use case? Do I add a compatibility layer for .exe to sacrifice the security sandboxing brings to make the file nice and clickable? Or do I use .msi to use the system UI that's easy to set up (but impossible to navigate for computer illiterate people). Or wait, maybe Steam and Epic Launcher are a better fit? Hell, maybe I can get away with uploading the APK to the Amazon App Store so I can target Android and Windows 11 in one go!
What about macOS? Mac Store, .dmg disk image, simple .zip file, or maybe a self-extracting installer? Do I need to include one of those weird screens that tells the user to drag an icon into a picture of a folder? That's what a lot of third party software had me do when I first tried it, though it took me a while to understand what it was asking of me!
Or is it better to use Brew/WinGet? It doesn't have the GUI, but it allows serious people to set up my software exactly how they like it.
> That's the world that exists on mobile, and it's pretty great.
No, it's not. Unless you do some weird hacks that aren't officially guaranteed to work (and now that the old READ_EXTERNAL_STORAGE permission has been fully deprecated, don't result in the most natural UX flow, either), Google's sandboxing on Android has e.g. broken the scenario of using a file manager to open a locally stored HTML file in a browser, because following the official API, the browser won't be able to resolve any relative links to other HTML documents or subresources like images/stylesheets/scripts.
Other multi-file file formats are similarly broken, and this more or less applies to all the sandboxing solutions I'm aware of, no matter whether Android, iOS, Windows, Mac or Linux. The only exception I'm aware of is that the macOS desktop sandboxing has some provisions for handling "related" files that only differ in the file extension, but even that of course doesn't handle all scenarios – the aforementioned HTML file example still wouldn't work for example.
The startup times are ridiculously slow (multiple seconds or even worse) at least on some machines (I've only ever experienced them to be sluggish, but some people say the opposite, so...) and this is particularly egregious for e.g. firefox or a password manager (bitwarden).
Because I just couldn't bear it anymore I uninstalled the firefox snap and installed the flatpak instead. Flatpak solves similar problems, but doesn't seem to be as sluggish, at least for the applications I've used.
I have no interest in snaps, flatpak or appimage. I can't stop my phone's apps from updating whenever they feel like it without breaking many of them. I can and do control software installations on my machines.
>I can't stop my phone's apps from updating whenever they feel like it
If you're on Android
Play Store > Settings > Network Preferences > Auto Update Apps...
You can also set the option to not update automatically on individual apps. When they show up in the Updates Available tab, click the hamburger menu next to one and there's an option to turn off auto-updates. Handy to stop YouTube automatically updating and wiping YouTube Vanced!
My point was that a contractor or construction worker probably wouldn’t be driving an f150 lightning as it’s not really practical but it sure is fun (see the F150 SVT with its single digit city mileage as a previous example)
COrrect. The SVT raptor puts out 500+ ponies. No construction worker needed that, but it did pave the way for more efficient ecoboost engines (mustang has a lovely 2.5L EB engine) which power the entire ford lineup
> If you want to undercut an affilate referral, go to the restaurant ditrctlry instead of a third party leadgen site.
The whole issue is that the leadgen site is pretending to be the real restaurant to collect a fee. This isn’t just “why complain that DoorDash takes a fee when you use DoorDash”. It’s “company X is pretending to be restaurant Y in order to add a fee while providing no value added”.
My product (https://gitsense.com) moves most of Git's history into a Postgres database and from there, you can execute the following SQL statement:
select
commit_ym AS month,
count(distinct(author_email)) as authors,
count(distinct(commit_id)) as commits,
count(distinct(path_id)) as files,
sum(total) as churn
from
z1_commits_422 as commits,
z1_changes_422 as changes,
z1_code_churn_422 as churn
where
commits.id=changes.commit_id and
changes.code_churn_id=churn.id and
lang='java'
group by commit_ym
order by commit_ym desc
limit 12
By having most of Git's history in SQL, I can slice, dice and cross-reference code history, which is how my product works.