Challenge accepted.
Non Sequiturs is the personal blog of Michael Argentini.
I'm a software developer and Managing Partner for Fynydd and Blue Sequoyah Technologies, the project lead for Coursabi, and Āthepedia founder. I also have several nerdy open source projects on Github.
I'd describe myself as an Oxford comma advocate, autodidact, aspiring polymath, and boffin, with a mechanical keyboard addiction. You can also find me on Mastodon.
The Secret of Skinwalker Ranch is a great show to watch if you’re into watching people launch rockets and review the video later that night and talk about launching more rockets.
Crows and Magpies using anti-bird spikes to build nests in giant F.U. to humanity and evolutionary biologists more specifically.
www.theguardian.com
Apparently #Erdogan finally agreed to allow Sweden into #NATO after remaining members agree to pronounce #Turkey “Ter-kee-ah”.
Elon Musk's decision to add daily reading limits to prevent data scraping also has the following impact:
StackOverflow has introduced Labs, an enhanced developer experience that uses AI to streamline the process of insulting and demeaning people looking for help.
stackoverflow.co
I liked the Internet better when it wasn't a handful of proprietary social media platforms run by narcissists.
The #Reddit CEO saying that the API transition time and pricing changes are “a business decision they won’t undo”, in addition to threats of replacing moderators who don't reopen subreddits, is a short-sighted dick move. I've gone from thinking Reddit will die a slow death to wishing for it.
This is that one time that life should imitate art. No, seriously.
www.theonion.com
Mac Pro Tip: When copying a git repository directory to your network file server using rsync, try this:
rsync -brtlvP --chmod=Fu+w --delete-before Code/MyProject/ /Volumes/MyServer/Code/MyProject/
This will copy the files with timestamps but no other attributes, and will also give the file owner (you) full access rights. This ensures that you (or even Windows users with access rights) can overwrite the directory contents later because local read-only files (e.g. in the .git directory) won't be read-only on the server. You can also change the chmod option to customize the rights, like ensuring everyone has full control.
The recent change to Google Chrome that removes the option to accept a self-signed certificate is another reason developers need a system-wide “Developer Mode” that removes these barriers erected for the normies. It's hard to code with Google, Microsoft, Apple, et al. holding one of my hands all day.
Unless the audio recording was made with a tape recorder onto magnetic reeled media, the “tapes” that newscasters keep referencing are not “tapes”. They are digital recordings. They, of all people, should know this.
And now we have the first X-ray taken of a single atom, courtesy of scientists from Ohio University, Argonne National Laboratory, and the University of Illinois-Chicago, according to a new paper published in the journal Nature.
Microsoft Teams is adding an avatars feature but I wish they would first focus on basics like working microphone audio on macOS. I have to perform a test call before my meetings every time I launch Teams, otherwise I sound like the monster in your closet.
www.thurrott.com
My favorite iOS Mastodon app is being released for macOS on May 23, 2023! It’s elegant and feature-rich on iOS. I can’t wait to use it on my Mac.
Mimestream is the BEST macOS email app for people who use Gmail. I’ve been using it throughout the beta period and subscribed immediately when they released 1.0 today. It’s great!
#apple #macos #email #app #recommendation
arstechnica.com
Web developers rejoice! There's an easy way to animate the height of an HTML element even if the height is dynamic, determined by its content, with only CSS. This is typically used for navigation menus and the like, and now it's much easier to code and maintain.
The strategy is to actually animate the grid-template-rows not the height. For example, take the following HTML markup:
<div class="menu">
<div class="inner-wrapper">
<p>Here is some content.</p>
<p>Here is some content.</p>
<p>Here is some content.</p>
</div>
</div>
The CSS for this markup would be:
.menu {
display: grid;
grid-template-rows: 0fr;
transition: grid-template-rows 100ms;
}
.menu.active {
grid-template-rows: 1fr;
}
.menu .inner-wrapper {
overflow: hidden;
}
Initially the outer div will be hidden since it has no overflow and the grid template rows are zero. When you add active to the outer div element's class list, the browser will animate the transition from zero row height to 1fr, which essentially means the height it needs for its content to render.
On macOS it's pretty easy to automate the installation of all your apps, including Mac App Store apps, for those times when you get a new Mac or wipe your current one. As a software developer I find this capability indispensable, as would any professional or power user.
All you need to do is install Homebrew and then use it to install mas (which is an acronym for Mac App Store). Once they are installed, you can install all your software using a convenient Bash script. Homebrew will be used to install non-store apps, and mas will handle installing the Mac App Store apps.
Note: only Mac App Store apps you have already installed previously can be installed with mas. You cannot install new apps you have never installed from the store.
The most obvious reason to script out your software installations is that it greatly reduces the time to set up a new Mac, as well as ensure that you don't forget to install one or more apps. It also provides a way to update all the apps at once via the brew upgrade command. And it also provides a way to update apps that don't have their own update feature.
Apps installed with mas will be updated normally by the Mac App Store.
In order to use this process you need to know the names of the Homebrew formulae/casks for each application, and you also need to know the IDs of the Mac App Store apps for mas. Fortunately this is super easy.
First, Homebrew has a tool for finding software available in their service at https://formulae.brew.sh/. Simply use this to find your apps and make sure you're installing the right ones. Those listed as “casks” are GUI Mac apps (normal apps you don't run from the Terminal). Ones listed as “formulae” are typically command line tools run from the Terminal or services without an interface.
Second, for Mac App Store apps you simply use mas to list what's currently on your computer from the Mac App Store.
mas list
This will give you a list of currently installed apps from the Mac App Store, with their IDs:
1569813296 1Password for Safari (2.10.0)
975937182 Fantastical (3.7.12)
409183694 Keynote (13.0)
etc.
You can also search for Mac App Store apps by name using the mas search command:
mas search Xcode
This will show a similar result for matches. You can even install all search results with a single “lucky” command. See the mas help for these and other options.
Here's an example of a Bash script to get you started. I keep a similar script updated as I use new apps or stop using others. Then I'm ready to go when I have to set up a new or wiped Mac.
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# App Store Automation
brew install mas
# Install App Store Apps
mas install 409183694 # Keynote
mas install 409201541 # Pages
mas install 409203825 # Numbers
# Install Non-Store Apps
brew install --cask firefox
brew install --cask knockknock
# etc.
You can name the Bash script something like install-software.sh and execute it in a Terminal like this:
zsh install-software.sh
The first time you use the script will absolutely justify the time spent writing it. The second time you run it you will thank your past self for being so smart 😉
#apple #macos #mac #tech #code #recommendation #YOUREWELCOME
It looks like a recent change to Docker has allowed Macs with Apple Silicon to run a full installation of Microsoft SQL Server 2022 with full-text search in a Docker container.
How is this possible? Docker has a new feature that can use Rosetta 2 for x64 emulation. That means it supports creating an x64-based Linux image/container and installing the free but full version of SQL Server with FTS.
Enable this feature in the Docker settings as seen in the image below. Look in Settings => Features in development.
Take the content below and save it as a text file named Dockerfile. This configuration creates an Ubuntu 20.04 image, then installs the Microsoft package repositories, SQL Server 2022, FTS, and MS Tools.
# Docker image with msssql 2022 with full text search enabled;
# Based on work in: https://github.com/Microsoft/mssql-docker
# Base OS layer: Latest Ubuntu LTS
FROM --platform=linux/amd64 ubuntu:focal
# Install prerequistes since it is needed to get repo config for SQL server
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get install -yq curl apt-transport-https gnupg && \
# Get official Microsoft repository configuration
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
curl https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb --output packages-microsoft-prod.deb && dpkg -i packages-microsoft-prod.deb && \
curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list | tee /etc/apt/sources.list.d/mssql-server.list && \
apt-get update && \
# Install SQL Server from apt
apt-get install -y mssql-server && \
# Install optional packages
apt-get install -y mssql-server-fts && \
ACCEPT_EULA=Y apt-get install -y mssql-tools && \
# Cleanup the Dockerfile
apt-get clean && \
rm -rf /var/lib/apt/lists
# Run SQL Server process
CMD /opt/mssql/bin/sqlservr
This will build the Dockerfile and create a Docker image named sqlserver.
docker build -t "sqlserver:latest" .
This will create a container from the new image and run it. The sa user will have a password of P@ssw0rdz!, the EULA will be accepted, and port 1433 will be opened.
docker run -d --platform linux/amd64 --name sqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=P@ssw0rdz!' -p 1433:1433 sqlserver:latest
At this point you should have SQL Server running! You can also have it start up with Docker by executing the command below:
docker update --restart=always sqlserver
I just posted a new open source console application named SqlPkg. It's a wrapper for Microsoft's SqlPackage (a SQL Server backup and deployment tool) that adds missing features. Currently it provides a way to exclude data from specific tables, automatically wipes target databases, and automatically creates non-existent target databases.
#tech #code #csharp #sqlserver #backup
github.com
A lot of people are really disappointed that the Mac Pro with Apple Silicon has been delayed for so long, given the announced two-year transition. Apple may be struggling to find a good reason for the Mac Pro to exist given the existing lineup and new CPU architecture.
Non Sequiturs is the personal blog of Michael Argentini.
I'm a software developer and Managing Partner for Fynydd and Blue Sequoyah Technologies, the project lead for Coursabi, and Āthepedia founder. I also have several nerdy open source projects on Github.
I'd describe myself as an Oxford comma advocate, autodidact, aspiring polymath, and boffin, with a mechanical keyboard addiction. You can also find me on Mastodon.
By using this website you accept our privacy policy. Choose the browser data you consent to allow: