• 0 Posts
  • 22 Comments
Joined 2 years ago
cake
Cake day: June 14th, 2023

help-circle
  • It’s not a million miles away, but it’s still got some problems. The ‘extract archive’ functionality seems to do it for me; think it must be wanting to pop up a (nested?) file chooser, but causes a session crash.

    Cinnamon legacy for getting work done, and KDE wayland for playing games, for me. Nice to go 100% cinnamon though, for sure.


  • I understand that things have changed a bit since I first moved over to Linux - moving from Red Hat Linux to Ubuntu ‘Warty Warthog’ was such a revelation in overall user-friendliness and usability, back in the day. But upgrading my graphics card from an NVidia one to an AMD was a similar change. I might have only just installed the base operating system and a desktop environment and haven’t got around to a web browser yet, but I’ve already got full hardware accelerated graphics - that’s crazy.

    Most distros now make the NVidia drivers a complete non-issue, I think? My 6600XT is requiring just a few too many compromises on new games, so I’ll need something new too, sooner or later. I used to hold off on graphics cards updates until I could get something twice as good so that it was a noticeable upgrade, but I could buy a pretty decent second-hand car for all the ones which are ‘twice as good’ now.

    An upgrade from a 1050 Ti shouldn’t be such a problem. Well done on keeping it alive so long - I had a GeForce GTX 970 that would have been a similar age, but it let out its magic smoke years ago.


  • Really, it’s a misuse of language to describe elementary particles as having ‘wave/particle duality’. If you ask them a wave-like question, they give a wave-like answer. If you ask them a particle-like question, they give a particle-like answer. But that doesn’t mean they’re a combination of the two; just means that our everyday understanding of big things isn’t suitable for describing small things.

    We know that general relativity and quantum dynamics can’t be quite right. They have enormous predictive power, but they don’t overlap, which means we can’t model things where they’re equally important; the big bang and black holes for instance. “Higher dimensions” is the string theory way of trying to reconcile them - it might be right. But a theory isn’t scientific if it doesn’t make predictions you can test, and string theory hasn’t been very productive in that so far. Amazing maths though, has been great for expanding our knowledge there.


  • Moved my father-in-law from Windows 10 to Mint.

    Biggest problem was all his ‘documents’, which were office365 web links rather than ‘actual documents’. Linux presents them as the urls that they really are. They open just fine, though, and can be exported as real local docs for libreoffice etc.

    Security and privacy were the main selling points for him. He’d done some reading and thought that Mint was among the best choices for a newstart that just want everything to work; no interests in playing games or anything. I agreed that was the most solid choice. I use Arch btw myself, but wouldn’t recommend that for beginners.


  • addie@feddit.uktoLinux@programming.dev*Permanently Deleted*
    link
    fedilink
    arrow-up
    51
    arrow-down
    1
    ·
    29 days ago

    Centrally managed repositories help a lot, here. Linux users tend not to download random software off of sketchy websites; it’s all installed and kept up to date via the package manager.

    Yes, Linux malware and viruses exist, and we shouldn’t pretend otherwise. The usual reason for installing Linux virus scanners is because you’re hosting a file/email server, and you want to keep infected files away from Windows users, tho.


  • Isn’t the default installation of Ubuntu to BTRFS? In which case, you should have an @ subvolume with Ubuntu that’s mounted to /, and an @home subvolume that’s mounted to /home.

    Make a new subvolume, install a new operating system into it, and choose that subvolume in the bootloader, should be able to have Ubuntu and ‘your favourite OS’ (I use Arch btw) living side-by-side with the same home directory.



  • Vim is my preferred ‘IDE’ for C++, Python, Bash, and general configuration file editing. It’s got some big pluses:

    • its text editing is superb once you’ve mastered it, but that’s a small part of its benefits when used as an IDE, and ‘Vim mode’ in other environments kind of undersells what else it can do

    • Vim has some great plugins for development. YouCompleteMe is awesome for predictive completion and showing docs, but NerdTree for file management and TagBar for showing structure are amazing as well. They’re all very configurable and they get out of your way.

    • Vim lives in your terminal window, so you can do splits and tabs using whichever terminal you like. Kitty is very fast and configurable and keeps out your way. Being able to have multiple tabs of Vim open, a tab for compilation, a tab for debugging, a tab for version control, a tab for man pages, and being able to flip between them without taking your fingers off the keyboard makes for a very fast workflow

    • Vim makes it very easy to edit binary files and be precise about whitespace changes, so it’s easy to make a minimal change for raising a PR.

    If you assign a hotkey to run a macro in Vim, then that can be made very flexible - saving and formatting all open windows, then invoking CMake to do a build and CTest to run all your unit tests can be put on a function key if you like. Trying to tell Eclipse to “just run CMake to do the build” seems to be an exercise in frustration; so many IDEs are terrible at “just getting out of the way”.

    Work pays for an IntelliJ licence for using Java. Java is so unwieldy without a proper IDE that it’s hard to code in it without it. I certainly don’t love it, though, and they seem determined to make every new version worse with bizarre new features. Flexible minimalist editing with configurable plugins is all that you really need, and on that basis Geany looks pretty good - will give it a try.



  • addie@feddit.uktolinuxmemes@lemmy.worldMinimum specs
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    2 months ago

    I had one of the Macintosh iBook G4s with the notoriously shitty graphics card soldering. Early days of lead-free soldering. Mine started to fail just outside of warranty. The ‘fix’ was to put a lot of pressure on the chip so that all the connections were held in place, but that was quite difficult to do while it was still a laptop.

    Dismantled the damn thing, yeeted the plastic shell, and screwed the remains onto a sheet of plywood. Looked a lot like pizza-box PC in the corner there. Got another couple of years out of it. Made it a lot more convenient for watching videos, since you could just prop the whole thing against a wall or whatever. Couple of USB extension leads meant that you could still use a mouse and keyboard in comfort.



  • To be fair, their installation page is excellent, but it does require close reading. Where I’d messed up was the “install essential packages” section, where it just says to “consider installing” stuff which is essential really - firmware, network stack, a text editor. If you’re able to access the internet and adjust configuration files, then you can install everything else you need.

    Their suggested disk partitioning has a gigabyte for efi, which is twice what I’d recommend, and includes a swap partition, which I would not create. A swap file is just as good, and more flexible. Otherwise yeah, if you can install Arch, you can probably do all the Linux maintenance you’ll ever need to do, and it’s not that difficult - practise in a VM if you want - and will make you much more skilled and confident.

    https://wiki.archlinux.org/title/Installation_guide




  • What you can achieve in a couple of pages of Python can be pretty spectacular. It’s also mostly very easy-to-read, with the possible exception of class inheritance, which is confusing mess.

    If you need to write more than a couple of pages, then its lack of types becomes a hindrance to me - doing refactors when functions can take basically any arguments is quite painful, for instance. Not requiring any particular structure is great, up until you start to struggle with lack of structure.

    Ideal programming language for when you’re wanting to do something that would be a bit too unwieldy for a shell script. It also makes network requests and json parsing very straightforward, so it’s great for interacting with REST APIs and writing simple microservices. Fast to write and runs quite quickly, so a good choice for Advent Of Code-like tasks. Would probably choose a different language for larger projects or when working in a team, though.



  • Enough of that crazy talk - plainly WheeledDeviceServiceFactoryBeanImpl is where the dependency injection annotations are placed. If you can decide what the code does without stepping through it with a debugger, and any backtrace doesn’t have at least two hundred lines of Spring boot, then plainly it isn’t enterprise enough.

    Fair enough, though. You can write stupid overly-abstract shit in any language, but Java does encourage it.


  • Well now. My primary exposure to Go would be using it to take first place in my company’s ‘Advent of Code’ several years ago, in order to see what it was like, after which I’ve been pleased never to have to use it again. Some of our teams have used it to provide microservices - REST APIs that do database queries, some lightweight logic, and conversion to and from JSON - and my experience of working with that is that they’ve inexplicably managed to scatter all the logic among dozens of files, for what might be done with 80 lines of Python. I suspect the problem in that case is the developers, though.

    It has some good aspects - I like how easy it is to do a static build that can be deployed in a container.

    The actual language itself I find fairly abominable. The lack of exceptions means that error handling is all through everything, and not necessarily any better than other modern languages. The lack of overloads means that you’ll have multiple definitions of eg. Math.min cluttering things up. I don’t think the container classes are particularly good. The implementation of pointers seems solely implemented to let you have null pointer exceptions, it’s a pointless wart.

    If what you’re wanting to code is the kind of thing that Google do, in the exact same way that Google do it, and you have a team of hipsters who all know how it works, then it may be a fine choice. Otherwise I would probably recommend using something else.


  • I feel that Python is a bit of a ‘Microsoft Word’ of languages. Your own scripts are obviously completely fine, using a sensible and pragmatic selection of the language features in a robust fashion, but everyone else’s are absurd collections of hacks that fall to pieces at the first modification.

    To an extent, ‘other people’s C++ / Bash scripts’ have the same problem. I’m usually okay with ‘other people’s Java’, which to me is one of the big selling points of the language - the slight wordiness and lack of ‘really stupid shit’ makes collaboration easier.

    Now, a Python script that’s more than about two pages long? That makes me question its utility. The ‘duck typing’ everywhere makes any code that you can’t ‘keep in your head’ very difficult to reason about.


  • Frezik has a good answer for SQL.

    In theory, Ansible should be used for creating ‘playbooks’ listing the packages and configuration files which are present on a server or collection of servers, and then ‘playing the playbook’ arranges it so that those servers exist and are configured as you specified. You shouldn’t really care how that is achieved; it is declarative.

    However, in practice it has input, output, loops, conditional branching, and the ability to execute subtasks recursively. (In fact, it can quite difficult to stop people from using those features, since ‘declarative’ doesn’t necessarily come easily to everyone, and it makes for very messy config.) I think those are all the features required for Turing equivalence?

    Being able to deploy a whole fleet of servers in a very straightfoward way comes as close to the ‘infinite memory’ requirement as any programming language can get, although you do need basically infinite money to do that on a cloud service.