We use Liquibase with git. DB changes required for the corresponding code changes are required to be committed as a Liquibase changelog with the same branch name, and the PRs both need approval.
What we are not good about is making sure the changelogs have revert capability... some devs do it right and others not so much
I have also used Liquibase on one important project and it worked well. I would use it again. Code stored in git, deployed by CICD (Jenkins and in that project via maven).
Funny you mention changeset rollback. I tried doing that and got it working for a wide variety of SQL types of changes, but I had a hard time at the end of it convincing myself all the extra code writing and testing of all that was worth imposing on other developers for our fairly centralized SaaS-supporting database.
Liquibase supports a lot of databases but not always all the data warehouse/lake latest ones I’m interested in, e.g. Athena/iceberg.
Second Liquibase. Plugins like JPA Buddy can generate the scripts (Liquibase/flyway) from the DB or JPA Entities. The XML scripts are not difficult to write by hand and can use straight SQL when needed. Since you can generate the actual SQL script from XML it’s great for org’s that need a DBA to run the script on PROD since you can send them a copy for review and they just need to hit run, while keeping the XML in the projects code repository. There may be other tools for solo development that might be more straightforward and look forward to the answers posted here.
His commenters are saying too many "bad words" that google ads doesn't like. It's been like this for over a decade, but from my perspective the "bad word list" has grown out of control to where people can't have anything more than kintergarden conversations on pages hosting Google ads. I kind of wish they would just ban every word in the dictionary so we can move on from their control of the web.
If HN had google ads, the URL list in this spreadsheet would reach the moon.
> I kind of wish they would just ban every word in the dictionary so we can move on from their control of the web.
You know, when a company doing stupid things cause the entire world to self-censor, it means there's something very wrong with the intended democracy where it's hosted and the other ones letting their people being preyed upon.
This is the one area where Google's massive power on web advertising could be used for good. If they would push back against this stuff to advertisers, the advertisers would (for the most part) just lighten up.
What really happens is that both Google and the advertisers want it to be this way. Many Google employees hate the idea that their search engine "surfaces harmful information," and they define "harmful" in a much more broad way than most people do.
So no, Google doesn't get to use this excuse about "we're just hamstrung by the advertisers!"
This is the danger of hosting your own comment sections; by the powers that be (be it companies like Google or coporations) you are the end-responsible for user generated content. There's some leniency of course, since you didn't write it yourself.
Personal anecdotes. Members posted porn gifs on my old fashioned forums 20 odd years ago, Google did not appreciate that.
Members posted stills from an unreleased game on my current forums; we got DMCA takedown notices from at least three separate legal people associated with the company that published said game. If we didn't do the takedowns ourselves, they probably would've gone to the host and have our site shut down.
TL;DR, if you use a 3rd party (host, service), your content has to comply to their terms and services.
Are we also not sure that this is a danger of letting one advertizer become dominant on the entire internet and controlling a large part of human discussion?
Thanks, I've been emailing myself photos in Gmail 5-6 at a time like a caveman for the past several years... any app I tried was a non-cross-platform disaster or cost too much and had major feature bloat. This looks dead simple.
What sucks is that there's no foolproof way to make sure it keeps running. Not so much of an issue for a techie, but I tried to use it so my mom's photos keep getting backed up, and I have to remind her at least once a month to start it again. And that's despite having all the energy saving stuff disabled for the app, and having Autostart allowed. I don't know whether there's still some heuristic to kill apps that run in the background and haven't been interacted with in X days or something.
And then, at least on my phone, it rarely seems to goof up when the app starts the actual syncthing process. Syncthing-fork then just keeps showing "syncthing is starting up" on the status page and the battery drains quickly. It's still the best solution imo to have your photos reliably get backed up no matter where on this planet you are without resorting to Google/$PHONE_MANUFACTURER Cloud.
That's unusual if that's the case, in my experience. I rely on syncthing to keep my notes synced between devices/applications (and photos) and using "run according to time schedule" for "5 minutes" has never produced a problem for me, through reboot and months between opening the app sometimes.
Just plugging tour phone in (eg. with the charging cable) will do the trick, though on Apple-hardware, you'll need to install OpenMTP (https://github.com/ganeshrvel/openmtp) or somesuch.
If you meant more freely aharing than that: apologies, misunderstood. But isn't that the problem Dropbox solved?
Fellow caveman here. That's the way I've been doing it for years also, haha. Just tried Sharedrop.io mentioned in another post on HN and it works great if your phone and computer are on the same network (make sure your VPN is off if you have one).
That being said, there are a great many apps with support for kanban-style boards that one could use before resorting to jira. Notion, for example, can do it.
Walmart has the same shitty chinese crap dropshippers, but also has incorrect stock info and less reliable shipping / logistics. So it's a more discombobulated and less return-friendly version of amazon.
People have linked some cheap app things, which may work, but the real deal stuff is something like a Trinnov rack unit, or Neumanns DSP room correction system, which is what I use. Both are somewhat pricey, but this stuff isn’t audiophile junk, it’s meant for studios that really need the room to get out of the way, and it’s usually paired with quite a bit of treatment. The difference is insane. It’s not like a “this one has a tiny bit more sparkle” difference, it’s a +-15db at a couple of points in the low end kind of difference.
Someone also linked RoomEQWizard, which is an awesome tool, but dialling in a flat sound with it using just an EQ is going to send you to phase hell, and you’ll also need a halfway decent measurement microphone to get the most of it.
A cheap app that will provide results comparable to Neumann, Trinnov or Lyngdorf is drc-fir [0]. It will correct frequency response and phase while correcting the reverberation in your listening room. It's free software and quite well documented.
Been many years since I used REQ (as I've not changed my setup in a long time). Don't forget a decent soundcard (does not have to be expensive).
I use a USB (can't remember the brand/chipset) and an old Audessy calibration mic (+-1db) which is good enough and works well with REQ.
There was a period where my listening setup used BruteFIR running filters generated by this DRC program. To my ear it sounded really good, especially managing some of the quirks having large speakers in a small space. It was sort of an anti-audiophile setup though, the only way to play anything on it was via AirPlay and everything but the speakers was pretty boring and hidden.
I love the 'boring and hidden' aspect. I used to have a huge stereo system. Nowadays I have a PC with a good sound card. It runs Kodi and is hooked up to two active speakers.
Everything my old rack would do has been replicated in software at state of the art quality with free software. Any old desktop PC is powerful enough.
What we are not good about is making sure the changelogs have revert capability... some devs do it right and others not so much