• 0 Posts
  • 206 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle
  • “Family friendly UI” is “ultra-advanced” stuff for me: remember, before Kodi on a Mini-PC in my living room (and, by the way, I got a remote control for it too) I had been using first generation Media Players with file-browser interfaces to chose files from remote shares on a NAS, so merelly having something with the concept of a media library, tracking of watched status and pretty pictures automatically fetched from the Internet is a giant leap forward ;)

    There are downsides to being an old Techie using all sorts of non-mainstream tech since back in the 90s. I’m just happy Kodi solved my problem of having an old Media Player hanging together with duct-tape, spit and prayers.

    That said I can see how Kodi having all status (such as watched/not-watched tracking) be per-media rather than per (user + media) isn’t really good for families. More broadly the thing doesn’t even seem to have the concept of a user.



  • That would be Kodi which I now use on a Mini-PC with Lubunto which has replaced my TV Box and my Media Player (plus that Mini-PC also replaces a bunch of other things and even added some new things).

    Before I went down a rabbit whole of trying to replace my really old Asus Media Player (which was so old that its remote was broken and I replaced it with my own custom electronics + software solution so that I could remote control that Media Player from an Android app I made running on my tablet) which eventually ended up with Kodi on a Linux Mini-PC also replacing my TV box, I had no idea Kodi even existed and was just using the old Media Player to browse directories with video files in a remote share (hosted on a hacked NAS on my router, a functionality which is now on that Mini-PC which even supports a newer and much faster SMB protocol) using a file browser user interface to play those files.

    It was quite the leap from that early 00s file browser interface to chose files to play on TV to a modern “media library” interface covering all sorts of media including live TV (why it ended up also replacing my TV box).






  • Above a certain level of seniority (in the sense of real breadth and depth of experience rather than merely high count of work years) one’s increased productivity is mainly in making others more productive.

    You can only be so productive at making code, but you can certainly make others more productive with better design of the software, better software architecture, properly designed (for productivity, bug reduction and future extensibility) libraries, adequate and suitably adjusted software development processes for the specifics of the business for which the software is being made, proper technical and requirements analysis well before time has been wasted in coding, mentorship, use of experience to foresee future needs and potential pitfalls at all levels (from requirements all the way through systems design and down to code making), and so on.

    Don’t pay for that and then be surprised of just how much work turns out to have been wasted in doing the wrong things, how much trouble people have with integration, how many “unexpected” things delay the deliveries, how fast your code base ages and how brittle it seems, how often whole applications and systems have to be rewritten, how much the software made mismatches the needs of the users, how mistrusting and even adversarial the developer-user relationship ends up being and so on.

    From the outside it’s actually pretty easy to deduce (and also from having known people on the inside) how plenty of Tech companies (Google being a prime example) haven’t learned the lesson that there are more forms of value in the software development process than merely “works 14h/day, is young and intelligent (but clearly not wise)”


  • Sound like a critical race condition or bad memory access (this latter only in languages with pointers).

    Since it’s HTTP(S) and judging by the average developer experience in the domain of multi-threading I’ve seen even for people doing stuff that naturally tends to involve multiple threads (such as networked access by multiple simultaneous clients), my bet is the former.

    PS: Yeah, I know it’s a joke, but I made the serious point anyways because it might be useful for somebody.





  • Aceticon@lemmy.worldtoLinux@lemmy.ml33 years ago...
    link
    fedilink
    arrow-up
    10
    ·
    edit-2
    25 days ago

    The amount of effort I do to try and avoid using double parentesis is trully herculean.

    I think that stuff is the product of a completionist/perfectionist mindset - as one is writting, important details/context related to the main train of thought pop-up in one’s mind and as one is writting those, important details/context related to the other details/context pop-up in one’s mind (and the tendency is to keep going down the rabbit hole of details/context on details/context).

    You get this very noticeably with people who during a conversation go out on a tangent and often even end up losing the train of thought of the main conversation (a tendecy I definitelly have) since one doesn’t get a chance to go back and re-read, reorganise and correct during a spoken conversation.

    Personally I don’t think it’s an actual quality (sorry to all upvoters) as it indicates a disorganised mind. It is however the kind of thing one overcomes with experience and I bet Mr Torvalds himself is mostly beyond it by now.



  • In a highly simplified way:

    • Think of Windows as an electricity provider with their own specially shaped wall socket.
    • Linux is also an electricity provider with a differently shaped wall socket.
    • In this metaphor Wine is just some guys providing an adaptor that makes the electricity of the Linux electricity provider available in a wall socket that has the same shape as the Windows provider’s.

    Wine isn’t breaking Windows copyright because it doesn’t copy any of the Windows internals: instead it provides the contact points with the right “shape” for programs which were made to work in Windows to connect to to get their needs fullfilled, and then internally Wine does its own thing which is mainly using the Linux under it to do the heavy lifting.

    Mind you, this simplification seriously understates just how complicate it is to implement what was implemented in Wine because the Windows interface is a lot more that just the shape of a wall socket.


  • I got an Orange Pi 5 Plus to play with smallish AIs (because it has an NPU) and I normally access it remotely, so I have to know its IP address to do it.

    In order to easilly know the IP address of it, I’ve wired a little 128x64 monochrome OLED screen to it (Orange PIs, like Raspberry PIs have a pin connector giving access to GPIO and interfaces like I2C, Serial and SPI) which talks via I2C.

    Turns out those interfactes aren’t active in Linux by default (I.e. no /dev/i2c-x), so I figured out that I had to add a kernel overlay to activate that specific interface (unlike with the Raspberry PI whose Linux version has a neat program for doing it, in the Orange Pi you have to know how the low level details of activating those things), which I did.

    To actually render characters on that screen I went with an ARM Linux port of a graphics library for those screens I used before with Arduino, called u8g2)

    Then I made a program in C that just scans all network interfaces and prints their names and IP addresses on that screen, and installed it as a Cron job running once a minute.

    Now, as it turns out when you shutdown your Linux on that board, if you don’t disconnect it from power there is actually still power flowing through the pin connector to any devices you wire there, so after shutdown my screen would remain ON and showing the last thing I had put there, but because the OS was down it would naturally not get updated.

    So the last thing I did was another small C program which just sends to that screen the command for it to go into power saving mode, shutting it down. This program was then installed as a Systemd Service to run when Linux is shutting down.

    The result is now that there is a little screen hanging from the box were I put this board with Linux which lists its IP addresses and the info is updated if it connects other interfaces or reconnects and gets a new IP address. Curiously I’ve actually been using that feature because it’s genuinely useful, not just a funny little project.



  • In my country we have a saying: You can’t please both Greeks and Troyans. (Which, by the way, should be Athenians and Troyans to be Historically correct).

    The point being that it’s impossible to please everybody all the time, so either there is no point in even trying or if you really care that much about pleasing people you have to pick which ones you want to please.

    Further, for me it helps that I put a lot of value in Honesty, so I have almost no tendency to be fake or bullshit to try and please people, and dislike it when others do it to try and please me (and nowadays I am pretty good at detecting fakery) - I would much rather have people give it to me straight than try to bullshit me to “please me” (they’re not even doing it because of me: it’s generally done either as conflict avoidance strategy or trying to get people’s goodwill or sympathy to later extract some personal gains out of it)



  • The whole business model of Apple is to force a hardware upgrade cycle on you and force all your devices to be in that same ecosystem.

    I mean, I can see the advantages of it on the short term, but on the longer term having stuff that keeps on working even as always even in older hardware (or you just install new hardware under it and it just recognizes it and keeps on working) is a massive benefit versus a $1500+ bill every two five years and having to migrate your stuff.