Apple Thread - The most overrated technology brand?

  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account

What killed Steve Jobs?

  • Pancreatic Cancer

    Votes: 65 12.2%
  • AIDS from having gay sex with Tim Cook

    Votes: 468 87.8%

  • Total voters
    533
I think this is the correct thread to post this as this isn't related to programming per se, but correct me if it's not or this has been better answered somewhere else.

I'm interested in making better use of the Mac OS Terminal (or a Terminal replacement like iTerm) for common tasks like navigating the file system. I don't know much beyond your basic 'ls', 'cd', 'mkdir', etc., and I often find myself saying "screw it" and reverting to Finder. I can't tell if I'm simply not trying hard enough or if I'm missing out on some information that would help me get off the ground. In case the latter is true...

Does anybody know of some good resource(s) for learning to use Terminal more effectively?

Or want to offer your own thoughts/tips on this?
 
I think this is the correct thread to post this as this isn't related to programming per se, but correct me if it's not or this has been better answered somewhere else.

I'm interested in making better use of the Mac OS Terminal (or a Terminal replacement like iTerm) for common tasks like navigating the file system. I don't know much beyond your basic 'ls', 'cd', 'mkdir', etc., and I often find myself saying "screw it" and reverting to Finder. I can't tell if I'm simply not trying hard enough or if I'm missing out on some information that would help me get off the ground. In case the latter is true...

Does anybody know of some good resource(s) for learning to use Terminal more effectively?

Or want to offer your own thoughts/tips on this?

Unless you have a real need to use the terminal in macOS like for a third-party package manager (i.e. Fink/MacPorts/Pkgsrc), you're probably not going to learn a lot about it unless you wanna dig through old ass reference manuals for Bash or Zsh (forgot which one Macs use nowadays). I learned how to use a CLI interface back when I was a sperg about Linux, and I did it the old-fashioned way: hitting the ground and praying like hell that I run.
 
Does anybody know of some good resource(s) for learning to use Terminal more effectively?
Well, what specifically are the roadblocks you're running into? ls, cd, and mkdir are pretty much 90% of working with the filesystem via the CLI.

Two more that you might find useful:

open - Opens a file with a normal macOS GUI program the same way that double-clicking it in the Finder would do. To open a file with a different program than the default, you can use the -a flag. For example, if you have a CSV file which would open in a spreadsheet program by default but you want to open it in TextEdit instead, "open file.csv -a TextEdit". Using "open" on a directory will open that directory in a Finder window. (Note that this is a Mac-specific command and not part of POSIX standard, though some GUI-friendly Linuxes have an "open" which does similar things.)

