Author: jezmck

  • Going Mac – Part 4

    Set up from scratch

    It’s silly how many settings aren’t sync’d to one’s Apple account.

    MacOS install

    TBF, this part would be more difficult to arrange since you’d have to log in.

    • Select Language and Location
    • Select WiFi
    • Enable Location
    • Allow Screen Time
    • Disable Siri
    • Allow FileVault
    • Setup Touch ID (add other index finger later)
    • Skip Apple Pay
    • Light / Dark / Auto mode

    MacOS settings

    • Control Centre, Clock Options, Show Seconds
    • Trackpad settings
      • Secondary click
        • Two Fingers
      • Enable Tap to click
      • More Gestures
        • Disable Notification Centre, Mission Control, Launchpad, Show Desktop

    • Empty the Dock
    • Turn on Dock Hiding

    • create ~/code directory

    • Replace Finder Sidebar items with folders in iCloud
    • Finder Settings
      • Advanced
        • Show all filename extensions
        • Keep folders on top
    • Cmd+Shift+. to show hidden files

    Installs

    JetBrains

    • Run JetBrains Toolbox, login, install
      • Open JB product
        • Do not import settings
        • Disable AI Assistant
        • Settings Sync
          • Fetch settings, restart
        • GitHub CoPilot
          • Sign in

    GitKraken

    • Sign in with email

    Appearance

    • Change Wallpaper

    Alfred

    • Disable Spotlight shortcut
      • System Settings, Keyboard, Shortcuts, Spotlight
    • Set Alfred shortcut
    • Import Alfred Prefs
      • and workflows
      • and snippets (e.g. emoji)
    • Enable clipboard history
      • and Advanced, Diacritic and …
  • Going Mac – Part 3

    So it seems I’m not going back. I still use a Windows machine for the family PC, but here I am on another MacBook Pro for work.

    Install Brew with this

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

    Then save the following as a Brew bundle file, `Brewfile`

    tap "homebrew/bundle"
    tap "homebrew/cask-fonts"
    brew "n"
    brew "powerlevel10k"
    brew "zsh-autosuggestions"
    brew "zsh-syntax-highlighting"
    cask "alfred"
    cask "font-fira-code"
    cask "gitkraken"
    cask "hyper"
    cask "jetbrains-toolbox"
    cask "notunes"
    cask "rectangle"
    cask "whatsapp"

    and run brew bundle.

    Install Oh My Zsh with

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

    Aliases to add to the end of ~/.zshrc:

    alias ls="eza"
    alias l="eza -la"
    alias c="clear"
    alias cat="bat"

  • Going Mac – Part 2

    In a follow up to my previous posts, I’m updating my list of brew installs, and have discovered the bundle subcommand.

    Here’s my Brewfile:

    tap "homebrew/bundle"
    tap "homebrew/cask"
    tap "homebrew/cask-fonts"
    tap "homebrew/cask-versions"
    tap "homebrew/core"
    tap "homebrew/services"
    brew "btop"
    brew "freetype"
    brew "figlet"
    brew "httpie"
    brew "ncdu"
    brew "the_silver_searcher"
    brew "tldr"
    brew "unar"
    cask "alfred"
    cask "amazon-music"
    cask "firefox"
    cask "font-fira-code-nerd-font"
    cask "fontgoggles"
    cask "gitkraken"
    cask "http-toolkit"
    cask "hyper"
    cask "jetbrains-toolbox"
    cask "notunes"
    cask "postman"
    cask "proxyman"
    cask "rectangle"
    cask "rocket"
    cask "slack"
    cask "the-unarchiver"
    cask "whatsapp"
  • Form Validation Errors – don’t embarrass your users

    Form Validation Errors – don’t embarrass your users

    Does it seem fair to scold the user for the errors they make while filling in a form? Are they even “errors”?

    The term “Error” and the usual associated red colouring is remarkably negative. Almost like accusing the user of spilling blood by making a typo or misunderstanding a field’s intended purpose. Okay, perhaps that’s a little extreme, but it’s certainly not a fluffy “oopsie, shall we try again toghether?

    To work towards better UX we need to be compassionate, to be empathetic. If the user, who you want (nay, need) to be on-side, makes a mistake when filling in your form, there’s nothing to be gained by making them feel daft or at fault.

    This is a wonderful opportunity to improve the UX; simply by changing the tone of form validation messages from blame to guidance, your users are more likely to stick around.

    Some systems, especially internal systems for staff, may have the slightly troubling luxury of being mandatory for the users, but that shouldn’t excuse a poor experience.

    It’s important not to go so far into the fluffy language to appear patronising, and that can be a balancing act, so it’s worth working with copy editors, or even a small cross-section of the users, to land on appropriate messages.

    Contrast “That’s not an email address!” with “Please confirm your email address.“. Indeed, compare the message “Your Order Reference must not contain spaces” with code that just ignores the space – avoiding the messages in the first place can hugely improve users’ experience, which can increase engagement and goodwill and sales.

    We’re fortunate that we’re no longer writing things in stone. However uncomfortable it may feel to change something which exists already, we should use the freedom we have in software and web development, and make improvements wherever and whenever they’re identified.

  • How To Upload Video From Google Photos To YouTube

    Because Google apparently hate their users (including paying customers), it’s no longer possible to upload videos directly from their own service photos.google.com to their own service youtube.com, but you can share from the app to YouTube.

    So while it automatically uploads (backs up) to their servers, you will have to endure a slow concurrent upload to their servers.

    smh

  • Catharsis – the release of frustration or a dangerous trap?

    Catharsis – the release of frustration or a dangerous trap?

    Catharsis is that feeling of relief, the process of releasing strong emotions, like frustration or anger, and letting go. Have a rant about something that’s been bothering you, shout at the trees, or whinge to your friends about work, it helps you emotionally, it’s cathartic.

    But… how many times have you complained about something you’ve complained about before? At least once a month, right?

    This is the trap. Catharsis is a trick, a pitfall – you definitely feel better, but only until the problem happens again, nothing has actually changed for the better.

    Catharsis is treacherous,
    it makes promises it can’t keep.

    me, just now

    So what should we do?
    Complain to people who can, and will, make a difference.

    We’re often taught that complaining is rude or childish or pointless, but wouldn’t it better to actively address the causes of complaints?
    A complaint is an opportunity for improvement. A complaint may in fact just be down to a misunderstanding, or it may have an easy solution, but we won’t know unless we complain. The squeaky wheel gets the oil – a fact of life amongst humans.

    Catharsis permits, even promotes, stagnation.

    Jez McKean, 2021

    If you want progress, don’t accept catharsis, do complain (to the right people), and make the change you want to see actually happen.

  • How to change notification sounds per app

    There are many articles online explaining how to change the default notification sound, but I found it hard to find one which explains how to do it for individual / specific apps.

    There are many articles which simply (and unhelpfully) say that the app should have its own settings, so for those that don’t, here’s how:

    Android

    v9 “Pie”

    There are quite a lot of steps here, and one in particular is not obvious.
    It’s easiest to demonstrate with screenshots.

    I suggest you open the relevant app just prior to following this guide.

    Open the main Android Settings Page by dragging down from above the top of the screen.

    Tap “Apps & notifications”

    Select the relevant app, probably from the recent apps list, but you might have to scroll through the list of all apps.

    Tap “Notifications”.

    Make sure “Show notifications” is turned on, and tap the relevant category (there may be only one), this is not just a checkbox.

    Make sure Show notifications is turned on here too…

    …and that the behavior includes sound.

    Tap “Sound”.

    Select your sound, and you’re done.

  • The NatWest Card Reader, part deux (I didn’t change banks)

    My last post on the subject (a fraction over 10 years ago!) garnered a lot of comments for what was essentially just a rant, and it turned out to be somewhat unfounded and sensationalistic.

    I’m still with NatWest, their online banking is still very good and their app is the best, and I’ve rarely had to use the card reader and not been able to find one.

    What has surprised me is that NatWest still haven’t improved the crazy wastefulness of the packaging.
    There are still many layers of unnecessary cardboard and plastic, though the bubble wrap is gone.
    Interestingly, the new card reader isn’t branded.

     

    I lost my old card reader a while ago, and have been using a Barclays one instead, since they’re functionally the same. I prefer the weight and layout of the Barclays one, but it recently decided that its battery was low and stopped me from using it, making itself useless, instead of warning me.

    So, I’m still with NatWest as my primary bank, and will probably stay with them for at least another 10 years.

    Unless my tiny BitCoin investment rockets beyond its current £60 value that is…

  • Going Mac – Part 1

    Part of documenting my transition to web dev on Mac is to record what needs to be set up  & configured. Should things ever go awry, this post could be a shortcut to getting back to a work-ready state.

     

    Apps etc installed

    The following needed to be installed manually.

    The following were installed via the commands in the next section.

     

    Other tasks

    Show hidden files. Apparently this needs the command line!

     

    Commands run

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
    brew update
    brew upgrade
    
    brew tap homebrew/dupes 
    brew tap homebrew/versions 
    brew tap homebrew/homebrew-php 
    brew tap caskroom/fonts 
    brew tap caskroom/cask 
    brew install node
    npm install --global gulp-cli 
    
    brew unlink php70
    brew install php71
    
    brew install git-flow-avh
    brew cask install font-fira-code
    brew cask install iterm2
    brew cask install gimp
    
    sudo xcodebuild -license

     

    Other changes

     

    References

    https://developerjack.com/blog/2016/08/26/Installing-PHP71-with-homebrew/

     

  • Going Mac – Part 0

    I’ll soon be starting a new job,  still in web development (as I have been for disturbingly more than a decade), though this time it’ll be in-house and for a huge company.

    I’ve been persuaded to go over to what I’ve long considered the dark side; Apple.

    I still don’t believe I’ll ever pay for Apple products with my own money, but it’s becoming clear that Windows really isn’t keeping up with the ease of development on MacOS, and my future employer will be the one stumping up the cash so what’s to lose?

    This is to be the 0th in a series of posts on my conversion, or will that be “enlightenment”? 0th not 1st because I’ve not started yet – I’m just beginning to look at what tools I’ll likely be using.

    Where I spend most of my work days at the moment is in the excellent JetBrains PHPStorm and I’m very pleased to see that I will be able to stick with it. The other software I use is the also excellent FileZilla and the frankly pretty ropey SourceTree. I will likely ditch both and finally get round to instead using the built-in functionality of PHPStorm, and, of course, modern deployment methods.

    I’m a fan of the command line, but it’s always been in *nix (mostly Debian on web servers and Raspberry Pis), so I’m hoping that the move to Apple will mean I can actually do all the modern web dev things instead of spending so much time persuading Windows to let me.

    So far, I’ve used all the contemporary techniques (proper MVC development, proper git usage like branching and pull-requests, npm, gulp, Sass), but never all in one project, and I’m really looking forward to it.