News for hackers. Stuff that matters.
Re:Neofetch: Command-line system information tool written in... by diogenesjunior on Saturday July 24, 2021 @11:57AM (#27941960)
I think the code could be easily re-written with Python.
Re:Neofetch: Command-line system information tool written in... by simonw on Saturday July 24, 2021 @11:59AM (#27941983)
It wouldn't be as good though, because then you'd have to install Python in order to use it.
Re:Neofetch: Command-line system information tool written in... by diogenesjunior on Saturday July 24, 2021 @12:03PM (#27942015)
I think most Linux operating systems come with Python already installed (at least all the ones I use do). It could be uploaded to PyPI, which would mean installing PIP, but using pre-installed libraries would mean you could simply use git (which is usually pre-installed too), and then run `python3 setup.py install`.
Re:Neofetch: Command-line system information tool written in... by jeppesen-io on Saturday July 24, 2021 @12:25PM (#27942227)
> Neofetch supports almost 150 different operating systems. From Linux to Windows, all the way to more obscure operating systems like Minix, AIX and Haiku

You're making a lot of assuptions. Many servers don't have git installed. Some only have python2. Some dont even have that. Not to mention AIX or other non-linux platforms

Re:Neofetch: Command-line system information tool written in... by diogenesjunior on Saturday July 24, 2021 @12:38PM (#27942331)
How hard is it to install git and Python 3?
Re:Neofetch: Command-line system information tool written in... by georgyo on Saturday July 24, 2021 @12:47PM (#27942416)
In some environment, very hard. Especially embedded systems and corporate machines.
Re:Neofetch: Command-line system information tool written in... by bool3max on Saturday July 24, 2021 @03:02PM (#27943575)
I'm not sure why you would want Neofetch on any embedded system or corporate machine though.
Re:Neofetch: Command-line system information tool written in... by saagarjha on Saturday July 24, 2021 @03:05PM (#27943595)
What, you don’t send your friends screenshots of the beefy machine your work provided you? Or the potato you are running Linux on?
Re:Neofetch: Command-line system information tool written in... by diogenesjunior on Saturday July 24, 2021 @01:22PM (#27942745)
If you cannot install git or py3 then installing bash will be just as hard, no?
Re:Neofetch: Command-line system information tool written in... by ylyn on Saturday July 24, 2021 @01:41PM (#27942911)
Bash is a relatively small C program.

Python is a huge beast compared to Bash.

Re:Neofetch: Command-line system information tool written in... by mixmastamyk on Saturday July 24, 2021 @12:58PM (#27942504)
Installing bash will be just as hard in those situations.
Re:Neofetch: Command-line system information tool written in... by IggleSniggle on Saturday July 24, 2021 @02:23PM (#27943278)
Ok…but bash is waaayy more common. I could see this if you were making an argument about Perl, since it’s probably pretty close to parity with bash in terms of pre-existing in most environments…but python? No way!
Re:Neofetch: Command-line system information tool written in... by mixmastamyk on Saturday July 24, 2021 @06:14PM (#27944872)
Python is 10x more popular than perl these days. None are installed by default on Windows.
Re:Neofetch: Command-line system information tool written in... by IggleSniggle on Saturday July 24, 2021 @09:08PM (#27945765)
Ah, right, Windows, forgot about that one! So, Windows you’re pretty much always going to have to install something anyway.

For almost all of the BSDs, Linux distros, Solaris, AIX, HPUX, countless others, you’re going to have both bash and Perl interpreters included by default.

I think installing python is generally quite reasonable! It’s just not as ubiquitous, so if you’re looking for a one-stop interpreted language that most people will neither need to install or worry about the interpreter version, then a baseline old version of bash or Perl is a pretty good bet.

Although really awk probably also deserves consideration in this regard, given that you will even have it on embedded Linux where bash and Perl are not. I don’t know enough about awk to comment on its general utility for doing something like neofetch, however.

Re:Neofetch: Command-line system information tool written in... by hansel_der on Saturday July 24, 2021 @01:22PM (#27942752)
guess the point was that bash is way more common than python?
Re:Neofetch: Command-line system information tool written in... by mixmastamyk on Saturday July 24, 2021 @06:12PM (#27944863)
It’s not, especially in the Windows-centric corporate environments mentioned above. 0 not greater than 0.
Re:Neofetch: Command-line system information tool written in... by hansel_der on Wednesday July 28, 2021 @08:31AM (#27982971)
even in those Windows-centric corporate environments you can push a few buttons to get a Microsoft-built version of bash, even before wsl was a thing, not so for python.
Re:Neofetch: Command-line system information tool written in... by moondev on Saturday July 24, 2021 @11:03PM (#27946355)
How is that better? You don't even need to install it, just run

   curl -L https://github.com/dylanaraps/neofetch/raw/7.1.0/neofetch | bash
Re:Neofetch: Command-line system information tool written in... by walteweiss on Saturday July 24, 2021 @01:43PM (#27942931)
But what’s the point in doing that?
Re:Neofetch: Command-line system information tool written in... by krick on Saturday July 24, 2021 @09:53PM (#27945981)
This is a pretty small project, and, furthermore, it is by its nature supposed to support a lot of different systems, so I personally don't know if it makes sense to rewrite it (and in Python out of all things: maybe then better rewrite it in a compiled language, so that you can distribute it as a binary?). So I'm hesistant to say one should do it: it might do more harm than good.

But if this wouldn't bother me, I would really want to rewrite it. Just look at the source. It is 11K LoC. It is very modular by nature, since there is a lot of stuff that is "the same, but slightly different" for each OS. It is really simple by nature, just a few dozens of directives, each of them should answer 1 pretty straight-forward question. So it should be fairly easy to read (and it actually makes a practical sense even for a user, since this is so much of a collection of knowledge about different OS, not so much a "real program"). But it's not (I mean, it's not easy to read, assuming you are comfortable with bash). And it's not badly-written bash-script, quite otherwise. It's just… bash. How exactly you'd improve that would depend on the language of choice, but every "proper" PL should make it possible to write this very thing in such a way, that reading it "entirely" in a few minutes would be trivial, and wouldn't require scrolling through 11K LoC. Just separating all ASCII-art from code and making a separate class (if we use Python) for each OS implementation with a common interface, extending 1 or more base-classes (for OS families) would improve it greatly, since it would take me literally seconds to see all directives it currently supports, and to find their implementations for the particular system I'm interested in. After scrolling through some maybe 200 LoC you'd feel that you know everything that it does, and the rest 10K LoC (or whatever it would be) are just "details".

So while actually suggesting to rewrite it in Python might show some lack of analysis, I wouldn't bash anyone for wishing it would have been written in Python.

Re:Neofetch: Command-line system information tool written in... by arminiusreturns on Saturday July 24, 2021 @05:11PM (#27944520)
Not sure about the gp, but lots of people on hn love to hate on bash, and give reasons either it's bad or lang is better.
Re:Neofetch: Command-line system information tool written in... by mixmastamyk on Saturday July 24, 2021 @06:20PM (#27944901)
Readability, maintainability, etc. if that matters to you.