• 291 Posts
  • 7.5K Comments
Joined 2 years ago
cake
Cake day: October 4th, 2023

help-circle

  • Assuming that this is the game in question:

    https://steamdb.info/app/640820/

    It looks like it has a Linux-native build, which is probably what you are using. Anything under pfx/drive_c is used by Proton, Valve’s WINE build used for running Windows binaries. You can force use of a game’s Windows binary under Proton rather than the Linux-native binary, in which case all of the Windows file paths for game-modifiable stuff will be in a game-specific directory under:

    ~/.steam/steam/steamapps/compatdata/<Steam AppID>/pfx/drive_c/<Windows path>
    

    There can also be game data files in ~/.steam/steam/steamapps/common/<game name>. I believe that that’s just intended for stuff that Steam writes, not stuff that the game might modify.

    If this is the game you’re talking about:

    https://steamdb.info/app/640820/

    Then its AppID is “640820”.

    The path below that will be the same as for the Windows version of the game; just won’t have a “C:\\” prefix, but the “…/drive_c” prefix.

    But if you’re using the Linux-native build, which I’d guess is most-likely the case, then a game technically could be storing it wherever. It’ll most-likely be under ~/.local (or ~/.config, though that’s not really intended for binary game data) somewhere. Can do:

    $ find ~/.local | grep Portraits
    

    And it’ll list paths containing “Portraits”.

    kagis

    https://old.reddit.com/r/Pathfinder_Kingmaker/comments/mki0sa/portraits_on_linux/

    This guy has:

    ~/.config/unity3d/Owlcat Games/Pathfinder Kingmaker/Portraits/ 
    


  • But the the requirements for a server that “does it all” remains a mystery to me.

    “All” can include anything. I mean, you can include a home parallel compute render farm that will cost millions of dollars.

    You’re going to have to narrow it a bit down. You can have people maybe suggest some of the things that they use their systems for. Maybe it’s hosting services for a cell phone that some people use cloud-based services for. Maybe it’s home automation. Maybe it’s a webserver. Maybe it’s AI image generation.

    EDIT: To put it another way, a self-hosted server is just a computer, often without a monitor and keyboard directly attached, that you have in your physical possession. The range of things that that might be used for and capabilities it might have is really broad. It’s like saying “I want a vehicle. What is a vehicle that can do everything?” I mean, that might be a bicycle or a three-trailer road train, depending upon what you’re going for.


  • FreeCAD exposes a Python console as an end-user feature. It has a macro recording system for automating repetitive tasks, much like MS Office does, it uses Python as a scripting language. Can you show me an API reference for this feature?

    kagis

    https://freecad.github.io/SourceDoc/modules.html

    I want to write a macro that will insert some text into the cell of a spreadsheet I have selected. Click a cell, click the macro button, and it puts some text into that cell. It can do this. There are macros published that do this kind of thing. Show me where in their published documentation the functions necessary to do that are described.

    I don’t use FreeCAD, don’t have any familiarity with this spreadsheet functionality, but let’s look.

    kagis

    They appear to have a Doxygen API reference for their spreadsheets here:

    https://freecad.github.io/SourceDoc/d0/da8/classSpreadsheet_1_1Sheet.html

    setCell() looks like it sets a cell value to me.

    That appears to take a CellAddress, which it looks like is obtained via getCellAddress(). As I said, I haven’t used FreeCAD’s spreadsheets, but I expect that it has some cell-addressing syntax akin to spreadsheets that I’ve used, and that one passes the name in to that, same as one would if referencing the cell in a formula to compute another cell’s value. I’ve no idea if FreeCAD’s syntax is the same as Excel’s, or if it differs, though, and I’m not going to look that up; that shouldn’t be an API-specific issue.

    It also looks like it has a macro-recording feature. It looks like, to my quick skim, that natively generates Python:

    https://wiki.freecad.org/Macros

    You can also directly copy/paste python code into a macro, without recording GUI action.

    And looking at the source of an arbitrarily-chosen macro, it appears to be in Python, rather than some app-specific macro language:

    https://wiki.freecad.org/Macro_Rotate_View

    So I expect that you can most-likely just record yourself performing the operation and the macro-recording functionality will give you the code without you needing to write something.

    EDIT: It sounds like you want to get the selected cells rather than specifying the to-be-modified cell by name, which it looks like SheetTableView::selectedRanges() provides you with; Range objects appear to provide for a selection including many cells, but if you only want, say, the starting cell (which would presumably be the case for a single cell selection), then it looks like Range::from() provides that, since the starting cell would be the same cell as the only cell in a selection if there’s a single-cell selection. That returns a CellAddress as well.


  • Apple didn’t want any buttons on the case.

    They had a legitimate argument in the floppy era, I think.

    The Windows PC had a mechanical eject button on floppy drives, which the OS had no control over. You could corrupt a filesystem by deciding to eject a disk at the wrong time, if the OS decided to start writing to the floppy then. To this day, that’s how 3.5" floppy drives work on Windows PCs.

    Apple said — in my view, correctly — "okay, this is a disaster’. They built their computers without an eject button on the floppy drive. Their floppy drives had a motor to let the OS eject the disk, You had to ask the OS to eject a disk, and the OS would only do so when it knew that it wasn’t going to be writing to the disk. They had a pinhole through which you could push a mechanical eject button if something went wrong with the OS. That was a good call, I think. It did mean that unless you were going to use the pinhole, the drive had to be at least powered.

    By the optical disc era, though, the Windows side of things had fixed things up. What you had was a system where drives had a non-mechanical eject button. The drive had two states that it could be in — the OS could ask the drive to be in a “locked” or “unlocked” state. In an “unlocked” state, the button would activate the motor to do the ejection. In a “locked” state, it wouldn’t, but the OS would receive a message from the drive, and as long as it was functioning, could unmount the thing and eject the CD.


  • Apple’s never made a good mouse.

    I’m fine with lots of their mice for what they were, which is one-button mice sold at a premium price. I think I’ve used every class of pointing device that they’ve produced at some point. I mean, they were okay in my book. The problem is that they kept producing one-button mice for years, which were just not the future of desktop computer use.

    Back in the 1980s, when they were putting together the Mac’s UI, the Apple UI guys had an argument that what people really needed was one-button mice, which were simpler. And, yeah, I remember people, especially older people, who did not understand multiple mouse buttons. My mother used a two-button mouse on Windows for years, and I remember when I told her that the right mouse button brought up a contextual menu — somehow she’d used the computer for years without figuring out what the thing did. She always wanted to be told which mouse button to click in instructions.

    The problem is that that argument was tested and frankly lost. Apple started putting context menus into the UI decades back, with a control click. People figured out multiple-button mice. And Apple kept determinedly sticking with the one-button model. They never actually produced a mouse with two physical buttons, only provided a “multi-touch” right-click once that technology showed up.

    And as an OS vendor, they were in a prime position to change UI to try to teach people to use multiple buttons.

    The round “hocky puck” mouse here was an exception – the ergonomics on that really were not great, and it was easy to grab the thing in a misaligned way, because you couldn’t use the shape to “feel” which way was “up” as readily.





  • I began to suspect things were unstable when the president beat a man to death in the street. Daniel Webster was an odd choice of leader by the American people: his predecessor, Andrew Jackson, did a lot of hate crimes and died early, his popularity hovering somewhere around the level of ‘active rebellion’. Yet when it came time for the election, the USA decided it wanted the man who, if anything, thought slavery was even cooler than the last guy did, to the extent that he was willing to kill someone in public over it.

    In real life, President Andrew Jackson — not Webster, who didn’t get the presidency — did beat someone with his cane, albeit not to death.

    https://en.wikipedia.org/wiki/Richard_Lawrence_(failed_assassin)

    Later on that same day, Jackson was attending the funeral of South Carolina Representative Warren R. Davis at the U.S. Capitol. Lawrence originally planned to shoot Jackson as he entered the service but was unable to get close enough to him. However, by the time Jackson left the funeral, Lawrence had found a space near a pillar on the East Portico, where Jackson would pass. As Jackson walked by, Lawrence stepped out and fired his first pistol at Jackson’s back; it misfired. Lawrence quickly made another attempt with his second pistol, but that also misfired. It was later determined that the weapons that he had chosen were noted for being vulnerable to moisture, and the weather on that date was humid and damp.[3]

    Lawrence’s unsuccessful attempts were noticed by Jackson, who proceeded to beat Lawrence with a cane. The crowd, which included U.S. Representative Davy Crockett, eventually intervened and wrestled Lawrence into submission.[3] Lawrence was the first person to attempt to kill a sitting U.S. president.[7]




  • tal@lemmy.todaytolinuxmemesA cyberpunk anime girl!
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    14 hours ago

    I used the thing here a while back to take a screenshot of running gopher on some of the remaining gopher servers in gopherspace (note that the sdf.org guys shown here also run a lemmy server, nicely linking the past and today). Its default settings in amber were a not-wildly-unreasonable match for some of the VT terminals connected to a VAX/VMS system that I used in the 1990s. More noise added by default, but it’s the closest thing I’ve seen to a replica to that era that one’s likely to see short of getting an actual CRT VT terminal and plonking it on your serial port (well, these days, probably a USB-to-serial adapter).

    EDIT: Apparently this guy set up docker images on Debian to emulate old computing environments and then rigged that to a VT420 and ran gopher on that:







  • tal@lemmy.todaytolinuxmemesA cyberpunk anime girl!
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    18 hours ago

    In terms of window decorations, looks like twm with default settings. Standard window manager to ship with what is now Xorg.

    EDIT: For emacs, those are also default colors, I think, for at least some point. X11 color names HarvestWheat and ForestGreen, if memory serves aright.

    EDIT2: No, that’s probably not a graphical emacs instance, because the title is “sh”. They’re probably running sh and then running console emacs (or vim or something else, I guess, can configure either to look like that) and don’t have their shell set up to pass the escape sequences to tell the virtual terminal program to update the window title.

    EDIT3: Also, the color’s the default twm color, but that’s not the default twm decorations. That’s…damn, I can’t remember the name of that widget set.

    goes poking around

    Motif. And apparently mwm used Motif widgets.

    https://en.wikipedia.org/wiki/Motif_(software)

    https://en.wikipedia.org/wiki/Motif_Window_Manager