this post was submitted on 26 Apr 2024
31 points (78.2% liked)

Android

27947 readers
180 users here now

DROID DOES

Welcome to the droidymcdroidface-iest, Lemmyest (Lemmiest), test, bestest, phoniest, pluckiest, snarkiest, and spiciest Android community on Lemmy (Do not respond)! Here you can participate in amazing discussions and events relating to all things Android.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules


1. All posts must be relevant to Android devices/operating system.


2. Posts cannot be illegal or NSFW material.


3. No spam, self promotion, or upvote farming. Sources engaging in these behavior will be added to the Blacklist.


4. Non-whitelisted bots will be banned.


5. Engage respectfully: Harassment, flamebaiting, bad faith engagement, or agenda posting will result in your posts being removed. Excessive violations will result in temporary or permanent ban, depending on severity.


6. Memes are not allowed to be posts, but are allowed in the comments.


7. Posts from clickbait sources are heavily discouraged. Please de-clickbait titles if it needs to be submitted.


8. Submission statements of any length composed of your own thoughts inside the post text field are mandatory for any microblog posts, and are optional but recommended for article/image/video posts.


Community Resources:


We are Android girls*,

In our Lemmy.world.

The back is plastic,

It's fantastic.

*Well, not just girls: people of all gender identities are welcomed here.


Our Partner Communities:

[email protected]


founded 1 year ago
MODERATORS
 

In the desktop world, we have the option to use the command line: a uniform interface for a multitude of apps that would otherwise be very different when implemented as GUIs.

Using the same interface, I can move or edit files, cross out tasks on my to-do list, retrieve my password for my email account (using Bitwarden or pass), etc. All in the command line. The GUI for each of those are wildly different.

The other benefit is it is very easy to create a new command line app, as opposed to a GUI.

Is anything like this possible for the smartphone world (even if it doesn't or will never exist)? What would it look like?

Since smartphone typing is much slower, we can't simply reuse the command line. We'd need something different. An interface that can still support a various spectrum of different operations, yet ergonomic for a smartphone. What are your thoughts?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 6 months ago (2 children)

I really don’t think that the command line is a uniform interface. Every command has its own syntax, its own take on what its switches mean, its own take on regexes/globs and so on.

Powershell was kind of an answer to that. All commands are supposed to emit objects and take objects as input. For me though it is horribly unintuitive. Id love to see an open source attempt at it, but it would be hard since by necessity every dev works on their own tool, while Microsoft could enforce something because they own all the tools.

[–] [email protected] 3 points 6 months ago

I've spent a significant amount of work time for a few years working with Powershell. There's a hell of a lot it does right, and it's set up such that the grand majority of commands and modules follow the same syntax in terms of pattern and terms. It's not hard to just pick up and go with new stuff within it. That is it's biggest strength, and it makes Windows SysAdmin work a hell of a lot smoother.

That said, there's a shit ton of little idiosyncracies that would catch me every time if I wasn't using VSCode/ium with Intellisense suggestions.

Specifying the properties to return from Get-ADUser? Use -Properties. Specifying the properties to return through Select-Object? Use -Property.

Working with Exchange Online? Import the module. Confused that the commands you need don't exist after you imported it? You have to use the Connect-ExchangeOnline command to authenticate, connect, and generate and load a new temporary module first with just the commands for shit the account you used to authenticate has access to. This is the only module I've found that does this.

Need to send an email using your script? I sure hope you like using third party modules or loading dlls to do .Net/C# shit through PowerShell, because if you use the built in Send-MailMessage function we'll give you a warning that it's insecure, with a link to more info that's just a wiki page on github for .Net, not PowerShell, without any actual info that notes this has been an issue for six fucking years! The warning even states that there is no built in alternative in PowerShell despite it being insecure.

Don't even get me started with the absolute clusterfuck of the multitude of modules for working with Azure, half of them deprecated without equivalent functionality existing in the replacement. The latest and greatest one doesn't even has documentation pages with shit like "NOTE: FILL THIS INFO IN LATER" in them.

Like ffs, am I using a professional product developed by one of the largest corps in the world, or someone's open source project? It often feels like you get the worst of both worlds.

Don't get me wrong, I love PowerShell, it's an amazing tool for Windows environment sysadmin work. I just often find people's attitudes about it to be either "it's a neat toy" or "it's the most amazing tool on Windows ever" when the reality is between.

[–] [email protected] 6 points 6 months ago (1 children)

Well, the fact they emit objects doesn't really help that much with the user interface. This just means that the standard input and output of commands is (usually) more unified and parse-able. I really like the idea, and have seen multiple attempts at it including PowerShell, however none have reached the level of usability that the good old *NIX shells provide.

Id love to see an open source attempt at it

Here you go!

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago)

It seems the difference stems from *Nix treating everything like a file (or stream) from day 1, while windows was built from DEC Alpha, which had a completely different approach.

(In the early 90's a group of DEC Alpha engineers were laid off, and Microsoft hired them. Technet magazine had an article (written by Mark Minasi I think), showing how clearly NT reflects the structure of Alpha. They may have been working on NT before that, but the influence of DEC was pretty clear).