• 0 Posts
  • 110 Comments
Joined 1 year ago
cake
Cake day: August 4th, 2023

help-circle




  • "The Open Book is my long-standing attempt to design a comprehensible and accessible e-book reader that you can build yourself (or at least have manufactured affordably). The current edition is something I’m calling the “Abridged” or “Developer Preview” edition. It’s designed to be incredibly simple: there are 7 through-hole and 14 surface mount components, nearly all in a chunky 1206 package that’s easy to hand solder. The tradeoff is that it has no LiPo charging circuit; instead it uses AAA batteries, making it a bit more chunky than previous versions of the book.

    The goal with this version is to get hardware in hands so we can start hacking on firmware."

    https://www.oddlyspecificobjects.com/projects/openbook/

    So:

    • This is a hobby / project of love
    • The current focus is on hardware

    I’m sure that the eventual plan is to support ePub.

    I’m not sure it will ever get there, because it’s not a well resourced project, but I personally don’t like criticizing one person’s efforts, which they are making freely available.




  • Find the mutual aid networks in your community and join / support them.

    Just generally be in community with those around you.

    Join or form local weekly protests for a permanent ceasefire.

    Join a union and encourage others to. Help ensure that your union has enough resources to provide support for more vulnerable members when they need to strike.

    Run for local office.


  • More than a decade ago a user came into #ubuntu-server on Freenode (now libera.chat ) and said that they had accidentally run “rm -rf /* something*” in a root shell.

    Note the errant space that made that a fatal mistake. I don’t remember how far it actually got in deleting files, but all of /bin/ /sbin/ and /usr/ were gone.

    He had 1 active ssh connection, and couldn’t start another one.

    It was a server that was “in production”, was thousands of miles away from him, and which had no possibility for IPMI / remote hands.

    Everyone (but me) in the channel said that he was just SoL and should just give up.

    I stayed up most of the night helping him. I like challenges and I like helping people.

    This was in the sysv-init (maybe upstart) days, and so a decent number of shell scripts were running, and using basic *nix commands.

    We recovered the bash binary by running something along the lines of

    bash_binary_contents="$( </proc/self/exe)"
    printf "%s" > /tmp/bash
    

    (If you can access “lsof” then “sudo lsof | grep deleted” will show you any files that are open, but also “deleted”. You may be surprised at how many there are!)

    But bash needed too many shared libraries to make that practical.

    Somehow we were able to recover curl and chmod, after which I had him download busybox-static. From there we downloaded an Ubuntu LiveCD iso, loop mounted it, loop mounted the squashfs image inside the iso, and copied all of /bin/ , /sbin/ , /etc , and so on from there onto his root FS.

    Then we re-installed missing packages, fixed up /etc/ (a lot of important daemons, including the one that was production critical, kept their configuration files open, and so we were able to use lsof to find the magic symlinks to them in /proc/$pid/fd/ and just cp them back into /etc/.

    We were able to restart openssh-server, log in again, and I don’t remember if we were brave enough to test rebooting.

    But we fucking did it!

    I am certainly getting a lot of details wrong from memory. It’s all somewhere at irclogs.ubuntu.com though. My nick was / is Jordan_U.

    I tried to find it once, and failed.


  • It’s a stretch to say that going to war in the middle east indicated “care” about/for Arab people.

    Also, I haven’t checked but I’d bet good money that we’ve gone back on more promises than we’ve actually honored WRT interpreters.

    Meaning, to be clear:

    We’ve promised a lot of interpreters U.S. visas / citizenship if they helped us in Iraq and Afghanistan, and have probably blocked more from entry to the U.S. than we have allowed.

    That is utterly fucked up, and I don’t see why anyone would trust such promises from the U.S. in the future.


  • It’s at least gotten a bit better.

    There was a time when Photoshop and other programs used a copy-protection scheme that overwrote parts of grub, causing the user not to be able to boot Linux or Windows.

    They knew about it, and just DGAF. I don’t remember their exact FAQ response, but it was something along the lines of “Photoshop is incompatible with GRUB. Don’t dual boot if you use Photoshop.”

    Grub still has code for BIOS based installs that uses reed-solomon error correction at boot time to allow grub to continue to function even if parts of its core.img were clobbered by shitty copy protection schemes for Windows software.








  • Oof. That sucks.

    I hope I’m not getting anyone in trouble. I live in a small town and have done this a lot over the years at different fast food places, and I’ve seen the same people enough that I assume I would have heard if there had been serious negative consequences for anyone.



  • Jordan_U@lemmy.mltoScience Memes@mander.xyzSTEM
    link
    fedilink
    English
    arrow-up
    12
    ·
    8 months ago

    I’ve ended up using calculus and trig for programming multiple times.

    You may be able to draw a circle without math, but teaching a computer to draw a circle requires an understanding of math.

    All of machine learning is rooted in linear algebra, rust is a very practical programming language that gains most of its power through category theory.

    You don’t need to know high level math to be a successful developer, but it can really help in many areas. I can’t really think of how to categorize which areas high level math is more or less likely to show up in, which I guess itself kind of supports my point.

    Just understanding what a derivative is and what an integral is can help you determine what problems are solvable and what aren’t, and let you think ahead about what information you might want to hold onto in your data structures. ( Think about what the +C in this integral represents in the real world, and what data you need to pin that down concretely ).