• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics in ~comp with the tag "linux". Back to normal view / Search all groups
    1. How do you organize your Linux packages?

      Hello everyone. I am planning to get back into Linux development after working with Mac only for almost a decade. On Mac, one of the most important lessons that I learned was to always use...

      Hello everyone.

      I am planning to get back into Linux development after working with Mac only for almost a decade. On Mac, one of the most important lessons that I learned was to always use Homebrew. Using various package managers (e.g. Homebrew, NPM, Yarn, Pip, etc.) creates situations in which you don't know how to uninstall or upgrade certain pieces of software. Also, it's hard to generate a complete overview.

      How do you Linux folks handle this?

      Bonus question: How do you manage your dotfiles securely? I use Bitwarden, and it's a bit clunky.

      If that helps, I want to try Mint and always use Oh My ZSH!.

      6 votes
    2. Is Emacs or VIM worth learning in today's day and age?

      I'm a full stack webdev and gotten through almost everything in life without using these legendary editors. For Linux work, I mostly use the nano CLI editor which does the job fine and while on...

      I'm a full stack webdev and gotten through almost everything in life without using these legendary editors. For Linux work, I mostly use the nano CLI editor which does the job fine and while on desktop, there are superior ones like gedit and geany. On Windows, my preferred code editor is Notepad++ though I've experienced Eclipse, Visual Studio and Android Studio in various situations. Guess there isn't any substitute to AS when it comes to Android APK development?

      But these two legendary editors (Emacs/VIM) come highly recommended and a programmer is considered incomplete in the long beard circles until they learn one of them, isn't it? But I want to understand what can I hope to gain by learning them in terms of utility or usefulness? Can I somehow bring efficiency to my workflow by reducing my development time or adding a feature?

      30 votes
    3. Linux Distro Recommendations

      I know this can be a bit of a heated debate sometimes, and with so many choices people will have their preferences. I wanted to hear some noob-friendly suggestions for me and some friends. What...

      I know this can be a bit of a heated debate sometimes, and with so many choices people will have their preferences. I wanted to hear some noob-friendly suggestions for me and some friends.

      What distros would work well for an old laptop repurposed as a glorified Chromebook (web browsing, Netflix, emails, etc) with some light Steam 2D indie game usage? It would be borrowed by less tech savvy people.

      What distros would work well for gaming desktops? Either current high end desktops or desktops that are a few years old.

      47 votes
    4. Does Linux From Scratch actually teach you anything?

      Two hours ago I randomly thought "hey, why not do LFS?", so I opened my laptop and started following the book. I've heard a lot of people say that LFS is great for learning how a Linux system...

      Two hours ago I randomly thought "hey, why not do LFS?", so I opened my laptop and started following the book. I've heard a lot of people say that LFS is great for learning how a Linux system works. However, so far it's just been a guide on how to compile different software and what autoconfig flags to use. I thought that maybe further chapters will have more information on how things work, but it seems like they all just contain a one-line description of a program and compilation instructions.

      If anyone here has done LFS, did you actually learn anything from it? Is it worth spending more time on?

      19 votes
    5. Tkinter vs PyQt vs wxPython vs PyGtk vs Kivy: Too many options with nuanced pros and cons causes analysis paralysis and difficulty in taking decisions

      The good things about Python which make it a very ubiquitous language worthy of learning (platform agnostic, elegant syntax, portable standard library and ecosystem packages, etc.) unfortunately...

      The good things about Python which make it a very ubiquitous language worthy of learning (platform agnostic, elegant syntax, portable standard library and ecosystem packages, etc.) unfortunately also has this weird side-effect of causing tremendous pain when it comes to choosing which library or toolkit to use for say, a side project for a Desktop GUI app.

      It seems as if researching about these Python GUI toolkits, finding out their pros and cons and nuances has itself become a dedicated project of its own and I have almost forgotten about the actual app and user story for which I was looking them up in the first place!

      Though I'm almost certain at this point that Kivy isn't something I'm going to use. I don't want my app to run on android, at least not presently. And even if a need arises in future, a more efficient path there is to use something like Java with an Android IDE.

      Plus a 100% pure python toolkit means some sacrifice in performance. With PyQt and PyGtk, you can get the raw performance of underlying C++ and C runtimes respectively which they wrap.

      Now tkinter and PyQt is where I'm really confused and not able to decide which one to use. The pros of tkinter are highly appealing to me, to be honest. The fact that it comes built-in with python and right out of the box - which incidentally also frees you of all the licensing hassles unlike PyQt/PySide stack is also a great plus. Though this particular project is going to be open source anyway, so it shouldn't matter much. But in the long run and generally speaking, it's clear that one has the licensing advantage here.

      Secondly, tkinter also has the advantage of being smaller in size. Since it comes built-in, the final portable EXE size would perhaps be as small as that of just the portable python interpreter using PyInstaller or something?

      But on the other hand, smaller size doesn't really matter in the age of gigabyte high-speed Internet, does it? And I've seen some PyQt projects too that seem to create smaller bundles with efficient packaging, wonder how they are able to do that!

      One criticism of tkinter I came across is that while getting started with a Hello World GUI is easy, making something non-trivial soon leads you down a rabbit hole which is filled with messy and hacky workarounds. For example, there isn't a native or built-in support for creating a system tray icon for your app which is considered pretty much a standard feature for desktop GUI apps these days. Even for adding this trivial feature to your app, you must install a third party package called pystray which isn't a very thrilling experience at all. Imagine what all you'll be going through if you want to implement say a complex data grid with dropdown widgets or a complex tree view widget.

      But PyQt, on the other hand, also has its own set of criticisms. For starters, since the core toolkit is written in C++, the Pythonista must hack their way through all the object orientedness mandated by the core libraries in ways that don't seem very pythonic. For example, you can't pass a simple tuple with (x,y) co-ordinates for a widget location or size, you must find the corresponding widget class such as QtSize or whatever to be able to do that.

      This is what I got from my reading and youtubing so far. I don't know how hard this usually is in practice. Coming from a C# and Java background, I don't think it should be for me. But I'd like to know from more experienced Python programmers who have traversed both these paths (tkinter and PyQt) - which path is better as a learning investment in the long run?

      17 votes
    6. Which is the lightest (least memory eating) Screen Recorder for Linux Desktops?

      I know of below four: Kazam Vokoscreen SimpleScreenRecorder OBS (Open Broadcasting Studio) My only recording constraints are as follows: Be able to record the desktop while speaking. Webcam output...

      I know of below four:

      1. Kazam
      2. Vokoscreen
      3. SimpleScreenRecorder
      4. OBS (Open Broadcasting Studio)

      My only recording constraints are as follows:

      1. Be able to record the desktop while speaking.
      2. Webcam output containing my little obnoxious face visible in a top/bottom corner.

      I don't care about resolutions, etc., even basic 450p/720p is enough for me. I don't care about background music, etc.
      But I do care about "light weight", my xubuntu laptop doesn't have very high configuration plus I want to conserve all resources for the actual stuff I'm doing on the desktop.

      Which among the above eats the least amount of RAM/CPU while delivering on these two constraints? Based on your experience? I'm not inclined to use OBS as I've heard it's very bloated. Any other suggestions apart from these are also welcome.

      9 votes
    7. Have you ever compiled a custom Linux kernel?

      I was stubbornly determined to get my new Yubikeys working for FIDO2 SSH on WSL, which led me down the road to compiling my own custom Linux kernel for WSL with HIDDEV and HIDRAW enabled. This was...

      I was stubbornly determined to get my new Yubikeys working for FIDO2 SSH on WSL, which led me down the road to compiling my own custom Linux kernel for WSL with HIDDEV and HIDRAW enabled.

      This was my first time ever trying anything like this, and by the end of it I realized that it's not actually so scary to compile your own custom Linux kernel!

      Have you ever compiled a custom kernel before? What was the sequence of events that led you to do it?

      20 votes
    8. Is there an updated NixOS guide for first timers?

      I want to finally try NixOS and build a desktop OS from the ground up with sway, iwd, waybar, foot terminal, cmus, etc. I'm not a developer, but I'm a seasoned Linux user. Used Gentoo for years,...

      I want to finally try NixOS and build a desktop OS from the ground up with sway, iwd, waybar, foot terminal, cmus, etc.

      I'm not a developer, but I'm a seasoned Linux user. Used Gentoo for years, Void Linux and now I'm on OpenSUSE TW.

      I'm finding all sorts of guides and it seems confusing. In the past there wasn't any mention of home-manager and flakes, now it seems there are these things. Those are all things I need to care about? Is it all configured in one file?

      9 votes
    9. Graphics glitch on new install of Ubuntu

      So I have an old MacBook Pro (mid-2014) Core i5 which I've just installed Ubuntu 22.04.2 on. Most things are working fine but the screen randomly flickers and then goes black and then after...

      So I have an old MacBook Pro (mid-2014) Core i5 which I've just installed Ubuntu 22.04.2 on. Most things are working fine but the screen randomly flickers and then goes black and then after varying lengths of time will pop back on again. I've been googling around and found lots of instances of similar graphics glitches but can't quite find a solution.

      Any suggestions?

      7 votes
    10. Volunteer software developers for open source projects

      Where do you find volunteers to help with open source projects? Such as: https://www.codeshelter.co https://hacktoberfest.com https://summerofcode.withgoogle.com For example, with KeenWrite, I'm...

      Where do you find volunteers to help with open source projects? Such as:

      For example, with KeenWrite, I'm looking for help help with a specific feature that could be applicable to a wide audience (i.e., academia and technical writers). The lion's share of the effort for cross-references would be an extension or change to the flexmark-java library: parsing a de facto standard cross-reference syntax, rather than direct changes to my text editor.

      7 votes
    11. Dual-boot with a shared partition?

      Hey, I use Windows 10 and Arch in a dual boot configuration. I use both of them for software development and want a shared partition to store all the projects. Unfortunately, it's not as easy as I...

      Hey,

      I use Windows 10 and Arch in a dual boot configuration.

      I use both of them for software development and want a shared partition to store all the projects.
      Unfortunately, it's not as easy as I had thought.

      Initially, I tried NTFS as the Linux support seemed fine. I tried both, ntfs-3g and the kernel implementation.
      Besides the issue that hibernate could lock the drive - which you can disable - it periodically caused problems during compilation and other stages.

      Especially Rust based projects have thrown weird errors during builds, but I also had this on certain Go projects as well.
      It sometimes felt like, that the NTFS driver returned the wrong files when the compiler asked for them. Unmet dependencies, missing files, etc. Usually, when the project is huge.

      In certain scenarios symbolic links didn't work and permissions were not set correctly - which you can fix by adding some args to the fstab mount - never got it really stable though.

      I then tried to format to Ext4, and all issues were instantly gone on the Linux side.

      Fortunately, there are tools such as Linux FileSystem from Paragon which promise to make it work (I even bought a proper license) - and it did for a while, until it didn't.

      I once copied a bigger folder that included a bigger node_modules folder and during copy, files were missing, corrupted, the copy process hung - then crashed.

      I was so desperate that I even tried out FAT32, but I quickly found out that it doesn't support symbolic links at all, and therefore breaks Git and other tools depending on it.

      Is it still so hard in 2023 to have a shared partition between two OS? Has anyone made better experiences?
      I really don't want to split the partitions as I sometimes work on the same project on different OSes.

      Thanks in advance!

      7 votes
    12. What are the benefits of using Linux for the less computer competent?

      I've been experimenting with Ubuntu and Mint on VirtualBox for a few days, and I fail to see the utility for less tech savvy people such as myself. I have experience in HTML and CSS as well as...

      I've been experimenting with Ubuntu and Mint on VirtualBox for a few days, and I fail to see the utility for less tech savvy people such as myself. I have experience in HTML and CSS as well as dabbling in Codecademy for recreation, but higher level computing is new to me. I don't know how to navigate a terminal nor how to stop Windows from crashing, but I'm open to learn.

      72 votes
    13. Local DNS resolution for server?

      I have to preface this question with a disclaimer that I am an eager learner of Linux and servers in general, but I'm still a beginner and often run into roadblocks. Current setup: Raspberry Pi 3...

      I have to preface this question with a disclaimer that I am an eager learner of Linux and servers in general, but I'm still a beginner and often run into roadblocks.

      Current setup:


      • Raspberry Pi 3 with Adguard Home acting as primary DNS
      • unRAID server with Adguard Home acting as secondary DNS
      • About a dozen other containers running on same server
      • DHCP is handled by my router

      Goal:


      • provide local DNS names for the containers running in unRAID so I don't have to enter IP:Port (e.g, calibre.local) which also has the side benefit saving the various username/password combos into Bitwarden with an actual domain attached to it instead of 14 occurrences of 192.168.x.x

      Additional info:


      I had PiHole running on the Pi before as the primary and only DNS previously. And I seem to recall you could put IP:Port as a custom DNS and have it resolve. AGH does have a feature for DNS Rewrites but it does not allow for port numbers, IPs only. I switched to AGH because it seems to be more effective at blocking ads, which is likely more a function of the provided DNS blocklists out of the box as opposed to what I was doing in Pihole. I would prefer to stick with AGH for adblocking/DNS if possible.

      I looked into just modifying host files on the main computers I touch these apps from, but again, can't include port. What is a good solution for this? Preferably something approachable for a newb like me.

      11 votes
    14. How to clean up the space taken by old Snap and flatpak files

      When Snap and\or flatpak install or update packages they do not always do so cleanly Snap for example can keep up to 3 previous versions on updating and if you are struggling for space then this...

      When Snap and\or flatpak install or update packages they do not always do so cleanly

      Snap for example can keep up to 3 previous versions on updating and if you are struggling for space then this can be a Bad Thingtm

      These couple of pages show a good reliable way to tidy up and get back some disk space
      Snap

      Flatpak

      Please note, I am not the author. The articles are on a website called debugpoint.com and does not carry a credit

      4 votes
    15. Fixing overscan on an uncooperative TV-monitor

      This is mainly so I can find this again and not have to rediscover this for the third time after I forget. I can't find this exact solution anywhere else so I figured I should put it somewhere. I...

      This is mainly so I can find this again and not have to rediscover this for the third time after I forget. I can't find this exact solution anywhere else so I figured I should put it somewhere.

      I have a terrible Insignia tv that locks the overscan option so you can't even turn it off, and linux mint for whatever reason doesn't recognize it as a TV so I can't use their automatic TV adjustments. This is just for x11 afaik.

      So in the end, I used the underscan to defeat the overscan and it works great:

      xrandr to get the output name the TV is using, then

      xrandr --output <name-of-tv-output> --set underscan on --set "underscan hborder" <0-128> --set "underscan vborder" <0-128>

      to enable underscan and tweak the border values which squash the edges of the screen, undoing the effects of the overscan.

      for me the optimal values are 128h 40v but you can just experiment by typing the command into the console before you make it permanent.

      8 votes