• 3 Posts
  • 48 Comments
Joined 1 year ago
cake
Cake day: June 8th, 2023

help-circle

  • … but there is a way, and it has been proven.

    One of the more memorable physics classes I’ve had went into the history of discoveries that led to our understanding of relativity. The relevant story here, starts with how sound travels though air.

    Let’s say you’re standing at the bottom of a building shouting to your friend peeking out a window on the 5th floor. On a calm day, that friend will hear you at pretty much the same time as someone standing the same distance away, but on the street. However, if it’s windy, the wind pushes around the air through which the sound of your voice is traveling, the friend up in the window will have a slight delay in receiving that sound. This can of course be verified with more scientific rigor, like a sound sent in two perpendicular directions activating a light.

    Scientist at the time thought that light, like sound, must travel though some medium, and they called this theoretical medium the Aether. Since this medium is not locked to Earth, they figured they must be capable of detecting movement of this medium, an Aether wind, if you will. If somehow the movement of this medium caused the speed of light in one direction to be faster than another due to the movement of this medium, measuring the speed in two directions perpendicular to each other would reveal that difference. After a series of experiments of increasing distances and measurement sensitivities (think mirrors on mountain tops to measure the time for a laser beam to reflect), no change in the speed of light based on direction was found.

    Please enjoy this wikipedia hole: https://en.m.wikipedia.org/wiki/Michelson–Morley_experiment , and please consider a bit of caution before you refer to things as facts in the future!



  • Not sure what you’re doing, but if we’re talking about a bog standard service backed by a db, I don’t think having automated reverts of that data is the best idea. you might lose something! That said, triggering a snapshot of your db as a step before deployment is a pretty reasonable idea.

    Reverting a service back to a previous version should be straightforward enough, and any dedicated ci/cd tool should have an API to get you information from the last successful deploy, whether that is the actual artifact you’re deploying, or a reference to a registry.

    As you’re probably entirely unsurprised by, there are a ton of ways to skin this cat. you might consider investing in preventative measures, testing your data migration in a lower environment, splitting out db change commits from service logic commits, doing some sort of blue/green or canary deployment.

    I get fairly nerd-sniped when it comes to build pipelines so happy to talk more concretely if you’d like to provide some more details!



  • I do this with my xreal glasses sometimes when washing dishes or whatever. Connected to phone in my pocket with a desktop mode, set a black wallpaper, and drag the video into a corner.

    It’s nice for situations like that, where you’re doing something with your hands and can’t reasonably place a screen in a way where you wouldn’t have to constantly strain your neck to look at it.















  • just to add a little more explanation to what the other posters are suggesting… a hard drive, from the perspective of your OS is very very simple. it’s a series of bytes. for the sake of this example, let’s say there are 1000 of them. they are just a series of numbers.

    how do you tell apart which numbers belong to which partitions? well there’s a convention: you decide that the first 10 of those numbers can be a label to indicate where partions start. e.g. your efi starts at #11 and ends at #61. root at starts at #61 and ends at #800. the label doesn’t say anything about the bytes after that.

    how do you know which bytes in the partions make up files? similar sort of game with a file system within the bounds of that partion - you use some of the data as a label to find the file data. maybe bytes 71-78 indicate that you can find ~/.bash_histor at bytes 732-790.

    what happened when you shrunk that root partions, is you changed that label at the beginning. your root partion, it says, now starts at byte #61 and goes to #300. any bytes after that, are fair game for a new partion and filesystem to overwrite.

    the point of all this, is that so far all you’ve done is changed some labels. the bytes that make up your files are still on the disk, but perhaps not findable. however - because every process that writes to the disk will trust those labels, any operation you do to the disk, including mounting it has a chance to overwrite the data that makes up your files.

    this means:

    • most of your files are probably recoverable
    • do not boot the operating system on that drive, or any other that will attempt to mount it, because you risk overwring data
    • before you start using any data recovery tools, make a copy of the raw bytes of the disk to a different disk, so that if the tools mess up you have an option to try again

    ONLY after that is done, the first thing I’d try is setting that partion label back to what it used to say, 100gb… if you’re lucky, everything will just work. if you aren’t, tools like ‘photorec’ can crawl the raw bytes of the disk and try and output whatever files they find.

    good luck!