ln (that's a lower-case ell) - Creates a symbolic link, or an alias in traditional Mac parlance. You'll pretty much exclusively want to use this with the -s flag to create a soft link, since it creates a hard link by default; you can research the difference between those on your own if you'd like (and I'm totally not just saying that because I can't remember the difference myself off the top of my head). "ln -s /path/to/original.file /path/to/symlink/location.file" is how it's used. Using "ls -l" will show you which files in a directory are symlinks and what files they point to. Note that if you create a symlink with a relative path to the original file , that path will stay relative, so if you then move the symlink to a different directory it'll try to point to an entirely different file in absolute path terms.

If you really want to be a CLI power-user, though, you're going to want to learn an editor. And by an editor I mean vi or some variant (if someone tries to get you to use emacs, do like the Saturday morning cartoons told you and just say no). It can be really difficult to get started on this since it works so differently to pretty much every GUI text editor since MacWrite. The most elementary thing to grasp is that there are two modes of operation; insert mode, where you type the desired content of the file, and command mode, where you enter commands to copy and paste lines, search and replace, save the file, and quit the program. You need to switch between the two depending on what task you're trying to achieve. Obviously a full vi tutorial is outside the scope of a single message board post, so I suggest getting a book, watching videos, or however you prefer to learn.

In other news… Rumor-monger Ming-Chi Kuo is mongering some nice rumors about this year's MBPs ditching the Touch Bar. The Touch Bar was a flop among most professionals, including those that had a workflow which used function keys often; the first Touch Bars didn't even have a physical escape key, which would have been a pain when trying to use the aforementioned vi. But I think an even more obvious indicator that the idea was a flop would be that no other hardware manufacturers ever tried to copy it… They're also apparently reverting features in newer versions of macOS which allowed certain blessed software to bypass software VPNs or content blockers to do things like call home to Apple. These are two power user-friendly moves and between this and the return of the cheese grater last year - which apparently won't be replaced by Cube 2.0 after all - show that Apple is paying a lot more attention to the near-universal wishes of power users and pros than they have in recent memory.
 
Is it odd that I want to do Minecraft-themed things to every individual (including the voiceover actress) in this commercial? I mean, who the hell would watch this and say to themselves, "Wow, my next computer is gonna be the same one as the shirtless dude in high heels, so appealing." To me this was even more annoying than the "What's a computer?" one. Ah, well. Rant over.

 
Yeah, they’re playing that one a lot during the sportsball games. It reminds me of the old Think Different campaign with the black and white and celebrity endorsements. At least back then they avoided controversial stuff, unless you had an opinion on the Spanish civil war I suppose.

I actually hadn’t noticed that guy had heels though. Haven’t seen many real women eager to put heels on right after a shower.
 
Is it odd that I want to do Minecraft-themed things to every individual (including the voiceover actress) in this commercial? I mean, who the hell would watch this and say to themselves, "Wow, my next computer is gonna be the same one as the shirtless dude in high heels, so appealing." To me this was even more annoying than the "What's a computer?" one. Ah, well. Rant over.

https://youtube.com/watch?v=b3VcGKv9Cfw

Especially the ancient crypt keeper bitch with the catty glasses, who looks like she glorifies murderous savages, like Pol Pot.
 
"Wow, my next computer is gonna be the same one as the shirtless dude in high heels, so appealing."
woke apple.jpg

My next computer is going to be a fucking abacus.
 
Unless you have a real need to use the terminal in macOS like for a third-party package manager (i.e. Fink/MacPorts/Pkgsrc), you're probably not going to learn a lot about it unless you wanna dig through old ass reference manuals for Bash or Zsh (forgot which one Macs use nowadays).
They switched to zsh about a year ago but it didn't change for already existing accounts. Easy enough to change back though:
Code:
chsh -s /bin/bash
I think.

You can also consult man pages but they're mostly gibberish unless you already know what you're looking for and have just forgot it.
 
Well, what specifically are the roadblocks you're running into? ls, cd, and mkdir are pretty much 90% of working with the filesystem via the CLI.
I think I have been having trouble moving quickly between "navigating" and "editing." I've always found the combination of Finder + [some GUI editor] to be clunky.

For example: here's my prior workflow, which I think is fairly typical, though maddeningly inefficient:
  1. Navigate to some folder in Finder
  2. Click on some file to open it in Sublime Text
  3. Save changes in Sublime
  4. Realize another file needs editing; go back to the Finder window and return to step 1
I also tried using IDEs (mostly Xcode), but found them frustratingly opaque (and often made things complicated than I felt like they needed to be). For example: "what the fuck is really happening when I press cmd-R to "run" some code?

The next stop on my search for a satisfactory workflow was something like "shouldn't I be able to do this using Terminal?" And that led to my previous post.

ln (that's a lower-case ell) - Creates a symbolic link, or an alias in traditional Mac parlance. You'll pretty much exclusively want to use this with the -s flag to create a soft link, since it creates a hard link by default; you can research the difference between those on your own if you'd like (and I'm totally not just saying that because I can't remember the difference myself off the top of my head). "ln -s /path/to/original.file /path/to/symlink/location.file" is how it's used. Using "ls -l" will show you which files in a directory are symlinks and what files they point to. Note that if you create a symlink with a relative path to the original file , that path will stay relative, so if you then move the symlink to a different directory it'll try to point to an entirely different file in absolute path terms.
Thanks in particular for this tip. I need to play around with it some for practice.

If you really want to be a CLI power-user, though, you're going to want to learn an editor. And by an editor I mean vi or some variant (if someone tries to get you to use emacs, do like the Saturday morning cartoons told you and just say no).
I'm using Emacs and I fucking love it. And there's a standalone Mac application from which I can just do M-x shell. Fucking amazing! I need to keep practicing, but I think Emacs is gonna be the best solution for me.

Vi is effectively dependent on Qwerty, so that's a no-go for me.

In other news… Rumor-monger Ming-Chi Kuo is mongering some nice rumors about this year's MBPs ditching the Touch Bar.
Good riddance. As far as I'm concerned, the Touch Bar is a strict downgrade from physical keys.
 
I think I have been having trouble moving quickly between "navigating" and "editing." I've always found the combination of Finder + [some GUI editor] to be clunky.

I get this because in full-stack web development, I'm often concurrently tweaking a controller (logic code), view (template), CSS file(s), and JavaScript file(s). Being able to split the window and view/edit more than one file at a time helps, as does having a built-in file bowser to easily find and open files within the same project without leaving the editor. I'm pretty sure Sublime supports the splitting natively, but you might need to add a file browser using an add-on like this one.

I also tried using IDEs (mostly Xcode), but found them frustratingly opaque (and often made things complicated than I felt like they needed to be). For example: "what the fuck is really happening when I press cmd-R to "run" some code?

It depends on what language you're using, but in Xcode, a "scheme" is a bundle of settings used to build and run your project. You can use Project > Scheme > Edit Scheme to see what the settings are for your project's schemes. The most interesting ones are "Run" and "Build." The settings for "Run" leave some debugging stuff on and are optimized for building and running the project quickly, but "Build" will remove all the debugging stuff and optimize compilation for performance so you get a binary more optimized for distributing to end users. Other full-featured IDEs have a similar concept of "schemes" though they might use different terminology. Of course there are CLI flag equivalents to all these settings if you really want to learn and use them, but I'd say in modern times and with modern languages you can generally ignore them and stick to defaults unless you really need special behavior and/or for things to be super-optimized.

Vi is effectively dependent on Qwerty, so that's a no-go for me.

Is it? I suppose if you're trying to use HJKL for cursor navigation, but it's 2021 and nobody sells keyboards without cursor keys anymore. Is there something else?
 
I get this because in full-stack web development, I'm often concurrently tweaking a controller (logic code), view (template), CSS file(s), and JavaScript file(s). Being able to split the window and view/edit more than one file at a time helps, as does having a built-in file bowser to easily find and open files within the same project without leaving the editor. I'm pretty sure Sublime supports the splitting natively, but you might need to add a file browser using an add-on like this one.
You've described more or less the ideal I'm striving for.

Unfortunately, Sublime Text has a proprietary license that has the potential to cause problems for a person using an "evaluation" copy to make money. I want to try my best to make do without stuff like that whenever I can.

It depends on what language you're using, but in Xcode, a "scheme" is a bundle of settings used to build and run your project. You can use Project > Scheme > Edit Scheme to see what the settings are for your project's schemes. The most interesting ones are "Run" and "Build." The settings for "Run" leave some debugging stuff on and are optimized for building and running the project quickly, but "Build" will remove all the debugging stuff and optimize compilation for performance so you get a binary more optimized for distributing to end users. Other full-featured IDEs have a similar concept of "schemes" though they might use different terminology. Of course there are CLI flag equivalents to all these settings if you really want to learn and use them, but I'd say in modern times and with modern languages you can generally ignore them and stick to defaults unless you really need special behavior and/or for things to be super-optimized.
Hm, well even if I don't spend much time with Xcode in the immediate future, this is good to know. I might find need to use it if I one day attempt Apple-ecosystem development.

I should blame myself for at least part of my complaint about Xcode's opacity. I think I get overwhelmed by the sheer amount of stuff it's got going on and end up feeling like I'm somebody's grandmother holding my cell phone in one hand and tapping with my other hand's index finger...if you know what I mean.

Is it? I suppose if you're trying to use HJKL for cursor navigation, but it's 2021 and nobody sells keyboards without cursor keys anymore. Is there something else?
HJKL is the big turnoff for me. I never type on a keyboard that doesn't have arrow keys, but I prefer to keep my hands in the "main" area of my keyboard as much as possible. I have to move my right wrist (and, thus, my entire forearm) to go from home row to arrow keys. It's especially annoying if I'm, say, working on a laptop while reclining on a couch/bed, because once I've settled into a good position with all my blankets, cats, and pillows, such small movements can be ruinous.

I use Colemak, which means HJKL are switched as follows:

H = same as qwerty
J = qwerty's Y
K = qwerty's N
L = qwerty's U

You can imagine how that would require remapping if you want to avoid the arrow keys.
 
Last edited:
Unfortunately, Sublime Text has a proprietary license that has the potential to cause problems for a person using an "evaluation" copy to make money. I want to try my best to make do without stuff like that whenever I can.
Buy a license, then! I have been using a proprietary editor for about a decade, and they've had updates which have required buying a new license two times. I'm not sure about the previous licenses but this most recent one was $80 for an upgrade license. Pricey compared to other editors? Sure, but it's a tool I use constantly for work, and its features do make me more productive. The same way a professional carpenter will pay more for a nice nailgun versus a cheap hammer, and a chef will buy a set of premium knives rather than just an all-purpose one from Walmart, I have no problem springing for an expensive tool which will help me do my job better. I will make my money back in less than two hours of work, after all, and charging $80 three times in ten years isn't exactly gouging.
 
Buy a license, then! I have been using a proprietary editor for about a decade, and they've had updates which have required buying a new license two times. I'm not sure about the previous licenses but this most recent one was $80 for an upgrade license. Pricey compared to other editors? Sure, but it's a tool I use constantly for work, and its features do make me more productive.
Ok, so I read their license FAQ, and was reassured by this part:

As licenses are per-user, you're welcome to use your license key on all computers where you are the primary user, including at work.

I had assumed that because there was a distinction between 'license for me' and 'license for the business', there would be some provision about the personal license being intended only for personal use. That's obviously not the case with Sublime Text.

I'm still going to hold off for at least the immediate future because I want to try and force myself to use Emacs. I just can't use Sublime's license as a justification anymore.
 
Apple developments:

Tim Cook has to undertake a 7 hour deposition as part of Epic vs Apple.

Rumours abound of a 14 inch MacBook Pro, which adds ports, drops touch bar, features a variant of the M1. Further rumours of AppleTV box getting an update.

The iOS beta 14.5 has come out, featuring support for the DualSense (PS5) and XBox Core Controller (XBox Series X).

Also Apple continues to be filthy stinking rich.
 
Apple developments:

Tim Cook has to undertake a 7 hour deposition as part of Epic vs Apple.

Rumours abound of a 14 inch MacBook Pro, which adds ports, drops touch bar, features a variant of the M1. Further rumours of AppleTV box getting an update.

The iOS beta 14.5 has come out, featuring support for the DualSense (PS5) and XBox Core Controller (XBox Series X).

Also Apple continues to be filthy stinking rich.
fucking finally, whose idea to put touch bar into the laptop?
 
It sounds like the kind of gay shit Tim Cook would think was a good idea.
I blame Jony Ive.

Maybe the Epic lawsuit forced Tim Cook to actually use a Mac to check out Fortnite, since it's banned on iPad, and made him realize how ass the experience is getting.
 
Back
Top Bottom